Fix restoring of inferior terminal settings
[external/binutils.git] / gdb / ChangeLog
1 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2
3         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
4         * inf-child.c (inf_child_target::terminal_save_inferior): New.
5
6 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
7
8         * guile/scm-string.c (gdbscm_scm_from_printf): Use
9         string_vprintf.
10         * guile/scm-utils.c (gdbscm_printf): Likewise.
11         * serial.c (serial_printf): Likewise.
12         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
13
14 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
15
16         * stack.c (print_frame): Print frame architecture when printing on
17         an MI output.
18         * NEWS: Mention new "arch" attribute in frame output.
19
20 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
21
22         * arch/aarch64.h (aarch64_regnum): Update comment.
23
24 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
25
26         * NEWS: Add SVE to 8.2 section.
27
28 2018-08-21  Pedro Alves  <palves@redhat.com>
29
30         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
31         out from gdbscm_parse_function_args.
32         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
33         gdbscm_parse_function_args_1.
34
35 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
36
37         PR gdb/17816
38         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
39         operator.
40
41 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
42
43         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
44
45 2018-08-19  Michael Spang  <spang@google.com>
46
47         PR gdb/11786
48         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
49         for PT_TLS segments.
50
51 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
52
53         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
54         dwarf_variable_value.
55         * dwarf2-frame.c (class dwarf_expr_executor):
56         Add override for dwarf_variable_value.
57         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
58         (class symbol_needs_eval_context): Likewise.
59         (indirect_synthetic_pointer): Add forward declaration.
60         (sect_variable_value): New function.
61         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
62         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
63         for DW_OP_GNU_variable_value.
64
65 2018-08-16  Tom Tromey  <tom@tromey.com>
66
67         * top.c (read_command_file): Update.
68         (command_line_input): Remove "repeat" argument.
69         * ada-lang.c (get_selections): Update.
70         * linespec.c (decode_line_2): Update.
71         * defs.h (command_line_input): Remove argument.
72         * cli/cli-script.c (read_next_line): Update.
73         * python/py-gdb-readline.c: Update.
74
75 2018-08-17  Tom Tromey  <tom@tromey.com>
76
77         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
78         command_line_input.
79
80 2018-08-15  Tom Tromey  <tom@tromey.com>
81
82         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
83
84 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
85
86         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
87         If used, use find_pc_partial_function to find address range
88         to disassemble.
89         * mi/mi-main.c (mi_cmd_list_features): Report
90         "data-disassemble-a-option" feature.
91         * NEWS: Mention new -data-disassemble option -a.
92
93 2018-08-13  Tom Tromey  <tom@tromey.com>
94
95         * common/common-defs.h (_FORTIFY_SOURCE): Define.
96
97 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
98
99         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
100         (aarch64_linux_collect_sve_regset): Likewise.
101         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
102         * regcache.h (regcache_map_entry_size): New function.
103
104 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
105
106         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
107         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
108         (SVE_HEADER_VL_LENGTH): Likewise.
109         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
110         (SVE_HEADER_FLAGS_LENGTH): Likewise.
111         (SVE_HEADER_RESERVED_LENGTH): Likewise.
112         (SVE_HEADER_SIZE_OFFSET): Likewise.
113         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
114         (SVE_HEADER_VL_OFFSET): Likewise.
115         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
116         (SVE_HEADER_FLAGS_OFFSET): Likewise.
117         (SVE_HEADER_RESERVED_OFFSET): Likewise.
118         (SVE_HEADER_SIZE): Likewise.
119         (aarch64_linux_core_read_vq): Add function.
120         (aarch64_linux_core_read_description): Check for SVE section.
121
122 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
123
124         * aarch64-fbsd-tdep.c
125         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
126         collect_size.
127         * aarch64-linux-tdep.c
128         (aarch64_linux_iterate_over_regset_sections): Likewise.
129         * alpha-linux-tdep.c
130         (alpha_linux_iterate_over_regset_sections):
131         * alpha-nbsd-tdep.c
132         (alphanbsd_iterate_over_regset_sections): Likewise.
133         * amd64-fbsd-tdep.c
134         (amd64fbsd_iterate_over_regset_sections): Likewise.
135         * amd64-linux-tdep.c
136         (amd64_linux_iterate_over_regset_sections): Likewise.
137         * arm-bsd-tdep.c
138         (armbsd_iterate_over_regset_sections): Likewise.
139         * arm-fbsd-tdep.c
140         (arm_fbsd_iterate_over_regset_sections): Likewise.
141         * arm-linux-tdep.c
142         (arm_linux_iterate_over_regset_sections): Likewise.
143         * corelow.c (get_core_registers_cb): Likewise.
144         (core_target::fetch_registers): Likewise.
145         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
146         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
147         * gdbarch.h (void): Regenerate.
148         * gdbarch.sh: Add supply_size and collect_size.
149         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
150         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
151         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
152         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
153         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
154         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
155         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
156         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
157         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
158         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
159         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
160         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
161         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
162         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
163         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
164         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
165         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
166         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
167         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
168         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
169         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
170         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
171         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
172         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
173         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
174         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
175         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
176         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
177         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
178         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
179
180 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
181
182         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
183         with string_printf.
184
185 2018-08-10  Keith Seitz  <keiths@redhat.com>
186
187         * compile/compile-c-support.c (add_code_header, add_code_footer):
188         Move into policy class.
189         (c_push_user_expression, pop_user_expression_nop)
190         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
191         (compile_program): New host class.
192         (c_compile_program): New typedef.
193         (c_compute_porgram): Use c_compile_program.
194
195 2018-08-10  Keith Seitz  <keiths@redhat.com>
196
197         * compile/compile-internal.h (compile_instance::~compile_instance):
198         Remove calls to htab_delete.
199         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
200         * compile.c (compile_instance::compile_instance): Initialize
201         htab unique pointers.
202         (compile_instance::get_cached_type, compile_instance::insert_type)
203         (compile_instance::error_symbol_once): Update for unique_ptr.
204
205 2018-08-10  Keith Seitz  <keiths@redhat.com>
206
207         * compile/compile-c-symbols.c (struct symbol_error)
208         (hash_symbol_error, eq_symbol_error, del_symbol_error)
209         (compile_instance::insert_symbol_error)
210         (compile_instance::error_symbol_once): Move to ...
211         * compile/compile.c: ... here.
212
213 2018-08-10  Keith Seitz  <keiths@redhat.com>
214
215         * compile/compile-c-support.c (c_get_compile_context): Use `new'
216         instead of `new_compile_instance'.
217         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
218         Update description.
219         If the symbol error map is not initialized, create it.
220         (generate_c_for_for_one_symbol): Do not check/initialize
221         the symbol error map.
222         * compile/compile-c-types.c (compile_c_instance): Make a class.
223         Update all callers.
224         (compile_instance::compile_instance): Initialize the type cache.
225         (get_cached_type): New function.
226         (insert_type): Update description.
227         (compile_c_instance::m_default_cflags): Define.
228         (convert_type): Update description.  Use get_cached_type.
229         (delete_instance): Moved to destructor.
230         (new_compile_instance): Moved to constructor.
231         * compile/compile-c.h (compile_c_instance): Make class inheriting
232         from compile_instance.
233         <base>: Remove field.
234         <type_map, symbol_err_map>: Move to base class.
235         <c_plugin>: Rename to `m_plugin' and remove pointer type.
236         * compile/compile-internal.h (compile_instance): Make class.
237         <type_map_t, symbol_err_map_t>: Define.
238         <fe>: Rename to `m_gcc_fe'.
239         <scope, block, gcc_target_options>: Add `m_' prefix.
240         <m_type_map, m_symbol_err_map>: New fields, moved from
241         compile_c_instance.
242         <destroy>: Remove.
243         (convert_type, new_compile_instance): Remove.
244         * compile/compile.c (cleanup_compile_instance): Remove.
245         (compile_to_object): Use unique_ptr to eliminate cleanups.
246         (compile_instance::set_print_callback, compile_instance::version)
247         (compile_instance::set_verbose)
248         (compile_instance::set_driver_filename)
249         (compile_instance::set_triplet_regexp)
250         (compile_instance::set_arguments)
251         (compile_instance::set_source_file)
252         (compile_instance::compile): Define.
253
254 2018-08-10  Keith Seitz  <keiths@redhat.com>
255
256         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
257         * compile/compile-c-types.c: Define GCC_METHODN macros and include
258         gcc-c-fe.def to define C plugin.
259         (delete_instance): Delete `c_plugin'.
260         (new_compile_instance): Initialize `c_plugin'.
261         * compile/compile-c.h: Include gcc_c_plugin.h.
262         (struct compile_c_instance) <c_plugin>: New member.
263         * gcc-c-plugin.h: New file.
264         Update all callers with API change.
265
266 2018-08-10  Keith Seitz  <keiths@redhat.com>
267
268         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
269         (HFILES_NO_SRCDIR): ... to here.
270         Add compile-internal.h and compile-c.h.
271         * compile/compile-c-support.c: Include compile-c.h.
272         * compile/compile-c-symbols.c: Include compile-c.h.
273         (generate_c_for_variable_locations): Update comment.
274         * compile/compile-c-types.c: Include compile-c.h.
275         * compile/compile-c.h: New file -- moved C language declarations
276         from other files here.
277         * compile/compile-internal.h: Do not include hashtab.h or
278         common/enum-flags.h.
279         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
280         (gcc_convert_symbol, gcc_symbol_address)
281         (generate_c_for_variable_locations, c_get_mode_for_size)
282         (c_get_range_decl_name): Definitions moved to compile-c.h.
283         * compile/compile-loc2c.c: Include compile-c.h.
284
285 2018-08-10  Keith Seitz  <keiths@redhat.com>
286
287         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
288         (c_symbol_substitution_name): ... this.
289         Update all callers.
290
291 2018-08-10  Keith Seitz  <keiths@redhat.com>
292
293         * compile/compile-c-support.c (c_compute_program): Use
294         unique_xmalloc_ptr to eliminate cleanup.
295         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
296         Return a unique_xmalloc_ptr and eliminate cleanup.
297         * compile/compile-internal.h (generate_c_for_variable_locations):
298         Return unique_xmalloc_ptr and update description.
299
300 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
301
302         * corelow.c (core_target::get_core_register_section): Rename
303         min_size to section_min_size.
304
305 2018-08-09  Jim Wilson  <jimw@sifive.com>
306
307         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
308         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
309         * NEWS: Mention new GNU/Linux RISC-V target.
310         * configure.host: Add riscv*-*-linux*.
311         * configure.nat: Add riscv*.
312         * configure.tgt: Add riscv*-*-linux*.
313         * riscv-linux-nat.c: New file.
314         * riscv-linux-tdep.c: New file.
315
316 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
317
318         * infrun.c (resume): Make static, add forward declaration.
319         (proceed): Update header comment.
320         * infrun.h (resume): Delete declaration.
321
322 2018-08-09  Tom Tromey  <tom@tromey.com>
323
324         * riscv-tdep.h: Minor formatting fixes.
325
326 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
327
328         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
329         * dwarf-index-cache.c (create_dir_and_check): Likewise.
330         (test_mkdir_recursive): Likewise.
331         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
332
333 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
334
335         * valarith.c (value_subscripted_rvalue): If an array is not in
336         memory, and we don't know the upper bound, then we can't know that
337         the requested element exists or not.
338
339 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
340
341         * target.c (str_comma_list_concat_elem): Fix typo in comment.
342         (target_options_to_string): Add comment.
343
344 2018-08-08  Tom Tromey  <tom@tromey.com>
345
346         * unittests/scoped_mmap-selftests.c: Check result of "write".
347
348 2018-08-08  Jim Wilson  <jimw@sifive.com>
349
350         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
351         (decode_register_index_short): New.
352         (decode_j_type_insn, decode_cj_type_insn): New.
353         (decode_b_type_insn, decode_cb_type_insn): New.
354         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
355         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
356         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
357         is_c_sw_insn instead of is_sw_insn.
358         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
359         (riscv_software_single_step): New.
360         * riscv-tdep.h (riscv_software_single_step): Declare.
361
362         * riscv-tdep.c (riscv_isa_xlen): Drop static.
363         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
364
365 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
366
367         PR gdb/18050:
368         * target.c (dispose_inferior): Don't dispose of inferiors that are
369         already killed.
370
371 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
372
373         * remote.c (remote_target::download_tracepoint): Change char* to
374         const char*.
375
376 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
377
378         * target.h (target_options_to_string): Return an std::string.
379         * target.c (str_comma_list_concat_elem): Return void, use
380         std::string.
381         (do_option): Likewise.
382         (target_options_to_string): Return an std::string.
383         * linux-nat.c (linux_nat_target::wait): Adjust.
384         * target-debug.h (target_debug_print_options): Adjust.
385
386 2018-08-07  Tom Tromey  <tom@tromey.com>
387
388         * Makefile.in (CPPFLAGS): New variable.
389         (INTERNAL_CPPFLAGS): Use it.
390
391 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
392
393         * NEWS: Mention the index cache.
394
395 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
396
397         * common/pathstuff.h (get_standard_cache_dir): New.
398         * common/pathstuff.c (get_standard_cache_dir): New.
399         * build-id.h (build_id_to_string): New.
400         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
401         DEBUG_STR_SUFFIX): Move to here.
402         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
403         DEBUG_STR_SUFFIX): Move from there.
404         (write_psymtabs_to_index): Make non-static, add basename
405         parameter.  Write to temporary files, rename when done.
406         (save_gdb_index_command): Adjust call to
407         write_psymtabs_to_index.
408         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
409         field.
410         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
411         (get_gdb_index_contents_from_cache): New.
412         (get_gdb_index_contents_from_cache_dwz): New.
413         (dwarf2_initialize_objfile): Read index from cache.
414         (dwarf2_build_psymtabs): Save to index.
415         * dwarf-index-cache.h: New file.
416         * dwarf-index-cache.c: New file.
417         * dwarf-index-write.h: New file.
418
419 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
420
421         * gnulib/aclocal.m4: Re-generate.
422         * gnulib/config.in: Re-generate.
423         * gnulib/configure: Re-generate.
424         * gnulib/import/Makefile.am: Re-generate.
425         * gnulib/import/Makefile.in: Re-generate.
426         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
427         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
428         * gnulib/import/m4/mkdir.m4: New file.
429         * gnulib/import/mkdir.c: New file.
430         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
431         module.
432
433 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
434
435         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
436         * common/scoped_mmap.c: New file.
437         * common/scoped_mmap.h (destroy): New method.
438         (~scoped_mmap, reset): Use destroy.
439         (scoped_mmap): New move constructor.
440         (mmap_file): New declaration.
441         * unittests/scoped_mmap-selftests.c (test_normal,
442         test_invalid_filename, run_tests): New functions.
443         (_initialize_scoped_mmap_selftests): Register selftest.
444
445 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
446
447         * dwarf2read.c (read_gdb_index_from_section): Rename to...
448         (read_gdb_index_from_buffer): ... this.  Remove section
449         parameter, add buffer parameter.
450         (get_gdb_index_contents_ftype,
451         get_gdb_index_contents_dwz_ftype): New typedefs.
452         (dwarf2_read_gdb_index): Add callback parameters to get the
453         index contents.
454         (get_gdb_index_contents_from_section): New.
455         (dwarf2_initialize_objfile): Update call to
456         dwarf2_read_gdb_index.
457
458 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
459
460         * common/filestuff.h (gdb_fopen_cloexec): New overload.
461         (gdb_open_cloexec): Likewise.
462         * nat/linux-osdata.c (command_from_pid): Use string_printf.
463         (commandline_from_pid): Likewise.
464         (linux_xfer_osdata_threads): Likewise.
465         (linux_xfer_osdata_fds): Likewise.
466         * ada-lang.c (is_package_name): Likewise.
467         * auxv.c (procfs_xfer_auxv): Likewise.
468         * breakpoint.c (print_one_breakpoint_location): Use
469         uiout::field_fmt.
470         (print_one_catch_solib): Use string_printf.
471         * coff-pe-read.c (add_pe_exported_sym): Likewise.
472         (add_pe_forwarded_sym): Likewise.
473         * dwarf2read.c (create_type_unit_group): Likewise.
474         (build_error_marker_type): Likewise.
475         * infcall.c (get_function_name): Likewise.
476         * valprint.c (print_converted_chars_to_obstack): Likewise.
477         * xtensa-tdep.c (xtensa_register_type): Likewise.
478
479 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
480
481         * remote.c (remote_target::download_tracepoint): Fix format
482         string errors.
483
484 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
485
486         * tracefile.c: Include common/byte-vector.h.
487         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
488         with trace_regblock_size if needed.  Update uses of buf.
489
490 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
491
492         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
493         std::vector<unsigned char>.
494         * tracepoint.c (collection_list::collection_list): Remove
495         m_regs_mask initializer from initializer list.  Resize
496         m_regs_mask using the largest remote register number.
497         (collection_list::add_remote_register): Remove size check on
498         m_regs_mask.  Use at to access element.
499         (collection_list::stringify): Change type of temp_buf to
500         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
501         stringify the register mask.  Use pack_hex_byte for the register
502         mask.
503
504 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
505
506         * tracepoint.h (class collection_list) <add_register>: Remove.
507         <add_remote_register, add_ax_registers, add_local_register>:
508         Declare.
509         <add_memrange>: Add scope parameter.
510         * tracepoint.c (encode_actions_1): Likewise.
511         (collection_list::add_register): Rename to ...
512         (collection_list::add_remote_register): ... this.  Update
513         comment.
514         (collection_list::add_ax_registers, add_local_register): New
515         methods.
516         (collection_list::add_memrange): Add scope parameter.  Call
517         add_local_register instead of add_register.
518         (finalize_tracepoint_aexpr): New function.
519         (collection_list::collect_symbol): Update calls to add_memrange.
520         Call add_local_register instead of add_register.  Call
521         add_ax_registers.  Call finalize_tracepoint_aexpr.
522         (encode_actions_1): Get remote regnos for $reg action.  Call
523         add_remote_register, add_ax_registers, and add_local_register.
524         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
525         (validate_actionline): Call finalize_tracepoint_aexpr.
526
527 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
528
529         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
530         Replace array buf with gdb::char_vector buf, of size
531         get_remote_packet_size ().  Replace references to buf and
532         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
533         and xsnprintf with snprintf.  Raise errors if the buffer is too
534         small.
535
536 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
537
538         * remote.c (remote_target::download_tracepoint): Fix the has_more
539         predicate in the QTDP action list iteration.
540
541 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
542
543         * remote.c (remote_target::download_tracepoint): Fix indentation
544         in for block.
545
546 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
547
548         * proc-api.c (_initialize_proc_api): Remove c, unused.
549         * procfs.c (procfs_init_inferior): Remove signals, unused.
550         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
551         unused.
552
553 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
554             Andrew Burgess  <andrew.burgess@embecosm.com>
555
556         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
557         'W_STOPCODE (0)' as this could be ambiguous.
558
559 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
560
561         * ser-tcp.c (net_open): Fix thinko when deciding whether to
562         disable TCP's Nagle algorithm (use "ai_protocol" instead of
563         "ai_socktype").
564
565 2018-08-02  Tom Tromey  <tom@tromey.com>
566
567         PR symtab/16842.
568         * dwarf2read.c (read_func_scope): Set symtab on template parameter
569         symbols.
570         (process_structure_scope): Likewise.
571
572 2018-08-02  Xavier Roirand  <roirand@adacore.com>
573
574         PR gdb/22629:
575         * darwin-nat.c (darwin_kill_inferior): Fix handling of
576         kill inferior.
577
578 2018-08-02  Tom Tromey  <tom@tromey.com>
579
580         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
581         (darwin_suspend_inferior, darwin_resume_inferior)
582         (darwin_decode_notify_message, darwin_resume_inferior_threads)
583         (darwin_check_new_threads): Check result of get_darwin_inferior.
584
585 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
586
587         GDB 8.1.1 released.
588
589 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
590
591         * varobj.c (varobj_get_path_expr_parent): Report an error if
592         parent is a dynamic varobj.
593
594 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
595
596         * gnulib/aclocal.m4: Re-generate.
597         * gnulib/config.in: Re-generate.
598         * gnulib/configure: Re-generate.
599         * gnulib/import/Makefile.in: Re-generate.
600         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
601         * gnulib/import/m4/onceonly.m4: Re-generate.
602
603 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
604
605         * target-descriptions.c (struct xml_test_tdesc): New.
606         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
607         (record_xml_tdesc): Update.
608         (maintenance_check_xml_descriptions): Update.
609         * target-descriptions.h (record_xml_tdesc): Update comment.
610
611 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
612
613         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
614         checking array bounds are defined.
615
616 2018-07-30  Tom Tromey  <tom@tromey.com>
617
618         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
619         irreflexivity violation.
620
621 2018-07-30  Tom Tromey  <tom@tromey.com>
622
623         * cli/cli-decode.c (lookup_cmd): Remove lint code.
624         * value.c (unpack_long): Remove lint code.
625         * valops.c (value_ind): Remove lint code.
626         * valarith.c (value_x_binop, value_x_unop, value_equal)
627         (value_pos): Remove lint code.
628
629 2018-07-28  Tom de Vries  <tdevries@suse.de>
630
631         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
632         with undefined upper bound as <optimized out>.
633
634 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
635
636         * gcore.in: Rename variable "name" to "prefix".  Expand
637         "usage" text.
638
639 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
640
641         * windows-nat.c (windows_nat_target::create_inferior): Update to
642         call close() in global namespace.
643
644 2018-07-26  Tom Tromey  <tom@tromey.com>
645
646         * dwarf-index-write.c (add_address_entry): Don't add objfile
647         offsets.
648         * dbxread.c (find_stab_function): Rename from
649         find_stab_function_addr.  Return a bound_minimal_symbol.
650         (read_dbx_symtab): Use raw_text_low, raw_text_high.
651         Don't add objfile offsets.
652         (end_psymtab): Use raw_text_low, raw_text_high,
653         MSYMBOL_VALUE_RAW_ADDRESS.
654         (read_ofile_symtab): Update.
655         (process_one_symbol): Update.
656         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
657         offsets.
658         (dw2_relocate): Remove.
659         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
660         searching addrmap.
661         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
662         Update.
663         (process_psymtab_comp_unit_reader, add_partial_symbol)
664         (add_partial_subprogram, dwarf2_ranges_read): Update.
665         (load_partial_dies): Update.
666         (add_address_entry): Don't add objfile offsets.
667         (dwarf2_build_include_psymtabs): Update.
668         (create_addrmap_from_aranges): Don't add objfile offsets.
669         (dw2_find_pc_sect_compunit_symtab): Update.
670         * mdebugread.c (parse_symbol): Don't add objfile offsets.
671         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
672         Update.
673         (parse_partial_symbols): Don't add objfile offsets.  Use
674         raw_text_low, raw_text_high.  Update.
675         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
676         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
677         or call 'relocate' quick function.  Clear psymbol_map.
678         * psympriv.h (struct partial_symbol) <address>: Add section
679         offset.
680         <set_unrelocated_address>: Rename from set_address.
681         <raw_text_low, raw_text_high>: New methods.
682         <text_low, text_high>: Add objfile parameter.
683         (add_psymbol_to_bcache): Add 'section' parameter.  Call
684         set_unrelocated_address.
685         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
686         (find_pc_psymbol): Update.
687         (fixup_psymbol_section, relocate_psymtabs): Remove.
688         (dump_psymtab, psym_functions): Update.
689         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
690         parameter.
691         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
692         (start_psymtab_common): Update.
693         * symfile-debug.c (debug_qf_relocate): Remove.
694         (debug_sym_quick_functions): Update.
695         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
696         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
697         Update.
698
699 2018-07-26  Tom Tromey  <tromey@redhat.com>
700
701         * dbxread.c (end_psymtab): Use text_high_valid and
702         text_low_valid.
703         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
704         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
705         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
706         Update comment.
707         <text_low_valid, text_high_valid>: New fields.
708         <set_text_low, set_text_high>: Update.
709         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
710
711 2018-07-26  Tom Tromey  <tom@tromey.com>
712
713         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
714         Update.
715         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
716         textlow and texthigh fields.
717         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
718         Update.
719         * mdebugread.c (parse_lines, parse_partial_symbols)
720         (psymtab_to_symtab_1): Update.
721         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
722         Rename fields.  Update comment.  Now private.
723         <text_low, text_high, set_text_low, set_text_high>: New methods.
724         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
725         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
726         (start_psymtab_common, maintenance_info_psymtabs)
727         (maintenance_check_psymtabs): Update.
728         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
729         texthigh fields.
730         (scan_xcoff_symtab): Update.
731
732 2018-07-26  Tom Tromey  <tromey@redhat.com>
733
734         * psympriv.h (struct partial_symbol) <unrelocated_address,
735         address, set_address>: New methods.
736         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
737         (fixup_psymbol_section, relocate_psymtabs): Update.
738         (print_partial_symbols): Add 'objfile' parameter.  Update.
739         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
740         Update.
741
742 2018-07-26  Tom Tromey  <tom@tromey.com>
743
744         * dwarf-index-write.c (write_psymbols, debug_names::insert)
745         (debug_names::write_psymbols): Update.
746         * psympriv.h (struct partial_symbol): Derive from
747         general_symbol_info.
748         <obj_section>: New method.
749         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
750         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
751         (find_pc_sect_psymbol, fixup_psymbol_section)
752         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
753         (print_partial_symbols, recursively_search_psymtabs)
754         (compare_psymbols, psymbol_hash, psymbol_compare)
755         (add_psymbol_to_bcache, maintenance_check_psymtabs)
756         (psymbol_name_matches, psym_fill_psymbol_map): Update.
757
758 2018-07-26  Tom Tromey  <tromey@redhat.com>
759
760         * dbxread.c (end_psymtab): Remove dead code.
761
762 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
763
764         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
765         DWARF unwinders are disabled.
766         * dwarf2-frame.c: Add dwarf2read.h include.
767         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
768         disabled.
769         (dwarf2_frame_unwinders_enabled_p): Define.
770         (show_dwarf_unwinders_enabled_p): New function.
771         (_initialize_dwarf2_frame): Register switch to control DWARF
772         unwinder use.
773         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
774         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
775         (show_dwarf_cmdlist): Remove static keyword.
776         * dwarf2read.h (set_dwarf_cmdlist): Declare.
777         (show_dwarf_cmdlist): Declare.
778         * NEWS: Document new feature.
779
780 2018-07-26  Tom de Vries  <tdevries@suse.de>
781
782         PR breakpoints/23366
783         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
784
785 2018-07-26  Tom de Vries  <tdevries@suse.de>
786
787         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
788         DW_AT_count can't be translated to a dynamic prop.
789
790 2018-07-25  Tom de Vries  <tdevries@suse.de>
791
792         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
793         try/catch.
794
795 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
796
797         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
798
799 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
800
801         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
802
803 2018-07-24  Keith Seitz  <keiths@redhat.comt
804
805         PR symtab/23010
806         * dwarf2read.c (dw2_add_symbol_to_list): New function.
807         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
808         instead of add_symbol_to_list.
809         (read_file_scope): Call prepare_one_comp_unit before reading
810         any other DIEs.
811
812 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
813
814         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
815
816 2018-07-24  Tom Tromey  <tom@tromey.com>
817
818         * utils.c (malloc, realloc, free): Don't declare.
819         * configure, config.in: Rebuild.
820         * configure.ac: Don't check for declarations of free, malloc, or
821         realloc.
822
823 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
824
825         * aarch64-linux-nat.c
826         (aarch64_linux_nat_target::stopped_data_address): Remove unused
827         variable.
828         * arm-linux-nat.c (fetch_regs): Likewise.
829         (store_regs): Likewise.
830         (fetch_vfp_regs): Likewise.
831         (store_vfp_regs): Likewise.
832         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
833         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
834         (arm_linux_nat_target::insert_watchpoint): Likewise.
835         (arm_linux_nat_target::remove_watchpoint): Likewise.
836         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
837         Likewise.
838         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
839         Likewise.
840         * ppc-linux-nat.c (fetch_register): Likewise.
841         (fetch_all_gp_regs): Likewise.
842         (fetch_ppc_registers): Likewise.
843         (store_all_gp_regs): Likewise.
844         (store_ppc_registers): Likewise.
845         (hwdebug_insert_point): Likewise.
846         (can_use_watchpoint_cond_accel): Likewise.
847         * remote-sim.c (gdb_os_write_stdout): Likewise.
848
849 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
850             Tom Tromey  <tom@tromey.com>
851
852         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
853         test for it.
854         * configure: Rebuild.
855
856 2018-07-22  Tom Tromey  <tom@tromey.com>
857
858         * regformats/regdat.sh: Define xmltarget_${name} inside
859         #ifndef IN_PROCESS_AGENT.
860
861 2018-07-22  Tom Tromey  <tom@tromey.com>
862
863         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
864
865 2018-07-22  Tom Tromey  <tom@tromey.com>
866
867         * symfile.c (reread_symbols): Notify iter, not objfile.
868
869 2018-07-22  Tom Tromey  <tom@tromey.com>
870
871         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
872         Use arch_ops.
873         (ravenscar_thread_target::prepare_to_store): Likewise.
874
875 2018-07-22  Tom Tromey  <tom@tromey.com>
876
877         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
878         unused variable.  Call value_fetch_lazy when needed.
879         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
880         Remove unused variable.  Call value_fetch_lazy when needed.
881
882 2018-07-22  Tom Tromey  <tom@tromey.com>
883
884         * m32c-tdep.c (mark_dma): Return void.
885         (make_regs): Remove unused declarations.
886
887 2018-07-22  Tom Tromey  <tom@tromey.com>
888
889         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
890         cmdscm_get_valid_command_smob_arg_unsafe for effect.
891         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
892         bkscm_get_valid_block_smob_arg_unsafe for effect.
893
894 2018-07-22  Tom Tromey  <tom@tromey.com>
895
896         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
897         value_type.
898
899 2018-07-22  Tom Tromey  <tom@tromey.com>
900
901         * windows-nat.c (saved_context): Conditionally define.
902         * remote.c (remote_target::remote_btrace_maybe_reopen):
903         Conditionally declare "warned".
904         * inflow.c (sigquit_ours): Conditionally define.
905         (new_tty): Move "tty" declaration inside #if.
906         * guile/guile.c (guile_datadir): Conditionally define.
907         * charset.c (set_be_le_names): Move some declarations inside #if.
908         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
909         #if.
910         (parse_xml_btrace_conf): Likewise.
911
912 2018-07-22  Tom Tromey  <tom@tromey.com>
913
914         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
915
916 2018-07-22  Tom Tromey  <tom@tromey.com>
917
918         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
919         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
920         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
921         * buildsym-legacy.c (get_macro_table): Remove unused variable.
922         * stack.c (frame_apply_level_command): Remove unused variable.
923         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
924         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
925         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
926         unused variable.
927         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
928         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
929         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
930         variable.
931         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
932         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
933         variable.
934         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
935         Remove unused variable.
936         * cli/cli-script.c (recurse_read_control_structure): Remove unused
937         variable.
938         * common/tdesc.c (print_xml_feature::visit): Remove unused
939         variable.
940         * compile/compile-object-load.c (store_regs): Remove unused
941         variables.
942         * complaints.c (clear_complaints): Remove unused variable.
943         * corelow.c (core_target_open): Remove unused variable.
944         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
945         variable.
946         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
947         variable.
948         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
949         variable.
950         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
951         variable.
952         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
953         variable.
954         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
955         variable.
956         * ia64-tdep.c (examine_prologue): Remove unused variable.
957         * infcall.c (run_inferior_call): Remove unused variable.
958         * inferior.c (exit_inferior): Remove unused variable.
959         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
960         * linespec.c (decode_line_2): Remove unused variable.
961         * linux-nat.c (super_close): Remove.
962         * linux-tdep.c (linux_info_proc): Remove unused variable.
963         * mi/mi-main.c (mi_execute_command): Remove unused variable.
964         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
965         Remove unused variable.
966         * parse.c (find_minsym_type_and_address): Remove unused variable.
967         * printcmd.c (info_symbol_command, printf_floating): Remove unused
968         variable.
969         * python/py-breakpoint.c (bppy_set_commands): Remove unused
970         variable.
971         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
972         variables.
973         * record-btrace.c (record_btrace_target::store_registers): Remove
974         unused variable.
975         (cmd_show_record_btrace_cpu): Remove unused variable.
976         * riscv-tdep.c (riscv_register_reggroup_p)
977         (riscv_push_dummy_call, riscv_return_value): Remove unused
978         variable.
979         * rust-exp.y (literal): Remove unused variable.
980         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
981         unused variable.
982         <STRUCTOP_ANONYMOUS>: Likewise.
983         * s390-linux-tdep.c (s390_linux_init_abi_31)
984         (s390_linux_init_abi_64): Remove unused variable.
985         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
986         (file_select_thread, net_windows_open, _initialize_ser_windows):
987         Remove unused variables.
988         * symtab.c (find_pc_sect_line): Remove unused variable.
989         * target-memory.c (compute_garbled_blocks): Remove unused
990         variable.
991         (target_write_memory_blocks): Remove unused variable.
992         * target.c (target_stack::unpush): Remove unused variables.
993         * tracepoint.c (start_tracing, all_tracepoint_actions)
994         (merge_uploaded_trace_state_variables)
995         (print_one_static_tracepoint_marker): Remove unused variable.
996         * unittests/basic_string_view/element_access/char/1.cc (test01):
997         Remove unused variable.
998         * windows-nat.c (windows_continue, windows_add_all_dlls)
999         (do_initial_windows_stuff, windows_nat_target::create_inferior):
1000         Remove unused variables.
1001
1002 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
1003
1004         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
1005         attr_profile in HAVE_ELF.
1006         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
1007         HAVE_ELF.
1008
1009 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
1010
1011         * frame.c (frame_register_unwind): Change parameter name.
1012         (frame_unwind_register): Likewise.
1013         (frame_unwind_register_value): Likewise.
1014         (frame_unwind_register_signed): Likewise.
1015         (frame_unwind_register_unsigned): Likewise.
1016         * frame.h (frame_register_unwind): Likewise.
1017         (frame_unwind_register): Likewise.
1018         (frame_unwind_register_value): Likewise.
1019         (frame_unwind_register_signed): Likewise.
1020         (frame_unwind_register_unsigned): Likewise.
1021         (frame_unwind_arch): Likewise.
1022
1023 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1024
1025         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
1026         ISA maintenance.
1027
1028 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
1029
1030         * mips-linux-nat.c (mips_linux_nat_target::read_description):
1031         Call `get_ptrace_pid' rather than extracting the ptrace PID by
1032         hand.
1033
1034 2018-07-20  Keith Seitz  <keiths@redhat.com>
1035
1036         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
1037         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
1038         m_compunit_symtab, m_language>: Add "m_" prefix.
1039         Update all uses.
1040         * buildsym.c: Update all uses.
1041
1042 2018-07-20  Tom Tromey  <tom@tromey.com>
1043
1044         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
1045         * buildsym.h (record_line_ftype): Remove typedef.
1046
1047 2018-07-20  Tom Tromey  <tom@tromey.com>
1048
1049         * buildsym-legacy.h (augment_type_symtab): Don't declare.
1050         (end_expandable_symtab): Likewise.
1051         (end_symtab_get_static_block): Likewise.
1052         (end_symtab_from_static_block): Likewise.
1053         * buildsym-legacy.c (augment_type_symtab): Remove.
1054         (end_expandable_symtab): Remove.
1055         (end_symtab_get_static_block): Remove.
1056         (end_symtab_from_static_block): Remove.
1057
1058 2018-07-20  Tom Tromey  <tom@tromey.com>
1059
1060         * dwarf2read.c: Include buildsym.h.
1061         (struct dwarf2_cu) <builder>: New method.
1062         (fixup_go_packaging): Update.
1063         (process_full_comp_unit, process_full_type_unit): Update.  Don't
1064         use scoped_free_pendings.
1065         (using_directives): Add "cu" parameter, remove "language".
1066         (read_import_statement, setup_type_unit_groups, )
1067         (read_func_scope, read_lexical_block_scope)
1068         (dwarf2_record_block_ranges, read_namespace): Update.
1069         (lnp_state_machine::lnp_state_machine): Add cu parameter.
1070         (lnp_state_machine::handle_end_sequence): Update.
1071         (class lnp_state_machine) <m_cu>: New member.
1072         <m_record_line_callback>: Remove.
1073         <m_currently_recording_lines>: New member.
1074         (lnp_state_machine::handle_set_file): Update.
1075         (noop_record_line): Remove.
1076         (dwarf_record_line_p): Add cu parameter.
1077         (dwarf_record_line_1, dwarf_finish_line): Likewise.
1078         (lnp_state_machine::record_line)
1079         (lnp_state_machine::lnp_state_machine)
1080         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
1081         (dwarf_decode_lines): Update.
1082         (dwarf2_start_subfile): Add cu parameter.
1083         (dwarf2_start_symtab, new_symbol): Update.
1084         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
1085         Remove dwarf2_per_objfile parameter.
1086         (dwarf_decode_macros): Update.
1087
1088 2018-07-20  Tom Tromey  <tom@tromey.com>
1089
1090         * stabsread.c (define_symbol): Update.
1091         * buildsym-legacy.h (get_buildsym_compunit): Declare.
1092         * dwarf2read.c (new_symbol): Update.
1093         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
1094         * cp-namespace.c: Include buildsym.h.
1095         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
1096         * buildsym-legacy.c (get_buildsym_compunit): New function.
1097
1098 2018-07-20  Tom Tromey  <tom@tromey.com>
1099
1100         * xcoffread.c: Include buildsym-legacy.h.
1101         * windows-nat.c: Include buildsym-legacy.h.
1102         * stabsread.c: Include buildsym-legacy.h.
1103         * mdebugread.c: Include buildsym-legacy.h.
1104         * buildsym-legacy.h: New file.
1105         * buildsym-legacy.c: New file, from buildsym.c.
1106         * go32-nat.c: Include buildsym-legacy.h.
1107         * dwarf2read.c: Include buildsym-legacy.h.
1108         * dbxread.c: Include buildsym-legacy.h.
1109         * cp-namespace.c: Include buildsym-legacy.h.
1110         * coffread.c: Include buildsym-legacy.h.
1111         * buildsym.h: Move some contents to buildsym-legacy.h.
1112         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
1113         buildsym-legacy.c.
1114         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
1115
1116 2018-07-20  Tom Tromey  <tom@tromey.com>
1117
1118         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
1119         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
1120         (buildsym_compunit::buildsym_compunit)
1121         (buildsym_compunit::~buildsym_compunit)
1122         (buildsym_compunit::get_macro_table): Define.
1123
1124 2018-07-20  Tom Tromey  <tom@tromey.com>
1125
1126         * buildsym.c (reset_symtab_globals): Remove.
1127         (buildsym_compunit::end_symtab_from_static_block): Update.
1128         (buildsym_compunit::augment_type_symtab): Update.
1129         (end_symtab_from_static_block): Call free_buildsym_compunit.
1130         (augment_type_symtab, end_symtab, end_expandable_symtab):
1131         Likewise.
1132
1133 2018-07-20  Tom Tromey  <tom@tromey.com>
1134
1135         * arch-utils.c: Do not include buildsym.h.
1136         * mipsread.c: Do not include buildsym.h.
1137         * machoread.c: Do not include buildsym.h.
1138         * elfread.c: Do not include buildsym.h.
1139
1140 2018-07-20  Tom Tromey  <tom@tromey.com>
1141
1142         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
1143         initialization.
1144         (buildsym_compunit): Add new constructor.
1145         (struct buildsym_compunit) <get_last_source_file, finish_block,
1146         record_block_range, start_subfile, patch_subfile_names,
1147         push_subfile, pop_subfile, record_line, get_compunit_symtab,
1148         set_last_source_start_addr, get_last_source_start_addr,
1149         get_local_using_directives, set_local_using_directives,
1150         get_global_using_directives, outermost_context_p,
1151         get_current_context_stack, get_context_stack_depth,
1152         get_current_subfile, get_local_symbols, get_file_symbols,
1153         get_global_symbols, record_debugformat, record_producer,
1154         push_context, pop_context, end_symtab_get_static_block,
1155         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
1156         New public methods.
1157         <record_pending_block, finish_block_internal, make_blockvector,
1158         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
1159         private methods.
1160         Update all users.
1161
1162 2018-05-22  Tom Tromey  <tom@tromey.com>
1163
1164         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
1165         parameter.
1166         (finish_block_internal): Update.
1167
1168 2018-07-20  Tom Tromey  <tom@tromey.com>
1169
1170         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
1171         parameter.
1172         (finish_block_internal): Update.
1173
1174 2018-07-20  Tom Tromey  <tom@tromey.com>
1175
1176         * buildsym.h (EXTERN): Don't define or undef.
1177         * buildsym.c (EXTERN): Don't define.
1178
1179 2018-07-20  Tom Tromey  <tom@tromey.com>
1180
1181         * buildsym.c: Remove TODO comment.
1182
1183 2018-07-20  Tom Tromey  <tom@tromey.com>
1184
1185         * coffread.c (coff_symtab_read): Update.
1186         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
1187         (xcoff_new_init): Update.
1188         * mipsread.c (mipscoff_new_init): Update.
1189         * mdebugread.c (mdebug_build_psymtabs): Update.
1190         * elfread.c (elf_new_init): Update.
1191         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
1192         Update.
1193         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
1194         (coffstab_build_psymtabs, elfstab_build_psymtabs)
1195         (stabsect_build_psymtabs): Update.
1196         * buildsym.h (buildsym_init): Don't declare.
1197         * buildsym.c: Update comment.
1198         (prepare_for_building): Remove.
1199         (start_symtab, restart_symtab): Update.
1200         (reset_symtab_globals): Update comment.
1201         (buildsym_init): Remove.
1202
1203 2018-07-20  Tom Tromey  <tom@tromey.com>
1204
1205         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
1206         * stabsread.c (patch_block_stabs, define_symbol, read_type)
1207         (read_enum_type, common_block_start, common_block_end)
1208         (cleanup_undefined_types_1, finish_global_stabs): Update.
1209         * mdebugread.c (psymtab_to_symtab_1): Update.
1210         * dwarf2read.c (fixup_go_packaging, read_func_scope)
1211         (read_lexical_block_scope, new_symbol): Update.
1212         * dbxread.c (process_one_symbol): Update.
1213         * coffread.c (coff_symtab_read, process_coff_symbol)
1214         (coff_read_enum_type): Update.
1215         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
1216         declare.
1217         (get_local_symbols, get_file_symbols, get_global_symbols): New
1218         functions.
1219         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
1220         m_global_symbols.
1221         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
1222         (~scoped_free_pendings): Update.
1223         (finish_block, prepare_for_building, reset_symtab_globals)
1224         (end_symtab_get_static_block, end_symtab_with_blockvector)
1225         (augment_type_symtab, push_context): Update.
1226         (get_local_symbols, get_file_symbols, get_global_symbols): New
1227         functions.
1228         (buildsym_init): Update.
1229
1230 2018-07-20  Tom Tromey  <tom@tromey.com>
1231
1232         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
1233         (process_full_type_unit): Likewise.
1234         (dwarf2_start_symtab): Set list_in_scope.
1235
1236 2018-07-20  Tom Tromey  <tom@tromey.com>
1237
1238         * dwarf2read.c (process_psymtab_comp_unit_reader)
1239         (build_type_psymtabs_reader): Do not set list_in_scope.
1240
1241 2018-07-20  Tom Tromey  <tom@tromey.com>
1242
1243         * buildsym.c (free_pendings): Remove.
1244         (add_symbol_to_list, scoped_free_pendings)
1245         (finish_block_internal, buildsym_init): Update.
1246
1247 2018-07-20  Tom Tromey  <tom@tromey.com>
1248
1249         * xcoffread.c (read_xcoff_symtab): Update.
1250         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
1251         Update.
1252         * dbxread.c (process_one_symbol): Update.
1253         * coffread.c (coff_symtab_read): Update.
1254         * buildsym.h (finish_block): Update.
1255         * buildsym.c (finish_block): Remove "listhead" argument.
1256         (end_symtab_get_static_block): Update.
1257
1258 2018-07-20  Tom Tromey  <tom@tromey.com>
1259
1260         * buildsym.h (class scoped_free_pendings): Remove constructor.
1261         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
1262         method.
1263         <m_pending_block_obstack, m_pending_blocks>: New members.
1264         (pending_block_obstack, pending_blocks): Remove.
1265         (scoped_free_pendings::scoped_free_pendings): Default.
1266         (~scoped_free_pendings): Update.
1267         (free_pending_blocks): Remove.
1268         (finish_block_internal, record_pending_block, make_blockvector)
1269         (end_symtab_get_static_block, augment_type_symtab, push_context)
1270         (buildsym_init): Update.
1271
1272 2018-07-20  Tom Tromey  <tom@tromey.com>
1273
1274         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
1275         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
1276         members.
1277         (pending_addrmap, pending_addrmap_obstack)
1278         (pending_addrmap_interesting): Remove.
1279         (scoped_free_pendings, record_block_range, make_blockvector)
1280         (prepare_for_building, reset_symtab_globals, buildsym_init):
1281         Update.
1282
1283 2018-07-20  Tom Tromey  <tom@tromey.com>
1284
1285         * xcoffread.c (process_linenos): Update.
1286         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
1287         * mdebugread.c (psymtab_to_symtab_1): Update.
1288         * dwarf2read.c (setup_type_unit_groups)
1289         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
1290         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
1291         * dbxread.c (process_one_symbol): Update.
1292         * coffread.c (coff_symtab_read, enter_linenos)
1293         (process_coff_symbol): Update.
1294         * buildsym.h (current_subfile): Don't declare.
1295         (get_current_subfile): Declare.
1296         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
1297         member.
1298         (start_subfile, free_buildsym_compunit, push_subfile)
1299         (prepare_for_building, start_symtab): Update.
1300         (get_current_subfile): New function.
1301
1302 2018-07-20  Tom Tromey  <tom@tromey.com>
1303
1304         * coffread.c (coff_symtab_read): Update.
1305         * xcoffread.c (read_xcoff_symtab): Update.
1306         * dwarf2read.c (new_symbol): Update.
1307         (read_func_scope, read_lexical_block_scope): Update.
1308         * dbxread.c (process_one_symbol): Update.
1309         * buildsym.h (context_stack, context_stack_depth): Don't declare.
1310         (outermost_context_p): Remove macro.
1311         (outermost_context_p, get_current_context_stack)
1312         (get_context_stack_depth): Declare.
1313         (pop_context): Return struct context_stack.
1314         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
1315         member.
1316         (context_stack_size): Remove.
1317         (INITIAL_CONTEXT_STACK_SIZE): Remove.
1318         (prepare_for_building, end_symtab_get_static_block)
1319         (augment_type_symtab, push_context): Update.
1320         (pop_context): Return struct context_stack.
1321         (outermost_context_p, get_current_context_stack)
1322         (get_context_stack_depth): New functions.
1323         (buildsym_init): Update.
1324
1325 2018-07-20  Tom Tromey  <tom@tromey.com>
1326
1327         * rust-exp.y: Now a pure parser.  Update all rules.
1328         (%union): Move earlier.
1329         (current_parser, work_obstack): Remove globals.
1330         (rust_parser, ~rust_parser): Update.
1331         (class rust_parser) <copy_name, concat3, crate_name, super_name,
1332         lex_character, lex_number, lex_string, lex_identifier,
1333         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
1334         convert_name, convert_params_to_expression,
1335         convert_ast_to_expression, ast_basic_type, ast_operation,
1336         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
1337         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
1338         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
1339         ast_array_type, ast_slice_type, ast_reference_type,
1340         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
1341         (rust_parse): Update.
1342         (rustyyerror, rustyylex): Add parser parameter.
1343         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
1344         (rust_lex_stringish_test, rust_lex_test_sequence)
1345         (rust_lex_test_trailing_dot, rust_lex_test_completion)
1346         (rust_lex_test_push_back, rust_lex_tests): Update.
1347
1348 2018-07-19  Pedro Alves  <palves@redhat.com>
1349
1350         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
1351         gdb::unique_xmalloc_ptr.
1352         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
1353         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
1354         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
1355         copy-initialization.
1356         * guile/scm-pretty-print.c (ppscm_print_children): Use
1357         gdb::unique_xmalloc_ptr instead of cleanups.
1358         (gdbscm_apply_val_pretty_printer): Remove cleanups.
1359         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
1360         gdb::unique_xmalloc_ptr.
1361         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
1362         Adjust to use gdb::unique_xmalloc_ptr.
1363         * guile/scm-utils.c (extract_arg): Adjust.
1364         * guile/scm-value.c (gdbscm_value_field): Adjust to use
1365         gdb::unique_xmalloc_ptr instead of a cleanup.
1366
1367 2018-07-19  Tom Tromey  <tom@tromey.com>
1368
1369         * utils.c (do_value_free_to_mark)
1370         (make_cleanup_value_free_to_mark): Remove.
1371         * utils.h (make_cleanup_value_free_to_mark): Remove.
1372
1373 2018-07-19  Pedro Alves  <palves@redhat.com>
1374
1375         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
1376         forwarding reference.
1377
1378 2018-07-18  Pedro Alves  <palves@redhat.com>
1379
1380         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
1381         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
1382         cleanup.
1383
1384 2018-07-18  Pedro Alves  <palves@redhat.com>
1385
1386         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
1387         exceptions.
1388         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
1389         (gdbscm_wrap): New.
1390         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
1391         directly instead of a cleanup.
1392         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
1393         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
1394         (vlscm_binop_gdbthrow): New, factored out from ...
1395         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
1396         (vlscm_rich_compare): Use gdbscm_wrap.
1397         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
1398         instead of a cleanup.
1399         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
1400         cleanup.
1401         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
1402         Use xfree directly instead of a cleanup.
1403         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
1404         Adjust to use gdbscm_wrap and scoped_value_mark.
1405         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
1406         (gdbscm_value_address, gdbscm_value_dereference)
1407         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
1408         scoped_value_mark.
1409         (gdbscm_value_dynamic_type): Use scoped_value_mark.
1410         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
1411         scoped_value_mark.
1412         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
1413         gdbscm_wrap and scoped_value_mark.
1414         (gdbscm_value_to_string): Use xfree directly instead of a
1415         cleanup.  Move 'buffer' unique_ptr to TRY scope.
1416         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
1417         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
1418         scoped_value_mark.
1419         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
1420         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
1421         scoped_value_mark.
1422         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
1423         gdbscm_wrap.
1424
1425 2018-07-18  Tom de Vries  <tdevries@suse.de>
1426
1427         * findvar.c (default_read_var_value): Also resolve dynamic type for
1428         LOC_OPTIMIZED_OUT vars.
1429
1430 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
1431
1432         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
1433         decoding.
1434
1435 2018-07-17  Tom Tromey  <tom@tromey.com>
1436
1437         * guile/scm-param.c (pascm_set_func, pascm_show_func)
1438         (compute_enum_list, pascm_set_param_value_x)
1439         (gdbscm_parameter_value): Update.
1440         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
1441         (gdbscm_scm_to_host_string): Update.
1442         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
1443         Update.
1444         * guile/scm-cmd.c (cmdscm_add_completion): Update.
1445         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
1446         * guile/scm-string.c (gdbscm_scm_to_string): Return
1447         unique_xmalloc_ptr.
1448         (gdbscm_scm_to_host_string): Likewise.
1449
1450 2018-07-17  Tom Tromey  <tom@tromey.com>
1451
1452         * guile/guile.c (gdbscm_eval_from_control_command): Update.
1453         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
1454         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
1455         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
1456         unique_xmalloc_ptr.
1457
1458 2018-07-17  Tom Tromey  <tom@tromey.com>
1459
1460         * guile/scm-param.c (pascm_signal_setshow_error): Update.
1461         * guile/guile-internal.h (gdbscm_exception_message_to_string):
1462         Update.
1463         * guile/scm-cmd.c (cmdscm_function): Update.
1464         * guile/scm-pretty-print.c
1465         (ppscm_print_exception_unless_memory_error): Update.
1466         * guile/scm-exception.c (gdbscm_exception_message_to_string):
1467         Return unique_xmalloc_ptr.
1468
1469 2018-07-17  Tom Tromey  <tom@tromey.com>
1470
1471         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
1472         Use string_printf.
1473
1474 2018-07-17  Jim Wilson  <jimw@sifive.com>
1475
1476         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
1477         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
1478         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
1479         unecessary braces after EF_RISCV_RVC test.  Delete call to
1480         set_gdbarch_decr_pc_after_break.
1481
1482         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
1483         RISCV_LAST_FP_REGNUM + 1.
1484         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
1485
1486 2018-07-17  Tom Tromey  <tom@tromey.com>
1487
1488         * configure.ac: Remove --disable-gdbcli.
1489         * configure: Rebuild.
1490         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
1491         (SUBDIR_CLI_CFLAGS): Remove.
1492         (SFILES): Use SUBDIR_CLI_SRCS.
1493         (COMMON_OBS): Use SUBDIR_CLI_OBS.
1494
1495 2018-07-17  Tom Tromey  <tom@tromey.com>
1496
1497         PR gdb/18624:
1498         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
1499
1500 2018-07-16  Jim Wilson  <jimw@sifive.com>
1501
1502         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
1503
1504 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1505
1506         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
1507         variable.
1508         (libunwind_frame_sniffer): Likewise.
1509         (libunwind_frame_prev_register): Likewise.
1510         (libunwind_sigtramp_frame_sniffer): Likewise.
1511         * ia64-tdep.c (ia64_access_reg): Likewise.
1512         (ia64_access_rse_reg): Likewise.
1513         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
1514         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
1515
1516 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1517
1518         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
1519
1520 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1521
1522         * remote-sim.c (gdbsim_target::close,
1523         gdbsim_target::mourn_inferior): Remove unused variables.
1524
1525 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
1526
1527         * ia64-tdep.c (ktab_buf): New global.
1528         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
1529         (get_kernel_table): Adjust.
1530
1531 2018-07-16  Tom Tromey  <tom@tromey.com>
1532
1533         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
1534         * dwarf2read.c (using_directives, new_symbol): Use
1535         outermost_context_p.
1536         * dbxread.c (process_one_symbol): Use outermost_context_p.
1537         * coffread.c (coff_symtab_read): Use outermost_context_p.
1538
1539 2018-07-16  Tom Tromey  <tom@tromey.com>
1540
1541         * dwarf2read.c (using_directives, read_func_scope)
1542         (read_lexical_block_scope): Update.
1543         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
1544         * buildsym.h (local_using_directives, global_using_directives):
1545         Don't declare.
1546         (get_local_using_directives, set_local_using_directives)
1547         (get_global_using_directives): Declare.
1548         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
1549         m_global_using_directives>: New members.
1550         (finish_block_internal, prepare_for_building)
1551         (reset_symtab_globals, end_symtab_get_static_block)
1552         (push_context): Update.
1553         (get_local_using_directives, set_local_using_directives)
1554         (get_global_using_directives): New functions.
1555         (buildsym_init): Update.
1556
1557 2018-07-16  Tom Tromey  <tom@tromey.com>
1558
1559         * xcoffread.c (xcoff_initial_scan): Don't call
1560         free_pending_blocks.
1561         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
1562         * buildsym.h (class scoped_free_pendings): Add constructor.
1563         (free_pending_blocks): Don't declare.
1564         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
1565         (free_pending_blocks): Now static.
1566
1567 2018-07-16  Tom Tromey  <tom@tromey.com>
1568
1569         * buildsym.h (push_subfile, pop_subfile): Update declarations.
1570         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
1571         member.
1572         (struct subfile_stack): Remove.
1573         (subfile_stack): Remove.
1574         (push_subfile, pop_subfile, buildsym_init): Update.
1575
1576 2018-07-16  Tom Tromey  <tom@tromey.com>
1577
1578         * buildsym.c (push_subfile): Use gdb_assert.
1579         (pop_subfile): Use gdb_assert.
1580
1581 2018-07-16  Tom Tromey  <tom@tromey.com>
1582
1583         * buildsym.h (merge_symbol_lists): Remove.
1584         * buildsym.c (merge_symbol_lists): Remove.
1585
1586 2018-07-16  Tom Tromey  <tom@tromey.com>
1587
1588         * stabsread.c (scan_file_globals): Update comment.
1589         * stabsread.h (scan_file_globals): Move from buildsym.h.
1590         * buildsym.h (scan_file_globals): Move to stabsread.h.
1591
1592 2018-07-16  Tom Tromey  <tom@tromey.com>
1593
1594         * xcoffread.c (xcoff_new_init): Update.
1595         * mipsread.c (mipscoff_new_init): Update.
1596         * mdebugread.c (mdebug_build_psymtabs): Update.
1597         * elfread.c (elf_new_init): Update.
1598         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1599         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1600         * buildsym.h (buildsym_new_init): Don't declare.
1601         * buildsym.c (buildsym_new_init): Remove.
1602
1603 2018-07-16  Tom Tromey  <tom@tromey.com>
1604
1605         * stabsread.h (within_function): Move from buildsym.h.
1606         * stabsread.c (start_stabs): Clear within_function.
1607         * coffread.c (coff_start_symtab): Clear within_function.
1608         * buildsym.h (within_function): Move to stabsread.h.
1609         * buildsym.c (prepare_for_building): Update.
1610
1611 2018-07-16  Tom Tromey  <tom@tromey.com>
1612
1613         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1614         * dwarf2read.c (dwarf2_start_symtab): Don't set
1615         processing_gcc_compilation.
1616         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1617
1618 2018-07-16  Tom Tromey  <tom@tromey.com>
1619
1620         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1621         (next_symbol_text_func): Move from buildsym.h.
1622         * stabsread.c (hashname): Move from buildsym.c.
1623         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1624         (next_symbol_text_func, hashname): Move to stabsread.h.
1625         * buildsym.c: Don't include bcache.h
1626         (hashname): Move to stasbread.c.
1627
1628 2018-07-16  Tom Tromey  <tom@tromey.com>
1629
1630         * buildsym.h (context_stack_size): Don't declare.
1631         * buildsym.c (context_stack_size): New global.
1632
1633 2018-07-16  Tom Tromey  <tom@tromey.com>
1634
1635         * dbxread.c (processing_acc_compilation): New global.
1636         * buildsym.h (processing_acc_compilation): Don't declare.
1637
1638 2018-07-16  Tom Tromey  <tom@tromey.com>
1639
1640         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1641         * dbxread.c (read_ofile_symtab): Update.
1642         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1643         * buildsym.h (last_source_start_addr): Remove.
1644         (set_last_source_start_addr, get_last_source_start_addr):
1645         Declare.
1646         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1647         parameter.
1648         (struct buildsym_compunit) <m_last_source_start_addr>: New
1649         member.
1650         (prepare_for_building): Remove start_addr parameter.
1651         (start_symtab, restart_symtab, end_symtab_get_static_block)
1652         (end_symtab_with_blockvector): Update.
1653         (set_last_source_start_addr, get_last_source_start_addr): New
1654         functions.
1655
1656 2018-07-16  Tom Tromey  <tom@tromey.com>
1657
1658         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1659         member.
1660         (have_line_numbers): Remove.
1661         (record_line, prepare_for_building, end_symtab_get_static_block)
1662         (augment_type_symtab): Update.
1663
1664 2018-07-16  Tom Tromey  <tom@tromey.com>
1665
1666         * buildsym.c (~buildsym_compunit): Free the macro table.
1667         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1668         methods.
1669         <m_pending_macros>: New member.
1670         (pending_macros): Remove.
1671         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1672         (reset_symtab_globals, end_symtab_get_static_block)
1673         (end_symtab_with_blockvector, augment_type_symtab)
1674         (buildsym_init): Update.
1675
1676 2018-07-16  Tom Tromey  <tom@tromey.com>
1677
1678         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1679         parameter.
1680         (buildsym_compunit::set_last_source_file): New method.
1681         <m_last_source_file>: New member.
1682         (prepare_for_building): Remove "name" parameter.
1683         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1684         (last_source_file): Remove.
1685         (set_last_source_file, get_last_source_file): Update.
1686
1687 2018-07-16  Tom Tromey  <tom@tromey.com>
1688
1689         * buildsym.c (prepare_for_building): Add assert.
1690
1691 2018-07-16  Tom Tromey  <tom@tromey.com>
1692
1693         * buildsym.c (~buildsym_compunit): Update.
1694         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1695         (start_subfile, patch_subfile_names)
1696         (end_symtab_with_blockvector): Update.
1697
1698 2018-07-16  Tom Tromey  <tom@tromey.com>
1699
1700         * buildsym.c (struct buildsym_compunit): Add constructor,
1701         destructor, initializers.
1702         (start_buildsym_compunit): Remove.
1703         (free_buildsym_compunit): Use "delete".
1704         (start_symtab, restart_symtab): Use "new".
1705
1706 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1707
1708         * symfile.c (set_objfile_default_section_offset): Remove struct
1709         keyword.
1710
1711 2018-07-14  Stafford Horne  <shorne@gmail.com>
1712
1713         * (Responsible Maintainers): Add myself as or1k maintainer.
1714
1715 2018-07-13  Tom Tromey  <tom@tromey.com>
1716
1717         * symfile.c (set_objfile_default_section_offset): Use extra braces
1718         around initializer.
1719
1720 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1721
1722         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1723         non-branching basr.
1724
1725 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1726
1727         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1728         unittests/cli-utils-selftests.c
1729         * unittests/cli-utils-selftests.c: New file.
1730
1731 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1732
1733         * NEWS: Mention new commands. Mention change to 'thread apply'.
1734
1735 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1736
1737         * thread.c (thr_try_catch_cmd): New function.
1738         (thread_apply_all_command): Handle qcs flags.
1739         (thread_apply_command): Handle qcs flags.
1740         (taas_command): New function.
1741         (tfaas_command): New function.
1742         (_initialize_thread): Update to setup the new commands 'taas
1743         and 'tfaas'. Change doc string for 'thread apply'.
1744
1745 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1746
1747         * stack.c: (trailing_outermost_frame): New function, mostly
1748         extracted from backtrace_command_1.
1749         (leading_innermost_frame): New function.
1750         (backtrace_command_1): Update to call trailing_outermost_frame.
1751         (frame_apply_command_count): New function.
1752         (frame_apply_level_command): New function.
1753         (frame_apply_all_command): New function.
1754         (frame_apply_command): New function.
1755         (faas_command): New function.
1756         (frame_cmd_list): New variable.
1757         (_initialize_stack): Update to setup the new commands 'frame apply'
1758         and 'faas'.
1759
1760 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1761
1762         * cli-utils.c (number_or_range_parser::get_number): Only handle
1763         numbers or convenience var as numbers.
1764         (parse_flags): New function.
1765         (parse_flags_qcs): New function.
1766         (number_or_range_parser::finished): Ensure parsing end is detected
1767         before end of string.
1768         * cli-utils.h (parse_flags): New function.
1769         (parse_flags_qcs): New function.
1770         (number_or_range_parser): Remove m_finished bool.
1771         (number_or_range_parser::skip_range): Set m_in_range to false.
1772
1773 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1774
1775         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1776         on Windows.
1777
1778 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1779             Jan Kratochvil  <jan.kratochvil@redhat.com>
1780             Paul Fertser  <fercerpav@gmail.com>
1781             Tsutomu Seki  <sekiriki@gmail.com>
1782             Pedro Alves  <palves@redhat.com>
1783
1784         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1785         'unittests/parse-connection-spec-selftests.c'.
1786         (COMMON_SFILES): Add 'common/netstuff.c'.
1787         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1788         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1789         * common/netstuff.c: New file.
1790         * common/netstuff.h: New file.
1791         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1792         (wait_for_connect): Update comment.  New parameter
1793         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1794         Use 'sock' directly instead of 'scb->fd'.
1795         (try_connect): New function, with code from 'net_open'.
1796         (net_open): Rewrite main loop to deal with multiple
1797         sockets/addresses.  Handle IPv6-style hostnames; implement
1798         support for IPv6 connections.
1799         * unittests/parse-connection-spec-selftests.c: New file.
1800
1801 2018-07-11  Pedro Alves  <palves@redhat.com>
1802
1803         PR gdb/23377
1804         * remote.c (remote_target::remote_detach_pid): Call
1805         set_current_process.
1806
1807 2018-07-11  Pedro Alves  <palves@redhat.com>
1808
1809         * h8300-tdep.c (h8300_gdbarch_init): Remove
1810         set_gdbarch_ecoff_reg_to_regnum calls.
1811
1812 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1813
1814         PR c++/23373
1815         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1816         offsets/sizes for static members of a class/struct.
1817
1818 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1819
1820         * target-descriptions.c (tdesc_register_bitsize): Rename.
1821         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1822         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1823         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1824
1825 2018-07-10  Tom Tromey  <tom@tromey.com>
1826
1827         * breakpoint.c (moribund_locations): Now static and a
1828         std::vector.
1829         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1830         (build_bpstat_chain, update_global_location_list)
1831         (breakpoint_retire_moribund): Update.
1832         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1833         VEC.
1834
1835 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1836
1837         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1838         (riscv_register_reggroup_p): Use new function, remove unneeded
1839         parenthesis.
1840         (riscv_push_dummy_call): Extend assert to compare against xlen or
1841         flen based on register type.
1842
1843 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1844
1845         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1846
1847 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1848
1849         * remote.c (show_hardware_watchpoint_limit): New function.
1850         (show_hardware_watchpoint_length_limit): New function.
1851         (show_hardware_breakpoint_limit): New function.
1852         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1853         where appropriate, update help text.
1854
1855 2018-07-09  Tom Tromey  <tom@tromey.com>
1856
1857         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1858         (CLIBS): Don't mention NAT_CLIBS.
1859
1860 2018-07-09  Tom Tromey  <tom@tromey.com>
1861
1862         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1863         (LIBGDB_OBS, clean mostlyclean): Update.
1864         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1865
1866 2018-07-09  Tom Tromey  <tom@tromey.com>
1867
1868         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1869         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1870         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1871
1872 2018-07-09  Tom Tromey  <tom@tromey.com>
1873
1874         * Makefile.in (ALLDEPFILES): Remove exec.c.
1875         (COMMON_OBS): Remove exec.o.
1876         (COMMON_SFILES): Add exec.c.
1877
1878 2018-07-09  Tom Tromey  <tom@tromey.com>
1879
1880         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1881
1882 2018-07-09  Tom Tromey  <tom@tromey.com>
1883
1884         * Makefile.in (clean mostlyclean): Remove stamp-version.
1885         (version.c): Depend on stamp-version.
1886         (stamp-version): New rule, from version.c rule.
1887
1888 2018-07-09  Tom Tromey  <tom@tromey.com>
1889
1890         * Makefile.in (init.c): Depend on stamp-init.
1891         (stamp-init): New rule, from init.c rule.
1892         (clean mostlyclean): Remove stamp-init.
1893
1894 2018-07-09  Tom Tromey  <tom@tromey.com>
1895
1896         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1897         SUBDIR_GCC_COMPILE_SRCS.
1898
1899 2018-07-09  Tom Tromey  <tom@tromey.com>
1900
1901         * Makefile.in (init.c): Remove some unused sed rules.
1902
1903 2018-07-09  Tom Tromey  <tom@tromey.com>
1904
1905         * Makefile.in (TSOBS): Remove.
1906         (INIT_FILES): Update.
1907         (LIBGDB_OBS): Update.
1908         (COMMON_SFILES): Add inflow.c.
1909         (SFILES): Remove inflow.c.
1910
1911 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1912
1913         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1914
1915 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1916
1917         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1918         get_saveloc_name, is_signal_frame_name, step_name,
1919         init_remote_name, create_addr_space_name,
1920         destroy_addr_space_name, search_unwind_table_name,
1921         find_dyn_list_name): Constify.
1922
1923 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1924
1925         * darwin-nat.c (darwin_pthread_kill): New function.
1926         (darwin_resume_thread): Use darwin_pthread_kill.
1927
1928 2018-07-05  Tom de Vries  <tdevries@suse.de>
1929
1930         * macroexp.c (macro_buffer) <operator=>: New member function.
1931
1932 2018-07-04  Tom Tromey  <tom@tromey.com>
1933
1934         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1935
1936 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1937
1938         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1939         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1940         * maint.c: Likewise.
1941         * top.c: Likewise.
1942
1943 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1944
1945         * NEWS: Create a new section for the next release branch.
1946         Rename the section of the current branch, now that it has
1947         been cut.
1948
1949 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1950
1951         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1952         * version.in: Bump version to 8.2.50.DATE-git.
1953
1954 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1955             Pedro Alves  <palves@redhat.com>
1956
1957         * linux-nat.c (linux_init_ptrace): Rename to ...
1958         (linux_init_ptrace_procfs): ... this.  Call
1959         linux_proc_init_warnings.
1960         (linux_nat_target::post_attach)
1961         (linux_nat_target::post_startup_inferior): Adjust.
1962         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1963         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1964
1965 2018-07-04  Tom de Vries  <tdevries@suse.de>
1966
1967         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
1968         check ...
1969         (read_comp_unit_head): ... here.
1970
1971 2018-07-03  Tom Tromey  <tom@tromey.com>
1972
1973         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
1974         (stop_tracing, tstatus_command)
1975         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
1976         (print_one_static_tracepoint_marker): Update.
1977         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
1978         std::vector.
1979         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
1980         VEC.
1981         (all_tracepoints, static_tracepoints_here): Return std::vector.
1982
1983 2018-07-03  Tom Tromey  <tom@tromey.com>
1984
1985         * common/ptid.c (ptid_equal): Remove.
1986         * common/ptid.h (ptid_equal): Don't declare.
1987         * ada-tasks.c: Update.
1988         * breakpoint.c: Update.
1989         * common/agent.c: Update.
1990         * corelow.c: Update.
1991         * darwin-nat-info.c: Update.
1992         * darwin-nat.c: Update.
1993         * dcache.c: Update.
1994         * dtrace-probe.c: Update.
1995         * dummy-frame.c: Update.
1996         * fbsd-nat.c: Update.
1997         * frame.c: Update.
1998         * gdbthread.h: Update.
1999         * gnu-nat.c: Update.
2000         * go32-nat.c: Update.
2001         * inf-loop.c: Update.
2002         * inf-ptrace.c: Update.
2003         * infcall.c: Update.
2004         * infcmd.c: Update.
2005         * inflow.c: Update.
2006         * infrun.c: Update.
2007         * linux-fork.c: Update.
2008         * linux-nat.c: Update.
2009         * linux-thread-db.c: Update.
2010         * mi/mi-cmd-var.c: Update.
2011         * mi/mi-interp.c: Update.
2012         * mi/mi-main.c: Update.
2013         * nto-procfs.c: Update.
2014         * ppc-linux-tdep.c: Update.
2015         * procfs.c: Update.
2016         * python/py-inferior.c: Update.
2017         * python/py-record-btrace.c: Update.
2018         * python/py-record.c: Update.
2019         * ravenscar-thread.c: Update.
2020         * regcache.c: Update.
2021         * remote-sim.c: Update.
2022         * remote.c: Update.
2023         * sol-thread.c: Update.
2024         * solib.c: Update.
2025         * target.c: Update.
2026         * tui/tui-stack.c: Update.
2027         * varobj.c: Update.
2028         * windows-nat.c: Update.
2029         * windows-tdep.c: Update.
2030
2031 2018-07-03  Tom Tromey  <tom@tromey.com>
2032
2033         * common/ptid.c (ptid_match): Remove.
2034         * common/ptid.h (ptid_match): Don't declare.
2035         * fbsd-nat.c: Update.
2036         * infcmd.c: Update.
2037         * infrun.c: Update.
2038         * linux-nat.c: Update.
2039         * record-btrace.c: Update.
2040         * regcache.c: Update.
2041         * remote.c: Update.
2042
2043 2018-07-03  Tom Tromey  <tom@tromey.com>
2044
2045         * common/ptid.c (ptid_tid_p): Remove.
2046         * common/ptid.h (ptid_tid_p): Don't declare.
2047         * sol-thread.c: Update.
2048
2049 2018-07-03  Tom Tromey  <tom@tromey.com>
2050
2051         * common/ptid.c (ptid_lwp_p): Remove.
2052         * common/ptid.h (ptid_lwp_p): Don't declare.
2053         * fbsd-nat.c: Update.
2054         * linux-nat.c: Update.
2055         * nat/linux-procfs.c: Update.
2056         * nat/x86-linux-dregs.c: Update.
2057         * sol-thread.c: Update.
2058
2059 2018-07-03  Tom Tromey  <tom@tromey.com>
2060
2061         * common/ptid.c (ptid_is_pid): Remove.
2062         * common/ptid.h (ptid_is_pid): Don't declare.
2063         * infrun.c: Update.
2064         * linux-nat.c: Update.
2065         * mi/mi-interp.c: Update.
2066         * remote.c: Update.
2067         * thread.c: Update.
2068
2069 2018-07-03  Tom Tromey  <tom@tromey.com>
2070
2071         * common/ptid.c (ptid_get_tid): Remove.
2072         * common/ptid.h (ptid_get_tid): Don't declare.
2073         * ada-tasks.c: Update.
2074         * aix-thread.c: Update.
2075         * bsd-uthread.c: Update.
2076         * darwin-nat.c: Update.
2077         * fbsd-nat.c: Update.
2078         * i386-darwin-nat.c: Update.
2079         * infrun.c: Update.
2080         * linux-tdep.c: Update.
2081         * nto-procfs.c: Update.
2082         * ppc-ravenscar-thread.c: Update.
2083         * python/py-infthread.c: Update.
2084         * ravenscar-thread.c: Update.
2085         * sol-thread.c: Update.
2086         * sparc-ravenscar-thread.c: Update.
2087         * windows-nat.c: Update.
2088
2089 2018-07-03  Tom Tromey  <tom@tromey.com>
2090
2091         * common/ptid.c (ptid_get_lwp): Remove.
2092         * common/ptid.h (ptid_get_lwp): Don't declare.
2093         * aarch64-linux-nat.c: Update.
2094         * ada-tasks.c: Update.
2095         * aix-thread.c: Update.
2096         * amd64-linux-nat.c: Update.
2097         * arm-linux-nat.c: Update.
2098         * corelow.c: Update.
2099         * fbsd-nat.c: Update.
2100         * fbsd-tdep.c: Update.
2101         * gnu-nat.c: Update.
2102         * i386-cygwin-tdep.c: Update.
2103         * i386-gnu-nat.c: Update.
2104         * i386-linux-nat.c: Update.
2105         * ia64-linux-nat.c: Update.
2106         * inf-ptrace.c: Update.
2107         * infrun.c: Update.
2108         * linux-fork.c: Update.
2109         * linux-nat.c: Update.
2110         * linux-tdep.c: Update.
2111         * linux-thread-db.c: Update.
2112         * mips-linux-nat.c: Update.
2113         * nat/aarch64-linux-hw-point.c: Update.
2114         * nat/aarch64-linux.c: Update.
2115         * nat/linux-btrace.c: Update.
2116         * nat/linux-osdata.c: Update.
2117         * nat/linux-procfs.c: Update.
2118         * nat/x86-linux-dregs.c: Update.
2119         * obsd-nat.c: Update.
2120         * ppc-fbsd-nat.c: Update.
2121         * ppc-linux-nat.c: Update.
2122         * procfs.c: Update.
2123         * python/py-infthread.c: Update.
2124         * ravenscar-thread.c: Update.
2125         * remote.c: Update.
2126         * s390-linux-nat.c: Update.
2127         * sol-thread.c: Update.
2128         * sol2-tdep.c: Update.
2129         * spu-linux-nat.c: Update.
2130         * x86-linux-nat.c: Update.
2131         * xtensa-linux-nat.c: Update.
2132
2133 2018-07-03  Tom Tromey  <tom@tromey.com>
2134
2135         * common/ptid.c (ptid_get_pid): Remove.
2136         * common/ptid.h (ptid_get_pid): Don't declare.
2137         * aarch64-linux-nat.c: Update.
2138         * ada-lang.c: Update.
2139         * aix-thread.c: Update.
2140         * alpha-bsd-nat.c: Update.
2141         * amd64-fbsd-nat.c: Update.
2142         * amd64-linux-nat.c: Update.
2143         * arm-linux-nat.c: Update.
2144         * arm-nbsd-nat.c: Update.
2145         * auxv.c: Update.
2146         * break-catch-syscall.c: Update.
2147         * breakpoint.c: Update.
2148         * bsd-uthread.c: Update.
2149         * corelow.c: Update.
2150         * ctf.c: Update.
2151         * darwin-nat.c: Update.
2152         * fbsd-nat.c: Update.
2153         * fbsd-tdep.c: Update.
2154         * gcore.c: Update.
2155         * gnu-nat.c: Update.
2156         * hppa-nbsd-nat.c: Update.
2157         * hppa-obsd-nat.c: Update.
2158         * i386-fbsd-nat.c: Update.
2159         * ia64-linux-nat.c: Update.
2160         * inf-ptrace.c: Update.
2161         * infcmd.c: Update.
2162         * inferior.c: Update.
2163         * inferior.h: Update.
2164         * inflow.c: Update.
2165         * infrun.c: Update.
2166         * linux-fork.c: Update.
2167         * linux-nat.c: Update.
2168         * linux-tdep.c: Update.
2169         * linux-thread-db.c: Update.
2170         * m68k-bsd-nat.c: Update.
2171         * mi/mi-interp.c: Update.
2172         * mi/mi-main.c: Update.
2173         * mips-linux-nat.c: Update.
2174         * mips-nbsd-nat.c: Update.
2175         * mips64-obsd-nat.c: Update.
2176         * nat/aarch64-linux-hw-point.c: Update.
2177         * nat/aarch64-linux.c: Update.
2178         * nat/linux-btrace.c: Update.
2179         * nat/linux-osdata.c: Update.
2180         * nat/linux-procfs.c: Update.
2181         * nat/x86-linux-dregs.c: Update.
2182         * nto-procfs.c: Update.
2183         * obsd-nat.c: Update.
2184         * ppc-linux-nat.c: Update.
2185         * ppc-nbsd-nat.c: Update.
2186         * ppc-obsd-nat.c: Update.
2187         * proc-service.c: Update.
2188         * procfs.c: Update.
2189         * python/py-inferior.c: Update.
2190         * python/py-infthread.c: Update.
2191         * ravenscar-thread.c: Update.
2192         * record.c: Update.
2193         * remote-sim.c: Update.
2194         * remote.c: Update.
2195         * rs6000-nat.c: Update.
2196         * s390-linux-nat.c: Update.
2197         * sh-nbsd-nat.c: Update.
2198         * sol-thread.c: Update.
2199         * sparc-nat.c: Update.
2200         * sparc64-tdep.c: Update.
2201         * spu-linux-nat.c: Update.
2202         * spu-tdep.c: Update.
2203         * target-debug.h: Update.
2204         * target.c: Update.
2205         * thread.c: Update.
2206         * tid-parse.c: Update.
2207         * tracefile-tfile.c: Update.
2208         * vax-bsd-nat.c: Update.
2209         * windows-nat.c: Update.
2210         * x86-linux-nat.c: Update.
2211         * x86-nat.c: Update.
2212
2213 2018-07-03  Tom Tromey  <tom@tromey.com>
2214
2215         * common/ptid.c (pid_to_ptid): Remove.
2216         * common/ptid.h (pid_to_ptid): Don't declare.
2217         * aix-thread.c: Update.
2218         * arm-linux-nat.c: Update.
2219         * common/ptid.c: Update.
2220         * common/ptid.h: Update.
2221         * corelow.c: Update.
2222         * ctf.c: Update.
2223         * darwin-nat.c: Update.
2224         * fbsd-nat.c: Update.
2225         * fork-child.c: Update.
2226         * gnu-nat.c: Update.
2227         * go32-nat.c: Update.
2228         * inf-ptrace.c: Update.
2229         * infcmd.c: Update.
2230         * inferior.c: Update.
2231         * infrun.c: Update.
2232         * linux-fork.c: Update.
2233         * linux-nat.c: Update.
2234         * nat/aarch64-linux-hw-point.c: Update.
2235         * nat/fork-inferior.c: Update.
2236         * nat/x86-linux-dregs.c: Update.
2237         * nto-procfs.c: Update.
2238         * obsd-nat.c: Update.
2239         * procfs.c: Update.
2240         * progspace.c: Update.
2241         * remote.c: Update.
2242         * rs6000-nat.c: Update.
2243         * s390-linux-nat.c: Update.
2244         * sol-thread.c: Update.
2245         * spu-linux-nat.c: Update.
2246         * target.c: Update.
2247         * top.c: Update.
2248         * tracefile-tfile.c: Update.
2249         * windows-nat.c: Update.
2250
2251 2018-07-03  Tom Tromey  <tom@tromey.com>
2252
2253         * common/ptid.h (ptid_build): Don't declare.
2254         * common/ptid.c (ptid_build): Remove.
2255         * aix-thread.c: Update.
2256         * bsd-kvm.c: Update.
2257         * bsd-uthread.c: Update.
2258         * common/agent.c: Update.
2259         * common/ptid.c: Update.
2260         * common/ptid.h: Update.
2261         * corelow.c: Update.
2262         * darwin-nat.c: Update.
2263         * fbsd-nat.c: Update.
2264         * gnu-nat.c: Update.
2265         * linux-fork.c: Update.
2266         * linux-nat.c: Update.
2267         * linux-thread-db.c: Update.
2268         * nat/linux-osdata.c: Update.
2269         * nat/linux-procfs.c: Update.
2270         * nto-procfs.c: Update.
2271         * obsd-nat.c: Update.
2272         * proc-service.c: Update.
2273         * procfs.c: Update.
2274         * ravenscar-thread.c: Update.
2275         * remote-sim.c: Update.
2276         * remote.c: Update.
2277         * sol-thread.c: Update.
2278         * target.c: Update.
2279         * windows-nat.c: Update.
2280
2281 2018-07-03  Tom Tromey  <tom@tromey.com>
2282
2283         * infrun.c (follow_exec): Use exit_inferior_silent.
2284         * inferior.c (exit_inferior_num_silent): Remove.
2285         * inferior.h (exit_inferior_num_silent): Don't declare.
2286
2287 2018-07-03  Tom Tromey  <tom@tromey.com>
2288
2289         PR cli/23340:
2290         * darwin-nat.c (darwin_attach_pid): Reset inferior and
2291         inferior_ptid on error.
2292
2293 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
2294             Simon Marchi  <simon.marchi@polymtl.ca>
2295
2296         PR tdep/8282
2297         * disasm.h (gdb_disassembler): Add
2298         `m_disassembler_options_holder'. member
2299         * disasm.c (get_all_disassembler_options): New function.
2300         (gdb_disassembler::gdb_disassembler): Use it.
2301         (gdb_buffered_insn_length_init_dis): Likewise.
2302         (gdb_buffered_insn_length): Adjust accordingly.
2303         (set_disassembler_options): Handle options with arguments.
2304         (show_disassembler_options_sfunc): Likewise.  Add a leading new
2305         line if showing options with descriptions.
2306         (disassembler_options_completer): Adapt to using the
2307         `disasm_options_and_args_t' structure.
2308         * mips-tdep.c (mips_disassembler_options): New variable.
2309         (mips_disassembler_options_o32): Likewise.
2310         (mips_disassembler_options_n32): Likewise.
2311         (mips_disassembler_options_n64): Likewise.
2312         (gdb_print_insn_mips): Don't set `disassembler_options'.
2313         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
2314         functions.
2315         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
2316         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
2317         `gdbarch_disassembler_options_implicit' and
2318         `gdbarch_valid_disassembler_options'.
2319         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
2320         `disasm_options_and_args_t' structure.
2321         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
2322         method.
2323         (valid_disassembler_options): Switch from `disasm_options_t' to
2324         the `disasm_options_and_args_t' structure.
2325         * NEWS: Document `set disassembler-options' support for the MIPS
2326         target.
2327         * gdbarch.h: Regenerate.
2328         * gdbarch.c: Regenerate.
2329
2330 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2331
2332         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
2333
2334 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
2335
2336         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
2337         parameter in call to amd64_target_description.
2338         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
2339         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
2340         (amd64fbsd_init_abi): Likewise.
2341         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
2342         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
2343         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
2344         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
2345
2346 2018-06-29  Pedro Alves  <palves@redhat.com>
2347
2348         * gdb/amd64-tdep.h (amd64_create_target_description): Add
2349         "segments" parameter.
2350         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
2351         (_initialize_amd64_tdep): Update call to
2352         amd64_create_target_description.
2353         (amd64_target_description): Add "segments" parameter.  Adjust
2354         the implementation to use it.
2355         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
2356         call to amd64_create_target_description.
2357         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
2358         * gdb/arch/amd64.h (amd64_create_target_description): Add
2359         "segments" register.
2360         * gdb/arch/amd64.c (amd64_create_target_description): Add
2361         "segments" parameter.  Call create_feature_i386_64bit_segments
2362         only if SEGMENTS is true.
2363         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
2364         call to amd64_create_target_description.
2365
2366 2018-06-29  Pedro Alves  <palves@redhat.com>
2367
2368         * thread.c (thread_target_id_str): New, factored out from ...
2369         (print_thread_info_1): ... here.  Use it to compute the max
2370         "Target Id" column width.
2371
2372 2018-06-29  Pedro Alves  <palves@redhat.com>
2373
2374         * remote.c (remote_target::extra_thread_info): Delete
2375         'display_buf' and 'n' locals.  from the cache, regardless of
2376         packet mechanims is in use.  Use cache for qThreadExtra and qP
2377         methods too.
2378
2379 2018-06-29  Pedro Alves  <palves@redhat.com>
2380
2381         * blockframe.c (find_pc_sect_containing_function): New function.
2382         * breakpoint.c (print_breakpoint_location): Don't call
2383         find_pc_sect_function.
2384         * linespec.c (create_sals_line_offset): Record the location's
2385         symbol in the sal.
2386         * linespec.c (convert_address_location_to_sals): Fill in sal's
2387         symbol with find_pc_sect_containing_function.
2388         * symtab.c (find_function_start_sal): Rename to ...
2389         (find_function_start_sal_1): ... this.
2390         (find_function_start_sal): Reimplement as wrapper around
2391         find_function_start_sal_1, and use
2392         find_pc_sect_containing_function to fill in the sal's symbol.
2393         (find_function_start_sal(symbol*, bool)): Adjust.
2394         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
2395         comments.
2396         (find_pc_sect_containing_function): Declare.
2397
2398 2018-06-29  Pedro Alves  <palves@redhat.com>
2399
2400         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
2401         true if the the location has no symbol.
2402
2403 2018-06-28  Tom Tromey  <tom@tromey.com>
2404
2405         * NEWS: Mention --enable-codesign.
2406         * silent-rules.mk (ECHO_SIGN): New variable.
2407         * configure.ac: Add --enable-codesign.
2408         * configure: Rebuild.
2409         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
2410         (gdb$(EXEEXT)): Optionally invoke codesign.
2411
2412 2018-06-28  Pedro Alves  <palves@redhat.com>
2413
2414         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
2415         comments.
2416         (switch_to_thread_no_regs): Adjust comment.
2417         * infcmd.c (stop_pc): Delete.
2418         (post_create_inferior, info_program_command): Replace references
2419         to stop_pc with references to thread_info->suspend.stop_pc.
2420         * inferior.h (stop_pc): Delete declaration.
2421         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
2422         (handle_inferior_event_1, handle_signal_stop)
2423         (process_event_stop_test, keep_going_stepped_thread)
2424         (handle_step_into_function, handle_step_into_function_backward)
2425         (print_stop_location): Replace references to stop_pc with
2426         references to thread_info->suspend.stop_pc.
2427         (struct infcall_suspend_state) <stop_pc>: Delete field.
2428         (save_infcall_suspend_state, restore_infcall_suspend_state):
2429         Remove references to inf_stat->stop_pc.
2430         * linux-fork.c (fork_load_infrun_state): Likewise.
2431         * record-btrace.c (record_btrace_set_replay): Likewise.
2432         * record-full.c (record_full_goto_entry): Likewise.
2433         * remote.c (print_one_stopped_thread): Likewise.
2434         * target.c (target_resume): Extend comment.
2435         * thread.c (set_executing_thread): New.
2436         (set_executing): Use it.
2437         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
2438         Remove references to stop_pc.
2439
2440 2018-06-28  Pedro Alves  <palves@redhat.com>
2441
2442         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
2443         Moving fetching stop_pc until after ecs->event_thread is refreshed.
2444
2445 2018-06-28  Tom Tromey  <tom@tromey.com>
2446
2447         * coffread.c (coff_symfile_finish): Update.
2448         * xcoffread.c (xcoff_symfile_finish): Update.
2449         * elfread.c (elf_symfile_finish): Update.
2450         * symfile.h (dwarf2_free_objfile): Don't declare.
2451         * dwarf2read.c (_initialize_dwarf2_read): Use
2452         register_objfile_data_with_cleanup.
2453         (dwarf2_free_objfile): Now static.  Change signature.
2454
2455 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2456
2457         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
2458         option "-o" to add-symbol-file-load to add an offset to each
2459         section's load address.
2460         * symfile.c (set_objfile_default_section_offset): New function.
2461
2462 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2463
2464         * symfile.c (add_symbol_file_command): Make sure that sections
2465         with the same name are sorted in the same order.
2466
2467 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2468
2469         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
2470         require the second argument.  If omitted, load sections at the
2471         addresses specified in the file.
2472
2473 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2474
2475         * symfile.c (symbol_file_command, symbol_file_add_main_1)
2476         (_initialize_symfile): Add option "-o" to symbol-file to add an
2477         offset to each section of the symbol file.
2478
2479 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
2480
2481         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
2482
2483 2018-06-27  Tom Tromey  <tom@tromey.com>
2484
2485         * stack.c (_initialize_stack): Update "func" help text.
2486
2487 2018-06-27  Tom Tromey  <tom@tromey.com>
2488
2489         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
2490         std::vector.
2491         (unwind_infopy_str, pyuw_create_unwind_info)
2492         (unwind_infopy_add_saved_register, pyuw_sniffer)
2493         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
2494         Update.
2495         (struct saved_reg): Add constructor.
2496         <value>: Now a gdbpy_ref<>.
2497
2498 2018-06-27  Tom Tromey  <tom@tromey.com>
2499
2500         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
2501
2502 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2503
2504         * gdb-gdb.py.in: Format using autopep8.
2505
2506 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2507
2508         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
2509         (type_lookup_function): Recognize CORE_ADDR values.
2510
2511 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2512
2513         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
2514         print tag_name.
2515
2516 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2517
2518         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
2519         <__lt__>: Add.
2520
2521 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2522
2523         * gdb-gdb.py: Move to...
2524         * gdb-gdb.py.in: ... here.
2525         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
2526         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
2527         dependencies.
2528         (distclean): Remove gdb-gdb.py when cleaning.
2529         (gdb-gdb.py, gdb-gdb.gdb): New rules.
2530         * configure: Re-generate.
2531
2532 2018-06-27  Pedro Alves  <palves@redhat.com>
2533
2534         * proc-service.c (get_ps_regcache): New.
2535         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
2536         (ps_lsetfpregs): Use it.
2537
2538 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
2539
2540         PR gdb/21695
2541         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
2542         (dwarf_decode_lines_1): Adjust.
2543
2544 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2545
2546         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
2547         override.
2548         <info_proc>: Likewise.
2549
2550 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
2551
2552         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
2553         to windows_fetch_one_register, and only handle the case of
2554         fetching one register.  Move the code that reloads the context
2555         and iterates over all registers if R is negative to...
2556         (windows_nat_target::fetch_registers): ... here.
2557         (do_windows_store_inferior_registers): Rename to
2558         windows_store_one_register, and only handle the case of storing
2559         one register.  Move the code that handles the case where r is
2560         negative to...
2561         (windows_nat_target::store_registers) ... here.
2562
2563 2018-06-26  Tom Tromey  <tom@tromey.com>
2564
2565         PR rust/22574:
2566         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
2567         * rust-lang.c (rust_print_struct_def): Add podata parameter.
2568         Update.
2569         (rust_internal_print_type): Add podata parameter.
2570         (rust_print_type): Update.
2571
2572 2018-06-26  Tom Tromey  <tom@tromey.com>
2573
2574         * typeprint.h (struct print_offset_data) <update, finish,
2575         maybe_print_hole>: New methods.
2576         <indentation>: New constant.
2577         * typeprint.c (print_offset_data::indentation): Define.
2578         (print_offset_data::maybe_print_hole, print_offset_data::update)
2579         (print_offset_data::finish): Move from c-typeprint.c and rename.
2580         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
2581         (print_spaces_filtered_with_print_options): Update.
2582         (c_print_type_union_field_offset, maybe_print_hole)
2583         (c_print_type_struct_field_offset): Move to typeprint.c and
2584         rename.
2585         (c_type_print_base_struct_union): Update.
2586
2587 2018-06-25  Pedro Alves  <palves@redhat.com>
2588
2589         * gdbthread.h (thread_info_ref, delete_thread)
2590         (delete_thread_silent, first_thread_of_inferior)
2591         (any_thread_of_inferior, switch_to_thread)
2592         (enable_thread_stack_temporaries)
2593         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2594         (get_last_thread_stack_temporary)
2595         (value_in_thread_stack_temporaries, can_access_registers_thread):
2596         Spell out "struct thread_info" instead of just "thread_info".
2597         * inferior.h (notice_new_inferior): Likewise.
2598
2599 2018-06-25  Pedro Alves  <palves@redhat.com>
2600
2601         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2602         pass thread_info pointer to delete_thread.
2603         (windows_nat_target::detach): Pass inferior pointer to
2604         detach_inferior.
2605         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2606         delete_thread.
2607         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2608         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2609         and pass a thread_info pointer to delete_thread.
2610         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2611         pass thread_info pointer to delete_thread.
2612         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2613         delete_thread_silent call.
2614         * procfs.c (procfs_target::detach): Pass inferior pointer to
2615         detach_inferior.
2616         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2617         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2618         delete_thread_silent call.
2619         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2620         pass thread_info pointer to delete_thread.
2621         (windows_nat_target::detach): Pass inferior pointer to
2622         delete_inferior.
2623
2624 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2625
2626         * regcache.c (readable_regcache::read_part): Fix asserts.
2627         (reg_buffer::raw_collect_part): New function.
2628         (regcache::write_part): Fix asserts.
2629         (reg_buffer::raw_supply_part): New function.
2630         (regcache::transfer_regset_register): New helper function.
2631         (regcache::transfer_regset): Call new functions.
2632         (regcache_supply_regset): Use gdb_byte*.
2633         (regcache::supply_regset): Likewise.
2634         (regcache_collect_regset): Likewise.
2635         (regcache::collect_regset): Likewise.
2636         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2637         (reg_buffer::raw_supply_part): Likewise.
2638         (regcache::transfer_regset_register): Likewise.
2639         (regcache::transfer_regset): Use gdb_byte*.
2640
2641 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2642
2643         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2644
2645 2018-06-21  Pedro Alves  <palves@redhat.com>
2646
2647         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2648         instead of a ptid_t.  All callers adjusted.
2649         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2650         adjusted.
2651         (print_ada_task_info, display_current_task_id, task_command_1):
2652         Adjust.
2653         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2654         inferior_thread.
2655         (breakpoint_kind): Adjust.
2656         (remove_breakpoints_pid): Rename to ...
2657         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2658         pointer.  All callers adjusted.
2659         (bpstat_clear_actions): Use inferior_thread.
2660         (get_bpstat_thread): New.
2661         (bpstat_do_actions): Use it.
2662         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2663         to take a thread_info pointer.  All callers adjusted.
2664         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2665         (breakpoint_re_set_thread): Use inferior_thread.
2666         * breakpoint.h (struct inferior): Forward declare.
2667         (bpstat_stop_status): Update.
2668         (remove_breakpoints_pid): Delete.
2669         (remove_breakpoints_inf): New.
2670         * bsd-uthread.c (bsd_uthread_target::wait)
2671         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2672         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2673         (maint_btrace_packet_history_cmd)
2674         (maint_btrace_clear_packet_history_cmd): Adjust.
2675         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2676         inferior_thread.
2677         * cli/cli-interp.c: Include "inferior.h".
2678         * common/refcounted-object.h (struct
2679         refcounted_object_ref_policy): New.
2680         * compile/compile-object-load.c: Include gdbthread.h.
2681         (store_regs): Use inferior_thread.
2682         * corelow.c (core_target::close): Use current_inferior.
2683         (core_target_open): Adjust to use first_thread_of_inferior and use
2684         the current inferior.
2685         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2686         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2687         <thread>: ... this new field.  All references adjusted.
2688         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2689         Take a thread_info pointer instead of a ptid_t.
2690         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2691         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2692         thread_info pointer instead of a ptid_t.
2693         * elfread.c: Include "inferior.h".
2694         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2695         Use inferior_thread.
2696         * eval.c (evaluate_subexp): Likewise.
2697         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2698         inferior_thread.
2699         * gdb_proc_service.h (struct thread_info): Forward declare.
2700         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2701         <thread>: ... this new field.  All references adjusted.
2702         * gdbarch.h, gdbarch.c: Regenerate.
2703         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2704         'thread' parameter.  All implementations and callers adjusted.
2705         * gdbthread.h (thread_info) <set_running>: New method.
2706         (delete_thread, delete_thread_silent): Take a thread_info pointer
2707         instead of a ptid.
2708         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2709         (first_thread_of_process): Delete, replaced by ...
2710         (first_thread_of_inferior): ... this new function.  All callers
2711         adjusted.
2712         (any_live_thread_of_process): Delete, replaced by ...
2713         (any_live_thread_of_inferior): ... this new function.  All callers
2714         adjusted.
2715         (switch_to_thread, switch_to_no_thread): Declare.
2716         (is_executing): Delete.
2717         (enable_thread_stack_temporaries): Update comment.
2718         <enable_thread_stack_temporaries>: Take a thread_info pointer
2719         instead of a ptid_t.  Incref the thread.
2720         <~enable_thread_stack_temporaries>: Decref the thread.
2721         <m_ptid>: Delete
2722         <m_thr>: New.
2723         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2724         (get_last_thread_stack_temporary)
2725         (value_in_thread_stack_temporaries, can_access_registers_thread):
2726         Take a thread_info pointer instead of a ptid_t.  All callers
2727         adjusted.
2728         * infcall.c (get_call_return_value): Use inferior_thread.
2729         (run_inferior_call): Work with thread pointers instead of ptid_t.
2730         (call_function_by_hand_dummy): Work with thread pointers instead
2731         of ptid_t.  Use thread_info_ref.
2732         * infcmd.c (proceed_thread_callback): Access thread's state
2733         directly.
2734         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2735         access thread's state directly.
2736         (continue_command): Use inferior_thread.
2737         (info_program_command): Use find_thread_ptid and access thread
2738         state directly.
2739         (proceed_after_attach_callback): Use thread state directly.
2740         (notice_new_inferior): Take a thread_info pointer instead of a
2741         ptid_t.  All callers adjusted.
2742         (exit_inferior): Take an inferior pointer instead of a pid.  All
2743         callers adjusted.
2744         (exit_inferior_silent): New.
2745         (detach_inferior): Delete.
2746         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2747         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2748         (detach_inferior_command, kill_inferior_command): Use
2749         find_inferior_id instead of valid_gdb_inferior_id and
2750         gdb_inferior_id_to_pid.
2751         (inferior_command): Use inferior and thread pointers.
2752         * inferior.h (struct thread_info): Forward declare.
2753         (notice_new_inferior): Take a thread_info pointer instead of a
2754         ptid_t.  All callers adjusted.
2755         (detach_inferior): Delete declaration.
2756         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2757         instead of a pid.  All callers adjusted.
2758         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2759         (valid_gdb_inferior_id): Delete.
2760         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2761         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2762         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2763         ...
2764         <inf>: ... this new field.
2765         <step_ptid>: Delete, replaced by ...
2766         <step_thread>: ... this new field.
2767         (get_displaced_stepping_state): Take an inferior pointer instead
2768         of a pid.  All callers adjusted.
2769         (displaced_step_in_progress_any_inferior): Adjust.
2770         (displaced_step_in_progress_thread): Take a thread pointer instead
2771         of a ptid_t.  All callers adjusted.
2772         (displaced_step_in_progress, add_displaced_stepping_state): Take
2773         an inferior pointer instead of a pid.  All callers adjusted.
2774         (get_displaced_step_closure_by_addr): Adjust.
2775         (remove_displaced_stepping_state): Take an inferior pointer
2776         instead of a pid.  All callers adjusted.
2777         (displaced_step_prepare_throw, displaced_step_prepare)
2778         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2779         All callers adjusted.
2780         (start_step_over): Adjust.
2781         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2782         displaced step queue.
2783         (do_target_resume): Adjust.
2784         (fetch_inferior_event): Use inferior_thread.
2785         (context_switch, get_inferior_stop_soon): Take an
2786         execution_control_state pointer instead of a ptid_t.  All callers
2787         adjusted.
2788         (switch_to_thread_cleanup): Delete.
2789         (stop_all_threads): Use scoped_restore_current_thread.
2790         * inline-frame.c: Include "gdbthread.h".
2791         (inline_state) <inline_state>: Take a thread pointer instead of a
2792         ptid_t.  All callers adjusted.
2793         <ptid>: Delete, replaced by ...
2794         <thread>: ... this new field.
2795         (find_inline_frame_state): Take a thread pointer instead of a
2796         ptid_t.  All callers adjusted.
2797         (skip_inline_frames, step_into_inline_frame)
2798         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2799         pointer instead of a ptid_t.  All callers adjusted.
2800         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2801         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2802         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2803         pointers directly.
2804         * linux-nat.c (get_detach_signal): Likewise.
2805         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2806         (thread_db_notice_clone): Adjust.
2807         (thread_db_find_new_threads_silently)
2808         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2809         a thread pointer instead of a ptid_t.  All callers adjusted.
2810         * mi/mi-cmd-var.c: Include "inferior.h".
2811         (mi_cmd_var_update_iter): Update to use thread pointers.
2812         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2813         inferior directly.
2814         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2815         out to ...
2816         (mi_output_running): ... this new function.
2817         (mi_on_resume_1): Adjust to use it.
2818         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2819         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2820         directly.
2821         (interrupt_thread_callback): : Adjust to use thread and inferior
2822         pointers.
2823         * proc-service.c: Include "gdbthread.h".
2824         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2825         * progspace-and-thread.c: Include "inferior.h".
2826         * progspace.c: Include "inferior.h".
2827         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2828         hold a reference to an inferior_object.
2829         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2830         inferior_thread.
2831         * python/py-inferior.c (struct inferior_object): Give the type a
2832         tag name instead of a typedef.
2833         (python_on_normal_stop): No need to check if the current thread is
2834         listed.
2835         (inferior_to_inferior_object): Change return type to
2836         inferior_object.  All callers adjusted.
2837         (find_thread_object): Delete, bits factored out to ...
2838         (thread_to_thread_object): ... this new function.
2839         * python/py-infthread.c (create_thread_object): Use
2840         inferior_to_inferior_object.
2841         (thpy_is_stopped): Use thread pointer directly.
2842         (gdbpy_selected_thread): Use inferior_thread.
2843         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2844         field, replaced with ...
2845         <thread>: ... this new field.  All users adjusted.
2846         (btpy_insn_or_gap_new): Drop const.
2847         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2848         callers adjusted.
2849         * python/py-record.c: Include "gdbthread.h".
2850         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2851         a ptid_t.  All callers adjusted.
2852         (gdbpy_current_recording): Use inferior_thread.
2853         * python/py-record.h (recpy_record_object) <ptid>: Delete
2854         field, replaced with ...
2855         <thread>: ... this new field.  All users adjusted.
2856         (recpy_element_object) <ptid>: Delete
2857         field, replaced with ...
2858         <thread>: ... this new field.  All users adjusted.
2859         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2860         a ptid_t.  All callers adjusted.
2861         * python/py-threadevent.c: Include "gdbthread.h".
2862         (get_event_thread): Use thread_to_thread_object.
2863         * python/python-internal.h (struct inferior_object): Forward
2864         declare.
2865         (find_thread_object, find_inferior_object): Delete declarations.
2866         (thread_to_thread_object, inferior_to_inferior_object): New
2867         declarations.
2868         * record-btrace.c: Include "inferior.h".
2869         (require_btrace_thread): Use inferior_thread.
2870         (record_btrace_frame_sniffer)
2871         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2872         (get_thread_current_frame): Use scoped_restore_current_thread and
2873         switch_to_thread.
2874         (get_thread_current_frame): Use thread pointer directly.
2875         (record_btrace_replay_at_breakpoint): Use thread's inferior
2876         pointer directly.
2877         * record-full.c: Include "inferior.h".
2878         * regcache.c: Include "gdbthread.h".
2879         (get_thread_arch_regcache): Use the inferior's address space
2880         directly.
2881         (get_thread_regcache, registers_changed_thread): New.
2882         * regcache.h (get_thread_regcache(thread_info *thread)): New
2883         overload.
2884         (registers_changed_thread): New.
2885         (remote_target) <remote_detach_1>: Swap order of parameters.
2886         (remote_add_thread): <remote_add_thread>: Return the new thread.
2887         (get_remote_thread_info(ptid_t)): New overload.
2888         (remote_target::remote_notice_new_inferior): Use thread pointers
2889         directly.
2890         (remote_target::process_initial_stop_replies): Use
2891         thread_info::set_running.
2892         (remote_target::remote_detach_1, remote_target::detach)
2893         (extended_remote_target::detach): Adjust.
2894         * stack.c (frame_show_address): Use inferior_thread.
2895         * target-debug.h (target_debug_print_thread_info_pp): New.
2896         * target-delegates.c: Regenerate.
2897         * target.c (default_thread_address_space): Delete.
2898         (memory_xfer_partial_1): Use current_inferior.
2899         (target_detach): Use current_inferior.
2900         (target_thread_address_space): Delete.
2901         (generic_mourn_inferior): Use current_inferior.
2902         * target.h (struct target_ops) <thread_address_space>: Delete.
2903         (target_thread_address_space): Delete.
2904         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2905         pointers directly.
2906         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2907         thread pointer instead of a ptid_t.  Adjust all callers.
2908         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2909         (first_thread_of_process): Delete, replaced by ...
2910         (first_thread_of_inferior): ... this new function.  All callers
2911         adjusted.
2912         (any_thread_of_process): Rename to ...
2913         (any_thread_of_inferior): ... this, and take an inferior pointer.
2914         (any_live_thread_of_process): Rename to ...
2915         (any_live_thread_of_inferior): ... this, and take an inferior
2916         pointer.
2917         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2918         (value_in_thread_stack_temporaries)
2919         (get_last_thread_stack_temporary): Take a thread pointer instead
2920         of a ptid_t.  Adjust all callers.
2921         (thread_info::set_running): New.
2922         (validate_registers_access): Use inferior_thread.
2923         (can_access_registers_ptid): Rename to ...
2924         (can_access_registers_thread): ... this, and take a thread
2925         pointer.
2926         (print_thread_info_1): Adjust to compare thread pointers instead
2927         of ptids.
2928         (switch_to_no_thread, switch_to_thread): Make extern.
2929         (scoped_restore_current_thread::~scoped_restore_current_thread):
2930         Use m_thread pointer directly.
2931         (scoped_restore_current_thread::scoped_restore_current_thread):
2932         Use inferior_thread.
2933         (thread_command): Use thread pointer directly.
2934         (thread_num_make_value_helper): Use inferior_thread.
2935         * top.c (execute_command): Use inferior_thread.
2936         * tui/tui-interp.c: Include "inferior.h".
2937         * varobj.c (varobj_create): Use inferior_thread.
2938         (value_of_root_1): Use find_thread_global_id instead of
2939         global_thread_id_to_ptid.
2940
2941 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2942
2943         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2944         possible.
2945         (regcache::write_part): Likewise.
2946         (readable_regcache::cooked_read_part): Update comment.
2947         (readable_regcache::cooked_write_part): Likewise.
2948         * regcache.h: (readable_regcache::read_part): Likewise.
2949         (regcache::write_part): Likewise.
2950
2951 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2952             Dirk Schubert  <dirk.schubert@arm.com>
2953
2954         * aarch64-linux-nat.c (post_attach): New.
2955         (aarch64_linux_nat_target::post_attach): Override post_attach to
2956         record the number of hardware debug registers.
2957
2958 2018-06-20  Tom Tromey  <tom@tromey.com>
2959
2960         * python/py-param.c (add_setshow_generic): Make parameters const.
2961         (parmpy_init): Update.
2962
2963 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2964
2965         * regcache.h (regcache_cooked_read_ftype): Rename to...
2966         (register_read_ftype): ...this, change type to function_view.
2967         (class reg_buffer) <save>: Remove src parameter.
2968         (readonly_detached_regcache) <readonly_detached_regcache>: Make
2969         parameter non-const in first overload.  Remove src parameter in
2970         second overload.
2971         * regcache.c (do_cooked_read): Remove.
2972         (readonly_detached_regcache::readonly_detached_regcache): Make
2973         parameter non-const, adjust call to other constructor.
2974         (reg_buffer::save): Remove src parameter.
2975         * frame.c (do_frame_register_read): Remove.
2976         (frame_save_as_regcache): Use lambda function.
2977         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
2978         parameter to ppu2spu_data *.
2979         (ppu2spu_sniffer): Use lambda function.
2980
2981 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2982
2983         * record-full.c (record_full_target::insert_breakpoint): Remove
2984         "struct" keyword, add const.
2985
2986 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
2987
2988         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
2989         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
2990         * configure.ac: Remove AC_PREREQ, add missing quoting.
2991         * gnulib/configure.ac: Modernize usage of
2992         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
2993         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
2994         (AUTOMAKE_VERSION): Bump to 1.15.1.
2995         * configure: Re-generate.
2996         * config.in: Re-generate.
2997         * aclocal.m4: Re-generate.
2998         * gnulib/aclocal.m4: Re-generate.
2999         * gnulib/config.in: Re-generate.
3000         * gnulib/configure: Re-generate.
3001         * gnulib/import/Makefile.in: Re-generate.
3002
3003 2018-06-19  Pedro Alves  <palves@redhat.com>
3004
3005         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
3006         (lookup_minimal_symbol_by_pc_section): ... here with
3007         gdb_assert_not_reached added.
3008
3009 2018-06-19  Pedro Alves  <palves@redhat.com>
3010
3011         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
3012         parameter with a block parameter.  Compare location's block symbol
3013         with the frame's block instead of addresses.
3014         (skip_inline_frames): Pass the current block instead of the
3015         frame's address.  Break out as soon as we determine the frame
3016         should not be skipped.
3017
3018 2018-06-18  Tom Tromey  <tom@tromey.com>
3019
3020         * solib-aix.c (solib_aix_get_section_offsets): Return
3021         unique_xmalloc_ptr.
3022         (solib_aix_solib_create_inferior_hook): Update.
3023
3024 2018-06-18  Tom Tromey  <tom@tromey.com>
3025
3026         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
3027
3028 2018-06-18  Tom Tromey  <tom@tromey.com>
3029
3030         * solib-frv.c (frv_relocate_main_executable): Use
3031         unique_xmalloc_ptr.
3032         * solib-dsbt.c (dsbt_relocate_main_executable): Use
3033         unique_xmalloc_ptr.
3034
3035 2018-06-18  Tom Tromey  <tom@tromey.com>
3036
3037         * objfiles.h (inhibit_section_map_updates): Update.
3038         (resume_section_map_updates, resume_section_map_updates_cleanup):
3039         Remove.
3040         * solib-svr4.c (svr4_handle_solib_event): Update.
3041         * objfiles.c (inhibit_section_map_updates): Return
3042         scoped_restore_tmpl<int>.
3043         (resume_section_map_updates, resume_section_map_updates_cleanup):
3044         Remove.
3045
3046 2018-06-18  Tom Tromey  <tom@tromey.com>
3047
3048         * valprint.h (read_string): Update.
3049         * valprint.c (read_string): Change type of "buffer".
3050         (val_print_string): Update.
3051         * python/py-value.c (valpy_string): Update.
3052         * language.h (struct language_defn) <la_get_string>: Change
3053         type of "buffer".
3054         (default_get_string, c_get_string): Update.
3055         * language.c (default_get_string): Change type of "buffer".
3056         * guile/scm-value.c (gdbscm_value_to_string): Update.
3057         * c-lang.c (c_get_string): Change type of "buffer".
3058
3059 2018-06-18  Tom Tromey  <tom@tromey.com>
3060
3061         * ser-mingw.c (struct pipe_state_destroyer): New.
3062         (pipe_state_up): New typedef.
3063         (cleanup_pipe_state): Remove.
3064         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
3065
3066 2018-06-18  Tom Tromey  <tom@tromey.com>
3067
3068         * rust-lang.h (rust_yyerror): Don't declare.
3069         * rust-lang.c (rust_language_defn): Update.
3070         * rust-exp.y (yyerror): Now static.
3071         * parse.c (parse_exp_in_context_1): Update.
3072         * p-lang.h (p_yyerror): Don't declare.
3073         * p-lang.c (p_language_defn): Update.
3074         * p-exp.y (yyerror): Now static.
3075         * opencl-lang.c (opencl_language_defn): Update.
3076         * objc-lang.c (objc_language_defn): Update.
3077         * m2-lang.h (m2_yyerror): Don't declare.
3078         * m2-lang.c (m2_language_defn): Update.
3079         * m2-exp.y (yyerror): Now static.
3080         * language.h (struct language_defn) <la_error>: Remove.
3081         * language.c (unk_lang_error): Remove.
3082         (unknown_language_defn, auto_language_defn): Remove.
3083         * go-lang.h (go_yyerror): Don't declare.
3084         * go-lang.c (go_language_defn): Update.
3085         * go-exp.y (yyerror): Now static.
3086         * f-lang.h (f_yyerror): Don't declare.
3087         * f-lang.c (f_language_defn): Update.
3088         * f-exp.y (yyerror): Now static.
3089         * d-lang.h (d_yyerror): Don't declare.
3090         * d-lang.c (d_language_defn): Update.
3091         * d-exp.y (yyerror): Now static.
3092         * c-lang.h (c_yyerror): Don't declare.
3093         * c-lang.c (c_language_defn, cplus_language_defn)
3094         (asm_language_defn, minimal_language_defn): Update.
3095         * c-exp.y (yyerror): Now static.
3096         * ada-lang.h (ada_yyerror): Don't declare.
3097         * ada-lang.c (ada_language_defn): Update.
3098         * ada-exp.y (yyerror): Now static.
3099
3100 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3101
3102         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
3103         (store_sveregs_to_thread): Likewise.
3104         (aarch64_linux_fetch_inferior_registers): Check for SVE.
3105         (aarch64_linux_store_inferior_registers): Likewise.
3106         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
3107         function.
3108         (aarch64_sve_regs_copy_to_regcache): Likewise.
3109         (aarch64_sve_regs_copy_from_regcache): Likewise.
3110         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
3111         declaration.
3112         (aarch64_sve_regs_copy_to_regcache): Likewise.
3113         (aarch64_sve_regs_copy_from_regcache): Likewise.
3114         (sve_context): Structure from Linux headers.
3115         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
3116         (SVE_SIG_ZREG_SIZE): Likewise.
3117         (SVE_SIG_PREG_SIZE): Likewise.
3118         (SVE_SIG_FFR_SIZE): Likewise.
3119         (SVE_SIG_REGS_OFFSET): Likewise.
3120         (SVE_SIG_ZREGS_OFFSET): Likewise.
3121         (SVE_SIG_ZREG_OFFSET): Likewise.
3122         (SVE_SIG_ZREGS_SIZE): Likewise.
3123         (SVE_SIG_PREGS_OFFSET): Likewise.
3124         (SVE_SIG_PREG_OFFSET): Likewise.
3125         (SVE_SIG_PREGS_SIZE): Likewise.
3126         (SVE_SIG_FFR_OFFSET): Likewise.
3127         (SVE_SIG_REGS_SIZE): Likewise.
3128         (SVE_SIG_CONTEXT_SIZE): Likewise.
3129         (SVE_PT_REGS_MASK): Likewise.
3130         (SVE_PT_REGS_FPSIMD): Likewise.
3131         (SVE_PT_REGS_SVE): Likewise.
3132         (SVE_PT_VL_INHERIT): Likewise.
3133         (SVE_PT_VL_ONEXEC): Likewise.
3134         (SVE_PT_REGS_OFFSET): Likewise.
3135         (SVE_PT_FPSIMD_OFFSET): Likewise.
3136         (SVE_PT_FPSIMD_SIZE): Likewise.
3137         (SVE_PT_SVE_ZREG_SIZE): Likewise.
3138         (SVE_PT_SVE_PREG_SIZE): Likewise.
3139         (SVE_PT_SVE_FFR_SIZE): Likewise.
3140         (SVE_PT_SVE_FPSR_SIZE): Likewise.
3141         (SVE_PT_SVE_FPCR_SIZE): Likewise.
3142         (__SVE_SIG_TO_PT): Likewise.
3143         (SVE_PT_SVE_OFFSET): Likewise.
3144         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
3145         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
3146         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
3147         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
3148         (SVE_PT_SVE_PREG_OFFSET): Likewise.
3149         (SVE_PT_SVE_PREGS_SIZE): Likewise.
3150         (SVE_PT_SVE_FFR_OFFSET): Likewise.
3151         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
3152         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
3153         (SVE_PT_SVE_SIZE): Likewise.
3154         (SVE_PT_SIZE): Likewise.
3155         (HAS_SVE_STATE): New define.
3156
3157 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
3158
3159         * nat/aarch64-sve-linux-sigcontext.h: New file.
3160         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
3161         new files.
3162         (SVE_VQ_MIN): Likewise.
3163         (SVE_VQ_MAX): Likewise.
3164         (SVE_VL_MIN): Likewise.
3165         (SVE_VL_MAX): Likewise.
3166         (SVE_NUM_ZREGS): Likewise.
3167         (SVE_NUM_PREGS): Likewise.
3168         (sve_vl_valid): Likewise.
3169         (struct user_sve_header): Likewise.
3170
3171 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
3172             Richard Bunt <Richard.Bunt@arm.com>
3173
3174         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
3175         was requested by GDB.
3176
3177 2018-06-15  Tom de Vries  <tdevries@suse.de>
3178
3179         * MAINTAINERS (Write After Approval): Add Tom de Vries.
3180
3181 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
3182
3183         * gnulib/update-gnulib.sh: Print expected versions of
3184         autoconf/aclocal.
3185
3186 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
3187
3188         * arch-utils.c (default_type_align): Use type_length_units.
3189         * gdbtypes.c (type_align): Use type_length_units.
3190
3191 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3192
3193         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
3194         of 'define' command.
3195
3196 2018-06-14  Tom de Vries  <tdevries@suse.de>
3197
3198         PR cli/22573
3199         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
3200         get_no_prettyformat_print_options.
3201
3202 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
3203
3204         * sparc-nat.h: Include target.h.
3205         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
3206         <fetch_registers>: Remove this argument in function call.
3207         <store_registers>: Remove this argument in function call, remove
3208         extra semicolon.
3209         <low_forget_process>: Call sparc64_forget_process instead of
3210         sparc_forget_process.
3211
3212 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3213
3214         * procfs.c (_initialize_procfs): Use add_inf_child_target.
3215         (procfs_target::make_corefile_notes): Adjust to new
3216         target_read_alloc return type.
3217
3218 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3219             Stephen Roberts  <stephen.roberts@arm.com>
3220
3221         PR gdb/22882
3222         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
3223         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
3224         Move should_notify_stop local into more inner scope.
3225
3226 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3227             Stephen Roberts  <stephen.roberts@arm.com>
3228
3229         PR gdb/22882
3230         * infrun.c (resume_1): Add call to mark_async_event_handler.
3231
3232 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3233
3234         * infrun.c (do_target_wait): Change old version of $pc printed.
3235
3236 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
3237
3238         * dwarf2read.c (read_index_from_section): Rename to...
3239         (read_gdb_index_from_section): ... this, update all callers.
3240         (dwarf2_read_index): Rename to...
3241         (dwarf2_read_gdb_index): ... this, update all callers.
3242
3243 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
3244
3245         * gdb/hppa-linux-nat.c
3246         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
3247         hppa_linux_nat_target::fetch_registers.
3248
3249 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3250
3251         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
3252         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
3253         (AARCH64_DWARF_SVE_FFR): Likewise.
3254         (AARCH64_DWARF_SVE_P0): Likewise.
3255         (AARCH64_DWARF_SVE_Z0): Likewise.
3256
3257 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3258
3259         * common/common-regcache.h (raw_compare): New function.
3260         * regcache.c (regcache::raw_compare): Likewise.
3261         * regcache.h (regcache::raw_compare): New declaration.
3262
3263 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
3264
3265         * common/common-regcache.h (reg_buffer_common): New structure.
3266         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
3267         (reg_buffer::raw_supply): Likewise.
3268         (reg_buffer::raw_supply_integer): Likewise.
3269         (reg_buffer::raw_supply_zeroed): Likewise.
3270         (reg_buffer::raw_collect): Likewise.
3271         (reg_buffer::raw_collect_integer): Likewise.
3272         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
3273         (reg_buffer::raw_supply): Likewise.
3274         (reg_buffer::raw_supply_integer): Likewise.
3275         (reg_buffer::raw_supply_zeroed): Likewise.
3276         (reg_buffer::raw_collect): Likewise.
3277         (reg_buffer::raw_collect_integer): Likewise.
3278
3279 2018-06-10  Tom Tromey  <tom@tromey.com>
3280
3281         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
3282         (class remote_state) <stop_reply_queue>: Now std::vector.
3283         (remote_state::~remote_state)
3284         (remote_target::stop_reply_queue_length): Update.
3285         (struct queue_iter_param, remove_child_of_pending_fork)
3286         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
3287         (check_pending_event_prevents_wildcard_vcont_callback)
3288         (remove_stop_reply_for_inferior)
3289         (remove_stop_reply_of_remote_state)
3290         (remote_notif_remove_once_on_match)
3291         (stop_reply_match_ptid_and_ws)
3292         (remote_kill_child_of_pending_fork): Remove.
3293         (remote_target::remove_new_fork_children)
3294         (remote_target::check_pending_events_prevent_wildcard_vcont)
3295         (remote_target::discard_pending_stop_replies)
3296         (remote_target::discard_pending_stop_replies_in_queue)
3297         (remote_target::remote_notif_remove_queued_reply)
3298         (remote_target::queued_stop_reply)
3299         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
3300         (remote_target::wait, remote_target::kill_new_fork_children)
3301         (remote_target::async): Update.
3302
3303 2018-06-10  Tom Tromey  <tom@tromey.com>
3304
3305         * record-full.c (record_full_arch_list_cleanups): Remove.
3306         (record_full_message): Use try/catch.
3307         (record_full_wait_cleanups): Remove.
3308         (record_full_wait_1): Use try/catch.
3309         (record_full_restore): Likewise.
3310
3311 2018-06-10  Tom Tromey  <tom@tromey.com>
3312
3313         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
3314         declare VEC.  Add constructor.
3315         <in_target_beneath>: Now bool.
3316         (record_full_breakpoints): Now a std::vector, static.
3317         (record_full_sync_record_breakpoints)
3318         (record_full_init_record_breakpoints)
3319         (record_full_target::insert_breakpoint)
3320         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
3321
3322 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
3323
3324         * dwarf2read.c (process_cu_includes): Remove struct keyword.
3325         * serial.c (serial_interface_lookup): Remove struct keyword.
3326
3327 2018-06-10  Tom Tromey  <tom@tromey.com>
3328
3329         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
3330         method.
3331         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
3332         a method.
3333         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
3334         method.
3335         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
3336         "beneath" as a method.
3337         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
3338         Use "beneath" as a method.
3339
3340 2018-06-10  Tom Tromey  <tom@tromey.com>
3341
3342         * tracefile.c (struct trace_file_writer_deleter): New.
3343         <operator()>: Rename from trace_file_writer_xfree.
3344         (trace_file_writer_up): New typedef.
3345         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
3346
3347 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
3348
3349         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
3350         <m_registers, m_register_status>: Change type to
3351         std::unique_ptr.
3352         * regcache.c (reg_buffer::reg_buffer): Use new instead of
3353         XCNEWVEC.
3354
3355 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
3356
3357         * common/common-regcache.h (enum register_status): Add
3358         underlying type "signed char".
3359         * regcache.h (reg_buffer) <m_register_status>: Change type to
3360         register_status *.
3361         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
3362         register_status instead of signed char.
3363         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
3364         (reg_buffer::get_register_status): Remove cast.
3365         (readable_regcache::raw_read): Remove cast.
3366         (readable_regcache::cooked_read): Remove cast.
3367
3368 2018-06-09  Tom Tromey  <tom@tromey.com>
3369
3370         * source.c (reverse_search_command, forward_search_command): Use
3371         scoped_fd.
3372
3373 2018-06-09  Tom Tromey  <tom@tromey.com>
3374
3375         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
3376         (serial_ops_list): Now static, std::vector.
3377         (serial_interface_lookup, serial_add_interface): Update.
3378
3379 2018-06-09  Tom Tromey  <tom@tromey.com>
3380
3381         * dwarf2read.c (process_cu_includes): Update.
3382         (process_full_comp_unit): Update.
3383         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
3384         std::vector.
3385
3386 2018-06-08  Paul Koning  <paul_koning@dell.com>
3387
3388         PR gdb/23252
3389
3390         * python/python.c (do_start_initialization):
3391         Avoid call to internal Python API.
3392         (init__gdb_module): New function.
3393
3394 2018-06-08  Gary Benson <gbenson@redhat.com>
3395
3396         * linux-thread-db.c (valprint.h): New include.
3397         (struct check_thread_db_info): New structure.
3398         (check_thread_db_on_load, tdb_testinfo): New static globals.
3399         (check_thread_db, check_thread_db_callback): New functions.
3400         (try_thread_db_load_1): Run integrity checks if requested.
3401         (maintenance_check_libthread_db): New function.
3402         (_initialize_thread_db): Register "maint check libthread-db"
3403         and "maint set/show check-libthread-db".
3404         * NEWS: Mention the above new commands.
3405
3406 2018-06-08  Tom Tromey  <tom@tromey.com>
3407
3408         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
3409         now a method.
3410
3411 2018-06-08  Tom Tromey  <tom@tromey.com>
3412
3413         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
3414
3415 2018-06-08  Tom Tromey  <tom@tromey.com>
3416
3417         * common/btrace-common.h (struct btrace_data): Add constructor,
3418         destructor, move assignment operator.
3419         <empty, clear, fini>: New methods.
3420         <format>: Initialize.
3421         (btrace_data_init, btrace_data_fini, btrace_data_clear)
3422         (btrace_data_empty): Don't declare.
3423         * common/btrace-common.c (btrace_data_init): Remove.
3424         (btrace_data::fini): Rename from btrace_data_fini.
3425         (btrace_data::empty): Rename from btrace_data_empty.
3426         (btrace_data::clear): Rename from btrace_data_clear.  Return
3427         bool.
3428         * btrace.h (make_cleanup_btrace_data): Don't declare.
3429         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
3430         (parse_xml_btrace): Update.
3431         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
3432         (maint_btrace_clear_packet_history_cmd): Update.
3433
3434 2018-06-07  Pedro Alves  <palves@redhat.com>
3435
3436         * target.h (target_ops) <beneath>: Now a method.  All references
3437         updated.
3438         (class target_stack): New.
3439         * target.c (g_target_stack): New.
3440         (g_current_top_target): Delete.
3441         (current_top_target): Get the top target out of g_target_stack.
3442         (target_stack::push, target_stack::unpush): New.
3443         (push_target, unpush_target): Reimplement.
3444         (target_is_pushed): Reimplement in terms of g_target_stack.
3445         (target_ops::beneath, target_stack::find_beneath): New.
3446
3447 2018-06-07  Pedro Alves  <palves@redhat.com>
3448
3449         * target.h (find_target_beneath): Delete declaration.
3450         * target.c (find_target_beneath): Delete definition.
3451         * aix-thread.c: All callers of find_target_beneath adjusted to
3452         call target_ops::beneath instead.
3453         * bsd-uthread.c: Likewise.
3454         * linux-thread-db.c: Likewise.
3455         * ravenscar-thread.c: Likewise.
3456         * sol-thread.c: Likewise.
3457         * spu-multiarch.c: Likewise.
3458
3459 2018-06-07  Pedro Alves  <palves@redhat.com>
3460
3461         * target.h (target_ops) <beneath>: Now a method.  All references
3462         updated.
3463         (target_ops) <m_beneath>: New.
3464         * target.c (target_ops::beneath): New.
3465         * corelow.c: Adjust all references to target_ops::beneath.
3466         * linux-thread-db.c: Likewise.
3467         * make-target-delegates: Likewise.
3468         * record-btrace.c: Likewise.
3469         * record-full.c: Likewise.
3470         * remote.c: Likewise.
3471         * target.c: Likewise.
3472         * target-delegates.c: Regenerate.
3473
3474 2018-06-07  Pedro Alves  <palves@redhat.com>
3475
3476         * target.h (target_stack): Delete.
3477         (current_top_target): Declare function.
3478         * target.c (target_stack): Delete.
3479         (g_current_top_target): New.
3480         (current_top_target): New function.
3481         * auxv.c: Use current_top_target instead of target_stack
3482         throughout.
3483         * avr-tdep.c: Likewise.
3484         * breakpoint.c: Likewise.
3485         * corefile.c: Likewise.
3486         * elfread.c: Likewise.
3487         * eval.c: Likewise.
3488         * exceptions.c: Likewise.
3489         * frame.c: Likewise.
3490         * gdbarch-selftests.c: Likewise.
3491         * gnu-v3-abi.c: Likewise.
3492         * ia64-tdep.c: Likewise.
3493         * ia64-vms-tdep.c: Likewise.
3494         * infcall.c: Likewise.
3495         * infcmd.c: Likewise.
3496         * infrun.c: Likewise.
3497         * linespec.c: Likewise.
3498         * linux-tdep.c: Likewise.
3499         * minsyms.c: Likewise.
3500         * ppc-linux-nat.c: Likewise.
3501         * ppc-linux-tdep.c: Likewise.
3502         * procfs.c: Likewise.
3503         * regcache.c: Likewise.
3504         * remote.c: Likewise.
3505         * rs6000-tdep.c: Likewise.
3506         * s390-linux-nat.c: Likewise.
3507         * s390-tdep.c: Likewise.
3508         * solib-aix.c: Likewise.
3509         * solib-darwin.c: Likewise.
3510         * solib-dsbt.c: Likewise.
3511         * solib-spu.c: Likewise.
3512         * solib-svr4.c: Likewise.
3513         * solib-target.c: Likewise.
3514         * sparc-tdep.c: Likewise.
3515         * sparc64-tdep.c: Likewise.
3516         * spu-tdep.c: Likewise.
3517         * symfile.c: Likewise.
3518         * symtab.c: Likewise.
3519         * target-descriptions.c: Likewise.
3520         * target-memory.c: Likewise.
3521         * target.c: Likewise.
3522         * target.h: Likewise.
3523         * tracefile-tfile.c: Likewise.
3524         * tracepoint.c: Likewise.
3525         * valops.c: Likewise.
3526         * valprint.c: Likewise.
3527         * value.c: Likewise.
3528         * windows-tdep.c: Likewise.
3529         * mi/mi-main.c: Likewise.
3530
3531 2018-06-07  Tom Tromey  <tom@tromey.com>
3532
3533         * valprint.h (build_address_symbolic): Declare.
3534         * printcmd.c (print_address_symbolic): Update.
3535         (build_address_symbolic): Change "name" and "filename" to
3536         std::string.
3537         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
3538         Update.
3539         * defs.h (build_address_symbolic): Remove declaration.
3540
3541 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
3542
3543         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
3544         (aarch64_vnv_type): Add function.
3545         (aarch64_pseudo_register_name): Add V regs for SVE.
3546         (aarch64_pseudo_register_type): Likewise.
3547         (aarch64_pseudo_register_reggroup_p): Likewise.
3548         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
3549         (aarch64_pseudo_read_value): Add V regs for SVE.
3550         (aarch64_pseudo_write_2): Use V0 offset for SVE
3551         (aarch64_pseudo_write): Add V regs for SVE.
3552         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
3553
3554 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
3555
3556         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
3557         (sve_vl_from_vq): Likewise.
3558
3559 2018-06-05  Tom Tromey  <tom@tromey.com>
3560
3561         * cli/cli-cmds.c (show_version): Update.
3562         * top.c (print_gdb_version): Add "interactive" parameter.
3563         Update.
3564         * main.c (captured_main_1): Update.
3565         * top.h (print_gdb_version): Add "interactive" parameter and a
3566         comment.
3567
3568 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
3569
3570         * common/enum-flags.h: Add trailing semicolon to example in
3571         comment.
3572
3573 2018-06-05  Tom Tromey  <tom@tromey.com>
3574
3575         PR cli/12326:
3576         * NEWS: Add entry about pager.
3577         * utils.c (pagination_disabled_for_command): New global.
3578         (prompt_for_continue): Allow "c" response to prompt.
3579         (reinitialize_more_filter): Clear
3580         pagination_disabled_for_command.
3581         (fputs_maybe_filtered): Check pagination_disabled_for_command.
3582
3583 2018-06-04  Tom Tromey  <tom@tromey.com>
3584
3585         * ada-lang.h (ada_lookup_symbol_list): Update.
3586         * ada-lang.c (resolve_subexp): Update.
3587         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3588         parameter.
3589         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3590         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3591         results parameter to std::vector.
3592         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3593         Update.
3594         * ada-exp.y (block_lookup): Update.
3595         (select_possible_type_sym): Change type of syms.  Remove nsyms
3596         parameter.
3597         (write_var_or_type, write_name_assoc): Update.
3598
3599 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3600
3601         * windows-nat.c (windows_nat_target::xfer_partial): Return
3602         TARGET_XFER_E_IO if we need to delegate to the target beneath
3603         but BENEATH is NULL.
3604
3605 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3606
3607         * Makefile.in (config.status): Add configure.nat as a
3608         dependency.
3609
3610 2018-06-04  Tom Tromey  <tom@tromey.com>
3611
3612         * cp-name-parser.y (cpname_state): Add method declarations.
3613         (HANDLE_QUAL): Update.
3614         (cpname_state::d_grab, cpname_state::fill_comp)
3615         (cpname_state::make_operator, cpname_state::make_dtor)
3616         (cpname_state::make_builtin_type, cpname_state::make_name)
3617         (cpname_state::d_qualify, cpname_state::d_int_type)
3618         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3619         (%union): Move earlier.
3620
3621 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3622
3623         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3624
3625 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3626
3627         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3628         (aarch64_pseudo_write_1): Likewise.
3629         (aarch64_pseudo_read_value): Use helper.
3630         (aarch64_pseudo_write): Likewise.
3631
3632 2018-06-04  Pedro Alves  <palves@redhat.com>
3633
3634         * darwin-nat.c (darwin_ops): Delete.
3635         (darwin_attach_pid): Use get_native_target.
3636
3637 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3638
3639         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3640         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3641
3642 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3643
3644         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3645         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3646         (aarch64_gdbarch_init): Check for SVE.
3647         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3648
3649 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3650
3651         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3652         * aarch64-tdep.h (aarch64_read_description): Likewise.
3653         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3654         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3655         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3656         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3657         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3658
3659 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3660
3661         * value.c (value_fetch_lazy_bitfield): New.
3662         (value_fetch_lazy_memory): New.
3663         (value_fetch_lazy_register): New.
3664         (value_fetch_lazy): Factor out to smaller functions.
3665
3666 2018-06-01  Tom Tromey  <tom@tromey.com>
3667
3668         * cp-name-parser.y (backslashable, represented): Now const.
3669
3670 2018-06-01  Tom Tromey  <tom@tromey.com>
3671
3672         * cp-name-parser.y: Include parser-defs.h.
3673         (parser_fprintf): Remove declaration.
3674
3675 2018-06-01  Tom Tromey  <tom@tromey.com>
3676
3677         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3678         %parse-param.
3679         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3680         (global_result): Remove globals.
3681         (struct cpname_state): New.
3682         (yyparse): Don't declare.
3683         (yylex, yyerror): Move declarations after %union.
3684         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3685         (make_name): Add state parameter.
3686         Update all callers.
3687         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3688         parameter.
3689         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3690         Update.
3691         (yylex): Add lvalp, state parameters.
3692         (yyerror): Add state parameter.
3693         (cp_demangled_name_to_comp): Update.
3694
3695 2018-06-01  Tom Tromey  <tom@tromey.com>
3696
3697         * cp-name-parser.y (parser_fprintf): Declare.
3698         (GDB_YY_REMAP_PREFIX): Define.
3699         Include yy-remap.h.  Don't redefine yy* identifiers.
3700
3701 2018-06-01  Tom Tromey  <tom@tromey.com>
3702
3703         * python/py-type.c (typy_legacy_template_argument): Update.
3704         * cp-support.h (cp_demangled_name_to_comp): Update.
3705         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3706         parameter to be a "std::string *".
3707         (main): Update.
3708
3709 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3710
3711         * ada-lex.l: Include "diagnostics.h" instead of
3712         "common/diagnostics.h".
3713         * unittests/environ-selftests.c: Likewise.
3714         * common/diagnostics.h: Moved to ../include.
3715
3716 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3717
3718         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3719         to language_mode_manual while calling breakpoint_re_set_one.
3720
3721 2018-06-01  Tom Tromey  <tom@tromey.com>
3722
3723         * valops.c (value_cast_structs, destructor_name_p): Update.
3724         * symtab.c (gdb_mangle_name): Update.
3725         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3726         Update.
3727         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3728         (pascal_object_print_value_fields, pascal_object_print_value):
3729         Update.
3730         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3731         * linespec.c (find_methods): Update.
3732         * gdbtypes.h (type_name_no_tag): Remove.
3733         (type_name_or_error): Rename from type_name_no_tag_or_error.
3734         * gdbtypes.c (type_name_no_tag): Remove.
3735         (type_name_or_error): Rename from type_name_no_tag_or_error.
3736         (lookup_struct_elt_type, check_typedef): Update.
3737         * expprint.c (print_subexp_standard): Update.
3738         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3739         * d-namespace.c (d_lookup_nested_symbol): Update.
3740         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3741         (cp_print_class_member): Update.
3742         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3743         * completer.c (add_struct_fields): Update.
3744         * c-typeprint.c (cp_type_print_derivation_info)
3745         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3746         Update.
3747         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3748         (ada_prefer_type, ada_is_exception_sym): Update.
3749
3750 2018-06-01  Tom Tromey  <tom@tromey.com>
3751
3752         * valops.c (enum_constant_from_type, value_namespace_elt)
3753         (value_maybe_namespace_elt): Update.
3754         * valarith.c (find_size_for_pointer_math): Update.
3755         * target-descriptions.c (make_gdb_type): Update.
3756         * symmisc.c (print_symbol): Update.
3757         * stabsread.c (define_symbol, read_type)
3758         (complain_about_struct_wipeout, add_undefined_type)
3759         (cleanup_undefined_types_1): Update.
3760         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3761         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3762         (rust_internal_print_type, rust_composite_type)
3763         (rust_evaluate_funcall, rust_evaluate_subexp)
3764         (rust_inclusive_range_type_p): Update.
3765         * python/py-type.c (typy_get_tag): Update.
3766         * p-typeprint.c (pascal_type_print_base): Update.
3767         * mdebugread.c (parse_symbol, parse_type): Update.
3768         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3769         Update.
3770         * guile/scm-type.c (gdbscm_type_tag): Update.
3771         * go-lang.c (sixg_string_p): Update.
3772         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3773         Update.
3774         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3775         (TYPE_TAG_NAME): Remove.
3776         * gdbtypes.c (type_name_no_tag): Simplify.
3777         (check_typedef, check_types_equal, recursive_dump_type)
3778         (copy_type_recursive, arch_composite_type): Update.
3779         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3780         in summary mode when needed.
3781         * eval.c (evaluate_funcall): Update.
3782         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3783         (process_structure_scope, read_enumeration_type)
3784         (read_namespace_type, read_module_type, determine_prefix): Update.
3785         * cp-support.c (inspect_type): Update.
3786         * coffread.c (process_coff_symbol, decode_base_type): Update.
3787         * c-varobj.c (c_is_path_expr_parent): Update.
3788         * c-typeprint.c (c_type_print_base_struct_union): Update.
3789         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3790         summary when using C language.
3791         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3792         (gen_maybe_namespace_elt): Update.
3793         * ada-lang.c (ada_type_name): Simplify.
3794         (empty_record, ada_template_to_fixed_record_type_1)
3795         (template_to_static_fixed_type)
3796         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3797
3798 2018-06-01  Tom Tromey  <tom@tromey.com>
3799
3800         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3801         c_print_type.
3802         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3803         (c_print_type): Update.
3804         (c_print_type): New overload.
3805         (c_type_print_varspec_prefix, c_type_print_args)
3806         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3807         (c_type_print_base_struct_union, c_type_print_base_1)
3808         (cp_type_print_method_args): Add "language" parameter.
3809         (c_type_print_base): Update.
3810         * c-lang.h (c_print_type): Add new overload.
3811
3812 2018-06-01  Tom Tromey  <tom@tromey.com>
3813
3814         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3815         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3816
3817 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3818
3819         * aarch64-tdep.c (aarch64_sve_register_names): New const
3820         var.
3821         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3822         (AARCH64_SVE_Z_REGS_NUM): New define.
3823         (AARCH64_SVE_P_REGS_NUM): Likewise.
3824         (AARCH64_SVE_NUM_REGS): Likewise.
3825
3826 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3827
3828         * nat/linux-ptrace.h [__alpha__]
3829         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3830         definitions.
3831
3832 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3833
3834         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3835         the endianness selected.
3836         * NEWS: Document `set endian auto' mode operation update.
3837
3838 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3839
3840         * Makefile.in: Add new header.
3841         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3842         (sve_vl_from_vg): Likewise.
3843         (sve_vq_from_vl): Likewise.
3844         (sve_vl_from_vq): Likewise.
3845         (sve_vq_from_vg): Likewise.
3846         (sve_vg_from_vq): Likewise.
3847         * configure.nat: Add new c file.
3848         * nat/aarch64-sve-linux-ptrace.c: New file.
3849         * nat/aarch64-sve-linux-ptrace.h: New file.
3850
3851 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3852
3853         * aarch64-linux-nat.c (aarch64_linux_read_description):
3854         Add parmeter zero.
3855         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3856         Likewise.
3857         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3858         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3859         (aarch64_gdbarch_init): Add parmeter zero.
3860         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3861         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3862         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3863         parmeter.
3864         * doc/gdb.texinfo: Describe SVE feature
3865         * features/aarch64-sve.c: New file.
3866
3867 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3868
3869         PR gdb/23210
3870         * gdbarch.sh (significant_addr_bit): Default to zero when
3871         not set by target architecture.
3872         * gdbarch.c: Re-generated.
3873         * utils.c (address_significant): Update.
3874
3875 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3876
3877         * stack.c (func_command): Remove trailing newline in call to error.
3878
3879 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3880
3881         * regcache.h (regcache_raw_collect): Remove, update callers to
3882         use regcache::raw_collect.
3883         * regcache.c (regcache_raw_collect): Remove.
3884
3885 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3886
3887         * regcache.h (regcache_raw_supply): Remove, update callers to
3888         use detached_regcache::raw_supply.
3889         * regcache.c (regcache_raw_supply): Remove.
3890
3891 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3892
3893         * regcache.h (regcache_cooked_write_part): Remove, update
3894         callers to use regcache::cooked_write_part.
3895         * regcache.c (regcache_cooked_write_part): Remove.
3896
3897 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3898
3899         * regcache.h (regcache_cooked_read_part): Remove, update callers
3900         to use readable_regcache::cooked_read_part.
3901         * regcache.c (regcache_cooked_read_part): Remove.
3902
3903 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3904
3905         * regcache.h (regcache_cooked_read_value): Remove, update
3906         callers to use readable_regcache::cooked_read_value.
3907         * regcache.c (regcache_cooked_read_value): Remove.
3908
3909 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3910
3911         * regcache.h (regcache_cooked_write): Remove, update callers to
3912         use regcache::cooked_write.
3913         * regcache.c (regcache_cooked_write): Remove.
3914
3915 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3916
3917         * regcache.h (regcache_invalidate): Remove, update callers to
3918         use detached_regcache::invalidate instead.
3919         * regcache.c (regcache_invalidate): Remove.
3920
3921 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3922
3923         * regcache.h (regcache_raw_write_part): Remove, update callers
3924         to use regcache::raw_write_part instead.
3925         * regcache.c (regcache_raw_write_part): Remove.
3926
3927 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3928
3929         * regcache.h (regcache_raw_read_part): Remove, update callers to
3930         use readable_regcache::raw_read_part instead.
3931         * regcache.c (regcache_raw_read_part): Remove.
3932
3933 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3934
3935         * regcache.h (regcache_cooked_read): Remove, update callers to
3936         use readable_regcache::cooked_read instead.
3937         * regcache.c (regcache_cooked_read): Remove.
3938
3939 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3940
3941         * regcache.h (regcache_raw_write): Remove, update callers to use
3942         regcache::raw_write instead.
3943         * regcache.c (regcache_raw_write): Remove.
3944
3945 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3946
3947         * regcache.h (regcache_raw_read): Remove, update callers to use
3948         readable_regcache::raw_read instead.
3949         * regcache.c (regcache_raw_read): Remove.
3950
3951 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3952
3953         * regcache.h (regcache_raw_update): Remove, update callers to
3954         use readable_regcache::raw_update instead.
3955         * regcache.c (regcache_raw_update): Remove.
3956
3957 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3958
3959         * regcache.h (regcache_register_status): Remove, update callers
3960         to use reg_buffer::get_register_status directly instead.
3961         * regcache.c (regcache_register_status): Remove.
3962
3963 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3964
3965         * regcache.h (regcache_get_ptid): Remove, update all callers to
3966         call regcache::ptid instead.
3967         * regcache.c (regcache_get_ptid): Remove.
3968
3969 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3970
3971         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
3972
3973 2018-05-30  Pedro Alves  <palves@redhat.com>
3974
3975         * common/common-exceptions.h (exception_rethrow): Use
3976         ATTRIBUTE_NORETURN.
3977
3978 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
3979
3980         * breakpoint.c (print_solib_event, check_status_catch_solib):
3981         Remove struct keyword in range-based for loops.
3982         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
3983         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
3984         Likewise.
3985         * linespec.c (find_superclass_methods, search_minsyms_for_name):
3986         Likewise.
3987         * symfile.c (addr_info_make_relative): Likewise.
3988         * thread.c (value_in_thread_stack_temporaries): Likewise.
3989
3990 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
3991
3992         PR gdb/16841
3993         * valops.c (value_struct_elt_for_reference): Call check_typedef on
3994         aggregate type to get its real type before accessing it.
3995
3996 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
3997
3998         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
3999         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
4000         * coff-pe-read.c (add_pe_forwarded_sym): Replace
4001         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
4002         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
4003         * jit.c (jit_breakpoint_re_set_internal): Likewise.
4004         * printcmd.c (info_address_command): Likewise.
4005
4006 2018-05-29  Tom Tromey  <tom@tromey.com>
4007
4008         * windows-nat.c (handle_exception): Update fall-through comment.
4009
4010 2018-05-29  Tom Tromey  <tom@tromey.com>
4011
4012         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
4013         (struct program_space) <added_solibs>: Now a std::vector.
4014         * breakpoint.c (print_solib_event): Update.
4015         (check_status_catch_solib): Update.
4016         * progspace.c (clear_program_space_solib_cache): Update.
4017         * solib.c (update_solib_list): Update.
4018
4019 2018-05-29  Tom Tromey  <tom@tromey.com>
4020
4021         * python/py-type.c (typy_richcompare): Update.
4022         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
4023         * gdbtypes.h (types_deeply_equal): Return bool.
4024         (types_equal): Likewise.
4025         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
4026         declare VEC.
4027         (check_types_equal): Change worklist to std::vector.  Return
4028         bool.
4029         (struct type_equality_entry): Add constructor.
4030         (compare_maybe_null_strings): Return bool.
4031         (check_types_worklist): Return bool.  Change worklist to
4032         std::vector.
4033         (types_deeply_equal): Use std::vector.
4034         (types_equal): Return bool.
4035         (compare_maybe_null_strings): Simplify.
4036
4037 2018-05-29  Tom Tromey  <tom@tromey.com>
4038
4039         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
4040
4041 2018-05-29  Tom Tromey  <tom@tromey.com>
4042
4043         * objc-lang.h: Don't include cp-support.h.
4044         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
4045         declare VEC.
4046
4047 2018-05-27  Tom Tromey  <tom@tromey.com>
4048
4049         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
4050
4051 2018-05-25  Tom Tromey  <tom@tromey.com>
4052
4053         * value.c (value::location): Initialize.
4054
4055 2018-05-25  Tom Tromey  <tom@tromey.com>
4056
4057         * dbxread.c (init_bincl_list): Remove.
4058         (bincl_list): Now a std::vector.
4059         (bincls_allocated, next_bincl): Remove.
4060         (free_bincl_list, do_free_bincl_list_cleanup)
4061         (make_cleanup_free_bincl_list): Remove.
4062         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
4063         unique_xmalloc_ptr.
4064         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
4065         (struct header_file_location): Add constructor.
4066         (add_bincl_to_list): Remove.
4067
4068 2018-05-25  Tom Tromey  <tom@tromey.com>
4069
4070         * tui/tui.c (tui_enable): Update.
4071         * mi/mi-interp.c (mi_interp::init): Update.
4072         * interps.h (class interp) <name>: New method.
4073         <m_name>: Rename from name.
4074         (~scoped_restore_interp): Update.
4075         * interps.c (interp::interp): Update.
4076         (interp_add, interp_set, interp_lookup_existing)
4077         (current_interp_named_p): Update.
4078
4079 2018-05-25  Tom Tromey  <tom@tromey.com>
4080
4081         * interps.c (interp_name): Remove.
4082         * mi/mi-interp.c (mi_interp::init): Update.
4083         * interps.h (interp_name): Remove.
4084         (~scoped_restore_interp): Update.
4085         * tui/tui.c (tui_enable): Update.
4086
4087 2018-05-25  Tom Tromey  <tom@tromey.com>
4088
4089         * utils.c (fputs_maybe_filtered): Update.
4090         * linespec.c (decode_line_full): Update.
4091         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
4092         (mi_print_breakpoint_for_event, mi_solib_loaded)
4093         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
4094         (mi_user_selected_context_changed): Update.
4095         * mi/mi-main.c (mi_execute_command): Update.
4096         * cli/cli-script.c (execute_control_command): Update.
4097         * python/python.c (execute_gdb_command): Update.
4098         * solib.c (info_sharedlibrary_command): Update.
4099         * interps.c (interp_ui_out): Remove.
4100         * interps.h (interp_ui_out): Remove.
4101
4102 2018-05-25  Tom Tromey  <tom@tromey.com>
4103
4104         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
4105         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
4106         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
4107
4108 2018-05-25  Tom Tromey  <tom@tromey.com>
4109
4110         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
4111         * interps.c (interp_exec): Use scoped_restore.
4112
4113 2018-05-25  Tom Tromey  <tom@tromey.com>
4114
4115         * remote.c (remote_target::remote_file_get): Use
4116         gdb::byte_vector.
4117         (remote_target::remote_file_put): Likewise.
4118
4119 2018-05-25  Tom Tromey  <tom@tromey.com>
4120
4121         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
4122         a std::string.
4123         (get_pe_section_index, add_pe_exported_sym): Update.
4124         (read_pe_exported_syms): Use gdb::def_vector.
4125
4126 2018-05-25  Tom Tromey  <tom@tromey.com>
4127
4128         * frame.c (remove_prev_frame): Remove.
4129         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
4130
4131 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
4132
4133         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
4134         Remove prototypes.
4135         * mips-linux-nat.c (supply_fpregset): Always call
4136         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
4137         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
4138         `mips_fill_fpregset'.
4139         * mips-linux-tdep.c (mips_supply_fpregset)
4140         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
4141         (mips_fill_fpregset_wrapper): Remove functions.
4142         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
4143         (mips_linux_fpregset): Remove variable.
4144         (mips_linux_iterate_over_regset_sections): Use
4145         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
4146         (mips_linux_o32_sigframe_init): Remove comment.
4147
4148 2018-05-25  Pedro Alves  <palves@redhat.com>
4149
4150         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
4151         (struct readahead_cache, struct packet_reg, struct
4152         remote_arch_state, class remote_state): Move higher up in the
4153         file.
4154         (remote_target::m_remote_state): Now an object instead of a pointer.
4155         (remote_target::get_remote_state): Adjust.
4156
4157 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
4158
4159         * stack.c (select_and_print_frame): Delete.
4160         (struct function_bounds): Move struct within function.
4161         (func_command): Most content moved into new function
4162         find_frame_for_function, use new function, print result, add
4163         function comment.
4164         (find_frame_for_function): New function, now returns a result.
4165
4166 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4167
4168         * stack.c (iterate_over_block_arg_vars): Fix comment.
4169         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
4170
4171 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
4172
4173         PR gdb/23203
4174         * frame.c
4175         (scoped_restore_selected_frame::scoped_restore_selected_frame):
4176         Define.
4177         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
4178         Define.
4179         * frame.h (class scoped_restore_selected_frame): New class.
4180         * stack.c (print_frame_local_vars): Remove catching and rethrowing
4181         of any exception, use scoped_restore_selected_frame to restore the
4182         frame instead.
4183
4184 2018-05-24  Pedro Alves  <palves@redhat.com>
4185
4186         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
4187         override.
4188
4189 2018-05-23  Tom Tromey  <tom@tromey.com>
4190
4191         * complaints.c (struct complaints): Remove.
4192         (symfile_complaint_book): Remove.
4193         (series): New global.
4194         (complaint_internal): Update.
4195         (clear_complaints): Update.
4196
4197 2018-05-23  Tom Tromey  <tom@tromey.com>
4198
4199         * complaints.c (counters): New global.
4200         (struct complain): Remove.
4201         (struct complaints) <root>: Remove.
4202         (complaint_sentinel): Remove.
4203         (symfile_complaint_book): Update.
4204         (find_complaint) Remove.
4205         (complaint_internal, clear_complaints): Update.
4206
4207 2018-05-23  Tom Tromey  <tom@tromey.com>
4208
4209         * complaints.c (struct complain) <file, line>: Remove.
4210         (find_complaint): Remove file, line parameters.
4211         (complaint_internal): Update.
4212
4213 2018-05-23  Tom Tromey  <tom@tromey.com>
4214
4215         * complaints.c (vcomplaint): Remove.
4216         (complaint_internal) Merge in contents of vcomplaint.
4217
4218 2018-05-23  Tom Tromey  <tom@tromey.com>
4219
4220         * complaints.c (struct complaints) <explanation>: Remove.
4221         (symfile_explanations): Remove.
4222         (symfile_complaint_book): Update.
4223         (vcomplaint): Update.
4224         (struct explanation): Remove.
4225
4226 2018-05-23  Tom Tromey  <tom@tromey.com>
4227
4228         * complaints.c (symfile_complaints): Remove.
4229         (complaint_internal): Remove "complaints" parameter.
4230         (clear_complaints, vcomplaint): Remove "c" parameter.
4231         (get_complaints): Remove.
4232         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
4233         (dwarf2_debug_line_missing_file_complaint)
4234         (dwarf2_debug_line_missing_end_sequence_complaint)
4235         (dwarf2_complex_location_expr_complaint)
4236         (dwarf2_const_value_length_mismatch_complaint)
4237         (dwarf2_section_buffer_overflow_complaint)
4238         (dwarf2_macro_malformed_definition_complaint)
4239         (dwarf2_invalid_attrib_class_complaint)
4240         (create_addrmap_from_index, dw2_symtab_iter_next)
4241         (dw2_expand_marked_cus)
4242         (dw2_debug_names_iterator::find_vec_in_debug_names)
4243         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
4244         (create_debug_type_hash_table, init_cutu_and_read_dies)
4245         (partial_die_parent_scope, add_partial_enumeration)
4246         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
4247         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
4248         (read_import_statement, read_file_scope, create_dwo_cu_reader)
4249         (create_cus_hash_table, create_dwp_hash_table)
4250         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
4251         (dwarf2_rnglists_process, dwarf2_ranges_process)
4252         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
4253         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
4254         (handle_struct_member_die, process_structure_scope)
4255         (read_array_type, read_common_block, read_module_type)
4256         (read_tag_pointer_type, read_typedef, read_base_type)
4257         (read_subrange_type, load_partial_dies, partial_die_info::read)
4258         (partial_die_info::read, partial_die_info::read)
4259         (partial_die_info::read, read_checked_initial_length_and_offset)
4260         (dwarf2_string_attr, read_formatted_entries)
4261         (dwarf_decode_line_header)
4262         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
4263         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
4264         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
4265         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
4266         (get_signatured_type, get_DW_AT_signature_type)
4267         (decode_locdesc, file_file_name, consume_improper_spaces)
4268         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
4269         (dwarf_decode_macro_bytes, dwarf_decode_macros)
4270         (dwarf2_symbol_mark_computed, set_die_type)
4271         (read_attribute_value): Update.
4272         * stap-probe.c (handle_stap_probe, get_stap_base_address):
4273         Update.
4274         * dbxread.c (unknown_symtype_complaint)
4275         (lbrac_mismatch_complaint, repeated_header_complaint)
4276         (set_namestring, function_outside_compilation_unit_complaint)
4277         (read_dbx_symtab, process_one_symbol): Update.
4278         * gdbtypes.c (stub_noname_complaint): Update.
4279         * windows-nat.c (handle_unload_dll): Update.
4280         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
4281         (decode_base_type): Update.
4282         * xcoffread.c (bf_notfound_complaint, ef_complaint)
4283         (eb_complaint, record_include_begin, record_include_end)
4284         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
4285         (process_xcoff_symbol, read_symbol)
4286         (function_outside_compilation_unit_complaint)
4287         (scan_xcoff_symtab): Update.
4288         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
4289         * buildsym.c (finish_block_internal, make_blockvector)
4290         (end_symtab_get_static_block, augment_type_symtab): Update.
4291         * dtrace-probe.c (dtrace_process_dof)
4292         (dtrace_static_probe_ops::get_probes): Update.
4293         * complaints.h (struct complaint): Don't declare.
4294         (symfile_complaints): Remove.
4295         (complaint_internal): Remove "complaints" parameter.
4296         (complaint): Likewise.
4297         (clear_complaints): Likewise.
4298         * symfile.c (syms_from_objfile_1, finish_new_objfile)
4299         (reread_symbols): Update.
4300         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
4301         (dwarf2_frame_cache, decode_frame_entry): Update.
4302         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
4303         * objc-lang.c (lookup_objc_class, lookup_child_selector)
4304         (info_selectors_command): Update.
4305         * macrotab.c (macro_include, check_for_redefinition)
4306         (macro_undef): Update.
4307         * objfiles.c (filter_overlapping_sections): Update.
4308         * stabsread.c (invalid_cpp_abbrev_complaint)
4309         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
4310         (define_symbol, error_type, read_type, rs6000_builtin_type)
4311         (stabs_method_name_from_physname, read_member_functions)
4312         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
4313         (attach_fields_to_type, complain_about_struct_wipeout)
4314         (read_range_type, read_args, common_block_start)
4315         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
4316         Update.
4317         * mdebugread.c (index_complaint, unknown_ext_complaint)
4318         (basic_type_complaint, bad_tag_guess_complaint)
4319         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
4320         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
4321         (parse_procedure, parse_lines)
4322         (function_outside_compilation_unit_complaint)
4323         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
4324         (bad_tag_guess_complaint, reg_value_complaint): Update.
4325         * cp-support.c (demangled_name_complaint): Update.
4326         * macroscope.c (sal_macro_scope): Update.
4327         * dwarf-index-write.c (class debug_names): Update.
4328
4329 2018-05-23  Tom Tromey  <tom@tromey.com>
4330
4331         * complaints.c (clear_complaints): Remove "noisy" parameter.
4332         * complaints.h (clear_complaints): Update.
4333         * symfile.c (syms_from_objfile_1, finish_new_objfile)
4334         (reread_symbols): Update.
4335
4336 2018-05-23  Tom Tromey  <tom@tromey.com>
4337
4338         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
4339         SUBSEQUENT_MESSAGE.
4340         (vcomplaint, clear_complaints): Update.
4341         (symfile_explanations): Remove some messages.
4342
4343 2018-05-23  Tom Tromey  <tom@tromey.com>
4344
4345         * complaints.c (internal_complaint): Remove.
4346         * complaints.h (internal_complaint): Remove.
4347
4348 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4349
4350         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
4351
4352 2018-05-22  Pedro Alves  <palves@redhat.com>
4353
4354         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
4355         (remote_fileio_badfd, remote_fileio_return_errno)
4356         (remote_fileio_return_success, remote_fileio_func_open)
4357         (remote_fileio_func_open, remote_fileio_func_close)
4358         (remote_fileio_func_read, remote_fileio_func_write)
4359         (remote_fileio_func_lseek, remote_fileio_func_rename)
4360         (remote_fileio_func_unlink, remote_fileio_func_stat)
4361         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
4362         (remote_fileio_func_isatty, remote_fileio_func_system): Add
4363         remote_target parameter.
4364         (remote_fio_func_map) <func>: Add remote_target parameter.
4365         (do_remote_fileio_request, remote_fileio_request):
4366         * remote-fileio.h (remote_fileio_request):
4367         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
4368         remote_target parameter.
4369         (remote_notif_process, handle_notification): Adjust to pass down
4370         the remote.
4371         (remote_notif_state_allocate): Add remote_target parameter.  Save
4372         it.
4373         * remote-notif.h (struct remote_target): Forward declare.
4374         (struct notif_client) <parse, ack, can_get_pending_events>: Add
4375         remote_target parameter.
4376         (struct remote_notif_state) <remote>: New field.
4377         (remote_notif_ack, remote_notif_parse): Add remote_target
4378         parameter.
4379         (remote_notif_state_allocate, remote_notif_state_allocate): Add
4380         remote_target parameter.
4381         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
4382         (threads_listing_context, rmt_thread_action, protocol_feature)
4383         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
4384         (packet_result, struct threads_listing_context, remote_state):
4385         Move definitions and declarations higher up.
4386         (remote_target) <~remote_target>: Declare.
4387         (remote_download_command_source, remote_file_put, remote_file_get)
4388         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
4389         (remote_hostio_pread_vFile, remote_hostio_send_command)
4390         (remote_hostio_set_filesystem, remote_hostio_open)
4391         (remote_hostio_close, remote_hostio_unlink, remote_state)
4392         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
4393         (get_memory_write_packet_size, get_memory_read_packet_size)
4394         (append_pending_thread_resumptions, remote_detach_1)
4395         (append_resumption, remote_resume_with_vcont)
4396         (add_current_inferior_and_thread, wait_ns, wait_as)
4397         (process_stop_reply, remote_notice_new_inferior)
4398         (process_initial_stop_replies, remote_add_thread)
4399         (btrace_sync_conf, remote_btrace_maybe_reopen)
4400         (remove_new_fork_children, kill_new_fork_children)
4401         (discard_pending_stop_replies, stop_reply_queue_length)
4402         (check_pending_events_prevent_wildcard_vcont)
4403         (discard_pending_stop_replies_in_queue, stop_reply)
4404         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
4405         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
4406         (remote_interrupt_as, remote_interrupt_ns)
4407         (remote_get_noisy_reply, remote_query_attached)
4408         (remote_add_inferior, remote_current_thread, get_current_thread)
4409         (set_thread, set_general_thread, set_continue_thread)
4410         (set_general_process, write_ptid)
4411         (remote_unpack_thread_info_response, remote_get_threadinfo)
4412         (parse_threadlist_response, remote_get_threadlist)
4413         (remote_threadlist_iterator, remote_get_threads_with_ql)
4414         (remote_get_threads_with_qxfer)
4415         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
4416         (get_offsets, remote_check_symbols, remote_supported_packet)
4417         (remote_query_supported, remote_packet_size)
4418         (remote_serial_quit_handler, remote_detach_pid)
4419         (remote_vcont_probe, remote_resume_with_hc)
4420         (send_interrupt_sequence, interrupt_query)
4421         (remote_notif_get_pending_events, fetch_register_using_p)
4422         (send_g_packet, process_g_packet, fetch_registers_using_g)
4423         (store_register_using_P, store_registers_using_G)
4424         (set_remote_traceframe, check_binary_download)
4425         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
4426         (remote_xfer_live_readonly_partial, remote_read_bytes)
4427         (remote_send_printf, remote_flash_write, readchar)
4428         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
4429         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
4430         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
4431         (extended_remote_disable_randomization, extended_remote_run)
4432         (send_environment_packet, extended_remote_environment_support)
4433         (extended_remote_set_inferior_cwd, remote_write_qxfer)
4434         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
4435         (packet_command): Now methods of ...
4436         (remote_target): ... this class.
4437         (m_remote_state) <remote_target>: New field.
4438         (struct remote_state) <stop_reply_queue,
4439         remote_async_inferior_event_token, wait_forever_enabled_p>: New
4440         fields.
4441         (remote_state::remote_state): Allocate stop_reply_queue.
4442         (remote_state): Delete global.
4443         (get_remote_state_raw): Delete.
4444         (remote_target::get_remote_state): Allocate m_remote_state on
4445         demand.
4446         (get_current_remote_target): New.
4447         (remote_ops, extended_remote_ops): Delete.
4448         (wait_forever_enabled_p, remote_async_inferior_event_token):
4449         Delete, moved to struct remote_state.
4450         (remote_target::close): Delete self.  Destruction bits split to
4451         ...
4452         (remote_target::~remote_target): ... this.
4453         (show_memory_packet_size): Adjust to use
4454         get_current_remote_target.
4455         (struct protocol_feature) <func>: Add remote_target parameter.
4456         All callers adjusted.
4457         (curr_quit_handler_target): New.
4458         (remote_serial_quit_handler): Reimplement.
4459         (remote_target::open_1): Adjust to use get_current_remote_target.
4460         Heap-allocate remote_target/extended_remote_target instances.
4461         (vcont_builder::vcont_builder): Add remote_target parameter, and
4462         save it in m_remote.  All callers adjusted.
4463         (vcont_builder::m_remote): New field.
4464         (vcont_builder::restart, vcont_builder::flush)
4465         (vcont_builder::push_action): Use it.
4466         (remote_target::commit_resume): Use it.
4467         (struct queue_iter_param) <remote>: New field.
4468         (remote_target::remove_new_fork_children): Fill in 'remote' field.
4469         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
4470         (check_pending_event_prevents_wildcard_vcont_callback)
4471         (remote_target::check_pending_events_prevent_wildcard_vcont)
4472         (remote_target::discard_pending_stop_replies)
4473         (remote_target::discard_pending_stop_replies_in_queue)
4474         (remote_target::remote_notif_remove_queued_reply): Fill in
4475         'remote' field.
4476         (remote_notif_get_pending_events): New.
4477         (remote_target::readchar, remote_target::remote_serial_write):
4478         Save/restore curr_quit_handler_target.
4479         (putpkt): New.
4480         (kill_new_fork_children): Fill in 'remote' field.
4481         (packet_command): Use get_current_remote_target, defer to
4482         remote_target method of same name.
4483         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
4484         parameter, and save it in m_remote.  All callers adjusted.
4485         (scoped_remote_fd::release): Use m_remote.
4486         (scoped_remote_fd::m_remote): New field.
4487         (remote_file_put, remote_file_get, remote_file_delete): Use
4488         get_current_remote_target, defer to remote_target method of same
4489         name.
4490         (remote_btrace_reset): Add remote_state paremeter.  Update all
4491         callers.
4492         (remote_async_inferior_event_handler). Pass down 'data'.
4493         (remote_new_objfile): Use get_current_remote_target.
4494         (remote_target::vcont_r_supported): New.
4495         (set_range_stepping): Use get_current_remote_target and
4496         remote_target::vcont_r_supported.
4497         (_initialize_remote): Don't allocate 'remote_state' and
4498         'stop_reply_queue' globals.
4499         * remote.h (struct remote_target): Forward declare.
4500         (getpkt, putpkt, remote_notif_get_pending_events): Add
4501         'remote_target' parameter.
4502
4503 2018-05-22  Pedro Alves  <palves@redhat.com>
4504
4505         * remote.c (vcont_builder): Now a class.  Make all data members
4506         private.
4507         (vcont_builder) <vcont_builder, restart, flush, push_action>:
4508         Declare methods.
4509         (vcont_builder_restart): Rename to ...
4510         (vcont_builder::restart): ... this.
4511         (vcont_builder_flush): Rename to ...
4512         (vcont_builder::flush): ... this.
4513         (vcont_builder_push_action): Rename to ...
4514         (vcont_builder::push_action): ... this.
4515         (remote_target::commit_resume): Adjust.
4516
4517 2018-05-22  Pedro Alves  <palves@redhat.com>
4518
4519         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
4520         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
4521         (get_fixed_memory_packet_size): New.
4522         (get_memory_packet_size): Use it.
4523         (set_memory_packet_size): Don't override the config size with
4524         DEFAULT_MAX_MEMORY_PACKET_SIZE.
4525         (show_memory_packet_size): Use get_fixed_memory_packet_size.
4526         Don't refer to get_memory_packet_size if not connected to a remote
4527         target.  Show "(default)" if configured size is 0.
4528
4529 2018-05-22  Pedro Alves  <palves@redhat.com>
4530
4531         * remote.c (remote_target::mourn_inferior): Move
4532         discard_pending_stop_replies call here from ...
4533         (_initialize_remote): ... here.
4534
4535 2018-05-22  Pedro Alves  <palves@redhat.com>
4536
4537         * remote.c (compare_section_command): Remove set_general_process
4538         call.
4539
4540 2018-05-22  Pedro Alves  <palves@redhat.com>
4541
4542         * remote.c (struct packet_reg, struct remote_arch_state):
4543         Move higher up in the file.
4544         (remote_state) <m_arch_states>: Store remote_arch_state values
4545         instead of remote_arch_state pointers.
4546         (remote_state::get_remote_arch_state): Adjust.
4547
4548 2018-05-22  Pedro Alves  <palves@redhat.com>
4549
4550         * remote.c: Include <unordered_map>.
4551         (remote_state): Now a class.
4552         (remote_state) <get_remote_arch_state>: Declare method.
4553         <get_remote_arch_state>: New field.
4554         (remote_arch_state) <remote_arch_state>: Declare ctor.
4555         <regs>: Now a unique_ptr.
4556         (remote_gdbarch_data_handle): Delete.
4557         (get_remote_arch_state): Delete.
4558         (remote_state::get_remote_arch_state): New.
4559         (get_remote_state): Adjust to call remote_state's
4560         get_remote_arch_state method.
4561         (init_remote_state): Delete, bits factored out to ...
4562         (remote_arch_state::remote_arch_state): ... this new method.
4563         (get_remote_packet_size, get_memory_packet_size)
4564         (process_g_packet, remote_target::fetch_registers)
4565         (remote_target::prepare_to_store, store_registers_using_G)
4566         (remote_target::store_registers, remote_target::get_trace_status):
4567         Adjust to call remote_state's method.
4568         (_initialize_remote): Remove reference to
4569         remote_gdbarch_data_handle.
4570
4571 2018-05-22  Pedro Alves  <palves@redhat.com>
4572
4573         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
4574         pread>: New method declarations.
4575         (remote_target::open_1): Adjust.
4576         (readahead_cache_invalidate): Rename to ...
4577         (readahead_cache::invalidate): ... this, and adjust to be a class
4578         method.
4579         (readahead_cache_invalidate_fd): Rename to ...
4580         (readahead_cache::invalidate_fd): ... this, and adjust to be a
4581         class method.
4582         (remote_hostio_pwrite): Adjust.
4583         (remote_hostio_pread_from_cache): Rename to ...
4584         (readahead_cache::pread): ... this, and adjust to be a class
4585         method.
4586         (remote_hostio_close): Adjust.
4587
4588 2018-05-22  Pedro Alves  <palves@redhat.com>
4589
4590         * remote.c (remote_hostio_close_cleanup): Delete.
4591         (class scoped_remote_fd): New.
4592         (remote_file_put, remote_file_get): Use it.
4593
4594 2018-05-22  Pedro Alves  <palves@redhat.com>
4595
4596         (struct vCont_action_support): Use bool and initialize all fields.
4597         (struct readahead_cache): Initialize all fields.
4598         (remote_state): Use bool and initialize all fields.
4599         (remote_state::remote_state, remote_state::~remote_state): New.
4600         (new_remote_state): Delete.
4601         (_initialize_remote): Use new to allocate remote_state.
4602
4603 2018-05-22  Pedro Alves  <palves@redhat.com>
4604             張俊芝  <zjz@zjz.name>
4605
4606         PR gdb/22973
4607         * c-exp.y: Include "c-support.h".
4608         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4609         of tolower.  Use c_ident_is_alpha to scan names.
4610         * c-lang.c: Include "c-support.h".
4611         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4612         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4613         * c-support.h: New file, with bits factored out from ...
4614         * cp-name-parser.y: ... this file.
4615         Include "c-support.h".
4616         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4617         c-support.h and renamed.
4618         (symbol_end, yylex): Adjust.
4619
4620 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4621
4622         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4623         parameter type to CORE_ADDR.
4624         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4625         parameter type in declaration to CORE_ADDR.
4626         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4627         target_auxv_search to get AT_HWCAP and use the result to get the
4628         target description.
4629         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4630         to CORE_ADDR. Remove the cast of the return value to unsigned
4631         long. Fix error predicate of target_auxv_search.
4632         (ppc_linux_nat_target::read_description): Change the type of the
4633         hwcap variable to CORE_ADDR.
4634
4635 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4636
4637         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4638         if the size of fpscr is larger than 32 bits.
4639
4640 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4641
4642         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4643         (ppc32_linux_vsxregmap): New global.
4644         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4645         regcache_supply_regset, and regcache_collect_regset.
4646         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4647         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4648         (fetch_vsx_register, store_vsx_register): Remove.
4649         (fetch_vsx_registers): Add regno parameter. Get regset using
4650         ppc_linux_vsxregset. Use regset to supply registers.
4651         (store_vsx_registers): Add regno parameter. Get regset using
4652         ppc_linux_vsxregset. Use regset to collect registers.
4653         (fetch_register): Call fetch_vsx_registers instead of
4654         fetch_vsx_register.
4655         (store_register): Call store_vsx_registers instead of
4656         store_vsx_register.
4657         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4658         new regno parameter.
4659         (store_ppc_registers): Call store_vsx_registers with -1 for the
4660         new regno parameter.
4661         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4662         (ppc_collect_vsxregset): Remove.
4663
4664 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4665
4666         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4667         offset fields.
4668         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4669         for vector register offset fields.
4670         (ppc64_fbsd_reg_offsets): Likewise.
4671         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4672         to vector register offset fields.
4673         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4674         to vector register offset fields.
4675         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4676         vector register offset fields.
4677         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4678         initializers for vector register offset fields.
4679         (rs6000_aix64_reg_offsets): Likewise.
4680         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4681         (ppc_supply_vrregset): Remove.
4682         (ppc_collect_vrregset): Remove.
4683         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4684         (ppc_linux_vrregset) : New function.
4685         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4686         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4687         (ppc32_linux_vrregset): Remove.
4688         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4689         and use result instead of ppc32_linux_vrregset.
4690         (ppc32_linux_reg_offsets): Remove initializers for vector register
4691         offset fields.
4692         (ppc64_linux_reg_offsets): Likewise.
4693         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4694         * ppc-linux-nat.c: Include regset.h.
4695         (gdb_vrregset_t): Adjust comment to account for little-endian
4696         mode.
4697         (supply_vrregset, fill_vrregset): Remove.
4698         (fetch_altivec_register, store_altivec_register): Remove.
4699         (fetch_altivec_registers): Add regno parameter. Get regset using
4700         ppc_linux_vrregset. Use regset to supply registers.
4701         (store_altivec_registers): Add regno parameter. Get regset using
4702         ppc_linux_vrregset. Use regset to collect registers.
4703         (fetch_register): Call fetch_altivec_registers instead of
4704         fetch_altivec_register.
4705         (store_register): Call store_altivec_registers instead of
4706         store_altivec_register.
4707         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4708         the new regno parameter.
4709         (store_ppc_registers): Call store_altivec_registers with -1 for
4710         the new regno parameter.
4711
4712 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4713
4714         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4715         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4716         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4717         (gdb_vrregset_t): Change array type size to
4718         PPC_LINUX_SIZEOF_VRREGSET.
4719         (gdb_vsxregset_t): Change array type size to
4720         PPC_LINUX_SIZEOF_VSXREGSET.
4721         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4722         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4723         PPC_LINUX_SIZEOF_VSXREGSET.
4724
4725 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4726
4727         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4728         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4729         nat/ppc-linux.c.
4730         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4731         ppc_linux_target_wordsize with tid.
4732         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4733         wordsize with tid.
4734         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4735         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4736         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4737         tid parameter. Remove static specifier.
4738         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4739         (ppc_linux_target_wordsize): New declaration.
4740
4741 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4742
4743         * arch/ppc-linux-common.c: New file.
4744         * arch/ppc-linux-common.h: New file.
4745         * arch/ppc-linux-tdesc.h: New file.
4746         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4747         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4748         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4749         arch/ppc-linux-tdesc.h.
4750         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4751         arch/ppc-linux-tdesc.h.
4752         (ppc_linux_nat_target::read_description): Remove target
4753         description matching code. Fill a ppc_linux_features struct and
4754         call ppc_linux_match_description with it. Move comment about ISA
4755         2.05 to ppc-linux-common.c.
4756         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4757         arch/ppc-linux-tdesc.h.
4758         (ppc_linux_core_read_description): Remove target description
4759         matching code. Fill a ppc_linux_features struct and call
4760         ppc_linux_match_description with it.
4761         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4762         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4763         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4764         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4765         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4766         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4767         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4768         (tdesc_powerpc_e500l): Remove.
4769
4770 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4771
4772         * ada-lang.c (catch_assert_command): Pass empty string instead
4773         of NULL for excep_string argument.
4774
4775 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4776
4777         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4778         the width of the requested register exceeds the width of the
4779         `ptrace' data type.
4780
4781 2018-05-21  Tom Tromey  <tom@tromey.com>
4782
4783         * printcmd.c (output_command): Remove.
4784         (output_command_const): Rename to output_command.
4785         * valprint.h (output_command): Rename from output_command_const.
4786         * tracepoint.c (trace_dump_actions): Call output_command.
4787
4788 2018-05-21  Tom Tromey  <tom@tromey.com>
4789
4790         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4791         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4792         * ada-lang.h (create_ada_exception_catchpoint): Update.
4793         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4794         std::string.
4795         (create_excep_cond_exprs, ~ada_catchpoint)
4796         (should_stop_exception, print_one_exception)
4797         (print_mention_exception, print_recreate_exception): Update.
4798         (ada_get_next_arg): Remove.
4799         (catch_ada_exception_command_split): Use std::string.  Change type
4800         of "excep_string", "cond_string".
4801         (catch_ada_exception_command): Update.
4802         (create_ada_exception_catchpoint): Change type of excep_string.
4803         (ada_exception_sal): Remove excep_string parameter.
4804         (~ada_catchpoint): Remove.
4805
4806 2018-05-21  Tom Tromey  <tom@tromey.com>
4807
4808         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4809         cleanup.
4810
4811 2018-05-21  Tom Tromey  <tom@tromey.com>
4812
4813         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4814         Return unique_xmalloc_ptr.
4815         (print_it_exception): Update.
4816
4817 2018-05-21  Tom Tromey  <tom@tromey.com>
4818
4819         * tracepoint.c (trace_dump_actions): Use std::string.
4820
4821 2018-05-21  Tom Tromey  <tom@tromey.com>
4822
4823         * symfile.c (reread_symbols): Use std::string for original_name.
4824
4825 2018-05-21  Tom Tromey  <tom@tromey.com>
4826
4827         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4828         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4829         constructor.
4830
4831 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4832
4833         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4834         instance to...
4835         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4836         * objfiles.c (get_objfile_bfd_data): Allocate
4837         objfile_per_bfd_storage with obstack_new when allocating on
4838         obstack.
4839
4840 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4841
4842         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4843         OBSTACK_ZALLOC.
4844         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4845         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4846         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4847         (add_pending): Likewise.
4848         (parse_symbol): Likewise.
4849         (parse_partial_symbols): Likewise.
4850         (psymtab_to_symtab_1): Likewise.
4851         (new_psymtab): Likewise.
4852         (elfmdebug_build_psymtabs): Likewise.
4853         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4854         * objfiles.c (get_objfile_bfd_data): Likewise.
4855         (objfile_register_static_link): Likewise.
4856         * psymtab.c (allocate_psymtab): Likewise.
4857         * stabsread.c (read_member_functions): Likewise.
4858         * xcoffread.c (xcoff_end_psymtab): Likewise.
4859
4860 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4861
4862         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4863         compiler supports std::is_trivially_constructible.
4864         * common/poison.h: Include obstack.h.
4865         (IsMallocable): Define to is_trivially_constructible if the
4866         compiler supports it, define to true_type otherwise.
4867         (xobnew): New.
4868         (XOBNEW): Redefine.
4869         (xobnewvec): New.
4870         (XOBNEWVEC): Redefine.
4871         * gdb_obstack.h (obstack_zalloc): New.
4872         (OBSTACK_ZALLOC): Redefine.
4873         (obstack_calloc): New.
4874         (OBSTACK_CALLOC): Redefine.
4875         (obstack_new): New.
4876         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4877         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4878         gdbarch.c.
4879         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4880         obstack_calloc/obstack_zalloc.
4881         (gdbarch_obstack_zalloc): Remove.
4882         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4883
4884 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4885
4886         * stack.c (backtrace_command_1): Remove useless variable int i.
4887
4888 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4889
4890         * stack.c (print_frame_info): Fix comment.
4891
4892 2018-05-18  Tom Tromey  <tom@tromey.com>
4893
4894         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4895         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4896         (~dwarf2_per_objfile): Update
4897         (dwarf2_get_dwz_file): Use new.
4898         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4899         unique_ptr.
4900
4901 2018-05-18  Tom Tromey  <tom@tromey.com>
4902
4903         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4904         unique_ptr.
4905         * dwarf2read.c (struct dwp_file): Add constructor and
4906         initializers.
4907         (open_and_init_dwp_file): Return a unique_ptr.
4908         (dwarf2_per_objfile, create_dwp_hash_table)
4909         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4910         (lookup_dwo_unit_in_dwp): Update.
4911         (open_and_init_dwp_file, get_dwp_file): Update.
4912
4913 2018-05-18  Tom Tromey  <tom@tromey.com>
4914
4915         * dwarf2read.c (dwarf2_per_objfile): Update.
4916         (struct mapped_index): Add initializers.
4917         (dwarf2_read_index): Use new.
4918         (dw2_symtab_iter_init): Update.
4919         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4920         unique_ptr.
4921
4922 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4923
4924         * dwarf2read.c (mapped_index) <total_size>: Remove.
4925
4926 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4927
4928         * unittests/format_pieces-selftests.c (test_format_specifier):
4929         Add ARI comments.
4930
4931 2018-05-18  Tom Tromey  <tom@tromey.com>
4932
4933         * c-typeprint.c (maybe_print_hole): New function.
4934         (c_print_type_struct_field_offset): Update.
4935         (c_type_print_base_struct_union): Call maybe_print_hole.
4936
4937 2018-05-17  Keith Seitz  <keiths@redhat.com>
4938
4939         * breakpoint.c (build_bpstat_chain): New function, moved from
4940         bpstat_stop_status.
4941         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4942         If no stop chain is passed, call build_bpstat_chain to build it.
4943         * breakpoint.h (build_bpstat_chain): Declare.
4944         (bpstat_stop_status): Move documentation here from breakpoint.c.
4945         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4946         build the stop chain and pass it to skip_inline_frames.
4947         Pass this stop chain to bpstat_stop_status.
4948         * inline-frame.c: Include breakpoint.h.
4949         (stopped_by_user_bp_inline_frame): New function.
4950         (skip_inline_frames): Add parameter `stop_chain'.
4951         Move documention to inline-frame.h.
4952         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4953         whether the frame should be elided.
4954         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4955         Add moved documentation and update for new parameter.
4956
4957 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4958
4959         PR cli/14975
4960         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4961         unittests/format_pieces-selftests.c.
4962         * common/format.h (format_piece) <operator==>: New.
4963         (format_pieces) <operator[]>: Remove.
4964         * common/format.c (format_pieces::format_pieces): Handle \e.
4965         * unittests/format_pieces-selftests.c: New.
4966
4967 2018-05-17  Tom Tromey  <tom@tromey.com>
4968
4969         PR symtab/23010:
4970         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
4971         (dw2_instantiate_symtab): Add skip_partial parameter.
4972         (dw2_find_last_source_symtab, dw2_map_expand_apply)
4973         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
4974         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
4975         (dw2_expand_symtabs_matching_one)
4976         (dw2_find_pc_sect_compunit_symtab)
4977         (dw2_debug_names_lookup_symbol)
4978         (dw2_debug_names_expand_symtabs_for_function): Update.
4979         (init_cutu_and_read_dies): Add skip_partial parameter.
4980         (process_psymtab_comp_unit, build_type_psymtabs_1)
4981         (process_skeletonless_type_unit, load_partial_comp_unit)
4982         (psymtab_to_symtab_1): Update.
4983         (load_full_comp_unit): Add skip_partial parameter.
4984         (process_imported_unit_die, dwarf2_read_addr_index)
4985         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
4986         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
4987         (read_signatured_type): Update.
4988
4989 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4990
4991         * value.c (release_value): Remove unused variable.
4992         (record_latest_value): Likewise.
4993         (access_value_history): Likewise.
4994         (preserve_values): Likewise.
4995
4996 2018-05-17  Tom Tromey  <tom@tromey.com>
4997
4998         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
4999         Initialize.
5000
5001 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
5002
5003         PR gdb/22286
5004         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
5005         Also handle registers whose width is not a multiple of
5006         PTRACE_TYPE_RET.
5007         (linux_nat_trad_target::store_register): Likewise.
5008
5009 2018-05-16  Tom Tromey  <tom@tromey.com>
5010
5011         * gdbcore.h (core_bfd): Redefine.
5012         * corelow.c (core_target::close): Update.
5013         (core_target_open): Update.
5014         * progspace.h (struct program_space) <cbfd>: Now a
5015         gdb_bfd_ref_ptr.
5016
5017 2018-05-16  Tom Tromey  <tom@tromey.com>
5018
5019         PR cli/19551:
5020         * symfile-add-flags.h (enum symfile_add_flags)
5021         <SYMFILE_NOT_FILENAME>: New constant.
5022         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
5023         objfile name from BFD.
5024         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
5025         * minidebug.c (find_separate_debug_file_in_section): Put
5026         ".gnu_debugdata" into BFD's file name.
5027
5028 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
5029
5030         * regcache.c (regcache_read_ftype, regcache_write_ftype):
5031         Remove.
5032
5033 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
5034
5035         PR binutils/21446
5036         * aarch64-tdep.c (aarch64_analyze_prologue,
5037         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
5038         Indicate not interested in errors.
5039
5040 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5041
5042         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
5043         Supply the MIPS_ZERO_REGNUM register.
5044
5045 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
5046
5047         * mips-tdep.c (mask_address_var): Make variable static.
5048
5049 2018-05-14  Tom Tromey  <tom@tromey.com>
5050
5051         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
5052
5053 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
5054
5055         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
5056         FXSAVE_ADDR for the mxcsr register.
5057
5058 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
5059
5060         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
5061
5062 2018-05-11  Pedro Alves  <palves@redhat.com>
5063
5064         * corelow.c (core_target) <core_target>: No longer inline.
5065         Initialize m_core_gdbarch, m_core_vec and build the section table
5066         here.
5067         <~core_target>: New.
5068         <core_gdbarch, get_core_register_section>: New methods.
5069         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
5070         factored out from ...
5071         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
5072         (core_ops): Delete.
5073         (sniff_core_bfd): Add gdbarch parameter.
5074         (core_close): Delete, merged into ...
5075         (core_target::close): ... here.  Delete self.
5076         (core_close_cleanup): Delete.
5077         (core_target_open): Allocate a core_target on the heap.  Use a
5078         unique_ptr instead of a cleanup.  Bits moved into the core_target
5079         ctor.  Adjust to use core_target methods instead of globals.
5080         (get_core_register_section): Rename to ...
5081         (core_target::get_core_register_section): ... this and adjust.
5082         (struct get_core_registers_cb_data): New.
5083         (get_core_registers_cb): Use it.  Use bool.
5084         (core_target::fetch_registers, core_target::files_info)
5085         (core_target::xfer_partial, core_target::read_description)
5086         (core_target::pid_to, core_target::thread_name): Adjust to
5087         reference class fields instead of globals.
5088         * target.h (struct target_ops_deleter, target_ops_up): New.
5089
5090 2018-05-11  Pedro Alves  <palves@redhat.com>
5091
5092         * corefile.c (core_file_command): Move to corelow.c.
5093         * corelow.c (the_core_target): Delete.
5094         (core_file_command): Moved from corefile.c.  Check exec_bfd
5095         instead of the_core_target.  Use target_detach instead of calling
5096         into the_core_target directly.
5097         (maybe_say_no_core_file_now): New.
5098         (core_target::detach): Use it.
5099         (_initialize_corelow): Remove references to the_core_target.
5100         * gdbcore.h (the_core_target): Delete.
5101
5102 2018-05-11  Tom Tromey  <tromey@redhat.com>
5103             Pedro Alves  <palves@redhat.com>
5104
5105         * corefile.c (core_bfd): Remove.
5106         * gdbcore.h (core_bfd): Now a macro.
5107         * progspace.h (struct program_space) <cbfd>: New field.
5108
5109 2018-05-11  Tom Tromey  <tom@tromey.com>
5110
5111         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
5112         gdb::def_vector.
5113
5114 2018-05-10  Tom Tromey  <tom@tromey.com>
5115
5116         * configure: Rebuild.
5117         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
5118
5119 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
5120
5121         PR server/23158:
5122         * regformats/regdat.sh: Adjust script, following the addition
5123         of the new expedite_regs parameter to init_target_desc.
5124
5125 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
5126     
5127         PR gdb/23127
5128         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
5129         set_gdbarch_significant_addr_bit.
5130         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
5131         set_gdbarch_significant_addr_bit.
5132         * utils.c (address_significant): Update to sign extend addr.
5133
5134 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
5135
5136         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
5137         (xtensa_linux_init_abi): Limit tdep->num_regs by
5138         tdep->num_nopriv_regs.
5139         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
5140         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
5141         not initialized.
5142
5143 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
5144
5145         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
5146
5147 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
5148
5149         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
5150         (I387_MXCSR_INIT_VAL): New constant.
5151         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
5152         buffer if it was supplied by the inferior.
5153         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
5154         (i387_xsave_get_clear_bv): New function.
5155         (i387_supply_xsave): Only read x87 control registers from the
5156         xsave buffer if the feature is enabled, and the state will have
5157         been written, otherwise, provide a suitable default.
5158         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
5159         including x87 control registers.  Update control registers if they
5160         have changed from the default value, and mark features as enabled
5161         as required.
5162         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
5163
5164 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
5165
5166         * spu-tdep.c (info_spu_event_command): Fix output formatting.
5167
5168 2018-05-07  Tom Tromey  <tom@tromey.com>
5169
5170         * configure: Rebuild.
5171         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
5172
5173 2018-05-07  Tom Tromey  <tom@tromey.com>
5174
5175         PR tdep/20362:
5176         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
5177         bit.  Use correct value for VDIV.
5178
5179 2018-05-04  Tom Tromey  <tom@tromey.com>
5180
5181         * configure: Rebuild.
5182         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
5183
5184 2018-05-04  Tom Tromey  <tom@tromey.com>
5185
5186         * linux-record.c (record_linux_system_call) <case
5187         RECORD_SYS_RECVFROM>: Add "break".
5188
5189 2018-05-04  Tom Tromey  <tom@tromey.com>
5190
5191         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
5192         Add missing "break".
5193         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
5194         Add missing "break".
5195
5196 2018-05-04  Tom Tromey  <tom@tromey.com>
5197
5198         * rs6000-tdep.c (ppc_process_record_op4)
5199         (ppc_process_record_op63): Add fall-through comment.
5200
5201 2018-05-04  Tom Tromey  <tom@tromey.com>
5202
5203         * i386-tdep.c (i386_process_record): Add fall-through comment.
5204
5205 2018-05-04  Tom Tromey  <tom@tromey.com>
5206
5207         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
5208         comment.
5209
5210 2018-05-04  Tom Tromey  <tom@tromey.com>
5211
5212         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
5213         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
5214         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
5215         comment.
5216         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
5217         comment.
5218         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
5219         comment.
5220
5221 2018-05-04  Tom Tromey  <tom@tromey.com>
5222
5223         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
5224
5225 2018-05-04  Tom Tromey  <tom@tromey.com>
5226
5227         * s390-tdep.c (s390_process_record): Fix fall-through comments.
5228         * xcoffread.c (scan_xcoff_symtab): Move comment later.
5229         * symfile.c (section_is_mapped): Fix fall-through comment.
5230         * stabsread.c (define_symbol, read_member_functions): Fix
5231         fall-through comment.
5232         * s390-linux-tdep.c (s390_process_record): Fix fall-through
5233         comment.
5234         * remote.c (remote_wait_as): Fix fall-through comment.
5235         * p-exp.y (yylex): Fix fall-through comment.
5236         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
5237         comment.
5238         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
5239         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
5240         * jv-exp.y (yylex): Fix fall-through comment.
5241         * go-exp.y (lex_one_token): Fix fall-through comment.
5242         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
5243         fall-through comment.
5244         * f-exp.y (yylex): Fix fall-through comment.
5245         * dwarf2read.c (process_die): Fix fall-through comments.
5246         * dbxread.c (process_one_symbol): Fix fall-through comment.
5247         * d-exp.y (lex_one_token): Fix fall-through comment.
5248         * cp-name-parser.y (yylex): Fix fall-through comment.
5249         * coffread.c (coff_symtab_read): Fix fall-through comment.
5250         * c-exp.y (lex_one_token): Fix fall-through comment.
5251         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
5252         comment.
5253         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
5254         comment.
5255
5256 2018-05-04  Tom Tromey  <tom@tromey.com>
5257
5258         PR python/22730:
5259         * NEWS: Mention gdb.execute change.
5260         * gdbcmd.h (execute_control_command): Don't declare.
5261         * python/python.c (execute_gdb_command): Use read_command_lines_1,
5262         execute_control_commands, execute_control_commands_to_string.
5263         * cli/cli-script.h (execute_control_commands)
5264         (execute_control_commands_to_string): Declare.
5265         (execute_control_command): Add from_tty parameter.
5266         * cli/cli-script.c (execute_control_commands)
5267         (execute_control_commands_to_string): New functions.
5268         (execute_user_command): Use execute_control_commands.
5269         (execute_control_command_1): Add "from_tty" parameter.  Update.
5270         (execute_control_command): Likewise.
5271
5272 2018-05-04  Tom Tromey  <tom@tromey.com>
5273
5274         PR python/22731:
5275         * NEWS: Mention that breakpoint commands are writable.
5276         * python/py-breakpoint.c (bppy_set_commands): New function.
5277         (breakpoint_object_getset) <"commands">: Use it.
5278
5279 2018-05-04  Tom Tromey  <tom@tromey.com>
5280
5281         * tracepoint.c (actions_command): Update.
5282         * mi/mi-cmd-break.c (mi_command_line_array)
5283         (mi_command_line_array_cnt, mi_command_line_array_ptr)
5284         (mi_read_next_line): Remove.
5285         (mi_cmd_break_commands): Update.
5286         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
5287         function_view.
5288         * cli/cli-script.c (get_command_line): Update.
5289         (process_next_line): Use function_view.  Constify.
5290         (recurse_read_control_structure, read_command_lines)
5291         (read_command_lines_1): Change argument types to function_view.
5292         (do_define_command, document_command): Update.
5293         * breakpoint.h (check_tracepoint_command): Don't declare.
5294         * breakpoint.c (check_tracepoint_command): Remove.
5295         (commands_command_1, create_tracepoint_from_upload): Update.
5296
5297 2018-05-04  Tom Tromey  <tom@tromey.com>
5298
5299         PR gdb/11750:
5300         * cli/cli-script.h (enum command_control_type) <define_control>:
5301         New constant.
5302         * cli/cli-script.c (multi_line_command_p): Handle define_control.
5303         (build_command_line, execute_control_command_1)
5304         (process_next_line): Likewise.
5305         (do_define_command): New function, extracted from define_command.
5306         (define_command): Use it.
5307
5308 2018-05-04  Tom Tromey  <tom@tromey.com>
5309
5310         * tracepoint.c (actions_command): Update.
5311         * cli/cli-script.h (read_command_lines): Update.
5312         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
5313         (MAX_TMPBUF): Remove define.
5314         (define_command): Use string_printf.
5315         (document_command): Likewise.
5316         * breakpoint.c (commands_command_1): Update.
5317
5318 2018-05-04  Tom Tromey  <tom@tromey.com>
5319
5320         * top.c (execute_command): Update.
5321         * cli/cli-script.h (print_command_lines): Now varargs.
5322         * cli/cli-script.c (print_command_lines): Now varargs.
5323         (execute_control_command_1) <case while_control, case if_control>:
5324         Update.
5325
5326 2018-05-04  Tom Tromey  <tom@tromey.com>
5327
5328         * tracepoint.c (all_tracepoint_actions): Rename from
5329         all_tracepoint_actions_and_cleanup.  Change return type.
5330         (actions_command, encode_actions_1, encode_actions)
5331         (trace_dump_actions, tdump_command): Update.
5332         * remote.c (remote_download_command_source): Update.
5333         * python/python.c (gdbpy_eval_from_control_command)
5334         (python_command, python_interactive_command): Update.
5335         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
5336         * guile/guile.c (guile_command)
5337         (gdbscm_eval_from_control_command, guile_command): Update.
5338         * compile/compile.c (compile_code_command)
5339         (compile_print_command, compile_to_object): Update.
5340         * cli/cli-script.h (struct command_lines_deleter): New.
5341         (counted_command_line): New typedef.
5342         (struct command_line): Add constructor, destructor.
5343         <body_list>: Remove.
5344         <body_list_0, body_list_1>: New members.
5345         (command_line_up): Remove typedef.
5346         (read_command_lines, read_command_lines_1, get_command_line):
5347         Update.
5348         (copy_command_lines): Don't declare.
5349         * cli/cli-script.c (build_command_line): Use "new".
5350         (get_command_line): Return counted_command_line.
5351         (print_command_lines, execute_user_command)
5352         (execute_control_command_1, while_command, if_command): Update.
5353         (realloc_body_list): Remove.
5354         (process_next_line, recurse_read_control_structure): Update.
5355         (read_command_lines, read_command_lines_1): Return counted_command_line.
5356         (free_command_lines): Use "delete".
5357         (copy_command_lines): Remove.
5358         (define_command, document_command, show_user_1): Update.
5359         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
5360         a counted_command_line.
5361         * breakpoint.h (counted_command_line): Remove typedef.
5362         (breakpoint_set_commands): Update.
5363         * breakpoint.c (check_no_tracepoint_commands)
5364         (validate_commands_for_breakpoint): Update.
5365         (breakpoint_set_commands): Change commands to be a
5366         counted_command_line.
5367         (commands_command_1, update_dprintf_command_list)
5368         (create_tracepoint_from_upload): Update.
5369
5370 2018-05-04  Tom Tromey  <tom@tromey.com>
5371
5372         * cli/cli-decode.h (cmd_list_element): New constructor.
5373         (~cmd_list_element): New destructor.
5374         (struct cmd_list_element): Add initializers.
5375         * cli/cli-decode.c (do_add_cmd): Use "new".
5376         (delete_cmd): Use "delete".
5377
5378 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
5379             Pedro Alves <palves@redhat.com>
5380
5381         PR breakpoints/19806 and support for PR external/20207.
5382         * NEWS: Mention Aarch64 watchpoint improvements.
5383         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
5384         watchpoints and PR external/20207 watchpoints.
5385         * nat/aarch64-linux-hw-point.c
5386         (kernel_supports_any_contiguous_range): New.
5387         (aarch64_watchpoint_offset): New.
5388         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
5389         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
5390         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
5391         (aarch64_align_watchpoint): New parameters aligned_offset_p and
5392         next_addr_orig_p.  Support PR external/20207 watchpoints.
5393         (aarch64_downgrade_regs): New.
5394         (aarch64_dr_state_insert_one_point): New parameters offset and
5395         addr_orig.
5396         (aarch64_dr_state_remove_one_point): Likewise.
5397         (aarch64_handle_breakpoint): Update caller.
5398         (aarch64_handle_aligned_watchpoint): Likewise.
5399         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
5400         aligned_offset.
5401         (aarch64_linux_set_debug_regs): Remove const from state.  Call
5402         aarch64_downgrade_regs.
5403         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
5404         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
5405         (DR_CONTROL_MASK): ... this.
5406         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
5407         (unsigned int aarch64_watchpoint_offset): New prototype.
5408         (aarch64_linux_set_debug_regs): Remove const from state.
5409         * utils.c (align_up, align_down): Move to ...
5410         * common/common-utils.c (align_up, align_down): ... here.
5411         * utils.h (align_up, align_down): Move to ...
5412         * common/common-utils.h (align_up, align_down): ... here.
5413
5414 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
5415
5416         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
5417         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
5418         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
5419         Re-implement to match the ABI as summarized in GCC's
5420         gcc/config/sparc/sparc.c.  All callers updated.
5421         (sparc32_store_arguments): Remove assertion.
5422
5423 2018-05-04  Tom Tromey  <tom@tromey.com>
5424
5425         * printcmd.c: Don't include tui.h.
5426         (decode_format): Use skip_spaces.
5427
5428 2018-05-04  Tom Tromey  <tom@tromey.com>
5429
5430         PR gdb/22619:
5431         * printcmd.c (last_count): New global.
5432         (x_command): Use saved count when repeating.
5433
5434 2018-05-04  Tom Tromey  <tom@tromey.com>
5435
5436         * nto-procfs.c (do_closedir_cleanup): Remove.
5437         (procfs_pidlist): Use gdb_dir_up.
5438         * procfs.c (do_closedir_cleanup): Remove.
5439         (proc_update_threads): Use gdb_dir_up.
5440         * common/filestuff.h (struct gdb_dir_deleter): New.
5441         (gdb_dir_up): New typedef.
5442
5443 2018-05-04  Tom Tromey  <tom@tromey.com>
5444
5445         * ada-lang.c (print_mention_exception): Use std::string.
5446
5447 2018-05-04  Tom Tromey  <tom@tromey.com>
5448
5449         * ada-lang.c (create_excep_cond_exprs): Update.
5450         (ada_exception_catchpoint_cond_string): Use std::string.
5451
5452 2018-05-04  Tom Tromey  <tom@tromey.com>
5453
5454         * ada-lang.c (xget_renaming_scope): Return std::string.
5455         (old_renaming_is_invisible): Update.
5456
5457 2018-05-04  Tom Tromey  <tom@tromey.com>
5458
5459         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
5460         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
5461
5462 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
5463
5464         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
5465
5466 2018-05-04  Tom Tromey  <tom@tromey.com>
5467
5468         * remote.c (remote_query_supported_append): Change type.
5469         (remote_check_symbols): Update.
5470
5471 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
5472
5473         PR gdb/11420
5474         * configure.ac: Prepend libpython.
5475         * python/python-config.py: Likewise.
5476         * configure: Regenerate.
5477
5478 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
5479
5480         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
5481
5482 2018-05-03  Pedro Alves  <palves@redhat.com>
5483
5484         * s390-linux-nat.c
5485         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
5486         override.  Write 'true' instead of '1'.
5487         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
5488         declaration.
5489
5490 2018-05-02  Pedro Alves  <palves@redhat.com>
5491
5492         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
5493         add_inf_child_target.
5494         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
5495         add_inf_child_target.
5496         * aix-thread.c (aix_thread_target_info): New.
5497         (aix_thread_target) <shortname, longname, doc>: Delete.
5498         <info>: New.
5499         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
5500         add_inf_child_target.
5501         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
5502         add_inf_child_target.
5503         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
5504         add_inf_child_target.
5505         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
5506         add_inf_child_target.
5507         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
5508         add_inf_child_target.
5509         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
5510         add_inf_child_target.
5511         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
5512         add_inf_child_target.
5513         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
5514         add_inf_child_target.
5515         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
5516         add_inf_child_target.
5517         * bfd-target.c (target_bfd_target_info): New.
5518         (target_bfd) <shortname, longname, doc>: Delete.
5519         <info>: New.
5520         * bsd-kvm.c (bsd_kvm_target_info): New.
5521         (bsd_kvm_target) <shortname, longname, doc>: Delete.
5522         <info>: New.
5523         (bsd_kvm_target::open): Rename to ...
5524         (bsd_kvm_target_open): ... this.  Adjust.
5525         * bsd-uthread.c (bsd_uthread_target_info): New.
5526         (bsd_uthread_target) <shortname, longname, doc>: Delete.
5527         <info>: New.
5528         * corefile.c (core_file_command): Adjust.
5529         * corelow.c (core_target_info): New.
5530         (core_target) <shortname, longname, doc>: Delete.
5531         <info>: New.
5532         (core_target::open): Rename to ...
5533         (core_target_open): ... this.  Adjust.
5534         * ctf.c (ctf_target_info): New.
5535         (ctf_target) <shortname, longname, doc>: Delete.
5536         <info>: New.
5537         (ctf_target::open): Rename to ...
5538         (ctf_target_open): ... this.
5539         (_initialize_ctf): Adjust.
5540         * exec.c (exec_target_info): New.
5541         (exec_target) <shortname, longname, doc>: Delete.
5542         <info>: New.
5543         (exec_target::open): Rename to ...
5544         (exec_target_open): ... this.
5545         * gdbcore.h (core_target_open): Declare.
5546         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
5547         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
5548         add_inf_child_target.
5549         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
5550         add_inf_child_target.
5551         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
5552         add_inf_child_target.
5553         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
5554         add_inf_child_target.
5555         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
5556         add_inf_child_target.
5557         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
5558         add_inf_child_target.
5559         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
5560         add_inf_child_target.
5561         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
5562         add_inf_child_target.
5563         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
5564         add_inf_child_target.
5565         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
5566         add_inf_child_target.
5567         * inf-child.c (inf_child_target_info): New.
5568         (inf_child_target::info): New.
5569         (inf_child_open_target): Remove 'target' parameter.  Use
5570         get_native_target instead.
5571         (inf_child_target::open): Delete.
5572         (add_inf_child_target): New.
5573         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
5574         Delete.
5575         <info>: New.
5576         (add_inf_child_target): Declare.
5577         (inf_child_open_target): Declare.
5578         * linux-thread-db.c (thread_db_target_info): New.
5579         (thread_db_target) <shortname, longname, doc>: Delete.
5580         <info>: New.
5581         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
5582         add_inf_child_target.
5583         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
5584         add_inf_child_target.
5585         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
5586         add_inf_child_target.
5587         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5588         add_inf_child_target.
5589         * make-target-delegates (print_class): Adjust.
5590         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5591         add_inf_child_target.
5592         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5593         add_inf_child_target.
5594         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5595         add_inf_child_target.
5596         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5597         add_inf_child_target.
5598         * nto-procfs.c (nto_native_target_info): New.
5599         (nto_procfs_target_native) <shortname, longname, doc>:
5600         Delete.
5601         <info>: New.
5602         (nto_procfs_target_info): New.
5603         (nto_procfs_target_procfs) <shortname, longname, doc>:
5604         Delete.
5605         <info>: New.
5606         (init_procfs_targets): Adjust.
5607         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5608         add_inf_child_target.
5609         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5610         add_inf_child_target.
5611         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5612         add_inf_child_target.
5613         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5614         add_inf_child_target.
5615         * ravenscar-thread.c (ravenscar_target_info): New.
5616         (ravenscar_thread_target) <shortname, longname, doc>:
5617         Delete.
5618         <info>: New.
5619         * record-btrace.c (record_btrace_target_info):
5620         (record_btrace_target) <shortname, longname, doc>: Delete.
5621         <info>: New.
5622         (record_btrace_target::open): Rename to ...
5623         (record_btrace_target_open): ... this.  Adjust.
5624         * record-full.c (record_longname, record_doc): New.
5625         (record_full_base_target) <shortname, longname, doc>: Delete.
5626         <info>: New.
5627         (record_full_target_info): New.
5628         (record_full_target): <shortname>: Delete.
5629         <info>: New.
5630         (record_full_core_open_1, record_full_open_1): Update comments.
5631         (record_full_base_target::open): Rename to ...
5632         (record_full_open): ... this.
5633         (cmd_record_full_restore): Update.
5634         (_initialize_record_full): Update.
5635         * remote-sim.c (remote_sim_target_info): New.
5636         (gdbsim_target) <shortname, longname, doc>: Delete.
5637         <info>: New.
5638         (gdbsim_target::open): Rename to ...
5639         (gdbsim_target_open): ... this.
5640         (_initialize_remote_sim): Adjust.
5641         * remote.c (remote_doc): New.
5642         (remote_target_info): New.
5643         (remote_target) <shortname, longname, doc>: Delete.
5644         <info>: New.
5645         (extended_remote_target_info): New.
5646         (extended_remote_target) <shortname, longname, doc>: Delete.
5647         <info>: New.
5648         (remote_target::open_1): Make static.  Adjust.
5649         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5650         * s390-linux-nat.c (_initialize_s390_nat): Use
5651         add_inf_child_target.
5652         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5653         add_inf_child_target.
5654         * sol-thread.c (thread_db_target_info): New.
5655         (sol_thread_target) <shortname, longname, doc>: Delete.
5656         <info>: New.
5657         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5658         add_inf_child_target.
5659         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5660         add_inf_child_target.
5661         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5662         add_inf_child_target.
5663         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5664         add_inf_child_target.
5665         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5666         add_inf_child_target.
5667         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5668         add_inf_child_target.
5669         * spu-linux-nat.c (_initialize_spu_nat): Use
5670         add_inf_child_target.
5671         * spu-multiarch.c (spu_multiarch_target_info): New.
5672         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5673         <info>: New.
5674         * target-delegates.c: Regenerate.
5675         * target.c: Include <unordered_map>.
5676         (target_ops_p): Delete.
5677         (DEF_VEC_P(target_ops_p)): Delete.
5678         (target_factories): New.
5679         (test_target_info): New.
5680         (test_target_ops::info): New.
5681         (open_target): Adjust to use target_factories.
5682         (add_target_with_completer): Rename to ...
5683         (add_target): ... this.  Change prototype.  Register target_info
5684         and open callback in target_factories.  Register target_info in
5685         command context instead of target_ops.
5686         (add_target): Delete old implementation.
5687         (add_deprecated_target_alias): Change prototype.  Adjust.
5688         (the_native_target): New.
5689         (set_native_target, get_native_target): New.
5690         (find_default_run_target): Use the_native_target.
5691         (find_attach_target, find_run_target): Simplify.
5692         (target_ops::open): Delete.
5693         (dummy_target_info): New.
5694         (dummy_target::shortname, dummy_target::longname)
5695         (dummy_target::doc): Delete.
5696         (dummy_target::info): New.
5697         (debug_target::shortname, debug_target::longname)
5698         (debug_target::doc): Delete.
5699         (debug_target::info): New.
5700         * target.h (struct target_info): New.
5701         (target_ops::~target_ops): Add comment.
5702         (target_ops::info): New.
5703         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5704         longer virtual.  Implement in terms of target_info.
5705         (set_native_target, get_native_target): Declare.
5706         (target_open_ftype): New.
5707         (add_target, add_target_with_completer)
5708         (add_deprecated_target_alias): Change prototype.
5709         (test_target) <shortname, longname, doc>: Delete.
5710         <info>: New.
5711         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5712         add_inf_child_target.
5713         * tracefile-tfile.c (tfile_target_info): New.
5714         (tfile_target) <shortname, longname, doc>: Delete.
5715         <info>: New.
5716         (tfile_target::open): Rename to ...
5717         (tfile_target_open): ... this.
5718         (_initialize_tracefile_tfile): Adjust.
5719         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5720         add_inf_child_target.
5721         * windows-nat.c (_initialize_windows_nat): Use
5722         add_inf_child_target.
5723         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5724         add_inf_child_target.
5725
5726 2018-05-02  Pedro Alves  <palves@redhat.com>
5727
5728         * linux-nat.h (linux_nat_target) <low_new_thread,
5729         low_delete_thread, low_new_fork, low_forget_process,
5730         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5731         New virtual methods.
5732         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5733         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5734         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5735         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5736         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5737         Delete.
5738         * linux-fork.c (delete_fork): Adjust to call low method.
5739         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5740         (linux_nat_new_fork, linux_nat_forget_process_hook)
5741         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5742         (linux_nat_status_is_event):
5743         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5744         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5745         to call low method.
5746         (sigtrap_is_event): Rename to ...
5747         (linux_nat_target::low_status_is_event): ... this.
5748         (linux_nat_set_status_is_event): Delete.
5749         (save_stop_reason, linux_nat_wait_1)
5750         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5751         low methods.
5752         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5753         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5754         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5755         (linux_nat_set_prepare_to_resume): Delete.
5756         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5757         low virtual methods.
5758         * amd64-linux-nat.c: Likewise.
5759         * arm-linux-nat.c: Likewise.
5760         * i386-linux-nat.c: Likewise.
5761         * ia64-linux-nat.c: Likewise.
5762         * mips-linux-nat.c: Likewise.
5763         * ppc-linux-nat.c: Likewise.
5764         * s390-linux-nat.c: Likewise.
5765         * sparc64-linux-nat.c: Likewise.
5766         * x86-linux-nat.c: Likewise.
5767         * x86-linux-nat.h: Include "nat/x86-linux.h".
5768         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5769         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5770         Override methods.
5771
5772 2018-05-02  Pedro Alves  <palves@redhat.com>
5773
5774         * target.h (target_ops)
5775         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5776         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5777         stopped_by_watchpoint, have_continuable_watchpoint,
5778         stopped_data_address, watchpoint_addr_within_range,
5779         can_accel_watchpoint_condition, can_run, thread_alive,
5780         has_all_memory, has_memory, has_stack, has_registers,
5781         has_execution, can_async_p, is_async_p, supports_non_stop,
5782         always_non_stop_p, can_execute_reverse, supports_multi_process,
5783         supports_enable_disable_tracepoint,
5784         supports_disable_randomization, supports_string_tracing,
5785         supports_evaluation_of_breakpoint_conditions,
5786         can_run_breakpoint_commands, filesystem_is_local,
5787         can_download_tracepoint, get_trace_state_variable_value,
5788         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5789         record_is_replaying, record_will_replay,
5790         augmented_libraries_svr4_read>: Adjust to return bool.
5791         * aarch64-linux-nat.c: All implementations adjusted.
5792         * aix-thread.c: All implementations adjusted.
5793         * arm-linux-nat.c: All implementations adjusted.
5794         * breakpoint.c: All implementations adjusted.
5795         * bsd-kvm.c: All implementations adjusted.
5796         * bsd-uthread.c: All implementations adjusted.
5797         * corelow.c: All implementations adjusted.
5798         * ctf.c: All implementations adjusted.
5799         * darwin-nat.c: All implementations adjusted.
5800         * darwin-nat.h: All implementations adjusted.
5801         * exec.c: All implementations adjusted.
5802         * fbsd-nat.c: All implementations adjusted.
5803         * fbsd-nat.h: All implementations adjusted.
5804         * gnu-nat.c: All implementations adjusted.
5805         * gnu-nat.h: All implementations adjusted.
5806         * go32-nat.c: All implementations adjusted.
5807         * ia64-linux-nat.c: All implementations adjusted.
5808         * inf-child.c: All implementations adjusted.
5809         * inf-child.h: All implementations adjusted.
5810         * inf-ptrace.c: All implementations adjusted.
5811         * inf-ptrace.h: All implementations adjusted.
5812         * linux-nat.c: All implementations adjusted.
5813         * linux-nat.h: All implementations adjusted.
5814         * mips-linux-nat.c: All implementations adjusted.
5815         * nto-procfs.c: All implementations adjusted.
5816         * ppc-linux-nat.c: All implementations adjusted.
5817         * procfs.c: All implementations adjusted.
5818         * ravenscar-thread.c: All implementations adjusted.
5819         * record-btrace.c: All implementations adjusted.
5820         * record-full.c: All implementations adjusted.
5821         * remote-sim.c: All implementations adjusted.
5822         * remote.c: All implementations adjusted.
5823         * s390-linux-nat.c: All implementations adjusted.
5824         * sol-thread.c: All implementations adjusted.
5825         * spu-multiarch.c: All implementations adjusted.
5826         * target-delegates.c: All implementations adjusted.
5827         * target.c: All implementations adjusted.
5828         * target.h: All implementations adjusted.
5829         * tracefile-tfile.c: All implementations adjusted.
5830         * tracefile.c: All implementations adjusted.
5831         * tracefile.h: All implementations adjusted.
5832         * windows-nat.c: All implementations adjusted.
5833         * x86-linux-nat.h: All implementations adjusted.
5834         * x86-nat.h: All implementations adjusted.
5835
5836 2018-05-02  Pedro Alves  <palves@redhat.com>
5837
5838         * make-target-delegates (scan_target_h): Don't trim lines here.
5839         Replace sequences of tabs and/or whitespace with a single
5840         whitespace.
5841         (top level, parsing methods): Trim each line before processing it
5842         here.
5843
5844 2018-05-02  Pedro Alves  <palves@redhat.com>
5845             John Baldwin  <jhb@freebsd.org>
5846
5847         * target.h (enum strata) <debug_stratum>: New.
5848         (struct target_ops) <all delegation methods>: Replace by C++
5849         virtual methods, and drop "to_" prefix.  All references updated
5850         throughout.
5851         <to_shortname, to_longname, to_doc, to_data,
5852         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5853         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5854         virtual methods.  All references updated throughout.
5855         <can_attach, supports_terminal_ours, can_create_inferior,
5856         get_thread_control_capabilities, attach_no_wait>: New
5857         virtual methods.
5858         <insert_breakpoint, remove_breakpoint>: Now
5859         TARGET_DEFAULT_NORETURN methods.
5860         <info_proc>: Now returns bool.
5861         <to_magic>: Delete.
5862         (OPS_MAGIC): Delete.
5863         (current_target): Delete.  All references replaced by references
5864         to ...
5865         (target_stack): ... this.  New.
5866         (target_shortname, target_longname): Adjust.
5867         (target_can_run): Now a function declaration.
5868         (default_child_has_all_memory, default_child_has_memory)
5869         (default_child_has_stack, default_child_has_registers)
5870         (default_child_has_execution): Remove target_ops parameter.
5871         (complete_target_initialization): Delete.
5872         (memory_breakpoint_target): New template class.
5873         (test_target_ops): Refactor as a C++ class with virtual methods.
5874         * make-target-delegates (NAME_PART): Tighten.
5875         (POINTER_PART, CP_SYMBOL): New.
5876         (SIMPLE_RETURN_PART): Reimplement.
5877         (VEC_RETURN_PART): Expect less.
5878         (RETURN_PART, VIRTUAL_PART): New.
5879         (METHOD): Adjust to C++ virtual methods.
5880         (scan_target_h): Remove reference to C99.
5881         (dname): Output "target_ops::" prefix.
5882         (write_function_header): Adjust to output a C++ class method.
5883         (write_declaration): New.
5884         (write_delegator): Adjust to output a C++ class method.
5885         (tdname): Output "dummy_target::" prefix.
5886         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5887         method.
5888         (tdefault_names, debug_names): Delete.
5889         (return_types, tdefaults, styles, argtypes_array): New.
5890         (top level): All methods are delegators.
5891         (print_class): New.
5892         (top level): Print dummy_target and debug_target classes.
5893         * target-delegates.c: Regenerate.
5894         * target-debug.h (target_debug_print_enum_info_proc_what)
5895         (target_debug_print_thread_control_capabilities)
5896         (target_debug_print_thread_info_p): New.
5897         * target.c (dummy_target): Delete.
5898         (the_dummy_target, the_debug_target): New.
5899         (target_stack): Now extern.
5900         (set_targetdebug): Push/unpush debug target.
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         (add_target_with_completer): No longer call
5906         complete_target_initialization.
5907         (target_supports_terminal_ours): Use regular delegation.
5908         (update_current_target): Delete.
5909         (push_target): No longer check magic number.  Don't call
5910         update_current_target.
5911         (unpush_target): Don't call update_current_target.
5912         (target_is_pushed): No longer check magic number.
5913         (target_require_runnable): Skip for all stratums over
5914         process_stratum.
5915         (target_ops::info_proc): New.
5916         (target_info_proc): Use find_target_at and
5917         find_default_run_target.
5918         (target_supports_disable_randomization): Use regular delegation.
5919         (target_get_osdata): Use find_target_at.
5920         (target_ops::open, target_ops::close, target_ops::can_attach)
5921         (target_ops::attach, target_ops::can_create_inferior)
5922         (target_ops::create_inferior, target_ops::can_run)
5923         (target_can_run): New.
5924         (default_fileio_target): Use regular delegation.
5925         (target_ops::fileio_open, target_ops::fileio_pwrite)
5926         (target_ops::fileio_pread, target_ops::fileio_fstat)
5927         (target_ops::fileio_close, target_ops::fileio_unlink)
5928         (target_ops::fileio_readlink): New.
5929         (target_fileio_open_1, target_fileio_unlink)
5930         (target_fileio_readlink): Always call the target method.  Handle
5931         FILEIO_ENOSYS.
5932         (return_zero, return_zero_has_execution): Delete.
5933         (init_dummy_target): Delete.
5934         (dummy_target::dummy_target, dummy_target::shortname)
5935         (dummy_target::longname, dummy_target::doc)
5936         (debug_target::debug_target, debug_target::shortname)
5937         (debug_target::longname, debug_target::doc): New.
5938         (target_supports_delete_record): Use regular delegation.
5939         (setup_target_debug): Delete.
5940         (maintenance_print_target_stack): Skip debug_stratum.
5941         (initialize_targets): Instantiate the_dummy_target and
5942         the_debug_target.
5943         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5944         use target_stack.
5945         (target_auxv_search, fprint_target_auxv): Adjust.
5946         (info_auxv_command): Adjust to use target_stack.
5947         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5948         * exceptions.c (print_flush): Handle a NULL target_stack.
5949         * regcache.c (target_ops_no_register): Refactor as class with
5950         virtual methods.
5951
5952         * exec.c (exec_target): New class.
5953         (exec_ops): Now an exec_target.
5954         (exec_open, exec_close_1, exec_get_section_table)
5955         (exec_xfer_partial, exec_files_info, exec_has_memory)
5956         (exec_make_note_section): Refactor as exec_target methods.
5957         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5958         Delete.
5959         (exec_target::find_memory_regions): New.
5960         (_initialize_exec): Don't call init_exec_ops.
5961         * gdbcore.h (exec_file_clear): Delete.
5962
5963         * corefile.c (core_target): Delete.
5964         (core_file_command): Adjust.
5965         * corelow.c (core_target): New class.
5966         (the_core_target): New.
5967         (core_close): Remove target_ops parameter.
5968         (core_close_cleanup): Adjust.
5969         (core_target::close): New.
5970         (core_open, core_detach, get_core_registers, core_files_info)
5971         (core_xfer_partial, core_thread_alive, core_read_description)
5972         (core_pid_to_str, core_thread_name, core_has_memory)
5973         (core_has_stack, core_has_registers, core_info_proc): Rework as
5974         core_target methods.
5975         (ignore, core_remove_breakpoint, init_core_ops): Delete.
5976         (_initialize_corelow): Initialize the_core_target.
5977         * gdbcore.h (core_target): Delete.
5978         (the_core_target): New.
5979
5980         * ctf.c: (ctf_target): New class.
5981         (ctf_ops): Now a ctf_target.
5982         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
5983         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
5984         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
5985         methods.
5986         (init_ctf_ops): Delete.
5987         (_initialize_ctf): Don't call it.
5988         * tracefile-tfile.c (tfile_target): New class.
5989         (tfile_ops): Now a tfile_target.
5990         (tfile_open, tfile_close, tfile_files_info)
5991         (tfile_get_tracepoint_status, tfile_trace_find)
5992         (tfile_fetch_registers, tfile_xfer_partial)
5993         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
5994         Refactor as tfile_target methods.
5995         (tfile_xfer_partial_features): Remove target_ops parameter.
5996         (init_tfile_ops): Delete.
5997         (_initialize_tracefile_tfile): Don't call it.
5998         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
5999         (tracefile_has_stack, tracefile_has_registers)
6000         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
6001         tracefile_target methods.
6002         (init_tracefile_ops): Delete.
6003         (tracefile_target::tracefile_target): New.
6004         * tracefile.h: Include "target.h".
6005         (tracefile_target): New class.
6006         (init_tracefile_ops): Delete.
6007
6008         * spu-multiarch.c (spu_multiarch_target): New class.
6009         (spu_ops): Now a spu_multiarch_target.
6010         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
6011         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
6012         (spu_search_memory, spu_mourn_inferior): Refactor as
6013         spu_multiarch_target methods.
6014         (init_spu_ops): Delete.
6015         (_initialize_spu_multiarch): Remove references to init_spu_ops,
6016         complete_target_initialization.
6017
6018         * ravenscar-thread.c (ravenscar_thread_target): New class.
6019         (ravenscar_ops): Now a ravenscar_thread_target.
6020         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
6021         (ravenscar_thread_alive, ravenscar_pid_to_str)
6022         (ravenscar_fetch_registers, ravenscar_store_registers)
6023         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
6024         (ravenscar_stopped_by_hw_breakpoint)
6025         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
6026         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
6027         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
6028         methods.
6029         (init_ravenscar_thread_ops): Delete.
6030         (_initialize_ravenscar): Remove references to
6031         init_ravenscar_thread_ops and complete_target_initialization.
6032
6033         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
6034         (bsd_uthread_target): New class.
6035         (bsd_uthread_ops): Now a bsd_uthread_target.
6036         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
6037         (bsd_uthread_close, bsd_uthread_mourn_inferior)
6038         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
6039         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
6040         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
6041         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
6042         (bsd_uthread_target): Delete function.
6043         (_initialize_bsd_uthread): Remove reference to
6044         complete_target_initialization.
6045
6046         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
6047         (target_bfd): ... this new class.
6048         (target_bfd_xfer_partial, target_bfd_get_section_table)
6049         (target_bfd_close): Refactor as target_bfd methods.
6050         (target_bfd::~target_bfd): New.
6051         (target_bfd_reopen): Adjust.
6052         (target_bfd::close): New.
6053
6054         * record-btrace.c (record_btrace_target): New class.
6055         (record_btrace_ops): Now a record_btrace_target.
6056         (record_btrace_open, record_btrace_stop_recording)
6057         (record_btrace_disconnect, record_btrace_close)
6058         (record_btrace_async, record_btrace_info)
6059         (record_btrace_insn_history, record_btrace_insn_history_range)
6060         (record_btrace_insn_history_from, record_btrace_call_history)
6061         (record_btrace_call_history_range)
6062         (record_btrace_call_history_from, record_btrace_record_method)
6063         (record_btrace_is_replaying, record_btrace_will_replay)
6064         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
6065         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
6066         (record_btrace_store_registers, record_btrace_prepare_to_store)
6067         (record_btrace_to_get_unwinder)
6068         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
6069         (record_btrace_commit_resume, record_btrace_wait)
6070         (record_btrace_stop, record_btrace_can_execute_reverse)
6071         (record_btrace_stopped_by_sw_breakpoint)
6072         (record_btrace_supports_stopped_by_sw_breakpoint)
6073         (record_btrace_stopped_by_hw_breakpoint)
6074         (record_btrace_supports_stopped_by_hw_breakpoint)
6075         (record_btrace_update_thread_list, record_btrace_thread_alive)
6076         (record_btrace_goto_begin, record_btrace_goto_end)
6077         (record_btrace_goto, record_btrace_stop_replaying_all)
6078         (record_btrace_execution_direction)
6079         (record_btrace_prepare_to_generate_core)
6080         (record_btrace_done_generating_core): Refactor as
6081         record_btrace_target methods.
6082         (init_record_btrace_ops): Delete.
6083         (_initialize_record_btrace): Remove reference to
6084         init_record_btrace_ops.
6085         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
6086         the execution_direction global.
6087         (record_full_base_target, record_full_target)
6088         (record_full_core_target): New classes.
6089         (record_full_ops): Now a record_full_target.
6090         (record_full_core_ops): Now a record_full_core_target.
6091         (record_full_target::detach, record_full_target::disconnect)
6092         (record_full_core_target::disconnect)
6093         (record_full_target::mourn_inferior, record_full_target::kill):
6094         New.
6095         (record_full_open, record_full_close, record_full_async): Refactor
6096         as methods of the record_full_base_target class.
6097         (record_full_resume, record_full_commit_resume): Refactor
6098         as methods of the record_full_target class.
6099         (record_full_wait, record_full_stopped_by_watchpoint)
6100         (record_full_stopped_data_address)
6101         (record_full_stopped_by_sw_breakpoint)
6102         (record_full_supports_stopped_by_sw_breakpoint)
6103         (record_full_stopped_by_hw_breakpoint)
6104         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
6105         methods of the record_full_base_target class.
6106         (record_full_store_registers, record_full_xfer_partial)
6107         (record_full_insert_breakpoint, record_full_remove_breakpoint):
6108         Refactor as methods of the record_full_target class.
6109         (record_full_can_execute_reverse, record_full_get_bookmark)
6110         (record_full_goto_bookmark, record_full_execution_direction)
6111         (record_full_record_method, record_full_info, record_full_delete)
6112         (record_full_is_replaying, record_full_will_replay)
6113         (record_full_goto_begin, record_full_goto_end, record_full_goto)
6114         (record_full_stop_replaying): Refactor as methods of the
6115         record_full_base_target class.
6116         (record_full_core_resume, record_full_core_kill)
6117         (record_full_core_fetch_registers)
6118         (record_full_core_prepare_to_store)
6119         (record_full_core_store_registers, record_full_core_xfer_partial)
6120         (record_full_core_insert_breakpoint)
6121         (record_full_core_remove_breakpoint)
6122         (record_full_core_has_execution): Refactor
6123         as methods of the record_full_core_target class.
6124         (record_full_base_target::supports_delete_record): New.
6125         (init_record_full_ops): Delete.
6126         (init_record_full_core_ops): Delete.
6127         (record_full_save): Refactor as method of the
6128         record_full_base_target class.
6129         (_initialize_record_full): Remove references to
6130         init_record_full_ops and init_record_full_core_ops.
6131
6132         * remote.c (remote_target, extended_remote_target): New classes.
6133         (remote_ops): Now a remote_target.
6134         (extended_remote_ops): Now an extended_remote_target.
6135         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
6136         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
6137         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
6138         (remote_pass_signals, remote_set_syscall_catchpoint)
6139         (remote_program_signals, )
6140         (remote_thread_always_alive): Remove target_ops parameter.
6141         (remote_thread_alive, remote_thread_name)
6142         (remote_update_thread_list, remote_threads_extra_info)
6143         (remote_static_tracepoint_marker_at)
6144         (remote_static_tracepoint_markers_by_strid)
6145         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
6146         (remote_open): Refactor as methods of remote_target.
6147         (extended_remote_open, extended_remote_detach)
6148         (extended_remote_attach, extended_remote_post_attach):
6149         (extended_remote_supports_disable_randomization)
6150         (extended_remote_create_inferior): : Refactor as method of
6151         extended_remote_target.
6152         (remote_set_permissions, remote_open_1, remote_detach)
6153         (remote_follow_fork, remote_follow_exec, remote_disconnect)
6154         (remote_resume, remote_commit_resume, remote_stop)
6155         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
6156         (remote_terminal_ours, remote_wait, remote_fetch_registers)
6157         (remote_prepare_to_store, remote_store_registers)
6158         (remote_flash_erase, remote_flash_done, remote_files_info)
6159         (remote_kill, remote_mourn, remote_insert_breakpoint)
6160         (remote_remove_breakpoint, remote_insert_watchpoint)
6161         (remote_watchpoint_addr_within_range)
6162         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
6163         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
6164         (remote_supports_stopped_by_sw_breakpoint)
6165         (remote_stopped_by_hw_breakpoint)
6166         (remote_supports_stopped_by_hw_breakpoint)
6167         (remote_stopped_by_watchpoint, remote_stopped_data_address)
6168         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
6169         (remote_verify_memory): Refactor as methods of remote_target.
6170         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
6171         parameter.
6172         (remote_xfer_partial, remote_get_memory_xfer_limit)
6173         (remote_search_memory, remote_rcmd, remote_memory_map)
6174         (remote_pid_to_str, remote_get_thread_local_address)
6175         (remote_get_tib_address, remote_read_description): Refactor as
6176         methods of remote_target.
6177         (remote_target::fileio_open, remote_target::fileio_pwrite)
6178         (remote_target::fileio_pread, remote_target::fileio_close): New.
6179         (remote_hostio_readlink, remote_hostio_fstat)
6180         (remote_filesystem_is_local, remote_can_execute_reverse)
6181         (remote_supports_non_stop, remote_supports_disable_randomization)
6182         (remote_supports_multi_process, remote_supports_cond_breakpoints)
6183         (remote_supports_enable_disable_tracepoint)
6184         (remote_supports_string_tracing)
6185         (remote_can_run_breakpoint_commands, remote_trace_init)
6186         (remote_download_tracepoint, remote_can_download_tracepoint)
6187         (remote_download_trace_state_variable, remote_enable_tracepoint)
6188         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
6189         (remote_trace_start, remote_get_trace_status)
6190         (remote_get_tracepoint_status, remote_trace_stop)
6191         (remote_trace_find, remote_get_trace_state_variable_value)
6192         (remote_save_trace_data, remote_get_raw_trace_data)
6193         (remote_set_disconnected_tracing, remote_core_of_thread)
6194         (remote_set_circular_trace_buffer, remote_traceframe_info)
6195         (remote_get_min_fast_tracepoint_insn_len)
6196         (remote_set_trace_buffer_size, remote_set_trace_notes)
6197         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
6198         (remote_disable_btrace, remote_teardown_btrace)
6199         (remote_read_btrace, remote_btrace_conf)
6200         (remote_augmented_libraries_svr4_read, remote_load)
6201         (remote_pid_to_exec_file, remote_can_do_single_step)
6202         (remote_execution_direction, remote_thread_handle_to_thread_info):
6203         Refactor as methods of remote_target.
6204         (init_remote_ops, init_extended_remote_ops): Delete.
6205         (remote_can_async_p, remote_is_async_p, remote_async)
6206         (remote_thread_events, remote_upload_tracepoints)
6207         (remote_upload_trace_state_variables): Refactor as methods of
6208         remote_target.
6209         (_initialize_remote): Remove references to init_remote_ops and
6210         init_extended_remote_ops.
6211
6212         * remote-sim.c (gdbsim_target): New class.
6213         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
6214         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
6215         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
6216         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
6217         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
6218         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
6219         Refactor as methods of gdbsim_target.
6220         (gdbsim_ops): Now a gdbsim_target.
6221         (init_gdbsim_ops): Delete.
6222         (gdbsim_cntrl_c): Adjust.
6223         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
6224
6225         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
6226         (the_amd64_linux_nat_target): New.
6227         (amd64_linux_fetch_inferior_registers)
6228         (amd64_linux_store_inferior_registers): Refactor as methods of
6229         amd64_linux_nat_target.
6230         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
6231         * i386-linux-nat.c: Don't include "linux-nat.h".
6232         (i386_linux_nat_target): New class.
6233         (the_i386_linux_nat_target): New.
6234         (i386_linux_fetch_inferior_registers)
6235         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
6236         as methods of i386_linux_nat_target.
6237         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
6238         * inf-child.c (inf_child_ops): Delete.
6239         (inf_child_fetch_inferior_registers)
6240         (inf_child_store_inferior_registers): Delete.
6241         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
6242         methods of inf_child_target.
6243         (inf_child_target::supports_terminal_ours)
6244         (inf_child_target::terminal_init)
6245         (inf_child_target::terminal_inferior)
6246         (inf_child_target::terminal_ours_for_output)
6247         (inf_child_target::terminal_ours, inf_child_target::interrupt)
6248         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
6249         New.
6250         (inf_child_open, inf_child_disconnect, inf_child_close)
6251         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
6252         (inf_child_post_startup_inferior, inf_child_can_run)
6253         (inf_child_pid_to_exec_file): Refactor as methods of
6254         inf_child_target.
6255         (inf_child_follow_fork): Delete.
6256         (inf_child_target::can_create_inferior)
6257         (inf_child_target::can_attach): New.
6258         (inf_child_target::has_all_memory, inf_child_target::has_memory)
6259         (inf_child_target::has_stack, inf_child_target::has_registers)
6260         (inf_child_target::has_execution): New.
6261         (inf_child_fileio_open, inf_child_fileio_pwrite)
6262         (inf_child_fileio_pread, inf_child_fileio_fstat)
6263         (inf_child_fileio_close, inf_child_fileio_unlink)
6264         (inf_child_fileio_readlink, inf_child_use_agent)
6265         (inf_child_can_use_agent): Refactor as methods of
6266         inf_child_target.
6267         (return_zero, inf_child_target): Delete.
6268         (inf_child_target::inf_child_target): New.
6269         * inf-child.h: Include "target.h".
6270         (inf_child_target): Delete function prototype.
6271         (inf_child_target): New class.
6272         (inf_child_open_target, inf_child_mourn_inferior)
6273         (inf_child_maybe_unpush_target): Delete.
6274         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
6275         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
6276         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
6277         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
6278         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
6279         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
6280         (inf_ptrace_wait, inf_ptrace_xfer_partial)
6281         (inf_ptrace_thread_alive, inf_ptrace_files_info)
6282         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
6283         methods of inf_ptrace_target.
6284         (inf_ptrace_target): Delete function.
6285         * inf-ptrace.h: Include "inf-child.h".
6286         (inf_ptrace_target): Delete function declaration.
6287         (inf_ptrace_target): New class.
6288         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
6289         * linux-nat.c (linux_target): New.
6290         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
6291         (linux_nat_target::~linux_nat_target): New.
6292         (linux_child_post_attach, linux_child_post_startup_inferior)
6293         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
6294         (linux_child_remove_fork_catchpoint)
6295         (linux_child_insert_vfork_catchpoint)
6296         (linux_child_remove_vfork_catchpoint)
6297         (linux_child_insert_exec_catchpoint)
6298         (linux_child_remove_exec_catchpoint)
6299         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
6300         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
6301         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
6302         (linux_nat_stopped_data_address)
6303         (linux_nat_stopped_by_sw_breakpoint)
6304         (linux_nat_supports_stopped_by_sw_breakpoint)
6305         (linux_nat_stopped_by_hw_breakpoint)
6306         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
6307         (linux_nat_kill, linux_nat_mourn_inferior)
6308         (linux_nat_xfer_partial, linux_nat_thread_alive)
6309         (linux_nat_update_thread_list, linux_nat_pid_to_str)
6310         (linux_nat_thread_name, linux_child_pid_to_exec_file)
6311         (linux_child_static_tracepoint_markers_by_strid)
6312         (linux_nat_is_async_p, linux_nat_can_async_p)
6313         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
6314         (linux_nat_supports_multi_process)
6315         (linux_nat_supports_disable_randomization, linux_nat_async)
6316         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
6317         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
6318         (linux_nat_fileio_open, linux_nat_fileio_readlink)
6319         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
6320         methods of linux_nat_target.
6321         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
6322         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
6323         parameter.
6324         (check_stopped_by_watchpoint): Adjust.
6325         (linux_xfer_partial): Delete.
6326         (linux_target_install_ops, linux_target, linux_nat_add_target):
6327         Delete.
6328         (linux_nat_target::linux_nat_target): New.
6329         * linux-nat.h: Include "inf-ptrace.h".
6330         (linux_nat_target): New.
6331         (linux_target, linux_target_install_ops, linux_nat_add_target):
6332         Delete function declarations.
6333         (linux_target): Declare global.
6334         * linux-thread-db.c (thread_db_target): New.
6335         (thread_db_target::thread_db_target): New.
6336         (thread_db_ops): Delete.
6337         (the_thread_db_target): New.
6338         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
6339         (thread_db_update_thread_list, thread_db_pid_to_str)
6340         (thread_db_extra_thread_info)
6341         (thread_db_thread_handle_to_thread_info)
6342         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
6343         (thread_db_resume): Refactor as methods of thread_db_target.
6344         (init_thread_db_ops): Delete.
6345         (_initialize_thread_db): Remove reference to init_thread_db_ops.
6346         * x86-linux-nat.c: Don't include "linux-nat.h".
6347         (super_post_startup_inferior): Delete.
6348         (x86_linux_nat_target::~x86_linux_nat_target): New.
6349         (x86_linux_child_post_startup_inferior)
6350         (x86_linux_read_description, x86_linux_enable_btrace)
6351         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
6352         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
6353         methods of x86_linux_nat_target.
6354         (x86_linux_create_target): Delete.  Bits folded ...
6355         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
6356         pointer.
6357         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
6358         (x86_linux_nat_target): New class.
6359         (x86_linux_create_target): Delete.
6360         (x86_linux_add_target): Now takes a linux_nat_target pointer.
6361         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
6362         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
6363         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
6364         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
6365         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
6366         make extern.
6367         (x86_use_watchpoints): Delete.
6368         * x86-nat.h: Include "breakpoint.h" and "target.h".
6369         (x86_use_watchpoints): Delete.
6370         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
6371         (x86_stopped_by_watchpoint, x86_stopped_data_address)
6372         (x86_insert_watchpoint, x86_remove_watchpoint)
6373         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
6374         (x86_stopped_by_hw_breakpoint): New declarations.
6375         (x86_nat_target): New template class.
6376
6377         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
6378         (the_ppc_linux_nat_target): New.
6379         (ppc_linux_fetch_inferior_registers)
6380         (ppc_linux_can_use_hw_breakpoint)
6381         (ppc_linux_region_ok_for_hw_watchpoint)
6382         (ppc_linux_ranged_break_num_registers)
6383         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
6384         (ppc_linux_insert_mask_watchpoint)
6385         (ppc_linux_remove_mask_watchpoint)
6386         (ppc_linux_can_accel_watchpoint_condition)
6387         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
6388         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
6389         (ppc_linux_watchpoint_addr_within_range)
6390         (ppc_linux_masked_watch_num_registers)
6391         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
6392         (ppc_linux_read_description): Refactor as methods of
6393         ppc_linux_nat_target.
6394         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
6395
6396         * procfs.c (procfs_xfer_partial): Delete forward declaration.
6397         (procfs_target): New class.
6398         (the_procfs_target): New.
6399         (procfs_target): Delete function.
6400         (procfs_auxv_parse, procfs_attach, procfs_detach)
6401         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
6402         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
6403         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
6404         (procfs_create_inferior, procfs_update_thread_list)
6405         (procfs_thread_alive, procfs_pid_to_str)
6406         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
6407         (procfs_stopped_data_address, procfs_insert_watchpoint)
6408         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
6409         (proc_find_memory_regions, procfs_info_proc)
6410         (procfs_make_note_section): Refactor as methods of procfs_target.
6411         (_initialize_procfs): Adjust.
6412         * sol-thread.c (sol_thread_target): New class.
6413         (sol_thread_ops): Now a sol_thread_target.
6414         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
6415         (sol_thread_fetch_registers, sol_thread_store_registers)
6416         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
6417         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
6418         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
6419         (init_sol_thread_ops): Delete.
6420         (_initialize_sol_thread): Adjust.  Remove references to
6421         init_sol_thread_ops and complete_target_initialization.
6422
6423         * windows-nat.c (windows_nat_target): New class.
6424         (windows_fetch_inferior_registers)
6425         (windows_store_inferior_registers, windows_resume, windows_wait)
6426         (windows_attach, windows_detach, windows_pid_to_exec_file)
6427         (windows_files_info, windows_create_inferior)
6428         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
6429         (windows_close, windows_pid_to_str, windows_xfer_partial)
6430         (windows_get_tib_address, windows_get_ada_task_ptid)
6431         (windows_thread_name, windows_thread_alive): Refactor as
6432         windows_nat_target methods.
6433         (do_initial_windows_stuff): Adjust.
6434         (windows_target): Delete function.
6435         (_initialize_windows_nat): Adjust.
6436
6437         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
6438         (darwin_mourn_inferior, darwin_kill_inferior)
6439         (darwin_create_inferior, darwin_attach, darwin_detach)
6440         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
6441         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
6442         (darwin_supports_multi_process): Refactor as darwin_nat_target
6443         methods.
6444         (darwin_resume_to, darwin_files_info): Delete.
6445         (_initialize_darwin_inferior): Rename to ...
6446         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
6447         * darwin-nat.h: Include "inf-child.h".
6448         (darwin_nat_target): New class.
6449         (darwin_complete_target): Delete.
6450         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
6451         (darwin_target): New.
6452         (i386_darwin_fetch_inferior_registers)
6453         (i386_darwin_store_inferior_registers): Refactor as methods of
6454         darwin_nat_target.
6455         (darwin_complete_target): Delete, with ...
6456         (_initialize_i386_darwin_nat): ... bits factored out here.
6457
6458         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
6459         (the_alpha_linux_nat_target): New.
6460         (alpha_linux_register_u_offset): Refactor as
6461         alpha_linux_nat_target method.
6462         (_initialize_alpha_linux_nat): Adjust.
6463         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
6464         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6465         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
6466         methods of linux_nat_trad_target.
6467         (linux_trad_target): Delete.
6468         * linux-nat-trad.h (linux_trad_target): Delete function.
6469         (linux_nat_trad_target): New class.
6470         * mips-linux-nat.c (mips_linux_nat_target): New class.
6471         (super_fetch_registers, super_store_registers, super_close):
6472         Delete.
6473         (the_mips_linux_nat_target): New.
6474         (mips64_linux_regsets_fetch_registers)
6475         (mips64_linux_regsets_store_registers)
6476         (mips64_linux_fetch_registers, mips64_linux_store_registers)
6477         (mips_linux_register_u_offset, mips_linux_read_description)
6478         (mips_linux_can_use_hw_breakpoint)
6479         (mips_linux_stopped_by_watchpoint)
6480         (mips_linux_stopped_data_address)
6481         (mips_linux_region_ok_for_hw_watchpoint)
6482         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
6483         (mips_linux_close): Refactor as methods of mips_linux_nat.
6484         (_initialize_mips_linux_nat): Adjust to C++ification.
6485
6486         * aix-thread.c (aix_thread_target): New class.
6487         (aix_thread_ops): Now an aix_thread_target.
6488         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
6489         (aix_thread_fetch_registers, aix_thread_store_registers)
6490         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
6491         (aix_thread_thread_alive, aix_thread_pid_to_str)
6492         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
6493         Refactor as methods of aix_thread_target.
6494         (init_aix_thread_ops): Delete.
6495         (_initialize_aix_thread): Remove references to init_aix_thread_ops
6496         and complete_target_initialization.
6497         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
6498         (rs6000_nat_target): New class.
6499         (the_rs6000_nat_target): New.
6500         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
6501         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
6502         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
6503         (super_create_inferior): Delete.
6504         (_initialize_rs6000_nat): Adjust to C++ification.
6505
6506         * arm-linux-nat.c (arm_linux_nat_target): New class.
6507         (the_arm_linux_nat_target): New.
6508         (arm_linux_fetch_inferior_registers)
6509         (arm_linux_store_inferior_registers, arm_linux_read_description)
6510         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
6511         (arm_linux_remove_hw_breakpoint)
6512         (arm_linux_region_ok_for_hw_watchpoint)
6513         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
6514         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
6515         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
6516         arm_linux_nat_target.
6517         (_initialize_arm_linux_nat): Adjust to C++ification.
6518
6519         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
6520         (the_aarch64_linux_nat_target): New.
6521         (aarch64_linux_fetch_inferior_registers)
6522         (aarch64_linux_store_inferior_registers)
6523         (aarch64_linux_child_post_startup_inferior)
6524         (aarch64_linux_read_description)
6525         (aarch64_linux_can_use_hw_breakpoint)
6526         (aarch64_linux_insert_hw_breakpoint)
6527         (aarch64_linux_remove_hw_breakpoint)
6528         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
6529         (aarch64_linux_region_ok_for_hw_watchpoint)
6530         (aarch64_linux_stopped_data_address)
6531         (aarch64_linux_stopped_by_watchpoint)
6532         (aarch64_linux_watchpoint_addr_within_range)
6533         (aarch64_linux_can_do_single_step): Refactor as methods of
6534         aarch64_linux_nat_target.
6535         (super_post_startup_inferior): Delete.
6536         (_initialize_aarch64_linux_nat): Adjust to C++ification.
6537
6538         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
6539         (the_hppa_linux_nat_target): New.
6540         (hppa_linux_fetch_inferior_registers)
6541         (hppa_linux_store_inferior_registers): Refactor as methods of
6542         hppa_linux_nat_target.
6543         (_initialize_hppa_linux_nat): Adjust to C++ification.
6544
6545         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
6546         (the_ia64_linux_nat_target): New.
6547         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
6548         (ia64_linux_stopped_data_address)
6549         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
6550         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
6551         ia64_linux_nat_target methods.
6552         (super_xfer_partial): Delete.
6553         (_initialize_ia64_linux_nat): Adjust to C++ification.
6554
6555         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
6556         (the_m32r_linux_nat_target): New.
6557         (m32r_linux_fetch_inferior_registers)
6558         (m32r_linux_store_inferior_registers): Refactor as
6559         m32r_linux_nat_target methods.
6560         (_initialize_m32r_linux_nat): Adjust to C++ification.
6561
6562         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
6563         (the_m68k_linux_nat_target): New.
6564         (m68k_linux_fetch_inferior_registers)
6565         (m68k_linux_store_inferior_registers): Refactor as
6566         m68k_linux_nat_target methods.
6567         (_initialize_m68k_linux_nat): Adjust to C++ification.
6568
6569         * s390-linux-nat.c (s390_linux_nat_target): New class.
6570         (the_s390_linux_nat_target): New.
6571         (s390_linux_fetch_inferior_registers)
6572         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
6573         (s390_insert_watchpoint, s390_remove_watchpoint)
6574         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
6575         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
6576         (s390_auxv_parse, s390_read_description): Refactor as methods of
6577         s390_linux_nat_target.
6578         (_initialize_s390_nat): Adjust to C++ification.
6579
6580         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
6581         (the_sparc_linux_nat_target): New.
6582         (_initialize_sparc_linux_nat): Adjust to C++ification.
6583         * sparc-nat.c (sparc_fetch_inferior_registers)
6584         (sparc_store_inferior_registers): Remove target_ops parameter.
6585         * sparc-nat.h (sparc_fetch_inferior_registers)
6586         (sparc_store_inferior_registers): Remove target_ops parameter.
6587         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6588         (the_sparc64_linux_nat_target): New.
6589         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6590
6591         * spu-linux-nat.c (spu_linux_nat_target): New class.
6592         (the_spu_linux_nat_target): New.
6593         (spu_child_post_startup_inferior, spu_child_post_attach)
6594         (spu_child_wait, spu_fetch_inferior_registers)
6595         (spu_store_inferior_registers, spu_xfer_partial)
6596         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6597         methods.
6598         (_initialize_spu_nat): Adjust to C++ification.
6599
6600         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6601         (the_tilegx_linux_nat_target): New.
6602         (fetch_inferior_registers, store_inferior_registers):
6603         Refactor as methods.
6604         (_initialize_tile_linux_nat): Adjust to C++ification.
6605
6606         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6607         (the_xtensa_linux_nat_target): New.
6608         (xtensa_linux_fetch_inferior_registers)
6609         (xtensa_linux_store_inferior_registers): Refactor as
6610         xtensa_linux_nat_target methods.
6611         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6612
6613         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6614         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6615         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6616         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6617         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6618         (fbsd_stopped_by_sw_breakpoint)
6619         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6620         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6621         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6622         (fbsd_post_startup_inferior, fbsd_post_attach)
6623         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6624         (fbsd_set_syscall_catchpoint)
6625         (super_xfer_partial, super_resume, super_wait)
6626         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6627         (fbsd_handle_debug_trap): Remove target_ops parameter.
6628         (fbsd_nat_add_target): Delete.
6629         * fbsd-nat.h: Include "inf-ptrace.h".
6630         (fbsd_nat_add_target): Delete.
6631         (USE_SIGTRAP_SIGINFO): Define.
6632         (fbsd_nat_target): New class.
6633
6634         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6635         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6636         (amd64bsd_target): Delete.
6637         * amd64-bsd-nat.h: New file.
6638         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6639         "x86-bsd-nat.h".
6640         (amd64_fbsd_nat_target): New class.
6641         (the_amd64_fbsd_nat_target): New.
6642         (amd64fbsd_read_description): Refactor as method of
6643         amd64_fbsd_nat_target.
6644         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6645         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6646         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6647         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6648         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6649         (i386bsd_target): Delete.
6650         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6651         (i386bsd_fetch_inferior_registers)
6652         (i386bsd_store_inferior_registers): Declare.
6653         (i386_bsd_nat_target): New class.
6654         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6655         (the_i386_fbsd_nat_target): New.
6656         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6657         i386_fbsd_nat_target methods.
6658         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6659         (_initialize_i386fbsd_nat): Adjust to C++ification.
6660         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6661         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6662         (_initialize_x86_bsd_nat): Adjust to C++ification.
6663         * x86-bsd-nat.h: Include "x86-nat.h".
6664         (x86bsd_target): Delete declaration.
6665         (x86bsd_nat_target): New class.
6666
6667         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6668         (the_aarch64_fbsd_nat_target): New.
6669         (aarch64_fbsd_fetch_inferior_registers)
6670         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6671         aarch64_fbsd_nat_target.
6672         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6673         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6674         (the_alpha_bsd_nat_target): New.
6675         (alphabsd_fetch_inferior_registers)
6676         (alphabsd_store_inferior_registers): Refactor as
6677         alpha_bsd_nat_target methods.
6678         (_initialize_alphabsd_nat): Refactor as methods of
6679         alpha_bsd_nat_target.
6680         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6681         (the_amd64_nbsd_nat_target): New.
6682         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6683         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6684         (the_amd64_obsd_nat_target): New.
6685         (_initialize_amd64obsd_nat): Adjust to C++ification.
6686         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6687         (the_arm_fbsd_nat_target): New.
6688         (arm_fbsd_fetch_inferior_registers)
6689         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6690         (_initialize_arm_fbsd_nat): Refactor as methods of
6691         arm_fbsd_nat_target.
6692         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6693         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6694         (the_arm_netbsd_nat_target): New.
6695         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6696         arm_netbsd_nat_target.
6697         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6698         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6699         (the_hppa_nbsd_nat_target): New.
6700         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6701         hppa_nbsd_nat_target methods.
6702         (_initialize_hppanbsd_nat): Adjust to C++ification.
6703         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6704         (the_hppa_obsd_nat_target): New.
6705         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6706         methods of hppa_obsd_nat_target.
6707         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6708         add_target.
6709         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6710         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6711         add_target.
6712         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6713         (_initialize_i386obsd_nat): Use add_target.
6714         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6715         (the_m68k_bsd_nat_target): New.
6716         (m68kbsd_fetch_inferior_registers)
6717         (m68kbsd_store_inferior_registers): Refactor as methods of
6718         m68k_bsd_nat_target.
6719         (_initialize_m68kbsd_nat): Adjust to C++ification.
6720         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6721         (the_mips_fbsd_nat_target): New.
6722         (mips_fbsd_fetch_inferior_registers)
6723         (mips_fbsd_store_inferior_registers): Refactor as methods of
6724         mips_fbsd_nat_target.
6725         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6726         add_target.
6727         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6728         (the_mips_nbsd_nat_target): New.
6729         (mipsnbsd_fetch_inferior_registers)
6730         (mipsnbsd_store_inferior_registers): Refactor as methods of
6731         mips_nbsd_nat_target.
6732         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6733         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6734         (the_mips64_obsd_nat_target): New.
6735         (mips64obsd_fetch_inferior_registers)
6736         (mips64obsd_store_inferior_registers): Refactor as methods of
6737         mips64_obsd_nat_target.
6738         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6739         add_target.
6740         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6741         nbsd_nat_target.
6742         * nbsd-nat.h: Include "inf-ptrace.h".
6743         (nbsd_nat_target): New class.
6744         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6745         (obsd_wait): Refactor as methods of obsd_nat_target.
6746         (obsd_add_target): Delete.
6747         * obsd-nat.h: Include "inf-ptrace.h".
6748         (obsd_nat_target): New class.
6749         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6750         (the_ppc_fbsd_nat_target): New.
6751         (ppcfbsd_fetch_inferior_registers)
6752         (ppcfbsd_store_inferior_registers): Refactor as methods of
6753         ppc_fbsd_nat_target.
6754         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6755         add_target.
6756         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6757         (the_ppc_nbsd_nat_target): New.
6758         (ppcnbsd_fetch_inferior_registers)
6759         (ppcnbsd_store_inferior_registers): Refactor as methods of
6760         ppc_nbsd_nat_target.
6761         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6762         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6763         (the_ppc_obsd_nat_target): New.
6764         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6765         methods of ppc_obsd_nat_target.
6766         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6767         add_target.
6768         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6769         (the_sh_nbsd_nat_target): New.
6770         (shnbsd_fetch_inferior_registers)
6771         (shnbsd_store_inferior_registers): Refactor as methods of
6772         sh_nbsd_nat_target.
6773         (_initialize_shnbsd_nat): Adjust to C++ification.
6774         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6775         (inf_ptrace_xfer_partial): Delete.
6776         (sparc_xfer_partial, sparc_target): Delete.
6777         * sparc-nat.h (sparc_fetch_inferior_registers)
6778         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6779         (sparc_target): Delete function declaration.
6780         (sparc_target): New template class.
6781         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6782         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6783         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6784         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6785         add_target.
6786         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6787         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6788         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6789         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6790         add_target.
6791         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6792         (the_vax_bsd_nat_target): New.
6793         (vaxbsd_fetch_inferior_registers)
6794         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6795         methods.
6796         (_initialize_vaxbsd_nat): Adjust to C++ification.
6797
6798         * bsd-kvm.c (bsd_kvm_target): New class.
6799         (bsd_kvm_ops): Now a bsd_kvm_target.
6800         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6801         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6802         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6803         bsd_kvm_target.
6804         (bsd_kvm_return_one): Delete.
6805         (bsd_kvm_add_target): Adjust to C++ification.
6806
6807         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6808         (nto_procfs_target_procfs): New classes.
6809         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6810         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6811         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6812         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6813         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6814         (procfs_remove_hw_breakpoint, procfs_resume)
6815         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6816         (procfs_kill_inferior, procfs_store_registers)
6817         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6818         as methods of nto_procfs_target.
6819         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6820         (nto_native_ops): Delete.
6821         (procfs_open, procfs_native_open): Delete.
6822         (nto_native_ops): Now an nto_procfs_target_native.
6823         (init_procfs_targets): Adjust to C++ification.
6824         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6825         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6826         Refactor as methods of nto_procfs_target.
6827
6828         * go32-nat.c (go32_nat_target): New class.
6829         (the_go32_nat_target): New.
6830         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6831         (go32_store_registers, go32_xfer_partial, go32_files_info)
6832         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6833         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6834         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6835         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6836         (go32_target): Delete.
6837         (_initialize_go32_nat): Adjust to C++ification.
6838
6839         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6840         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6841         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6842         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6843         gnu_nat_target.
6844         (gnu_target): Delete.
6845         * gnu-nat.h (gnu_target): Delete.
6846         (gnu_nat_target): New class.
6847         * i386-gnu-nat.c (gnu_base_target): New.
6848         (i386_gnu_nat_target): New class.
6849         (the_i386_gnu_nat_target): New.
6850         (_initialize_i386gnu_nat): Adjust to C++ification.
6851
6852 2018-05-02  Pedro Alves  <palves@redhat.com>
6853
6854         * bfd-target.c (target_bfd_xclose): Rename to ...
6855         (target_bfd_close): ... this.
6856         (target_bfd_reopen): Adjust.
6857         * target.c (target_close): Remove references to to_xclose.
6858         * target.h (target_ops::to_xclose): Delete.
6859         (target_ops::to_close): Update comments.
6860
6861 2018-05-02  Pedro Alves  <palves@redhat.com>
6862
6863         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6864         "linux-nat.h".
6865         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6866         * inf-ptrace.c (inf_ptrace_register_u_offset)
6867         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6868         (inf_ptrace_store_register, inf_ptrace_store_registers)
6869         (inf_ptrace_trad_target): Move to ...
6870         * linux-nat-trad.c: ... this new file.
6871         * linux-nat-trad.h: New file.
6872         * linux-nat.c (linux_target_install_ops): Make extern.
6873         (linux_trad_target): Delete.
6874         * linux-nat.h (linux_trad_target): Delete declaration.
6875         (linux_target_install_ops): Declare.
6876         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6877         "linux-nat.h".
6878
6879 2018-05-02  Pedro Alves  <palves@redhat.com>
6880
6881         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6882         procfs_target/add_target here.
6883         * procfs.c (procfs_target): Make static.
6884         (_initialize_procfs): Call add_target here.
6885         * procfs.h (struct target_ops): Remove forward declaration.
6886         (procfs_target): Remove declaration.
6887         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6888
6889 2018-05-02  Pedro Alves  <palves@redhat.com>
6890
6891         * procfs.c (procfs_stopped_by_watchpoint)
6892         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6893         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6894         Forward declare.
6895         (procfs_use_watchpoints): Delete, move contents...
6896         (procfs_target): ... here.
6897         * procfs.h (procfs_use_watchpoints): Delete declaration.
6898         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6899         procfs_use_watchpoints.
6900         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6901         procfs_use_watchpoints.
6902
6903 2018-05-02  Tom Tromey  <tom@tromey.com>
6904
6905         PR python/20084:
6906         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6907         and var_zuinteger_unlimited.
6908         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6909         and PARAM_ZUINTEGER_UNLIMITED.
6910         (set_parameter_value): Handle var_zuinteger and
6911         var_zuinteger_unlimited.
6912         (add_setshow_generic): Likewise.
6913         (parmpy_init): Likewise.
6914
6915 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6916
6917         PR rust/23124
6918         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6919         pointer is not null before dereferencing it.
6920
6921 2018-04-30  Tom Tromey  <tom@tromey.com>
6922
6923         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6924         is_mi_like_p.
6925
6926 2018-04-30  Tom Tromey  <tom@tromey.com>
6927
6928         * breakpoint.c (mention): Remove use of is_mi_like_p.
6929         (print_mention_ranged_breakpoint): Likewise.
6930         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6931         of is_mi_like_p.
6932
6933 2018-04-30  Tom Tromey  <tom@tromey.com>
6934
6935         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6936
6937 2018-04-30  Tom Tromey  <tom@tromey.com>
6938
6939         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6940         (info_spu_event_command): Remove some uses of is_mi_like_p.
6941
6942 2018-04-30  Tom Tromey  <tom@tromey.com>
6943
6944         * python/py-framefilter.c (py_print_single_arg)
6945         (enumerate_locals, py_print_args, py_print_frame): Remove some
6946         uses of is_mi_like_p.
6947
6948 2018-04-30  Tom Tromey  <tom@tromey.com>
6949
6950         * ui-out.c: Update.
6951         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6952         * ui-out.h (ui_out::is_mi_like_p): Now const.
6953         (ui_out::do_is_mi_like_p): Now const.
6954         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6955
6956 2018-04-30  Tom Tromey  <tom@tromey.com>
6957
6958         * varobj.c (varobj_set_visualizer): Use new_reference.
6959         * python/python.c (gdbpy_decode_line): Use new_reference.
6960         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6961         new_reference.
6962
6963 2018-04-30  Tom Tromey  <tom@tromey.com>
6964
6965         * varobj.c (install_new_value): Use new_reference.
6966         * value.h (value_incref): Return void.  Swap intro comment with
6967         value_decref.
6968         * value.c (set_value_parent): Use new_reference.
6969         (value_incref): Return void.  Update intro comment.
6970         (release_value): Use new_reference.
6971         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
6972
6973 2018-04-30  Tom Tromey  <tom@tromey.com>
6974
6975         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
6976         * gdb_bfd.h (new_bfd_ref): Remove.
6977         (gdb_bfd_open): Update comment.
6978         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
6979         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
6980         (gdb_bfd_fdopenr): Use new_reference.
6981         * exec.c (exec_file_attach): Use new_reference.
6982
6983 2018-04-30  Tom Tromey  <tom@tromey.com>
6984
6985         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
6986         method.
6987
6988 2018-04-30  Tom Tromey  <tom@tromey.com>
6989
6990         * jit.c (jit_read_code_entry): Use type_align.
6991         * i386-tdep.c (i386_gdbarch_init): Don't call
6992         set_gdbarch_long_long_align_bit.
6993         * gdbarch.sh: Remove long_long_align_bit.
6994         * gdbarch.c, gdbarch.h: Rebuild.
6995         * arc-tdep.c (arc_type_align): New function.
6996         (arc_gdbarch_init): Use arc_type_align.  Don't call
6997         set_gdbarch_long_long_align_bit.
6998
6999 2018-04-30  Tom Tromey  <tom@tromey.com>
7000
7001         * rust-lang.c (rust_type_alignment): Remove.
7002         (rust_composite_type): Use type_align.
7003
7004 2018-04-30  Tom Tromey  <tom@tromey.com>
7005
7006         * NEWS: Mention Type.align.
7007         * python/py-type.c (typy_get_alignof): New function.
7008         (type_object_getset): Add "alignof".
7009
7010 2018-04-30  Tom Tromey  <tom@tromey.com>
7011
7012         PR exp/17095:
7013         * NEWS: Update.
7014         * std-operator.def (UNOP_ALIGNOF): New operator.
7015         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
7016         New.
7017         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
7018         * c-lang.c (c_op_print_tab): Add alignof.
7019         * c-exp.y (ALIGNOF): New token.
7020         (exp): Add "ALIGNOF" production.
7021         (ident_tokens): Add _Alignof and alignof.
7022
7023 2018-04-30  Tom Tromey  <tom@tromey.com>
7024
7025         * i386-tdep.c (i386_type_align): New function.
7026         (i386_gdbarch_init): Update.
7027         * gdbarch.sh (type_align): New method.
7028         * gdbarch.c, gdbarch.h: Rebuild.
7029         * arch-utils.h (default_type_align): Declare.
7030         * arch-utils.c (default_type_align): New function.
7031         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
7032         (struct type) <align_log2>: New field.
7033         <instance_flags>: Now a bitfield.
7034         (TYPE_RAW_ALIGN): New macro.
7035         (type_align, type_raw_align, set_type_align): Declare.
7036         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
7037         functions.
7038         * dwarf2read.c (quirk_rust_enum): Set type alignment.
7039         (get_alignment, maybe_set_alignment): New functions.
7040         (read_structure_type, read_enumeration_type, read_array_type)
7041         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
7042         (read_subrange_type, read_base_type): Set type alignment.
7043
7044 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
7045
7046         * dwarf2read.c (read_index_from_section): Use bool.
7047
7048 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
7049
7050         PR gdb/22950
7051         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
7052         with #ifdef.
7053
7054 2018-04-29  John Reiser  <jreiser@BitWagon.com>
7055
7056         PR build/22873
7057         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
7058         last step, and do it atomically.
7059
7060 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
7061
7062         * compile/compile-c-types.c (convert_int, convert_float):
7063         Update for C FE v1.
7064
7065 2018-04-27  Tom Tromey  <tom@tromey.com>
7066
7067         PR rust/22545:
7068         * rust-lang.c (rust_inclusive_range_type_p): New function.
7069         (rust_range): Handle inclusive ranges.
7070         (rust_compute_range): Likewise.
7071         * rust-exp.y (struct rust_op) <inclusive>: New field.
7072         (DOTDOTEQ): New constant.
7073         (range_expr): Add "..=" productions.
7074         (operator_tokens): Add "..=" token.
7075         (ast_range): Add "inclusive" parameter.
7076         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
7077         ranges.
7078         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
7079         bounds values.
7080         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
7081         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
7082         Update comments.
7083         * expprint.c (print_subexp_standard): Handle new bounds values.
7084         (dump_subexp_body_standard): Likewise.
7085
7086 2018-04-27  Tom Tromey  <tom@tromey.com>
7087
7088         * configure: Rebuild.
7089         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
7090         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
7091         "OVERRIDE".
7092         (class symbol_needs_eval_context): Likewise.
7093         * dwarf2read.c (mock_mapped_index::symbol_name_count)
7094         (mock_mapped_index::symbol_name_at): Use "override".  Remove
7095         "virtual".
7096         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
7097         "override".
7098         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
7099         * aarch64-tdep.c (instruction_reader::read): Use "override".
7100         (instruction_reader_test::read): Likewise.
7101         * arm-tdep.c (instruction_reader::read): Use "override".
7102         (instruction_reader_thumb::read): Likewise.
7103
7104 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
7105
7106         PR remote/9665
7107         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
7108         instead of remote_send.
7109         (remote_send): Remove.
7110
7111 2018-04-26  Pedro Alves  <palves@redhat.com>
7112
7113         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
7114         find_function_start_sal instead of find_pc_line.
7115
7116 2018-04-26  Pedro Alves  <palves@redhat.com>
7117
7118         * breakpoint.c (set_breakpoint_location_function): Handle
7119         mst_data_gnu_ifunc.
7120         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
7121         * elfread.c (elf_symtab_read): Give data symbols with
7122         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
7123         (elf_rel_plt_read): Update comment.
7124         * linespec.c (convert_linespec_to_sals): Handle
7125         mst_data_gnu_ifunc.
7126         (minsym_found): Handle mst_data_gnu_ifunc.
7127         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
7128         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
7129         * parse.c (find_minsym_type_and_address): Handle
7130         mst_data_gnu_ifunc.
7131         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
7132         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
7133         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
7134         comment.
7135         <mst_data_gnu_ifunc>: New enumerator.
7136
7137 2018-04-26  Pedro Alves  <palves@redhat.com>
7138
7139         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
7140         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
7141         'want_trampoline' parameter by a lookup_msym_prefer parameter.
7142         Handle it.
7143         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
7144         (lookup_minimal_symbol_by_pc): Adjust.
7145         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
7146         (lookup_solib_trampoline_symbol_by_pc): Adjust.
7147         * minsyms.h (lookup_msym_prefer): New enum.
7148         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
7149         parameter by a lookup_msym_prefer parameter.
7150
7151 2018-04-26  Pedro Alves  <palves@redhat.com>
7152
7153         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
7154         ends in "@plt" instead of looking at the symbol's section.
7155
7156 2018-04-26  Pedro Alves  <palves@redhat.com>
7157
7158         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
7159         all references.
7160         (find_pc_partial_function_gnu_ifunc): Rename to ...
7161         (find_pc_partial_function): ... this, and remove references to
7162         'is_gnu_ifunc_p'.
7163         (find_pc_partial_function): Delete old implementation.
7164         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
7165
7166 2018-04-26  Pedro Alves  <palves@redhat.com>
7167
7168         * linespec.c (struct bound_minimal_symbol_search_key): New.
7169         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
7170         skip first line if we found a GNU ifunc minimal symbol by name.
7171         (compare_msymbols): Change parameters to work with a destructured
7172         lhs minsym.
7173         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
7174         functions.
7175
7176 2018-04-26  Pedro Alves  <palves@redhat.com>
7177
7178         * breakpoint.c (set_breakpoint_location_function): Don't resolve
7179         ifunc targets here.  Instead, if we have an ifunc minsym, use its
7180         address/name.
7181         (add_location_to_breakpoint): Store the minsym and the objfile in
7182         the breakpoint location.
7183         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
7184         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
7185         Record the minsym in the sal.
7186         * symtab.h (symtab_and_line) <msymbol>: New field.
7187
7188 2018-04-26  Pedro Alves  <palves@redhat.com>
7189
7190         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
7191         unless we actually resolved the ifunc.
7192
7193 2018-04-26  Pedro Alves  <palves@redhat.com>
7194
7195         * c-exp.y (variable production): Prefer ifunc minsyms over
7196         regular function symbols.
7197         * symtab.c (find_gnu_ifunc): New function.
7198         * minsyms.h (lookup_msym_prefer): New enum.
7199         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
7200         parameter by a lookup_msym_prefer parameter.
7201         * symtab.h (find_gnu_ifunc): New declaration.
7202
7203 2018-04-26  Pedro Alves  <palves@redhat.com>
7204
7205         * blockframe.c (find_gnu_ifunc_target_type): New function.
7206         (find_function_type): New.
7207         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
7208         return a value with a memory address.
7209         (eval_call): For calls to GNU ifunc functions, try to find the
7210         type of the target function from the type that the resolver
7211         returns.
7212         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
7213         symbols.
7214         * infcall.c (find_function_return_type): Delete.
7215         (find_function_addr): Add 'function_type' parameter.  For calls to
7216         GNU ifunc functions, try to find the type of the target function
7217         from the type that the resolver returns, and return it via
7218         FUNCTION_TYPE.
7219         (call_function_by_hand_dummy): Adjust to use the function type
7220         returned by find_function_addr.
7221         (find_function_addr): Add 'function_type' parameter and move
7222         description here.
7223         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
7224         declarations.
7225
7226 2018-04-26  Pedro Alves  <palves@redhat.com>
7227
7228         * c-exp.y (variable production): Skip finding an alias for ifunc
7229         symbols.
7230
7231 2018-04-26  Pedro Alves  <palves@redhat.com>
7232
7233         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
7234
7235 2018-04-25  Pedro Alves  <palves@redhat.com>
7236
7237         * infcmd.c (kill_command): Print the pid as string, not the whole
7238         thread's ptid.  Add comment.  s/has been killed/killed/ in output
7239         message.
7240         * remote.c (remote_detach_1): Print the pid as string, not the
7241         whole thread's ptid.
7242
7243 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
7244             Sergio Durigan Junior  <sergiodj@redhat.com>
7245             Pedro Alves  <palves@redhat.com>
7246
7247         * infcmd.c (kill_command): Print message when inferior has
7248         been killed.
7249         * inferior.c (print_inferior_events): Remove 'static'.  Set as
7250         '1'.
7251         (add_inferior): Improve message printed when
7252         'print_inferior_events' is on.
7253         (exit_inferior): Remove message printed when
7254         'print_inferior_events' is on.
7255         (detach_inferior): Improve message printed when
7256         'print_inferior_events' is on.
7257         (initialize_inferiors): Use 'add_inferior_silent' to set
7258         'current_inferior_'.
7259         * inferior.h (print_inferior_events): Declare here as
7260         'extern'.
7261         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
7262         '[Detaching...]' messages when 'print_inferior_events' is on.
7263         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
7264         as prefix/suffix for messages.  Remove periods.  Fix erroneous
7265         'Detaching after fork from child...', replace it by '... from
7266         parent...'.
7267         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
7268         prefix/suffix when printing 'Detaching...' messages.  Print
7269         them when 'print_inferior_events' is on.
7270         * remote.c (remote_detach_1): Print message when detaching
7271         from inferior and '!is_fork_parent'.
7272
7273 2018-04-24  Tom Tromey  <tom@tromey.com>
7274
7275         * cli-out.h: Reindent.
7276
7277 2018-04-24  Tom Tromey  <tom@tromey.com>
7278
7279         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
7280         (cli_ui_out::do_field_string): Use fputs_filtered.
7281         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
7282
7283 2018-04-23  Tom Tromey  <tom@tromey.com>
7284
7285         * guile/scm-frame.c (gdbscm_frame_read_var): Use
7286         gdb::unique_xmalloc_ptr.
7287
7288 2018-04-23  Tom Tromey  <tom@tromey.com>
7289
7290         * configure: Rebuild.
7291
7292 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
7293
7294         PR gdb/23095
7295         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
7296         prepare_for_testing.  Set normal_bp to r_debug_state if target
7297         is bsd.
7298
7299 2018-04-21  Pedro Alves  <palves@redhat.com>
7300             Rajendra SY  <rajendra.sy@gmail.com>
7301
7302         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
7303         * remote.c (extended_remote_attach): In all-stop mode, mark the
7304         thread as executing.
7305
7306 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7307
7308         * thread.c (thread_apply_all_command): Fix comment.
7309         (thread_command): Fix comment.
7310
7311 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
7312
7313         * common/tdesc.h (tdesc_create_feature): Remove xml filename
7314         parameter.
7315         * features/aarch64-core.c (create_feature_aarch64_core):
7316         Regenerate.
7317         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
7318         Likewise.
7319         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
7320         Likewise.
7321         * features/i386/32bit-avx512.c
7322         (create_feature_i386_32bit_avx512): Likewise.
7323         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
7324         Likewise.
7325         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
7326         Likewise.
7327         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
7328         Likewise.
7329         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
7330         Likewise.
7331         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
7332         Likewise.
7333         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
7334         Likewise.
7335         * features/i386/64bit-avx512.c
7336         (create_feature_i386_64bit_avx512): Likewise.
7337         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
7338         Likewise.
7339         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
7340         Likewise.
7341         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
7342         Likewise.
7343         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
7344         Likewise.
7345         * features/i386/64bit-segments.c
7346         (create_feature_i386_64bit_segments): Likewise.
7347         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
7348         Likewise.
7349         * features/i386/x32-core.c
7350         (create_feature_i386_x32_core): Likewise.
7351         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
7352         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
7353         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
7354         * target-descriptions.c: In generated code, don't pass xml
7355         filename.
7356
7357 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7358
7359         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
7360         (print_xml_feature::visit_post): Likewise.
7361         (print_xml_feature::visit): Likewise.
7362         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
7363         (print_xml_feature): Add new class.
7364         * regformats/regdat.sh: Null xmltarget on feature targets.
7365         * target-descriptions.c (struct target_desc): Add xmltarget.
7366         (maintenance_check_tdesc_xml_convert): Add unittest function.
7367         (tdesc_get_features_xml): Add function to get xml.
7368         (maintenance_check_xml_descriptions): Test xml generation.
7369         * xml-tdesc.c (string_read_description_xml): Add function.
7370         * xml-tdesc.h (string_read_description_xml): Add declaration.
7371
7372 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7373
7374         * features/Makefile: Add feature marker to targets with new style
7375         target descriptions.
7376         * regformats/aarch64.dat: Regenerate.
7377         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
7378         * regformats/i386/amd64-avx-linux.dat: Likewise.
7379         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
7380         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
7381         * regformats/i386/amd64-linux.dat: Likewise.
7382         * regformats/i386/amd64-mpx-linux.dat: Likewise.
7383         * regformats/i386/amd64.dat: Likewise.
7384         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
7385         * regformats/i386/i386-avx-linux.dat: Likewise.
7386         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
7387         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
7388         * regformats/i386/i386-linux.dat: Likewise.
7389         * regformats/i386/i386-mmx-linux.dat: Likewise.
7390         * regformats/i386/i386-mpx-linux.dat: Likewise.
7391         * regformats/i386/i386.dat: Likewise.
7392         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
7393         * regformats/i386/x32-avx-linux.dat: Likewise.
7394         * regformats/i386/x32-linux.dat: Likewise.
7395         * regformats/tic6x-c62x-linux.dat: Likewise.
7396         * regformats/tic6x-c64x-linux.dat: Likewise.
7397         * regformats/tic6x-c64xp-linux.dat: Likewise.
7398         * regformats/regdat.sh: Parse feature marker.
7399
7400 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7401
7402         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
7403         (tdesc_osabi_name): Likewise.
7404         * target-descriptions.c (tdesc_architecture_name): Add new
7405         function.
7406         (tdesc_osabi_name): Likewise.
7407
7408 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7409
7410         * common/tdesc.c (tdesc_predefined_type): Move to here.
7411         (tdesc_named_type): Likewise.
7412         (tdesc_create_vector): Likewise.
7413         (tdesc_create_struct): Likewise.
7414         (tdesc_set_struct_size): Likewise.
7415         (tdesc_create_union): Likewise.
7416         (tdesc_create_flags): Likewise.
7417         (tdesc_create_enum): Likewise.
7418         (tdesc_add_field): Likewise.
7419         (tdesc_add_typed_bitfield): Likewise.
7420         (tdesc_add_bitfield): Likewise.
7421         (tdesc_add_flag): Likewise.
7422         (tdesc_add_enum_value): Likewise.
7423         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
7424         (struct tdesc_type_vector): Likewise.
7425         (struct tdesc_type_field): Likewise.
7426         (struct tdesc_type_with_fields): Likewise.
7427         (tdesc_create_enum): Add declaration.
7428         (tdesc_add_typed_bitfield): Likewise.
7429         (tdesc_add_enum_value): Likewise.
7430         * target-descriptions.c (tdesc_type_field): Move from here.
7431         (tdesc_type_builtin): Likewise.
7432         (tdesc_type_vector): Likewise.
7433         (tdesc_type_with_fields): Likewise.
7434         (tdesc_predefined_types): Likewise.
7435         (tdesc_named_type): Likewise.
7436         (tdesc_create_vector): Likewise.
7437         (tdesc_create_struct): Likewise.
7438         (tdesc_set_struct_size): Likewise.
7439         (tdesc_create_union): Likewise.
7440         (tdesc_create_flags): Likewise.
7441         (tdesc_create_enum): Likewise.
7442         (tdesc_add_field): Likewise.
7443         (tdesc_add_typed_bitfield): Likewise.
7444         (tdesc_add_bitfield): Likewise.
7445         (tdesc_add_flag): Likewise.
7446         (tdesc_add_enum_value): Likewise.
7447         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
7448         (tdesc_add_typed_bitfield): Likewise.
7449         (tdesc_add_enum_value): Likewise.
7450
7451 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7452
7453         * common/tdesc.c (tdesc_feature::accept): Move to here.
7454         (tdesc_feature::operator==): Likewise.
7455         (tdesc_create_reg): Likewise.
7456         * common/tdesc.h (tdesc_type_kind): Likewise.
7457         (struct tdesc_type): Likewise.
7458         (struct tdesc_feature): Likewise.
7459         * regformats/regdat.sh: Create a feature.
7460         * target-descriptions.c (tdesc_type_kind): Move from here.
7461         (tdesc_type): Likewise.
7462         (tdesc_type_up): Likewise.
7463         (tdesc_feature): Likewise.
7464         (tdesc_create_reg): Likewise.
7465
7466 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
7467
7468         * Makefile.in: Add arch/tdesc.c
7469         * common/tdesc.c: New file.
7470         * common/tdesc.h (tdesc_element_visitor): Move to here.
7471         (tdesc_element): Likewise.
7472         (tdesc_reg): Likewise.
7473         (tdesc_reg_up): Likewise.
7474         * regformats/regdef.h (reg): Add offset to constructors.
7475         * target-descriptions.c (tdesc_element_visitor): Move from here.
7476         (tdesc_element): Likewise.
7477         (tdesc_reg): Likewise.
7478         (tdesc_reg_up): Likewise.
7479
7480 2018-04-17  Tom Tromey  <tom@tromey.com>
7481
7482         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
7483         discriminant field.
7484
7485 2018-04-17  Tom Tromey  <tom@tromey.com>
7486
7487         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
7488
7489 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7490
7491         * symtab.c (print_symbol_info): Skip printing filename and line
7492         number when `last' is NULL.
7493         (symtab_symbol_info): Use empty string instead of NULL for first
7494         invocation of print_symbol_info.
7495         (rbreak_command): Pass NULL to `last' parameter of
7496         print_symbol_info.
7497
7498 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
7499
7500         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
7501         instead of nullptr.
7502
7503 2018-04-16  Pedro Alves  <palves@redhat.com>
7504
7505         * MAINTAINERS (sh): Remove.
7506         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
7507         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
7508         (ALLDEPFILES): Remove sh64-tdep.c.
7509         * NEWS: Mentions that support for SH-5/SH64 is removed.
7510         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
7511         (sh*-*-openbsd*): Ditto.
7512         (sh64-*-elf*): Remove.
7513         (sh*): Remove.
7514         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
7515         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
7516         * sh-tdep.c: No longer include "sh64-tdep.h".
7517         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
7518         * sh64-tdep.c, sh64-tdep.h: Remove files.
7519
7520 2018-04-16  Pedro Alves  <palves@redhat.com>
7521
7522         * MAINTAINERS: Remove m88k.
7523         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
7524         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
7525         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
7526         * NEWS: Mention that support for m88k was removed.
7527         * configure.host (m88*-*-*): Remove support.
7528         * configure.nat (m88k-*-*): Remove support.
7529         * configure.tgt (m88*-*-openbsd*): Remove.
7530         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
7531
7532 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
7533
7534         * configure.tgt (x86_tobjs): New variable.
7535         (amd64_tobjs, i386_tobjs): Use it.
7536
7537 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7538
7539         * symtab.c (print_symbol_info): Precede the symbol definition by
7540         the line number when available.
7541         * NEWS: Advertise this enhancement.
7542
7543 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7544
7545         * NEWS (New options): announce set/show record btrace cpu.
7546         * btrace.c: Include record-btrace.h.
7547         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
7548         the vendor is unknown.
7549         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
7550         Maybe overwrite the btrace configuration's cpu.
7551         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
7552         (btrace_fetch): Add cpu parameter.  Update callers.
7553         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
7554         Maybe overwrite the btrace configuration's cpu.  Skip enabling
7555         errata workarounds if the vendor is unknown.
7556         * python/py-record-btrace.c: Include record-btrace.h.
7557         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
7558         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
7559         * record-btrace.c (record_btrace_cpu_state_kind): New.
7560         (record_btrace_cpu): New.
7561         (set_record_btrace_cpu_cmdlist): New.
7562         (record_btrace_get_cpu): New.
7563         (require_btrace_thread, record_btrace_info)
7564         (record_btrace_resume_thread): Call record_btrace_get_cpu.
7565         (cmd_set_record_btrace_cpu_none): New.
7566         (cmd_set_record_btrace_cpu_auto): New.
7567         (cmd_set_record_btrace_cpu): New.
7568         (cmd_show_record_btrace_cpu): New.
7569         (_initialize_record_btrace): Initialize set/show record btrace cpu
7570         commands.
7571         * record-btrace.h (record_btrace_get_cpu): New.
7572
7573 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7574
7575         * record.c (set_record_command): Fix typo in message.
7576
7577 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7578
7579         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
7580
7581 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7582
7583         * infrun.c (process_event_stop_test): Call
7584         gdbarch_in_indirect_branch_thunk.
7585         * gdbarch.sh (in_indirect_branch_thunk): New.
7586         * gdbarch.c: Regenerated.
7587         * gdbarch.h: Regenerated.
7588         * x86-tdep.h: New.
7589         * x86-tdep.c: New.
7590         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7591         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7592         (ALLDEPFILES): Add x86-tdep.c.
7593         * arch-utils.h (default_in_indirect_branch_thunk): New.
7594         * arch-utils.c (default_in_indirect_branch_thunk): New.
7595         * i386-tdep: Include x86-tdep.h.
7596         (i386_in_indirect_branch_thunk): New.
7597         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7598         function.
7599         * amd64-tdep: Include x86-tdep.h.
7600         (amd64_in_indirect_branch_thunk): New.
7601         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7602
7603 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7604
7605         PR gdb/23053
7606         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7607         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7608         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7609         regression.
7610
7611 2018-04-12  Tom Tromey  <tom@tromey.com>
7612
7613         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7614         (rust_evaluate_subexp): Likewise.
7615
7616 2018-04-12  Pedro Alves  <palves@redhat.com>
7617
7618         * procfs.c (procfs_detach): Make forward declaration's prototype
7619         match definition's protototype.
7620         (proc_get_LDT_entry): Remove stale do_cleanups call.
7621
7622 2018-04-12  Pedro Alves  <palves@redhat.com>
7623
7624         * target.h (target_ops::to_has_exited): Delete.
7625         (target_has_exited): Delete.
7626         * target-delegates.c: Regenerate.
7627
7628 2018-04-11  Pedro Alves  <palves@redhat.com>
7629
7630         * target.c (fileio_fh_t::t): Add comment.
7631         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7632         (target_fileio_close): Handle a NULL target.
7633         (invalidate_fileio_fh): New.
7634         (target_close): Call it.
7635         * remote.c (remote_hostio_send_command): No longer check whether
7636         remote_desc is open.
7637
7638 2018-04-11  Pedro Alves  <palves@redhat.com>
7639
7640         * target.c (fileio_fh_t): Make it a named struct instead of a
7641         typedef.
7642         (fileio_fh_t::is_closed): New method.
7643         (DEF_VEC_O (fileio_fh_t)): Remove.
7644         (fileio_fhandles): Now a std::vector.
7645         (is_closed_fileio_fh): Delete.
7646         (acquire_fileio_fd): Adjust.  Rename parameters.
7647         (release_fileio_fd): Adjust.
7648         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7649         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7650         (target_fileio_close): Adjust.
7651
7652 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7653
7654         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7655         index.
7656
7657 2018-04-10  Pedro Alves  <palves@redhat.com>
7658
7659         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7660         (scoped_finish_thread_state): New class.
7661         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7662         cleanup.
7663         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7664         (fetch_inferior_event, normal_stop): Likewise.
7665         * thread.c (finish_thread_state_cleanup): Delete.
7666
7667 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7668             Pedro Alves  <palves@redhat.com>
7669
7670         * value.c: Include "selftest.h" and "common/array-view.h".
7671         (struct range) <operator ==>: New.
7672         (test_ranges_contain): New.
7673         (check_ranges_vector): New.
7674         (test_insert_into_bit_range_vector): New.
7675         (_initialize_values): Register selftests.
7676         * common/array-view.h (operator==, operator!=): New.
7677
7678 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7679
7680         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7681         an iterator.
7682         * inline-frame.c: Include <algorithm>.
7683         (struct inline_state): Add constructor.
7684         (inline_state_s): Remove.
7685         (DEF_VEC_O(inline_state_s)): Remove.
7686         (inline_states): Change type to std::vector.
7687         (find_inline_frame_state): Adjust to std::vector.
7688         (allocate_inline_frame_state): Remove.
7689         (clear_inline_frame_state): Adjust to std::vector.
7690         (skip_inline_frames): Adjust to std::vector.
7691
7692 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7693
7694         * tracepoint.h (struct trace_state_variable): Add constructor.
7695         <name>: Change type to std::string.
7696         * tracepoint.c (tsv_s): Remove.
7697         (DEF_VEC_O(tsv_s)): Remove.
7698         (tvariables): Change to std::vector.
7699         (create_trace_state_variable): Adjust to std::vector.
7700         (find_trace_state_variable): Likewise.
7701         (find_trace_state_variable_by_number): Likewise.
7702         (delete_trace_state_variable): Likewise.
7703         (trace_variable_command): Adjust to std::string.
7704         (delete_trace_variable_command): Likewise.
7705         (tvariables_info_1): Adjust to std::vector.
7706         (save_trace_state_variables): Likewise.
7707         (start_tracing): Likewise.
7708         (merge_uploaded_trace_state_variables): Adjust to std::vector
7709         and std::string.
7710         * target.h (struct target_ops)
7711         <to_download_trace_state_variable>: Pass reference to
7712         trace_state_variable.
7713         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7714         * target-delegates.c: Re-generate.
7715         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7716         (mi_tsv_deleted): Likewise.
7717         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7718         * remote.c (remote_download_trace_state_variable): Change
7719         pointer to reference and adjust.
7720         * make-target-delegates (parse_argtypes): Handle references.
7721         (write_function_header): Likewise.
7722         (munge_type): Likewise.
7723
7724 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7725
7726         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7727         string_view-selftests.c.
7728         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7729         testsuite.
7730         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7731         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7732         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7733         * unittests/basic_string_view/element_access/char/1.cc:
7734         Likewise.
7735         * unittests/basic_string_view/element_access/char/empty.cc:
7736         Likewise.
7737         * unittests/basic_string_view/element_access/char/front_back.cc:
7738         Likewise.
7739         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7740         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7741         Likewise.
7742         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7743         Likewise.
7744         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7745         Likewise.
7746         * unittests/basic_string_view/operations/compare/char/1.cc:
7747         Likewise.
7748         * unittests/basic_string_view/operations/compare/char/13650.cc:
7749         Likewise.
7750         * unittests/basic_string_view/operations/copy/char/1.cc:
7751         Likewise.
7752         * unittests/basic_string_view/operations/data/char/1.cc:
7753         Likewise.
7754         * unittests/basic_string_view/operations/find/char/1.cc:
7755         Likewise.
7756         * unittests/basic_string_view/operations/find/char/2.cc:
7757         Likewise.
7758         * unittests/basic_string_view/operations/find/char/3.cc:
7759         Likewise.
7760         * unittests/basic_string_view/operations/find/char/4.cc:
7761         Likewise.
7762         * unittests/basic_string_view/operations/rfind/char/1.cc:
7763         Likewise.
7764         * unittests/basic_string_view/operations/rfind/char/2.cc:
7765         Likewise.
7766         * unittests/basic_string_view/operations/rfind/char/3.cc:
7767         Likewise.
7768         * unittests/basic_string_view/operations/substr/char/1.cc:
7769         Likewise.
7770         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7771         * unittests/string_view-selftests.c: New file.
7772
7773 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7774
7775         * unittests/basic_string_view/capacity/1.cc: New file.
7776         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7777         * unittests/basic_string_view/cons/char/1.cc: New file.
7778         * unittests/basic_string_view/cons/char/2.cc: New file.
7779         * unittests/basic_string_view/cons/char/3.cc: New file.
7780         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7781         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7782         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7783         * unittests/basic_string_view/element_access/char/1.cc: New file.
7784         * unittests/basic_string_view/element_access/char/2.cc: New file.
7785         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7786         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7787         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7788         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7789         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7790         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7791         * unittests/basic_string_view/include.cc: New file.
7792         * unittests/basic_string_view/inserters/char/1.cc: New file.
7793         * unittests/basic_string_view/inserters/char/2.cc: New file.
7794         * unittests/basic_string_view/inserters/char/3.cc: New file.
7795         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7796         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7797         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7798         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7799         * unittests/basic_string_view/literals/types.cc: New file.
7800         * unittests/basic_string_view/literals/values.cc: New file.
7801         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7802         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7803         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7804         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7805         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7806         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7807         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7808         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7809         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7810         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7811         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7812         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7813         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7814         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7815         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7816         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7817         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7818         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7819         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7820         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7821         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7822         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7823         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7824         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7825         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7826         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7827         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7828         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7829         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7830         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7831         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7832         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7833         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7834         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7835         * unittests/basic_string_view/operators/char/2.cc: New file.
7836         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7837         * unittests/basic_string_view/range_access/char/1.cc: New file.
7838         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7839         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7840         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7841         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7842         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7843         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7844         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7845         * unittests/basic_string_view/typedefs.cc: New file.
7846         * unittests/basic_string_view/types/1.cc: New file.
7847
7848 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7849
7850         * common/gdb_string_view.h: Remove libstdc++ implementation
7851         details, adjust to gdb reality.
7852         * common/gdb_string_view.tcc: Likewise.
7853         * cli/cli-script.c (struct string_view): Remove.
7854         (user_args) <m_args>: Change element type to gdb::string_view.
7855         (user_args::insert_args): Adjust.
7856
7857 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7858
7859         * common/gdb_string_view.h: New file.
7860         * common/gdb_string_view.tcc: New file.
7861
7862 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7863
7864         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7865         * configure: Re-generate.
7866
7867 2018-04-09  Pedro Alves  <palves@redhat.com>
7868
7869         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7870         (set_target_gdbarch): Call
7871         gdb::observers::architecture_changed.notify instead of
7872         observer_notify_architecture_changed.
7873
7874 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7875
7876         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7877         (do_restore_current_traceframe_cleanup): Remove.
7878         (restore_current_traceframe_cleanup_dtor): Remove.
7879         (make_cleanup_restore_current_traceframe): Remove.
7880         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7881         New.
7882         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7883         * infrun.c (fetch_inferior_event): Use
7884         scoped_restore_current_traceframe.
7885
7886 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7887
7888         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7889         Remove.
7890         <n_allocated_type_units>: Remove.
7891         <all_type_units>: Change to std::vector.
7892         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7893         to std::vector change.
7894         (dwarf2_per_objfile::get_cutu): Likewise.
7895         (dwarf2_per_objfile::get_tu): Likewise.
7896         (create_signatured_type_table_from_index): Likewise.
7897         (create_signatured_type_table_from_debug_names): Likewise.
7898         (dw2_symtab_iter_next): Likewise.
7899         (dw2_print_stats): Likewise.
7900         (dw2_expand_all_symtabs): Likewise.
7901         (dw2_expand_marked_cus): Likewise.
7902         (dw2_debug_names_iterator::next): Likewise.
7903         (dwarf2_initialize_objfile): Likewise.
7904         (add_signatured_type_cu_to_table): Likewise.
7905         (create_all_type_units): Likewise.
7906         (add_type_unit): Likewise.
7907         (struct tu_abbrev_offset): Add constructor.
7908         (build_type_psymtabs_1): Adjust to std::vector change.
7909         (print_tu_stats): Likewise.
7910         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7911         (write_debug_names): Likewise.
7912
7913 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7914
7915         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7916         Make an std::vector.
7917         <n_comp_units>: Remove.
7918         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7919         to std::vector change.
7920         (dwarf2_per_objfile::get_cutu): Likewise.
7921         (dwarf2_per_objfile::get_cu): Likewise.
7922         (create_cus_from_index): Likewise.
7923         (create_addrmap_from_index): Likewise.
7924         (create_addrmap_from_aranges): Likewise.
7925         (dwarf2_read_index): Likewise.
7926         (dw2_find_last_source_symtab): Likewise.
7927         (dw2_map_symtabs_matching_filename): Likewise.
7928         (dw2_symtab_iter_next): Likewise.
7929         (dw2_print_stats): Likewise.
7930         (dw2_expand_all_symtabs): Likewise.
7931         (dw2_expand_symtabs_with_fullname): Likewise.
7932         (dw2_expand_marked_cus): Likewise.
7933         (dw2_map_symbol_filenames): Likewise.
7934         (create_cus_from_debug_names): Likewise.
7935         (dwarf2_read_debug_names): Likewise.
7936         (dw2_debug_names_iterator::next): Likewise.
7937         (dwarf2_initialize_objfile): Likewise.
7938         (set_partial_user): Likewise.
7939         (dwarf2_build_psymtabs_hard): Likewise.
7940         (read_comp_units_from_section): Remove arguments, adjust to
7941         std::vector change.
7942         (create_all_comp_units): Adjust to std::vector and
7943         read_comp_units_from_section changes.
7944         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7945         change.
7946         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7947         (psyms_seen_size): Likewise.
7948         (write_gdbindex): Likewise.
7949         (write_debug_names): Likewise.
7950
7951 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7952
7953         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7954         with dwarf2_per_objfile.
7955         (create_cus_from_index): Likewise.
7956         (create_signatured_type_table_from_index): Likewise.
7957         (dwarf2_read_index): Likewise.
7958         (dwarf2_initialize_objfile): Likewise.
7959         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7960         per_cu rather than get_dwarf2_per_objfile.
7961
7962 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7963
7964         * dwarf2read.h (struct signatured_type): Forward declare.
7965         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7966         New methods.
7967         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
7968         (dw2_get_cutu): ...this.
7969         (dwarf2_per_objfile::get_cu): Rename from...
7970         (dw2_get_cu): ...this.
7971         (dwarf2_per_objfile::get_tu): New.
7972         (create_addrmap_from_index): Adjust.
7973         (create_addrmap_from_aranges): Adjust.
7974         (dw2_find_last_source_symtab): Adjust.
7975         (dw2_map_symtabs_matching_filename): Adjust.
7976         (dw2_symtab_iter_next): Adjust.
7977         (dw2_print_stats): Adjust.
7978         (dw2_expand_all_symtabs): Adjust.
7979         (dw2_expand_symtabs_with_fullname): Adjust.
7980         (dw2_expand_marked_cus): Adjust.
7981         (dw_expand_symtabs_matching_file_matcher): Adjust.
7982         (dw2_map_symbol_filenames): Adjust.
7983         (dw2_debug_names_iterator::next): Adjust.
7984         (dwarf2_initialize_objfile): Adjust.
7985         (set_partial_user): Adjust.
7986         (dwarf2_build_psymtabs_hard): Adjust.
7987
7988 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7989
7990         * dwarf2read.c (create_signatured_type_table_from_debug_names):
7991         Remove unused variables.
7992         (dw2_map_symtabs_matching_filename): Likewise.
7993         (dwarf2_record_block_ranges): Likewise.
7994         (dwarf2_read_addr_index): Likewise.
7995         (follow_die_offset): Likewise.
7996
7997 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7998
7999         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
8000         to symbol_file_add_main.
8001
8002 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8003
8004         PR mi/22299
8005         * mi/mi-console.c (do_fputc_async_safe): New.
8006         (mi_console_file::write_async_safe): New.
8007         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
8008         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
8009         New.
8010         * ui-file.c (ui_file::putstrn): Adjust call to
8011         fputstrn_unfiltered.
8012         * utils.c (printchar): Replace do_fputs and do_fprintf
8013         parameters by do_fputc.
8014         (fputstr_filtered): Adjust call to printchar.
8015         (fputstr_unfiltered): Likewise.
8016         (fputstrn_filtered): Likewise.
8017         (fputstrn_unfiltered): Add do_fputc parameter, pass to
8018         printchar.
8019         * utils.h (do_fputc_ftype): New typedef.
8020         (fputstrn_unfiltered): Add do_fputc parameter.
8021
8022 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
8023
8024         * regformats/i386/i386-avx.dat: Remove.
8025
8026 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8027
8028         PR gdb/22979
8029         * amd64-tdep.c (amd64_none_init_abi): New function.
8030         (amd64_x32_none_init_abi): New function.
8031         (_initialize_amd64_tdep): Register handlers for x86-64 and
8032         x64_32 with GDB_OSABI_NONE.
8033         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
8034         GDB_OSABI_NONE osabi.
8035
8036 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8037
8038         PR gdb/22980
8039         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
8040         GDB_OSABI_NONE.
8041         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
8042         * osabi.c (gdb_osabi_names): Add "unknown" entry.
8043
8044 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
8045
8046         * common/byte-vector.h (char_vector): New type.
8047         * target.h (target_read_alloc): Return
8048         gdb::optional<byte_vector>.
8049         (target_read_stralloc): Return gdb::optional<char_vector>.
8050         (target_get_osdata): Return gdb::optional<char_vector>.
8051         * target.c (target_read_alloc_1): Templatize.  Replacement
8052         manual memory management with vector.
8053         (target_read_alloc): Change return type, adjust.
8054         (target_read_stralloc): Change return type, adjust.
8055         (target_get_osdata): Change return type, adjust.
8056         * auxv.c (struct auxv_info) <length>: Remove.
8057         <data>: Change type to gdb::optional<byte_vector>.
8058         (auxv_inferior_data_cleanup): Free auxv_info with delete.
8059         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
8060         (target_auxv_search): Adjust.
8061         (fprint_target_auxv): Adjust.
8062         * avr-tdep.c (avr_io_reg_read_command): Adjust.
8063         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
8064         (linux_make_corefile_notes): Adjust.
8065         * osdata.c (get_osdata): Adjust.
8066         * remote.c (remote_get_threads_with_qxfer): Adjust.
8067         (remote_memory_map): Adjust.
8068         (remote_traceframe_info): Adjust.
8069         (btrace_read_config): Adjust.
8070         (remote_read_btrace): Adjust.
8071         (remote_pid_to_exec_file): Adjust.
8072         * solib-aix.c (solib_aix_get_library_list): Adjust.
8073         * solib-dsbt.c (decode_loadmap): Don't free buf.
8074         (dsbt_get_initial_loadmaps): Adjust.
8075         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
8076         * solib-target.c (solib_target_current_sos): Adjust.
8077         * tracepoint.c (sdata_make_value): Adjust.
8078         * xml-support.c (xinclude_start_include): Adjust.
8079         (xml_fetch_content_from_file): Adjust.
8080         * xml-support.h (xml_fetch_another): Change return type.
8081         (xml_fetch_content_from_file): Change return type.
8082         * xml-syscall.c (xml_init_syscalls_info): Adjust.
8083         * xml-tdesc.c (file_read_description_xml): Adjust.
8084         (fetch_available_features_from_target): Change return type.
8085         (target_fetch_description_xml): Adjust.
8086         (target_read_description_xml): Adjust.
8087
8088 2018-04-06  Tom Tromey  <tom@tromey.com>
8089
8090         * value.c (~value): Update.
8091         (struct value) <contents>: Now unique_xmalloc_ptr.
8092         (value_contents_bits_eq, allocate_value_contents)
8093         (value_contents_raw, value_contents_all_raw)
8094         (value_contents_for_printing, value_contents_for_printing_const)
8095         (set_value_enclosing_type): Update.
8096
8097 2018-04-06  Tom Tromey  <tom@tromey.com>
8098
8099         * value.c (range_s): Remove typedef, VEC.
8100         (struct range): Add operator<.
8101         (range_lessthan): Remove.
8102         (ranges_contain): Change type.
8103         (~value): Update.
8104         (struct value) <unavailable, optimized_out>: Now std::vector.
8105         (value_entirely_available)
8106         (value_entirely_covered_by_range_vector)
8107         (value_entirely_unavailable, value_entirely_optimized_out):
8108         Update.
8109         (insert_into_bit_range_vector): Change argument type.
8110         (find_first_range_overlap): Likewise.
8111         (struct ranges_and_idx, value_contents_bits_eq)
8112         (require_not_optimized_out, require_available): Update.
8113         (ranges_copy_adjusted): Change argument types.
8114         (value_optimized_out, value_copy, value_fetch_lazy): Update.
8115
8116 2018-04-06  Tom Tromey  <tom@tromey.com>
8117
8118         * value.c (~value): Update.
8119         (struct value) <parent>: Now a value_ref_ptr.
8120         (value_parent, set_value_parent, value_address, value_copy):
8121         Update.
8122
8123 2018-04-06  Tom Tromey  <tom@tromey.com>
8124
8125         * value.c (struct value): Add constructor, destructor, and member
8126         initializers.
8127         (allocate_value_lazy, value_decref): Update.
8128
8129 2018-04-06  Tom Tromey  <tom@tromey.com>
8130
8131         * value.c (struct value) <released, next>: Remove.
8132         (all_values): Now a std::vector.
8133         (allocate_value_lazy): Update.
8134         (value_next): Remove.
8135         (value_mark, value_free_to_mark, release_value)
8136         (value_release_to_mark): Update.
8137
8138 2018-04-06  Tom Tromey  <tom@tromey.com>
8139
8140         * value.h (fetch_subexp_value, value_release_to_mark): Update.
8141         (free_value_chain): Remove.
8142         * value.c (free_value_chain): Remove.
8143         (value_release_to_mark): Return a std::vector.
8144         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
8145         std::vector.
8146         (check_condition): Update.
8147         * eval.c (fetch_subexp_value): Change "val_chain" to a
8148         std::vector.
8149         * breakpoint.c (update_watchpoint): Update.
8150         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
8151
8152 2018-04-06  Tom Tromey  <tom@tromey.com>
8153
8154         * value.h (free_all_values): Remove.
8155         * value.c (free_all_values): Remove.
8156
8157 2018-04-06  Tom Tromey  <tom@tromey.com>
8158
8159         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
8160         (value_history_chain, value_history_count): Remove.
8161         (value_history): New global.
8162         (record_latest_value, access_value_history, show_values)
8163         (preserve_values): Update.
8164
8165 2018-04-06  Tom Tromey  <tom@tromey.com>
8166
8167         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
8168         * varobj.c (varobj_set_display_format, varobj_set_value)
8169         (install_default_visualizer, construct_visualizer)
8170         (install_new_value, ~varobj, varobj_get_value_type)
8171         (my_value_of_variable, varobj_editable_p): Update.
8172         * c-varobj.c (c_describe_child, c_value_of_variable)
8173         (cplus_number_of_children, cplus_describe_child): Update.
8174         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
8175         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
8176         (ada_value_of_variable, ada_value_is_changeable_p): Update.
8177
8178 2018-04-06  Tom Tromey  <tom@tromey.com>
8179
8180         * printcmd.c (last_examine_address): Change type to
8181         value_ref_ptr.
8182         (do_examine, x_command): Update.
8183
8184 2018-04-06  Tom Tromey  <tom@tromey.com>
8185
8186         * value.c (release_value): Update.
8187         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
8188         (struct bpstats) <val>: Now a value_ref_ptr.
8189         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
8190         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
8191         (~watchpoint, print_it_watchpoint, watch_command_1)
8192         (invalidate_bp_value_on_memory_change): Update.
8193
8194 2018-04-06  Tom Tromey  <tom@tromey.com>
8195
8196         * varobj.c (varobj_clear_saved_item)
8197         (update_dynamic_varobj_children, install_new_value, ~varobj):
8198         Update.
8199         * value.h (value_incref): Move declaration earlier.
8200         (value_decref): Rename from value_free.
8201         (struct value_ref_policy): New.
8202         (value_ref_ptr): New typedef.
8203         (struct value_deleter): Remove.
8204         (gdb_value_up): Remove typedef.
8205         (release_value): Change return type.
8206         (release_value_or_incref): Remove.
8207         * value.c (set_value_parent): Update.
8208         (value_incref): Change return type.
8209         (value_decref): Rename from value_free.
8210         (value_free_to_mark, free_all_values, free_value_chain): Update.
8211         (release_value): Return value_ref_ptr.
8212         (release_value_or_incref): Remove.
8213         (record_latest_value, set_internalvar, clear_internalvar):
8214         Update.
8215         * stack.c (info_frame_command): Don't call value_free.
8216         * python/py-value.c (valpy_dealloc, valpy_new)
8217         (value_to_value_object): Update.
8218         * printcmd.c (do_examine): Update.
8219         * opencl-lang.c (lval_func_free_closure): Update.
8220         * mi/mi-main.c (register_changed_p): Don't call value_free.
8221         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
8222         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
8223         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
8224         value_free.
8225         * guile/scm-value.c (vlscm_free_value_smob)
8226         (vlscm_scm_from_value): Update.
8227         * frame.c (frame_register_unwind, frame_unwind_register_signed)
8228         (frame_unwind_register_unsigned, get_frame_register_bytes)
8229         (put_frame_register_bytes): Don't call value_free.
8230         * findvar.c (address_from_register): Don't call value_free.
8231         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
8232         * dwarf2loc.c (entry_data_value_free_closure)
8233         (value_of_dwarf_reg_entry, free_pieced_value_closure)
8234         (dwarf2_evaluate_loc_desc_full): Update.
8235         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
8236         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
8237         (~watchpoint, watch_command_1)
8238         (invalidate_bp_value_on_memory_change): Update.
8239         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
8240
8241 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
8242
8243         PR gdb/23022
8244         * warning.m4: Add -Wno-error=deprecated-register.
8245         * configure: Re-generate.
8246
8247 2018-04-05  Tom Tromey  <tom@tromey.com>
8248
8249         * linespec.h: Remove include of "vec.h".
8250
8251 2018-04-05  Tom Tromey  <tom@tromey.com>
8252
8253         * linespec.c (typep): Remove typedef.
8254         (find_methods, find_superclass_methods): Take a std::vector.
8255         (find_method): Use std::vector.
8256
8257 2018-04-05  Tom Tromey  <tom@tromey.com>
8258
8259         * utils.c (compare_strings): Remove.
8260         * utils.h (compare_strings): Remove.
8261         * objc-lang.h (find_imps): Update.
8262         * objc-lang.c (find_methods): Take a std::vector.
8263         (uniquify_strings, find_imps): Likewise.
8264         * linespec.c (find_methods): Take a std::vector.
8265         (decode_objc): Use std::vector.
8266         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
8267         a std::vector.
8268         (find_method, find_function_symbols): Use std::vector.
8269
8270 2018-04-05  Tom Tromey  <tom@tromey.com>
8271
8272         * completer.c (completion_tracker::completion_tracker): Remove
8273         cast.
8274         (completion_tracker::discard_completions): Likewise.
8275         * breakpoint.c (ambiguous_names_p): Remove cast.
8276         * ada-lang.c (_initialize_ada_language): Remove cast.
8277         * utils.h (streq): Update.
8278         (streq_hash): Add new declaration.
8279         * utils.c (streq): Return bool.
8280         (streq_hash): New function.
8281
8282 2018-04-05  Tom Tromey  <tom@tromey.com>
8283
8284         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
8285         Remove a string copy.
8286
8287 2018-04-05  Tom Tromey  <tom@tromey.com>
8288
8289         * linespec.c (filter_results): Use std::vector.
8290         (decode_line_2, decode_line_full): Update.
8291
8292 2018-04-05  Tom Tromey  <tom@tromey.com>
8293
8294         * linespec.c (canonical_to_fullform): Return std::string.
8295         (filter_results): Update.
8296         (struct decode_line_2_item): Add constructor.
8297         <fullform, displayform>: Now std::string.
8298         (decode_line_2_compare_items): Now a std::sort comparator.
8299         (decode_line_2): Update.
8300
8301 2018-04-05  Tom Tromey  <tom@tromey.com>
8302
8303         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
8304         (unexpected_linespec_error): Update.
8305         (linespec_parse_basic, parse_linespec): Update.
8306
8307 2018-04-05  Tom Tromey  <tom@tromey.com>
8308
8309         * linespec.c (linespec_parse_basic): Reindent.
8310
8311 2018-04-05  Tom Tromey  <tom@tromey.com>
8312
8313         * minsyms.h (iterate_over_minimal_symbols): Update.
8314         * minsyms.c (iterate_over_minimal_symbols): Take a
8315         gdb::function_view.
8316         * linespec.c (struct collect_minsyms): Remove.
8317         (compare_msyms): Now a std::sort comparator.
8318         (add_minsym): Add parameters.
8319         (search_minsyms_for_name): Update.  Use std::vector.
8320
8321 2018-04-03  Tom Tromey  <tom@tromey.com>
8322
8323         * mipsread.c (read_alphacoff_dynamic_symtab): Use
8324         gdb::byte_vector.
8325
8326 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
8327
8328         * MAINTAINERS (Write After Approval): Add Weimin Pan.
8329
8330 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
8331
8332         PR gdb/16959
8333         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
8334         printing static type.
8335
8336 2018-04-01  Tom Tromey  <tom@tromey.com>
8337
8338         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
8339         (rs6000_xfer_shared_libraries): Update.
8340
8341 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
8342
8343         * common/gdb_vecs.h (char_ptr): Remove.
8344         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
8345
8346 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
8347
8348         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
8349         with std::vector.
8350         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
8351
8352 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
8353
8354         * tracepoint.h (struct uploaded_tp): Initialize fields.
8355         <actions, step_actions, cmd_strings>: Change type to
8356         std::vector<char *>.
8357         * tracepoint.c (get_uploaded_tp): Allocate with new.
8358         (free_uploaded_tps): Free with delete.
8359         (parse_tracepoint_definition): Adjust to std::vector change.
8360         * breakpoint.c (read_uploaded_action): Likewise.
8361         (create_tracepoint_from_upload): Likewise.
8362         * ctf.c (ctf_write_uploaded_tp): Likewise.
8363         (SET_ARRAY_FIELD): Likewise.
8364         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
8365
8366 2018-03-30  Tom Tromey  <tom@tromey.com>
8367
8368         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
8369         std::unique_ptr.
8370         (svr4_keep_data_in_core): Update.
8371         (svr4_read_so_list): Update.
8372
8373 2018-03-30  Tom Tromey  <tom@tromey.com>
8374
8375         * windows-nat.c (handle_output_debug_string, handle_exception):
8376         Update.
8377         * target.h (target_read_string): Update.
8378         * target.c (target_read_string): Change "string" to
8379         unique_xmalloc_ptr.
8380         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
8381         Update.
8382         * solib-frv.c (frv_current_sos): Update.
8383         * solib-dsbt.c (dsbt_current_sos): Update.
8384         * solib-darwin.c (darwin_current_sos): Update.
8385         * linux-thread-db.c (inferior_has_bug): Update.
8386         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
8387         Update.  Remove alloca.
8388         * ada-lang.c (ada_main_name): Update.
8389
8390 2018-03-30  Tom Tromey  <tom@tromey.com>
8391
8392         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
8393         (struct dwo_file_deleter): New.
8394         (dwo_file_up): New typedef.
8395         (open_and_init_dwo_file): Use dwo_file_up.
8396         (free_dwo_file_cleanup): Remove.
8397
8398 2018-03-30  Tom Tromey  <tom@tromey.com>
8399
8400         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
8401         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
8402
8403 2018-03-30  Tom Tromey  <tom@tromey.com>
8404
8405         * dwarf2read.c (class free_cached_comp_units): New class.
8406         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
8407         (free_cached_comp_units): Remove function.
8408
8409 2018-03-30  Tom Tromey  <tom@tromey.com>
8410
8411         * utils.h (make_cleanup_unpush_target): Remove.
8412         * inf-ptrace.c (struct target_unpusher): New.
8413         (target_unpush_up) New typedef.
8414         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
8415         target_unpush_up.
8416         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
8417
8418 2018-03-27  Tom Tromey  <tom@tromey.com>
8419
8420         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
8421
8422 2018-03-27  Pedro Alves  <palves@redhat.com>
8423             Tom Tromey  <tom@tromey.com>
8424
8425         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
8426         destructor.  Now a class.
8427         (gdb_readline_wrapper_cleanup): Remove function.
8428         (gdb_readline_wrapper): Remove cleanups.
8429
8430 2018-03-27  Tom Tromey  <tom@tromey.com>
8431
8432         * typeprint.h (struct type_print_options) <local_typedefs,
8433         global_typedefs>: Remove "struct" keyword.
8434         (class typedef_hash_table): New class.
8435         (recursively_update_typedef_hash, add_template_parameters)
8436         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
8437         (find_typedef_in_hash): Don't declare.
8438         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
8439         (typedef_hash_table::recursively_update): Rename from
8440         recursively_update_typedef_hash.  Now a member.
8441         (typedef_hash_table::add_template_parameters): Rename from
8442         add_template_parameters.  Now a member.
8443         (typedef_hash_table::typedef_hash_table): Now a constructor;
8444         rename from create_typedef_hash.
8445         (typedef_hash_table::~typedef_hash_table): Now a destructor;
8446         rename from free_typedef_hash.
8447         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
8448         (do_free_global_table): Remove.
8449         (typedef_hash_table::typedef_hash_table): New constructor; renamed
8450         from copy_type_recursive.
8451         (create_global_typedef_table): Remove.
8452         (typedef_hash_table::find_global_typedef): Now a member of
8453         typedef_hash_table.
8454         (typedef_hash_table::find_typedef): Rename from
8455         find_typedef_in_hash; now a member.
8456         (whatis_exp): Update.
8457         * extension.h (struct ext_lang_type_printers): Add constructor and
8458         destructor.
8459         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
8460         declare.
8461         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
8462         Now a constructor; rename from start_ext_lang_type_printers.
8463         (ext_lang_type_printers): Now a destructor; rename from
8464         free_ext_lang_type_printers.
8465         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
8466         Update.
8467         (c_type_print_base_struct_union): Update.  Remove cleanups.
8468
8469 2018-03-27  Tom Tromey  <tom@tromey.com>
8470
8471         * dwarf-index-write.c: Include <cmath>.
8472
8473 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8474
8475         * NEWS: Add entry describing new "set|show varsize-limit" command.
8476         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
8477         command.
8478         * printcmd.c (_initialize_printcmd): Add "set var" alias of
8479         "set variable".
8480
8481 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
8482
8483         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
8484         dwarf-index-write.c
8485         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
8486         * dwarf-index-common.c: New file.
8487         * dwarf-index-common.h: New file.
8488         * dwarf-index-write.c: New file.
8489         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
8490         (struct dwarf2_section_info): Move from here.
8491         (dwarf2_section_info_def): Likewise.
8492         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
8493         (offset_type): Likewise.
8494         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
8495         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
8496         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
8497         (byte_swap): Likewise.
8498         (MAYBE_SWAP): Likewise.
8499         (dwarf2_per_cu_ptr): Likewise.
8500         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
8501         (struct tu_stats): Likewise.
8502         (struct dwarf2_per_objfile): Likewise.
8503         (struct dwarf2_per_cu_data): Likewise.
8504         (struct signatured_type): Likewise.
8505         (sig_type_ptr): Likewise.
8506         (DEF_VEC_P (sig_type_ptr)): Likewise.
8507         (INDEX4_SUFFIX): Likewise.
8508         (INDEX5_SUFFIX): Likewise.
8509         (DEBUG_STR_SUFFIX): Likewise.
8510         (dwarf2_read_section): Make non-static.
8511         (mapped_index_string_hash): Move from here.
8512         (dwarf5_djb_hash): Likewise.
8513         (file_write): Likewise.
8514         (class data_buf): Likewise.
8515         (struct symtab_index_entry): Likewise.
8516         (struct mapped_symtab): Likewise.
8517         (find_slot): Likewise.
8518         (hash_expand): Likewise.
8519         (add_index_entry): Likewise.
8520         (uniquify_cu_indices): Likewise.
8521         (class c_str_view): Likewise.
8522         (class c_str_view_hasher): Likewise.
8523         (class vector_hasher): Likewise.
8524         (write_hash_table): Likewise.
8525         (psym_index_map): Likewise.
8526         (struct addrmap_index_data): Likewise.
8527         (add_address_entry): Likewise.
8528         (add_address_entry_worker): Likewise.
8529         (write_address_map): Likewise.
8530         (symbol_kind): Likewise.
8531         (write_psymbols): Likewise.
8532         (struct signatured_type_index_data): Likewise.
8533         (write_one_signatured_type): Likewise.
8534         (recursively_count_psymbols): Likewise.
8535         (recursively_write_psymbols): Likewise.
8536         (class debug_names): Likewise.
8537         (check_dwarf64_offsets): Likewise.
8538         (psyms_seen_size): Likewise.
8539         (write_gdbindex): Likewise.
8540         (write_debug_names): Likewise.
8541         (assert_file_size): Likewise.
8542         (write_psymtabs_to_index): Likewise.
8543         (save_gdb_index_command): Likewise.
8544         (_initialize_dwarf2_read): Don't register the "save gdb-index"
8545         command.
8546         * dwarf2read.h: New file.
8547
8548 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8549
8550         PR gdb/22670
8551         * dwarf2read.c (dwarf2_physname): Do not return the demangled
8552         symbol name if the CU's language stores symbol names in linkage
8553         format.
8554         * language.h (struct language_defn)
8555         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
8556         all instances of this struct.
8557
8558 2018-03-26  Tom Tromey  <tom@tromey.com>
8559
8560         * stack.c (backtrace_command_1): Remove verbose code.
8561
8562 2018-03-26  Tom Tromey  <tom@tromey.com>
8563
8564         * python/py-framefilter.c (py_print_type): Don't catch
8565         exceptions.  Return void.
8566         (py_print_value): Likewise.
8567         (py_print_single_arg): Likewise.
8568         (enumerate_args): Don't catch exceptions.
8569         (py_print_args): Likewise.
8570         (py_print_frame): Likewise.
8571         (gdbpy_apply_frame_filter): Catch exceptions here.
8572
8573 2018-03-26  Tom Tromey  <tom@tromey.com>
8574
8575         * stack.c (_initialize_stack): Remove trailing newlines from help
8576         text.  Add "Usage" line to "backtrace" help.
8577
8578 2018-03-26  Tom Tromey  <tom@tromey.com>
8579
8580         PR python/16486:
8581         * python/py-framefilter.c (py_print_args): Call wrap_hint.
8582
8583 2018-03-26  Tom Tromey  <tom@tromey.com>
8584
8585         * python/py-framefilter.c (py_print_single_arg): Return
8586         EXT_LANG_BT_ERROR from catch.
8587
8588 2018-03-26  Tom Tromey  <tom@tromey.com>
8589
8590         PR backtrace/15584:
8591         * stack.c (backtrace_command_1): Move some code into no-filters
8592         "if".
8593
8594 2018-03-26  Tom Tromey  <tom@tromey.com>
8595
8596         * python/py-framefilter.c (throw_quit_or_print_exception): New
8597         function.
8598         (gdbpy_apply_frame_filter): Use it.
8599
8600 2018-03-26  Tom Tromey  <tom@tromey.com>
8601
8602         PR cli/17716:
8603         * python/py-framefilter.c (py_print_type, py_print_value)
8604         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8605         RETURN_MASK_ERROR.
8606
8607 2018-03-26  Tom Tromey  <tom@tromey.com>
8608
8609         * python/py-framefilter.c (enumerate_args): Use
8610         gdb::unique_xmalloc_ptr.
8611
8612 2018-03-26  Tom Tromey  <tom@tromey.com>
8613
8614         * python/py-framefilter.c (py_print_frame): Return
8615         EXT_LANG_BT_OK.
8616         (gdbpy_apply_frame_filter): Update comment.
8617         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8618         Remove.
8619         <EXT_LANG_BT_NO_FILTERS>: Change value.
8620
8621 2018-03-26  Tom Tromey  <tom@tromey.com>
8622
8623         PR backtrace/15582:
8624         * stack.c (backtrace_command): Parse "hide" argument.
8625         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8626         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8627         constant.
8628
8629 2018-03-26  Tom Tromey  <tom@tromey.com>
8630
8631         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8632         add "flags".
8633         (backtrace_command): Remove "fulltrace", add "flags".
8634
8635 2018-03-26  Tom Tromey  <tom@tromey.com>
8636
8637         * stack.c (backtrace_command): Rewrite command line parsing.
8638
8639 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8640
8641         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8642
8643 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8644
8645         * filename-seen-cache.h: Add include guard.
8646
8647 2018-03-26  Keith Seitz  <keiths@redhat.com>
8648
8649         * symfile.c (place_section): Remove "struct" from section_addr_info
8650         in comment.
8651         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8652         "struct" keyword from section_addr_info.
8653
8654 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8655
8656         * regformats/regdef.h (reg): Add constructors.
8657
8658 2018-03-25  Pedro Alves  <palves@redhat.com>
8659
8660         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8661         if then/else bodies in var_func_name extraction.
8662
8663 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8664
8665         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8666         lookup_minimal_symbol() to find symbol entry.
8667         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8668
8669 2018-03-23  Keith Seitz  <keiths@redhat.com>
8670
8671         PR c++/22968
8672         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8673         nested type definitions for C++, too.
8674
8675 2018-03-23  Tom Tromey  <tom@tromey.com>
8676
8677         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8678         a typedef.
8679         (macho_register_oso): Remove.
8680         (macho_symtab_read): Take a std::vector.
8681         (oso_el_compare_name): Now a std::sort comparator.
8682         (macho_symfile_read_all_oso): Take a std::vector.
8683         (macho_symfile_read): Use std::vector.  Remove cleanups.
8684
8685 2018-03-22  Tom Tromey  <tom@tromey.com>
8686
8687         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8688         (record_full_goto_bookmark): Use std::string.
8689
8690 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8691
8692         PR tdep/18295
8693         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8694         a single mask.
8695
8696 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8697
8698         * rs6000-tdep.c (store_insn_p): New function.
8699         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8700         and cr_reg to their unshifted values. Use store_insn_p to
8701         match LR saves using either R1 or fdata->alloca_reg. Use
8702         store_insn_p to match CR saves. Set alloca_reg_offset
8703         when alloca_reg and framep are set. Remove lr_reg shift
8704         when assigning to fdata->lr_register.
8705
8706 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8707
8708         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8709         command line args instead of emitting a warning.
8710
8711 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8712
8713         * tracepoint.h (struct static_tracepoint_marker): Initialize
8714         fields, define default constructor, move constructor and move
8715         assignment, disable the rest.
8716         <str_id, extra>: Make std::string.
8717         (release_static_tracepoint_marker): Remove.
8718         (free_current_marker): Remove.
8719         * tracepoint.c (free_current_marker): Remove.
8720         (parse_static_tracepoint_marker_definition): Adjust to
8721         std::string, use new hex2str overload.
8722         (release_static_tracepoint_marker): Remove.
8723         (print_one_static_tracepoint_marker): Get marker by reference
8724         and adjust to std::string.
8725         (info_static_tracepoint_markers_command): Adjust to std::vector
8726         changes
8727         * target.h (static_tracepoint_marker_p): Remove typedef.
8728         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8729         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8730         bool.
8731         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8732         * target-debug.h
8733         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8734         (target_debug_print_std_vector_static_tracepoint_marker): New.
8735         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8736         to...
8737         (target_debug_print_static_tracepoint_marker_p): ... this.
8738         * target-delegates.c: Re-generate.
8739         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8740         Make std::string.
8741         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8742         (decode_static_tracepoint_spec): Adjust to std::vector.
8743         (tracepoint_print_one_detail): Adjust to std::string.
8744         (strace_marker_decode_location): Adjust to std::string.
8745         (update_static_tracepoint): Adjust to std::string, remove call
8746         to release_static_tracepoint_marker.
8747         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8748         Adjust to std::vector.
8749         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8750         (remote_static_tracepoint_markers_by_strid): Adjust to
8751         std::vector.
8752         * common/rsp-low.h (hex2str): New overload with explicit count
8753         of bytes.
8754         * common/rsp-low.c (hex2str): New overload with explicit count
8755         of bytes.
8756         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8757         (_initialize_rsp_low_selftests): Add test_hex2str test.
8758         * unittests/tracepoint-selftests.c
8759         (test_parse_static_tracepoint_marker_definition): Adjust to
8760         std::string.
8761
8762 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8763
8764         * tracepoint.c (parse_static_tracepoint_marker_definition):
8765         Consider case where the definition is followed by more
8766         definitions.
8767         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8768         tracepoint-selftests.c.
8769         * unittests/tracepoint-selftests.c: New.
8770
8771 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8772
8773         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8774         Carvalho.
8775
8776 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8777
8778         * symtab.c (find_pc_sect_line): fixed indentation.
8779
8780 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8781
8782         * symtab.c (find_pc_sect_line): now uses binary search.
8783
8784 2018-03-19  Tom Tromey  <tom@tromey.com>
8785
8786         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8787         "IDENT" production.
8788
8789 2018-03-19  Pedro Alves  <palves@redhat.com>
8790             Tom Tromey  <tom@tromey.com>
8791
8792         * unittests/observable-selftests.c: New file.
8793         * common/observable.h: New file.
8794         * observable.h: New file.
8795         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8796         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8797         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8798         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8799         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8800         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8801         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8802         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8803         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8804         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8805         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8806         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8807         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8808         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8809         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8810         tui/tui-interp.c, valops.c: Update all users.
8811         * tui/tui-hooks.c (tui_bp_created_observer)
8812         (tui_bp_deleted_observer, tui_bp_modified_observer)
8813         (tui_inferior_exit_observer, tui_before_prompt_observer)
8814         (tui_normal_stop_observer, tui_register_changed_observer):
8815         Remove.
8816         (tui_observers_token): New global.
8817         (attach_or_detach, tui_attach_detach_observers): New functions.
8818         (tui_install_hooks, tui_remove_hooks): Use
8819         tui_attach_detach_observers.
8820         * record-btrace.c (record_btrace_thread_observer): Remove.
8821         (record_btrace_thread_observer_token): New global.
8822         * observer.sh: Remove.
8823         * observer.c: Rename to observable.c.
8824         * observable.c (namespace gdb_observers): Define new objects.
8825         (observer_debug): Move into gdb_observers namespace.
8826         (struct observer, struct observer_list, xalloc_observer_list_node)
8827         (xfree_observer_list_node, generic_observer_attach)
8828         (generic_observer_detach, generic_observer_notify): Remove.
8829         (_initialize_observer): Update.
8830         Don't include observer.inc.
8831         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8832         (clean mostlyclean): Likewise.
8833         (observer.h, observer.inc): Remove targets.
8834         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8835         (COMMON_SFILES): Use observable.c, not observer.c.
8836         * .gitignore: Remove observer.h.
8837
8838 2018-03-18  Tom Tromey  <tom@tromey.com>
8839
8840         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8841         gdb::def_vector.
8842         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8843
8844 2018-03-17  Tom Tromey  <tom@tromey.com>
8845
8846         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8847
8848 2018-03-17  Tom Tromey  <tom@tromey.com>
8849
8850         * target.c (class scoped_target_fd): New.
8851         (target_fileio_close_cleanup): Remove.
8852         (target_fileio_read_alloc_1): Use scoped_target_fd.
8853
8854 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8855
8856         * silent-rules.mk: New.
8857         * Makefile.in: Include silent-rules.mk
8858         (srcdir, VPATH, top_srcdir): Move up.
8859         (COMPILE): Add ECHO_CXX.
8860         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8861         (init.c): Add ECHO_INIT_C.
8862         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8863         (version.c): Add ECHO_GEN.
8864         (printcmd.o): Add ECHO_CXX.
8865         (target-float.o): Add ECHO_CXX.
8866         (ada-exp.o): Add ECHO_CXX.
8867         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8868         (insight$(EXEEXT)): Add ECHO_CXXLD.
8869         * gnulib/configure.ac: Add AM_SILENT_RULES.
8870         * gnulib/aclocal.m4: Re-generate.
8871         * gnulib/configure: Re-generate.
8872         * gnulib/import/Makefile.in: Re-generate.
8873
8874 2018-03-16  Tom Tromey  <tom@tromey.com>
8875
8876         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8877         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8878         * utils.c (do_free_section_addr_info)
8879         (make_cleanup_free_section_addr_info): Remove.
8880         * symfile.h (struct other_sections): Add constructor.
8881         (struct section_addr_info): Remove.
8882         (section_addr_info): New typedef.
8883         (struct sym_fns) <sym_offsets>: Change type of parameter.
8884         (build_section_addr_info_from_objfile)
8885         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8886         (default_symfile_offsets, symbol_file_add)
8887         (symbol_file_add_from_bfd)
8888         (build_section_addr_info_from_section_table): Update.
8889         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8890         * symfile.c (alloc_section_addr_info): Remove.
8891         (build_section_addr_info_from_section_table): Change return type.
8892         Update.
8893         (build_section_addr_info_from_bfd)
8894         (build_section_addr_info_from_objfile): Likewise.
8895         (free_section_addr_info): Remove.
8896         (relative_addr_info_to_section_offsets): Change type of "addrs".
8897         (addrs_section_compar): Now a std::sort comparator.
8898         (addrs_section_sort): Change return type.
8899         (addr_info_make_relative): Change type of "addrs".  Update.
8900         (default_symfile_offsets, syms_from_objfile_1)
8901         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8902         (symbol_file_add_separate): Update.
8903         (symbol_file_add): Change type of "addrs".  Update.
8904         (add_symbol_file_command): Update.  Remove cleanups.
8905         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8906         cleanups.
8907         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8908         * solib.c (solib_read_symbols): Update.
8909         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8910         * machoread.c (macho_symfile_offsets): Update.
8911         * jit.c (jit_bfd_try_read_symtab): Update.
8912
8913 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8914
8915         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8916         unittests/utils-selftests.c.
8917         * unittests/utils-selftests.c: New file.
8918
8919 2018-03-14  Tom Tromey  <tom@tromey.com>
8920
8921         PR cli/14977:
8922         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8923         for NULL.
8924
8925 2018-03-14  Tom Tromey  <tom@tromey.com>
8926
8927         PR cli/19918:
8928         * printcmd.c (printf_pointer): Allow "-" in format.
8929
8930 2018-03-14  Tom Tromey  <tom@tromey.com>
8931
8932         * printcmd.c (_initialize_printcmd): Add usage to printf.
8933
8934 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8935
8936         * MAINTAINERS: Update my email address.
8937
8938 2018-03-13  Tom Tromey  <tom@tromey.com>
8939
8940         * machoread.c (macho_check_dsym): Change filenamep to a
8941         std::string*.
8942         (macho_symfile_read): Update.
8943         * symfile.c (load_command): Use std::string.
8944
8945 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8946
8947         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8948         to error message string.
8949         (riscv_register_name): Use xsnprintf instead of sprintf.
8950         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8951         internal_error.
8952         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8953         error.
8954         (riscv_push_dummy_call): Likewise.
8955
8956 2018-03-12  Tom Tromey  <tom@tromey.com>
8957
8958         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8959         Use gdb::byte_vector.
8960         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8961
8962 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8963
8964         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8965         parameter type to readable_regcache.
8966         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
8967         the declaration.
8968
8969 2018-03-11  Tom Tromey  <tom@tromey.com>
8970
8971         * dwarf2read.c (struct nextfield): Add initializers.
8972         (struct nextfnfield): Remove.
8973         (struct fnfieldlist): Add initializers.  Remove "length" and
8974         "head", use std::vector.
8975         (struct decl_field_list): Remove.
8976         (struct field_info): Add initializers.
8977         <fields, baseclasses>: Now std::vector.
8978         <nbaseclasses, nfnfields, typedef_field_list_count,
8979         nested_types_list_count>: Remove.
8980         (dwarf2_add_field, dwarf2_add_type_defn)
8981         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
8982         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
8983         (process_structure_scope): Update.
8984
8985 2018-03-11  Tom Tromey  <tom@tromey.com>
8986
8987         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
8988         for use by std::sort.
8989         (build_type_psymtabs_1): Use std::vector.
8990
8991 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
8992
8993         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
8994         and LIBMPFR in the printed configuration.
8995
8996 2018-03-08  Tom Tromey  <tom@tromey.com>
8997
8998         * source.c (get_filename_and_charpos): Use scoped_fd.
8999         * nto-procfs.c (procfs_open_1): Use scoped_fd.
9000         (procfs_pidlist): Likewise.
9001         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
9002         (iterate_over_mappings): Likewise.
9003
9004 2018-03-08  Tom Tromey  <tom@tromey.com>
9005
9006         * infcall.c (struct call_return_meta_info)
9007         <stack_temporaries_enabled>: Remove.
9008         (get_call_return_value, call_function_by_hand_dummy): Update.
9009         * thread.c (disable_thread_stack_temporaries): Remove.
9010         (enable_thread_stack_temporaries): Remove.
9011         (thread_stack_temporaries_enabled_p): Return bool.
9012         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
9013         (get_last_thread_stack_temporary): Update.
9014         * eval.c (evaluate_subexp): Update.
9015         * gdbthread.h (class enable_thread_stack_temporaries): Now a
9016         class, not a function.
9017         (value_ptr, value_vec): Remove typedefs.
9018         (class thread_info) <stack_temporaries_enabled>: Now bool.
9019         <stack_temporaries>: Now a std::vector.
9020         (thread_stack_temporaries_enabled_p)
9021         (value_in_thread_stack_temporaries): Return bool.
9022
9023 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
9024
9025         * remote.c (putpkt_binary): Fix omitted bytes reporting.
9026         (getpkt_or_notif_sane_1): Likewise.
9027
9028 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9029
9030         * build-id.c (build_id_to_debug_bfd): Use std::string.
9031
9032 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9033
9034         * build-id.c (find_separate_debug_file_by_buildid): Return
9035         std::string.
9036         * build-id.h (find_separate_debug_file_by_buildid): Return
9037         std::string.
9038         * coffread.c (coff_symfile_read): Adjust to std::string.
9039         * elfread.c (elf_symfile_read): Adjust to std::string.
9040         * symfile.c (separate_debug_file_exists): Change parameter to
9041         std::string.
9042         (find_separate_debug_file): Return std::string.
9043         (find_separate_debug_file_by_debuglink): Return std::string.
9044         * symfile.h (find_separate_debug_file_by_debuglink): Return
9045         std::string.
9046
9047 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
9048
9049         * common/xml-utils.c (xml_escape_text): Move code to...
9050         (xml_escape_text_append): ... this new function.
9051         * common/xml-utils.h (xml_escape_text_append): New declaration.
9052         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
9053         New function.
9054         (_initialize_xml_utils): register test_xml_escape_text_append as
9055         a selftest.
9056
9057 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
9058
9059         * defs.h: Remove MAX_REGISTER_SIZE.
9060         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
9061         asserts.
9062         * python/py-unwind.c (pyuw_sniffer): Likewise.
9063
9064 2018-03-07  Tom Tromey  <tom@tromey.com>
9065
9066         * linux-tdep.c (linux_info_proc): Update.
9067         * target.h (struct target_ops) <to_fileio_readlink>: Return
9068         optional<string>.
9069         (target_fileio_readlink): Return optional<string>.
9070         * remote.c (remote_hostio_readlink): Return optional<string>.
9071         * inf-child.c (inf_child_fileio_readlink): Return
9072         optional<string>.
9073         * target.c (target_fileio_readlink): Return optional<string>.
9074
9075 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
9076
9077         * regcache.c (cooked_read_test): Add riscv to the list of
9078         architectures that have a save_reggroup.
9079
9080 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
9081
9082         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
9083         value is not a dynamic class object.
9084
9085 2018-03-06  Tom Tromey  <tom@tromey.com>
9086
9087         * rust-exp.y: Formatting fixes.
9088
9089 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9090
9091         * riscv-tdep.c (riscv_register_name): Remove target description
9092         support.
9093         (riscv_gdbarch_init): Remove target description check.
9094
9095 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9096
9097         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
9098         comment.
9099         * riscv-tdep.h: Likewise.
9100
9101 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9102
9103         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
9104         (riscv_pseudo_register_write): Delete.
9105         (riscv_gdbarch_init): Remove all use of pseudo registers.
9106
9107 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9108
9109         * record-btrace.c (btrace_print_lines): Replace cleanup
9110         parameter with RAII equivalents.
9111         (btrace_insn_history): Replace cleanup with RAII equivalents.
9112         * ui-out.h (make_cleanup_ui_out_list_begin_end,
9113         make_cleanup_ui_out_tuple_begin_end): Remove.
9114         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
9115         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
9116         make_cleanup_ui_out_list_begin_end): Remove.
9117
9118 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9119
9120         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
9121         parameter types to std::vector.  Use bool.
9122         (record_btrace_wait): Replace VEC(tp_t) with
9123         std::vector<thread_info *>.
9124         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
9125
9126 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
9127
9128         * record-btrace.c (record_btrace_disable_callback): Remove.
9129         (struct scoped_btrace_disable): New.
9130         (record_btrace_open): Use scoped_btrace_disable.
9131
9132 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9133
9134         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
9135         reading values from registers.
9136
9137 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9138
9139         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
9140         where appropriate.
9141
9142 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9143
9144         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
9145         change parameter type.  Use GDB's print functions, and use
9146         core_addr_to_string where appropriate.
9147         (riscv_push_dummy_call): Use core_addr_to_string where
9148         appropriate, update call to riscv_print_arg_location, and reindent
9149         a few lines.
9150         (riscv_return_value): Update call to riscv_print_arg_location.
9151
9152 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9153             Tim Newsome <tim@sifive.com>
9154             Albert Ou <a0u@eecs.berkeley.edu>
9155             Darius Rad <darius@bluespec.com>
9156
9157         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
9158         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
9159         (ALLDEPFILES): Add riscv-tdep.c
9160         * configure.tgt: Add riscv support.
9161         * riscv-tdep.c: New file.
9162         * riscv-tdep.h: New file.
9163         * NEWS: Mention new target.
9164         * MAINTAINERS: Add entry for riscv.
9165
9166 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
9167
9168         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
9169         fields within aggregates.
9170
9171 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
9172
9173         * record-btrace.c (btrace_print_lines): Change type of flags to
9174         gdb_disassembly_flags.
9175
9176 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9177
9178         * fbsd-nat.c: Include "inf-ptrace.h".
9179         (USE_SIGTRAP_SIGINFO): Conditionally define.
9180         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
9181         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
9182         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
9183         function.
9184         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
9185         Likewise.
9186         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
9187         Likewise.
9188         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
9189         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
9190         "supports_stopped_by_hw_breakpoint" target methods.
9191
9192 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9193
9194         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
9195         * fbsd-nat.c (debug_fbsd_nat): New variable.
9196         (show_fbsd_nat_debug): New function.
9197         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
9198         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
9199
9200 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
9201
9202         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
9203         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
9204         prototype.
9205         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
9206         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
9207         method.
9208
9209 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9210
9211         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
9212         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
9213
9214 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9215
9216         * charset.c (struct charset_vector): New.
9217         (charsets): Change type to charset_vector.
9218         (find_charset_names): Adjust.
9219         (add_one): Adjust.
9220         (_initialize_charset): Adjust.
9221
9222 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9223
9224         * progspace.h (struct program_space) <deleted_solibs>: Change
9225         type to std::vector<std::string>.
9226         * progspace.c (clear_program_space_solib_cache): Adjust.
9227         * breakpoint.c (print_solib_event): Adjust.
9228         (check_status_catch_solib): Adjust.
9229         * solib.c (update_solib_list): Adjust.
9230         * ui-out.h (class ui_out) <field_string>: New overload.
9231         * ui-out.c (ui_out::field_string): New overload.
9232
9233 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9234
9235         * progspace.h (struct program_space): Add constructor and
9236         destructor, initialize fields.
9237         (add_program_space): Remove.
9238         * progspace.c (add_program_space): Rename to...
9239         (program_space::program_space): ... this.
9240         (release_program_space): Rename to...
9241         (program_space::~program_space): ... this.
9242         (delete_program_space): Use delete to delete program_space.
9243         (initialize_progspace): Use new to allocate program_space.
9244         * inferior.c (add_inferior_with_spaces): Likewise.
9245         (clone_inferior_command): Likewise.
9246         * infrun.c (follow_fork_inferior): Likewise.
9247         (handle_vfork_child_exec_or_exit): Likewise.
9248
9249 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
9250
9251         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
9252         (delim_string_to_char_ptr_vec): Return std::vector of
9253         gdb::unique_xmalloc_ptr.
9254         (dirnames_to_char_ptr_vec_append): Take std::vector of
9255         gdb::unique_xmalloc_ptr.
9256         (dirnames_to_char_ptr_vec): Return std::vector of
9257         gdb::unique_xmalloc_ptr.
9258         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
9259         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
9260         (delim_string_to_char_ptr_vec): Return an std::vector of
9261         gdb::unique_xmalloc_ptr, adjust the code.
9262         (dirnames_to_char_ptr_vec_append): Take an std::vector of
9263         gdb::unique_xmalloc_ptr, adjust the code.
9264         (dirnames_to_char_ptr_vec): Return an std::vector of
9265         gdb::unique_xmalloc_ptr, adjust the code.
9266         * auto-load.c (auto_load_safe_path_vec): Change type to
9267         std::vector of gdb::unique_xmalloc_ptr.
9268         (auto_load_expand_dir_vars): Return an std::vector of
9269         gdb::unique_xmalloc_ptr, adjust the code.
9270         (auto_load_safe_path_vec_update): Adjust.
9271         (filename_is_in_auto_load_safe_path_vec): Adjust.
9272         (auto_load_objfile_script_1): Adjust.
9273         * build-id.c (build_id_to_debug_bfd): Adjust.
9274         * linux-thread-db.c (thread_db_load_search): Adjust.
9275         * source.c (add_path): Adjust.
9276         (openp): Adjust.
9277         * symfile.c (find_separate_debug_file): Adjust.
9278         * utils.c (do_free_char_ptr_vec): Remove.
9279         (make_cleanup_free_char_ptr_vec): Remove.
9280
9281 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
9282
9283         PR gdb/22907
9284         * common/pathstuff.c: Conditionally include "<windows.h>".
9285
9286 2018-03-01  Georg Sauthoff  <mail@georg.so>
9287
9288         PR gdb/22888
9289         * gcore.in: Quote variables and switch interpreter to bash.
9290
9291 2018-03-01  Tom Tromey  <tom@tromey.com>
9292
9293         * dwarf2read.c (alloc_discriminant_info): Fix default_index
9294         assertion.  Add assertion for discriminant_index.
9295         (quirk_rust_enum): Use correct base type name in univariant case.
9296
9297 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
9298
9299         * record.c (get_call_history_modifiers): Return a
9300         record_print_flags.
9301         (cmd_record_call_history): Adjust.
9302         * record-btrace.c (record_btrace_call_history): Adjust.
9303         (record_btrace_call_history_range): Adjust.
9304         (record_btrace_call_history_from): Adjust.
9305         * target-debug.h (target_debug_print_record_print_flags): New.
9306         * target-delegates.c: Re-generate.
9307         * target.c (target_call_history): Change flags type.
9308         (target_call_history_from): Likewise.
9309         (target_call_history_range): Likewise.
9310         * target.h (struct target_ops) <target_call_history>: Likewise.
9311         (target_call_history_from): Likewise.
9312         (target_call_history_range): Likewise.
9313
9314 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
9315             Simon Marchi  <simon.marchi@polymtl.ca>
9316
9317         * common/common-utils.c: Include "sys/stat.h".
9318         (is_regular_file): Move here from "source.c"; change return
9319         type to "bool".
9320         * common/common-utils.h (is_regular_file): New prototype.
9321         * common/pathstuff.c (contains_dir_separator): New function.
9322         * common/pathstuff.h (contains_dir_separator): New prototype.
9323         * source.c: Don't include "sys/stat.h".
9324         (is_regular_file): Move to "common/common-utils.c".
9325
9326 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
9327
9328         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
9329         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
9330         * auto-load.c: Include "common/pathstuff.h".
9331         * common/common-def.h (current_directory): Move here.
9332         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
9333         function.
9334         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
9335         prototype.
9336         * common/pathstuff.c: New file.
9337         * common/pathstuff.h: New file.
9338         * compile/compile.c: Include "common/pathstuff.h".
9339         * defs.h (current_directory): Move to "common/common-defs.h".
9340         * dwarf2read.c: Include "common/pathstuff.h".
9341         * exec.c: Likewise.
9342         * guile/scm-safe-call.c: Likewise.
9343         * linux-thread-db.c: Likewise.
9344         * main.c: Likewise.
9345         * nto-tdep.c: Likewise.
9346         * objfiles.c: Likewise.
9347         * source.c: Likewise.
9348         * symtab.c: Likewise.
9349         * utils.c: Include "common/pathstuff.h".
9350         (gdb_realpath): Move to "common/pathstuff.c".
9351         (gdb_realpath_keepfile): Likewise.
9352         (gdb_abspath): Likewise.
9353         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
9354         (gdb_realpath_keepfile): Likewise.
9355         (gdb_abspath): Likewise.
9356
9357 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
9358
9359         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
9360         wildcard process pid for super_resume for kernels with a
9361         specific bug.
9362
9363 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
9364
9365         * compile/compile.c (get_args): Add additional comments
9366         explaining function.
9367
9368 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
9369             Tom Tromey  <tom@tromey.com>
9370
9371         * target.h (memory_write_request_s): Remove typedef.  Don't define
9372         VEC.
9373         (target_write_memory_blocks): Change argument to std::vector.
9374         (struct memory_write_request): Add constructor.
9375         * target-memory.c (compare_block_starting_address): Return bool.
9376         Change argument types.
9377         (claim_memory): Change arguments to use std::vector.
9378         (split_regular_and_flash_blocks, blocks_to_erase)
9379         (compute_garbled_blocks): Likewise.
9380         (cleanup_request_data, cleanup_write_requests_vector): Remove.
9381         (target_write_memory_blocks): Change argument to std::vector.
9382         * symfile.c (struct load_section_data): Add constructor and
9383         destructor.  Use std::vector for "requests".
9384         (struct load_progress_data): Add initializers.
9385         (load_section_callback): Update.  Use "new".
9386         (clear_memory_write_data): Remove.
9387         (generic_load): Update.
9388
9389 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
9390
9391         * arch/aarch64.h: Use common/tdesc.h.
9392
9393 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
9394
9395         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
9396         architecture with a 64-bit ABI.
9397
9398 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
9399
9400         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
9401         ahead of target description loading.
9402
9403 2018-02-26  Tom Tromey  <tom@tromey.com>
9404
9405         * stack.c (backtrace_command_1): Update.
9406         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
9407         of "flags".
9408         * python/py-framefilter.c (py_print_frame)
9409         (gdbpy_apply_frame_filter): Change type of "flags".
9410         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
9411         of "flags".
9412         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
9413         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
9414         * extension.h (enum frame_filter_flag): Rename from
9415         frame_filter_flags.
9416         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
9417         (apply_ext_lang_frame_filter): Change type of "flags".
9418         * extension.c (apply_ext_lang_frame_filter): Change type of
9419         "flags".
9420         * extension-priv.h (struct extension_language_ops)
9421         <apply_frame_filter>: Change type of "flags".
9422
9423 2018-02-26  Tom Tromey  <tom@tromey.com>
9424
9425         PR python/16497:
9426         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
9427         off-by-one in py_end computation.
9428         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
9429         PRINT_MORE_FRAMES.
9430         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
9431         constant.
9432
9433 2018-02-26  Tom Tromey  <tom@tromey.com>
9434
9435         * dwarf2read.c (struct variant_field): New.
9436         (struct nextfield) <variant>: New field.
9437         (dwarf2_add_field): Handle DW_TAG_variant_part.
9438         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
9439         discriminated union.
9440         (read_structure_type): Handle DW_TAG_variant_part.
9441         (handle_struct_member_die): New function, extracted from
9442         process_structure_scope.  Handle DW_TAG_variant.
9443         (process_structure_scope): Handle discriminated unions.  Call
9444         handle_struct_member_die.
9445
9446 2018-02-26  Tom Tromey  <tom@tromey.com>
9447
9448         * rust-lang.h (rust_last_path_segment): Declare.
9449         * rust-lang.c (rust_last_path_segment): Now public.  Change
9450         contract.
9451         (struct disr_info): Remove.
9452         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
9453         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
9454         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
9455         (rust_enum_p, rust_enum_variant): New function.
9456         (rust_underscore_fields): Remove "offset" parameter.
9457         (rust_print_enum): New function.
9458         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
9459         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
9460         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
9461         enums.
9462         (rust_internal_print_type): New function, from rust_print_type.
9463         Remove enum code.
9464         (rust_print_type): Call rust_internal_print_type.
9465         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
9466         Update enum handling.
9467         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
9468         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
9469         (rust_union_quirks): New functions.
9470         (process_full_comp_unit, process_full_type_unit): Call
9471         rust_union_quirks.
9472         (process_structure_scope): Update rust_unions if necessary.
9473
9474 2018-02-26  Tom Tromey  <tom@tromey.com>
9475
9476         * value.h (value_union_variant): Declare.
9477         * valops.c (value_union_variant): New function.
9478         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
9479         (struct discriminant_info): New.
9480         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
9481         enumerator.
9482         (struct main_type) <flag_discriminated_union>: New field.
9483
9484 2018-02-26  Tom Tromey  <tom@tromey.com>
9485
9486         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9487         unittests/unpack-selftests.c.
9488         * unittests/unpack-selftests.c: New file.
9489         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
9490
9491 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9492
9493         * dwarf2read.c (struct partial_die_info) <read>: New method.
9494         (read_partial_die): Remove the declaration.
9495         (load_partial_dies): Update.
9496         (partial_die_info::partial_die_info):
9497         (read_partial_die): Change it to partial_die_info::read.
9498
9499 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9500
9501         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
9502         (fixup_partial_die): Remove declaration.
9503         (scan_partial_symbols): Update.
9504         (partial_die_parent_scope): Likewise.
9505         (partial_die_full_name): Likewise.
9506         (fixup_partial_die): Change it to partial_die_info::fixup.
9507
9508 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9509
9510         * dwarf2read.c (read_partial_die): Update the declaration.
9511         (load_partial_dies): Caller update.
9512         (read_partial_die): Remove one argument abbrev_len.
9513
9514 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9515
9516         * dwarf2read.c (struct partial_die_info): Add ctor, delete
9517         assignment operator.
9518         (load_partial_dies): Use ctor and copy ctor.
9519         (read_partial_die): Update.
9520         (dwarf2_cu::find_partial_die): Use ctor.
9521
9522 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9523
9524         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
9525         (find_partial_die_in_comp_unit): Change it to
9526         dwarf2_cu::find_partial_die.
9527         (find_partial_die): Update.
9528
9529 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9530
9531         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
9532         is NULL.
9533
9534 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9535
9536         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
9537
9538 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
9539
9540         * arch/amd64.h: Use common/tdesc.h.
9541         * arch/i386.c: Likewise.
9542         * arch/i386.h: Likewise.
9543         * arch/tic6x.c: Likewise.
9544         * arch/tdesc.h: Move file from here...
9545         * common/tdesc.h: ...to here.
9546         * features/aarch64-core.c: Regenerate.
9547         * features/aarch64-fpu.c: Regenerate.
9548         * features/i386/32bit-avx.c: Regenerate.
9549         * features/i386/32bit-avx512.c: Regenerate.
9550         * features/i386/32bit-core.c: Regenerate.
9551         * features/i386/32bit-linux.c: Regenerate.
9552         * features/i386/32bit-mpx.c: Regenerate.
9553         * features/i386/32bit-pkeys.c: Regenerate.
9554         * features/i386/32bit-sse.c: Regenerate.
9555         * features/i386/64bit-avx.c: Regenerate.
9556         * features/i386/64bit-avx512.c: Regenerate.
9557         * features/i386/64bit-core.c: Regenerate.
9558         * features/i386/64bit-linux.c: Regenerate.
9559         * features/i386/64bit-mpx.c: Regenerate.
9560         * features/i386/64bit-pkeys.c: Regenerate.
9561         * features/i386/64bit-segments.c: Regenerate.
9562         * features/i386/64bit-sse.c: Regenerate.
9563         * features/i386/x32-core.c: Regenerate.
9564         * features/tic6x-c6xp.c: Regenerate.
9565         * features/tic6x-core.c: Regenerate.
9566         * features/tic6x-gp.c: Regenerate.
9567         * target-descriptions.c: Use common/tdesc.h.
9568         * target-descriptions.h: Likewise.
9569
9570 2018-02-24  Tom Tromey  <tom@tromey.com>
9571
9572         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
9573         (try_thread_db_load_from_dir, thread_db_load_search): Use
9574         std::string.
9575         (info_auto_load_libthread_db_compare): Return bool.  Change
9576         argument types.
9577         (info_auto_load_libthread_db): Use std::vector, std::string.
9578         Remove cleanups.
9579
9580 2018-02-24  Tom Tromey  <tom@tromey.com>
9581
9582         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
9583         std::string.
9584         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
9585         std::string*.
9586         * gdbarch.c: Rebuild.
9587         * gdbarch.h: Rebuild.
9588         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9589         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9590         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9591         std::string*.
9592
9593 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9594
9595         * gdbtypes.h (sect_offset): Change type to uint64_t.
9596         (sect_offset_str): New function.
9597         * dwarf2read.c (create_addrmap_from_aranges): Use
9598         sect_offset_str.
9599         (error_check_comp_unit_head): Likewise.
9600         (create_debug_type_hash_table): Likewise.
9601         (read_cutu_die_from_dwo): Likewise.
9602         (init_cutu_and_read_dies): Likewise.
9603         (init_cutu_and_read_dies_no_follow): Likewise.
9604         (process_psymtab_comp_unit_reader): Likewise.
9605         (partial_die_parent_scope): Likewise.
9606         (peek_die_abbrev): Likewise.
9607         (process_queue): Likewise.
9608         (dwarf2_physname): Likewise.
9609         (read_namespace_alias): Likewise.
9610         (read_import_statement): Likewise.
9611         (create_dwo_cu_reader): Likewise.
9612         (create_cus_hash_table): Likewise.
9613         (lookup_dwo_cutu): Likewise.
9614         (inherit_abstract_dies): Likewise.
9615         (read_func_scope): Likewise.
9616         (read_call_site_scope): Likewise.
9617         (dwarf2_add_member_fn): Likewise.
9618         (read_common_block): Likewise.
9619         (read_module_type): Likewise.
9620         (read_typedef): Likewise.
9621         (read_subrange_type): Likewise.
9622         (load_partial_dies): Likewise.
9623         (read_partial_die): Likewise.
9624         (find_partial_die): Likewise.
9625         (read_str_index): Likewise.
9626         (dwarf2_string_attr): Likewise.
9627         (build_error_marker_type): Likewise.
9628         (lookup_die_type): Likewise.
9629         (dump_die_shallow): Likewise.
9630         (follow_die_ref): Likewise.
9631         (dwarf2_fetch_die_loc_sect_off): Likewise.
9632         (dwarf2_fetch_constant_bytes): Likewise.
9633         (follow_die_sig): Likewise.
9634         (get_signatured_type): Likewise.
9635         (get_DW_AT_signature_type): Likewise.
9636         (dwarf2_find_containing_comp_unit): Likewise.
9637         (set_die_type): Likewise.
9638
9639 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9640
9641         * arch/aarch64.c: Include "common-defs.h".
9642         * arch/amd64.c: Likewise.
9643         * arch/i386.c: Likewise.
9644
9645 2018-02-21  Tom Tromey  <tom@tromey.com>
9646
9647         * value.h: (extract_field_op): Update.
9648         * eval.c (extract_field_op): Return a const char *.
9649         * expression.h (parse_expression_for_completion): Update.
9650         * completer.c (complete_expression): Update.
9651         (add_struct_fields): Make fieldname const.
9652         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9653         (mark_completion_tag, parse_exp_in_context_1): Update.
9654         (parse_expression_for_completion): Change "name" to
9655         unique_xmalloc_ptr*.
9656
9657 2018-02-21  Tom Tromey  <tom@tromey.com>
9658
9659         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9660
9661 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9662
9663         * avr-tdep.c (avr_read_pc): Change parameter type to
9664         readable_regcache.
9665         * gdbarch.sh (read_pc): Likewise.
9666         * gdbarch.c: Re-generated.
9667         * gdbarch.h: Re-generated.
9668         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9669         readable_regcache.
9670         * ia64-tdep.c (ia64_read_pc): Likewise.
9671         * mips-tdep.c (mips_read_pc): Likewise.
9672         * spu-tdep.c (spu_read_pc): Likewise.
9673
9674 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9675
9676         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9677         * regcache-dump.c: New file.
9678         * regcache.c: Move register_dump to regcache-dump.c.
9679         (maintenance_print_registers): Likewise.
9680         (maintenance_print_raw_registers): Likewise.
9681         (maintenance_print_cooked_registers): Likewise.
9682         (maintenance_print_register_groups): Likewise.
9683         (maintenance_print_remote_registers): Likewise.
9684         (_initialize_regcache): Likewise.
9685         * regcache.h (register_dump): Moved from regcache.c.
9686
9687 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9688
9689         * regcache.c (regcache::regcache): Update.
9690         (regcache::invalidate): Move it to detached_regcache::invalidate.
9691         (get_thread_arch_aspace_regcache): Update.
9692         (regcache::raw_update): Update.
9693         (regcache::cooked_read): Remove some code.
9694         (regcache::cooked_read_value): Likewise.
9695         (regcache::raw_write): Remove assert on m_readonly_p.
9696         (regcache::raw_supply_integer): Move it to
9697         detached_regcache::raw_supply_integer.
9698         (regcache::raw_supply_zeroed): Likewise.
9699         * regcache.h (detached_regcache) <raw_supply_integer>: New
9700         declaration.
9701         <raw_supply_zeroed, invalidate>: Likewise.
9702         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9703         <invalidate>: Likewise.
9704         <m_readonly_p>: Removed.
9705
9706 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9707
9708         * infcmd.c (get_return_value): Let stop_regs point to
9709         get_current_regcache.
9710         * regcache.c (regcache::regcache): Remove.
9711         (register_dump_reg_buffer): New class.
9712         (regcache_print): Adjust.
9713         * regcache.h (regcache): Remove constructors.
9714
9715 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9716
9717         * regcache.c (class register_dump): New class.
9718         (register_dump_regcache, register_dump_none): New class.
9719         (register_dump_remote, register_dump_groups): New class.
9720         (regcache_print): Update.
9721         * regcache.h (regcache_dump_what): Move it to regcache.c.
9722         (regcache) <dump>: Remove.
9723
9724 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9725
9726         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9727          reg_buffer_rw *.
9728         (jit_unwind_reg_set_impl): Call raw_supply.
9729         (jit_frame_sniffer): Use reg_buffer_rw.
9730         * record-full.c (record_full_core_regbuf): Change its type.
9731         (record_full_core_open_1): Use reg_buffer_rw.
9732         (record_full_close): Likewise.
9733         (record_full_core_fetch_registers): Use regcache->raw_supply.
9734         (record_full_core_store_registers): Likewise.
9735         * regcache.c (regcache::get_register_status): Move it to
9736         reg_buffer.
9737         (regcache_raw_set_cached_value): Remove.
9738         (regcache::raw_set_cached_value): Remove.
9739         (regcache::raw_write): Call raw_supply.
9740         (regcache::raw_supply): Move it to reg_buffer_rw.
9741         * regcache.h (regcache_raw_set_cached_value): Remove.
9742         (reg_buffer_rw): New class.
9743
9744 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9745
9746         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9747         readonly_detached_regcache.
9748         (dummy_frame_prev_register): Use regcache->cooked_read.
9749         * frame.c (frame_save_as_regcache): Change return type.
9750         (frame_pop): Update.
9751         * frame.h (frame_save_as_regcache): Update declaration.
9752         * inferior.h (get_infcall_suspend_state_regcache): Update
9753         declaration.
9754         * infrun.c (infcall_suspend_state) <registers>: use
9755         readonly_detached_regcache.
9756         (save_infcall_suspend_state): Don't use regcache_dup.
9757         (get_infcall_suspend_state_regcache): Change return type.
9758         * linux-fork.c (struct fork_info) <savedregs>: Change to
9759         readonly_detached_regcache.
9760         <pc>: New field.
9761         (fork_save_infrun_state): Don't use regcache_dup.
9762         (info_checkpoints_command): Adjust.
9763         * mi/mi-main.c (register_changed_p): Update declaration.
9764         (mi_cmd_data_list_changed_registers): Use
9765         readonly_detached_regcache.
9766         (register_changed_p): Change parameter type to
9767         readonly_detached_regcache.
9768         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9769         readonly_detached_regcache.
9770         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9771         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9772         New.
9773         (regcache::save): Move it to reg_buffer.
9774         (regcache::restore): Change parameter type.
9775         (regcache_dup): Remove.
9776         * regcache.h (reg_buffer) <save>: New method.
9777         (readonly_detached_regcache): New class.
9778         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9779         readonly_detached_regcache.
9780         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9781
9782 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9783
9784         * frame.c (frame_save_as_regcache): Use regcache method save.
9785         (frame_pop): Use regcache method restore.
9786         * infrun.c (restore_infcall_suspend_state): Likewise.
9787         * linux-fork.c (fork_load_infrun_state): Likewise.
9788         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9789         save.
9790         * regcache.c (regcache_save): Remove.
9791         (regcache::restore): More asserts.
9792         (regcache_cpy): Remove.
9793         * regcache.h (regcache_save): Remove the declaration.
9794         (regcache::restore): Move from private to public.
9795         Remove the friend declaration of regcache_cpy.
9796         (regcache_cpy): Remove declaration.
9797
9798 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9799
9800         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9801         parameter type to 'readable_regcache *'.
9802         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9803         * arm-tdep.c (arm_neon_quad_read): Likewise.
9804         (arm_pseudo_read): Likewise.
9805         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9806         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9807         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9808         * gdbarch.c: Re-generated.
9809         * gdbarch.h: Re-generated.
9810         * gdbarch.sh (pseudo_register_read): Change parameter type to
9811         'readable_regcache *'.
9812         (pseudo_register_read_value): Likewise.
9813         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9814         (h8300_pseudo_register_read): Likewise.
9815         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9816         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9817         (i386_pseudo_register_read_into_value): Likewise.
9818         (i386_pseudo_register_read_value): Likewise.
9819         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9820         declaration.
9821         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9822         * m32c-tdep.c (m32c_raw_read): Likewise.
9823         (m32c_read_flg): Likewise.
9824         (m32c_banked_register): Likewise.
9825         (m32c_banked_read): Likewise.
9826         (m32c_sb_read): Likewise.
9827         (m32c_part_read): Likewise.
9828         (m32c_cat_read): Likewise.
9829         (m32c_r3r2r1r0_read): Likewise.
9830         (m32c_pseudo_register_read): Likewise.
9831         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9832         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9833         (mep_pseudo_cr64_read): Likewise.
9834         (mep_pseudo_register_read): Likewise.
9835         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9836         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9837         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9838         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9839         (regcache::cooked_read): Likewise.
9840         (regcache::cooked_read_value): Likewise.
9841         (regcache_cooked_read_signed):
9842         (regcache::cooked_read): Likewise.
9843         * regcache.h (readable_regcache): New class.
9844         (regcache): Inherit readable_regcache.  Move some methods to
9845         readable_regcache.
9846         * rl78-tdep.c (rl78_pseudo_register_read): Change
9847         parameter type to 'readable_regcache *'.
9848         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9849         (e500_pseudo_register_read): Change parameter type to
9850         'readable_regcache *'.
9851         (dfp_pseudo_register_read): Likewise.
9852         (vsx_pseudo_register_read): Likewise.
9853         (efpr_pseudo_register_read): Likewise.
9854         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9855         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9856         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9857         (sh64_pseudo_register_read): Likewise.
9858         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9859         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9860         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9861         (spu_pseudo_register_read): Likewise.
9862         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9863         (xtensa_pseudo_register_read): Likewise.
9864
9865 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9866
9867         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9868         (regcache::arch): Move it to reg_buffer::arch.
9869         (regcache::register_buffer): Likewise.
9870         (regcache::assert_regnum): Likewise.
9871         (regcache::num_raw_registers): Likewise.
9872         * regcache.h (reg_buffer): New class.
9873         (regcache): Inherit reg_buffer.
9874
9875 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9876
9877         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9878         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9879
9880 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9881
9882         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9883
9884 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9885
9886         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9887         (SFILES): Remove common/*.c files.
9888         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9889         * common/common.host: Add common reference.
9890         * configure.ac: Likewise.
9891         * configure: Regenerate.
9892
9893 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9894
9895         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9896         (block_initialize_namespace): Use new.
9897         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9898         (dwarf2_free_objfile): Use delete.
9899         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9900         (copy_type_recursive): Use new.
9901         * gdb_obstack.h (allocate_on_obstack): New.
9902
9903 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9904
9905         PR gdb/22849
9906         * inferior.c (exit_inferior_1): Reset inf->control.
9907
9908 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9909
9910         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9911         declaration.
9912
9913 2018-02-14  Pedro Alves  <palves@redhat.com>
9914
9915         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9916         frame_cleanup_after_sniffer on exception.
9917
9918 2018-02-14  Tom Tromey  <tom@tromey.com>
9919
9920         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9921         const.
9922         (solib_bfd_open): Make pathname const.
9923         * solib.c (solib_bfd_open): Make pathname const.
9924         * solib-spu.c (spu_bfd_fopen): Make name const.
9925         (spu_bfd_open): Make pathname const.
9926         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9927         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9928
9929 2018-02-14  Tom Tromey  <tom@tromey.com>
9930
9931         * symfile.c (symfile_bfd_open): Update.
9932         * source.h (openp, source_full_path_of, find_and_open_source):
9933         Change argument type to unique_xmalloc_ptr.
9934         * source.c (openp): Take a unique_xmalloc_ptr.
9935         (source_full_path_of, find_and_open_source): Likewise.
9936         (open_source_file, symtab_to_fullname): Update.
9937         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9938         unique_xmalloc_ptr.
9939         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9940         (exec_file_find): Update.
9941         * psymtab.c (psymtab_to_fullname): Update.
9942         * nto-tdep.h (nto_find_and_open_solib): Update.
9943         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9944         unique_xmalloc_ptr.
9945         * exec.c (exec_file_attach): Update.
9946         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9947         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9948
9949 2018-02-14  Tom Tromey  <tom@tromey.com>
9950
9951         * solib.c: Include source.h.
9952         * nto-tdep.c: Include source.h.
9953         * mi/mi-cmd-env.c: Include source.h.
9954         * infcmd.c: Include source.h.
9955         * exec.c: Include source.h.
9956         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9957         (add_path, directory_switch, source_path, init_source_path): Move
9958         declarations...
9959         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9960         (add_path, directory_switch, source_path, init_source_path):
9961         ...here.
9962
9963 2018-02-14  Tom Tromey  <tom@tromey.com>
9964
9965         * solist.h (exec_file_find, solib_find): Return
9966         unique_xmalloc_ptr.
9967         (solib_bfd_fopen): Take a const char *.
9968         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
9969         (exec_file_find, solib_find): Likewise.
9970         (solib_bfd_fopen): Do not take ownership of "pathname".
9971         (solib_bfd_open): Use unique_xmalloc_ptr.
9972         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
9973         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
9974         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
9975         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
9976
9977 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
9978
9979         * ada-lang.c (name_match_type_from_name): Remove reference to
9980         ada_name_for_lookup in function's documentation.
9981         * ada-lang.h (ada_name_for_lookup): Delete declaration.
9982
9983 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9984
9985         * defs.h (enum openp_flags): New enum.
9986         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
9987         Move to enum openp_flags.
9988         (openp_flags): New enum flags.
9989         (openp): Change parameter type to openp_flags.
9990         * source.c (openp): Change parameter type to openp_flags.
9991         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
9992         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
9993
9994 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9995
9996         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
9997         per-command.
9998
9999 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
10000
10001         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
10002         into...
10003         (class dwarf2_queue_guard): ...the destructor of this new class.
10004         (dw2_do_instantiate_symtab): Create instance of the new class
10005         dwarf2_queue_guard, remove cleanup.
10006
10007 2018-02-09  Tom Tromey  <tom@tromey.com>
10008
10009         * source.c (find_source_lines): Don't reference past the end of
10010         the vector.
10011
10012 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10013
10014         * remote.c (remote_btrace_maybe_reopen): Change error message.
10015         * btrace.c (btrace_enable): Likewise.
10016         (parse_xml_btrace): Likewise.
10017         (parse_xml_btrace_conf): Likewise.
10018
10019 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10020
10021         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
10022         (linux_enable_pt, linux_enable_bts): Call
10023         diagnose_perf_event_open_fail.
10024
10025 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10026
10027         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
10028         Remove parameter and change return type.  Update callers.  Move it.
10029         (linux_enable_bts, linux_enable_pt): Improve error message.
10030         (linux_enable_pt): Remove zero buffer size check.
10031         (linux_enable_btrace): Improve error messages.  Remove NULL return
10032         check.
10033
10034 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10035
10036         * btrace.c (btrace_enable): Remove target_supports_btrace call.
10037         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
10038         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
10039         (linux_supports_pt, linux_supports_btrace): Remove.
10040         (linux_enable_bts): Call cpu_supports_bts.
10041         * nat/linux-btrace.h (linux_supports_btrace): Remove.
10042         * remote.c (remote_supports_btrace): Remove.
10043         (init_remote_ops): Remove remote_supports_btrace.
10044         * target-delegates.c: Regenerated.
10045         * target.c (target_supports_btrace): Remove.
10046         * target.h (target_ops) <to_supports_btrace>: Remove
10047         (target_supports_btrace): Remove.
10048         * x86-linux-nat.c (x86_linux_create_target): Remove
10049         linux_supports_btrace.
10050
10051 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10052
10053         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
10054         btrace failed.
10055         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
10056         exception and use message in own exception.
10057
10058 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10059
10060         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
10061         (perf_event_pt_event_type): Use gdb_file_up.
10062         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
10063         scoped_fd, and scoped_mmap.
10064
10065 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10066
10067         * common/scoped_mmap.h: New.
10068         * unittests/scoped_mmap-selftest.c: New.
10069         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10070         unittests/scoped_mmap-selftest.c.
10071
10072 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
10073
10074         * common/scoped_fd.h: New.
10075         * unittests/scoped_fd-selftest.c: New.
10076         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10077         unittests/scoped_fd-selftest.c.
10078
10079 2018-02-09  Tom Tromey  <tom@tromey.com>
10080
10081         * auto-load.c (auto_load_section_scripts): Use
10082         gdb::unique_xmalloc_ptr.
10083
10084 2018-02-09  Tom Tromey  <tom@tromey.com>
10085
10086         * auto-load.c (execute_script_contents): Use std::string.
10087
10088 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
10089
10090         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
10091         Python function, rather than a new command.
10092
10093 2018-02-08  Tom Tromey  <tom@tromey.com>
10094
10095         * solib.c (solib_find_1): Use std::string.
10096         (solib_bfd_fopen): Use unique_xmalloc_ptr.
10097
10098 2018-02-08  Tom Tromey  <tom@tromey.com>
10099
10100         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
10101
10102 2018-02-08  Tom Tromey  <tom@tromey.com>
10103
10104         * source.c (find_source_lines): Use gdb::def_vector.
10105
10106 2018-02-08  Tom Tromey  <tom@tromey.com>
10107
10108         * macrocmd.c (struct temporary_macro_definition): New.
10109         (macro_define_command): Use temporary_macro_definition.  Remove
10110         cleanups.
10111         (free_macro_definition_ptr): Remove.
10112
10113 2018-02-08  Tom Tromey  <tom@tromey.com>
10114
10115         * macroexp.c (maybe_expand): Use std::string.
10116
10117 2018-02-08  Tom Tromey  <tom@tromey.com>
10118
10119         * macroexp.c (struct macro_buffer): Add initializers for some
10120         members.
10121         (init_buffer, init_shared_buffer, free_buffer)
10122         (free_buffer_return_text): Remove.
10123         (macro_buffer): New constructors.
10124         (~macro_buffer): New destructor.
10125         (macro_buffer::set_shared): New method.
10126         (macro_buffer::resize_buffer, macro_buffer::appendc)
10127         (macro_buffer::appendmem): Now methods, not free functions.
10128         (set_token, append_tokens_without_splicing, stringify)
10129         (macro_stringify): Update.
10130         (gather_arguments): Change return type.  Remove argc_p argument,
10131         add args_ptr argument.  Use std::vector.
10132         (substitute_args): Remove argc argument.  Accept std::vector.
10133         (expand): Update.  Use std::vector.
10134         (scan, macro_expand, macro_expand_next): Update.
10135
10136 2018-02-08  Tom Tromey  <tom@tromey.com>
10137
10138         * symtab.c (default_collect_symbol_completion_matches_break_on):
10139         Use unique_xmalloc_ptr.
10140         * macroscope.h: (sal_macro_scope, user_macro_scope)
10141         (default_macro_scope): Return unique_xmalloc_ptr.
10142         * macroscope.c (sal_macro_scope, user_macro_scope)
10143         (default_macro_scope): Return unique_xmalloc_ptr.
10144         * macroexp.h (macro_expand, macro_expand_once): Return
10145         unique_xmalloc_ptr.
10146         * macroexp.c (macro_expand, macro_expand_once): Return
10147         unique_xmalloc_ptr.
10148         * macrocmd.c (macro_expand_command, macro_expand_once_command)
10149         (info_macro_command, info_macros_command): Use
10150         unique_xmalloc_ptr.
10151         * compile/compile-c-support.c (write_macro_definitions): Use
10152         unique_xmalloc_ptr.
10153         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
10154
10155 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
10156
10157         * value.c (value_static_field): Assign field type instead of
10158         containing type when returning an optimized out value.
10159
10160 2018-02-06  Yao Qi  <yao.qi@linaro.org>
10161
10162         * ft32-tdep.c (ft32_read_pc): Remove.
10163         (ft32_write_pc): Remove.
10164         (ft32_gdbarch_init): Update.
10165         * m32r-tdep.c (m32r_read_pc): Remove.
10166         (m32r_gdbarch_init): Update.
10167         * mep-tdep.c (mep_read_pc): Remove.
10168         (mep_gdbarch_init): Update.
10169         * microblaze-tdep.c (microblaze_write_pc): Remove.
10170         (microblaze_gdbarch_init): Update.
10171         * mn10300-tdep.c (mn10300_read_pc): Remove.
10172         (mn10300_write_pc): Remove.
10173         (mn10300_gdbarch_init): Update.
10174         * moxie-tdep.c (moxie_read_pc): Remove.
10175         (moxie_write_pc): Remove.
10176         (moxie_gdbarch_init): Update.
10177
10178 2018-02-06  Yao Qi  <yao.qi@linaro.org>
10179
10180         * expprint.c (print_subexp_standard): Handle
10181         OP_F77_UNDETERMINED_ARGLIST.
10182         (dump_subexp_body_standard): Likewise.
10183
10184 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
10185
10186         * target-descriptions.c (tdesc_element_visitor) Add empty
10187         implementations.
10188         (tdesc_type): Move make_gdb_type from here.
10189         (tdesc_type_builtin): Likewise.
10190         (tdesc_type_vector): Likewise.
10191         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
10192         (make_gdb_type_struct): Move from tdesc_type_with_fields.
10193         (make_gdb_type_union): Likewise.
10194         (make_gdb_type_flags): Likewise.
10195         (make_gdb_type_enum): Likewise.
10196         (make_gdb_type): New function.
10197         (tdesc_register_type): Use static make_gdb_type.
10198
10199 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
10200
10201         * infcmd.c (default_print_one_register_info): Align natural-format
10202         column values consistently one under another.
10203         (pad_to_column): New function.
10204
10205 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
10206
10207         * dwarf2read.c (dwarf2_physname): Move commment.
10208
10209 2018-02-01  Leszek Swirski  <leszeks@google.com>
10210
10211         * varobj.c (varobj_formatted_print_options): Allow recursive
10212         pretty printing if pretty printing is enabled.
10213
10214 2018-02-01  Leszek Swirski  <leszeks@google.com>
10215
10216         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
10217         names after a structop as a filename.
10218
10219 2018-02-01  Yao Qi  <yao.qi@linaro.org>
10220
10221         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
10222         (arm_record_coproc_data_proc): Likewise.
10223
10224 2018-02-01  Yao Qi  <yao.qi@linaro.org>
10225
10226         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
10227
10228 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
10229
10230         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
10231         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
10232
10233 2018-01-31  Pedro Alves  <palves@redhat.com>
10234
10235         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
10236         * inflow.c (child_terminal_save_inferior): Wrap reference to
10237         tcgetpgrp in HAVE_TERMIOS_H.
10238         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
10239         _WIN32.
10240         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
10241         always iterate over all inferiors.
10242         (gdbsim_cntrl_c): Adjust.
10243         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
10244
10245 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
10246
10247         * gdbtypes.c (lookup_array_range_type): Make sure the array's
10248         index type is objfile-owned if the element type is as well.
10249
10250 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
10251
10252         GDB 8.1 released.
10253
10254 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10255
10256         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
10257         "features/s390x-linux64.c".
10258         (_initialize_s390_linux_tdep): Remove initialization of tdescs
10259         s390_linux32 and s390x_linux64.
10260         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
10261         default tdesc.
10262         * s390-tdep.c: Include "features/s390-linux32.c" and
10263         "features/s390x-linux64.c".
10264         (s390_tdesc_valid): Add check for tdesc_has_registers.
10265         (s390_gdbarch_init): Make sure there is always a valid tdesc.
10266         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
10267         tdesc_s390x_linux64.
10268         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
10269         tdesc_s390x_linux64 to...
10270         * s390-tdep.h: ...here.
10271
10272 2018-01-30  Pedro Alves  <palves@redhat.com>
10273
10274         PR gdb/13211
10275         * config.in, configure: Regenerate.
10276         * configure.ac: Check for getpgid.
10277         * go32-nat.c (go32_pass_ctrlc): New.
10278         (go32_target): Install it.
10279         * inf-child.c (inf_child_target): Install
10280         child_terminal_save_inferior, child_pass_ctrlc and
10281         child_interrupt.
10282         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
10283         (inf_ptrace_target): No longer install it.
10284         * infcmd.c (interrupt_target_1): Adjust.
10285         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
10286         (child_interrupt): Declare.
10287         (inferior::terminal_state): New.
10288         * inflow.c (struct terminal_info): Update comments.
10289         (inferior_process_group): Delete.
10290         (terminal_is_ours): Delete.
10291         (gdb_tty_state): New.
10292         (child_terminal_init): Adjust.
10293         (is_gdb_terminal, sharing_input_terminal_1)
10294         (sharing_input_terminal): New functions.
10295         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
10296         Set the process's actual process group in the foreground if
10297         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
10298         mark terminal as the inferior's if not sharing GDB's terminal.
10299         Don't check attach_flag.
10300         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
10301         pass down a target_terminal_state.
10302         (child_terminal_save_inferior): New, factored out from ...
10303         (child_terminal_ours_1): ... this.  Handle
10304         target_terminal_state::is_ours_for_output.
10305         (child_interrupt, child_pass_ctrlc): New.
10306         (inflow_inferior_exit): Clear the inferior's terminal_state.
10307         (copy_terminal_info): Copy the inferior's terminal state.
10308         (_initialize_inflow): Remove reference to terminal_is_ours.
10309         * inflow.h (inferior_process_group): Delete.
10310         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
10311         * procfs.c (procfs_target): Don't install procfs_interrupt.
10312         (procfs_interrupt): Delete.
10313         * remote.c (remote_serial_quit_handler): Adjust.
10314         (remote_interrupt): Remove ptid parameter.  Adjust.
10315         * target-delegates.c: Regenerate.
10316         * target.c: Include "terminal.h".
10317         (target_terminal::terminal_state): Rename to ...
10318         (target_terminal::m_terminal_state): ... this.
10319         (target_terminal::init): Adjust.
10320         (target_terminal::inferior): Adjust to per-inferior
10321         terminal_state.
10322         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
10323         (target_terminal::ours, target_terminal::ours_for_output): Use
10324         target_terminal_is_ours_kind.
10325         (target_interrupt): Remove ptid parameter.  Adjust.
10326         (default_target_pass_ctrlc): Adjust.
10327         * target.h (target_ops::to_terminal_save_inferior): New field.
10328         (target_ops::to_interrupt): Remove ptid_t parameter.
10329         (target_interrupt): Remove ptid_t parameter.  Update comment.
10330         (target_pass_ctrlc): Update comment.
10331         * target/target.h (target_terminal_state): New scoped enum,
10332         factored out of ...
10333         (target_terminal::terminal_state): ... here.
10334         (target_terminal::inferior): Update comments.
10335         (target_terminal::restore_inferior): New.
10336         (target_terminal::is_inferior, target_terminal::is_ours)
10337         (target_terminal::is_ours_for_output): Adjust.
10338         (target_terminal::scoped_restore_terminal_state): Adjust to
10339         rename, and call restore_inferior() instead of inferior().
10340         (target_terminal::scoped_restore_terminal_state::m_state): Change
10341         type.
10342         (target_terminal::terminal_state): Rename to ...
10343         (target_terminal::m_terminal_state): ... this and change type.
10344
10345 2018-01-30  Pedro Alves  <palves@redhat.com>
10346
10347         * linux-nat.c (wait_for_signal): New function.
10348         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
10349         directly.
10350         (async_terminal_is_ours)
10351         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
10352         (linux_nat_add_target): Don't override
10353         to_terminal_inferior/to_terminal_ours.
10354
10355 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
10356
10357         * remote.c (remote_follow_fork): Don't call "detach_inferior".
10358
10359 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
10360
10361         * dwarf2read.c (free_dwo_files): Add forward-declaration.
10362         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
10363         dwarf2_per_objfile_free here.
10364         (dwarf2_per_objfile_free): Remove.
10365         (_initialize_dwarf2_read): Don't register
10366         dwarf2_per_objfile_free as a registry cleanup.
10367
10368 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
10369
10370         Avoid compilation errors in MinGW native builds
10371
10372         The error is triggered by including python-internal.h, and the
10373         error message is:
10374
10375              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
10376                       from build-gnulib/import/math.h:27,
10377                       from d:/usr/Python26/include/pyport.h:235,
10378                       from d:/usr/Python26/include/Python.h:58,
10379                       from python/python-internal.h:94,
10380                       from python/py-arch.c:24:
10381              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
10382         using ::hypot;
10383                 ^~~~~
10384
10385         This happens because Python headers define 'hypot' to expand t
10386         '_hypot' in the Windows builds.
10387         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
10388         'hypoth'.  This avoids a compilation error.
10389
10390 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
10391
10392         * MAINTAINERS (Write After Approval): Fix ordering.
10393
10394 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
10395
10396         * MAINTAINERS (Write After Approval): Add Alan Hayward.
10397
10398 2018-01-26  Alan Modra  <amodra@gmail.com>
10399
10400         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
10401         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
10402         Remove nop.  Make const.  Comment.
10403         (powerpc32_plt_stub_so_2): New.
10404         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
10405         Correct count.  Update uses.
10406         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
10407         Move common code reading PLT entry word.  Correct
10408         powerpc32_plt_stub PLT address calculation.
10409         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
10410         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
10411         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
10412         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
10413         (ppc64_standard_linkage8): Likewise.
10414         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
10415         Correct insns description.
10416         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
10417
10418 2018-01-24  Pedro Alves  <palves@redhat.com>
10419
10420         GCC PR libstdc++/83906
10421         * gdbtypes.c (operator==(const dynamic_prop &,
10422         const dynamic_prop &)): New.
10423         (operator==(const range_bounds &, const range_bounds &)): New.
10424         (check_types_equal): Use them instead of memcmp.
10425         * gdbtypes.h (operator==(const dynamic_prop &,
10426         const dynamic_prop &)): Declare.
10427         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
10428         (operator==(const range_bounds &, const range_bounds &)): Declare.
10429         (operator!=(const range_bounds &, const range_bounds &)): Declare.
10430
10431 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10432
10433         * s390-linux-tdep.c (s390_record_address_mask)
10434         (s390_record_calc_disp_common, s390_record_calc_disp)
10435         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
10436         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
10437         (s390_process_record): Move to s390-tdep.c.
10438         (s390_linux_init_abi_any): Adjust.
10439         * s390-tdep.c (s390_record_address_mask)
10440         (s390_record_calc_disp_common, s390_record_calc_disp)
10441         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
10442         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
10443         (s390_process_record): Moved from s390-linux-tdep.c
10444         (s390_gdbarch_init): Adjust.
10445
10446 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10447
10448         * s390-linux-nat.c (s390-tdep.h): New include.
10449         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
10450         (HFILES_NO_SRCDIR): Add s390-tdep.h.
10451         (ALLDEPFILES): Add s390-tdep.c.
10452         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
10453         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
10454         * s390-tdep.h: ...this.  New file.
10455         * s390-linux-tdep.c (s390-tdep.h): New include.
10456         (_initialize_s390_tdep): Rename to...
10457         (_initialize_s390_linux_tdep): ...this and adjust.
10458         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
10459         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
10460         s390-tdep.h.
10461         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
10462         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
10463         (s390_is_partial_instruction, s390_software_single_step)
10464         (is_non_branch_ril, s390_displaced_step_copy_insn)
10465         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
10466         (s390_prologue_data, s390_addr, s390_store, s390_load)
10467         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
10468         (s390_register_call_saved, s390_guess_tracepoint_registers)
10469         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
10470         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
10471         (s390_pseudo_register_name, s390_pseudo_register_type)
10472         (s390_pseudo_register_read, s390_pseudo_register_write)
10473         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
10474         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
10475         (s390_addr_bits_remove, s390_address_class_type_flags)
10476         (s390_address_class_type_flags_to_name)
10477         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
10478         (s390_function_arg_float, s390_function_arg_vector)
10479         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
10480         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
10481         (s390_frame_align, s390_register_return_value, s390_return_value)
10482         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
10483         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
10484         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
10485         (s390_trad_frame_prev_register, s390_unwind_cache)
10486         (s390_prologue_frame_unwind_cache)
10487         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
10488         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
10489         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
10490         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
10491         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
10492         (s390_frame_base_address, s390_local_base_address)
10493         (s390_frame_base, s390_gcc_target_options)
10494         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
10495         (s390_validate_reg_range, s390_tdesc_valid)
10496         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
10497         * s390-tdep.c: ...this.  New file.
10498
10499 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10500
10501         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
10502         (s390_process_record, s390_gdbarch_tdep_alloc)
10503         (s390_linux_init_abi_any): Use/set new hook.
10504
10505 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10506
10507         * s390-linux-tdep.c (osabi.h): New include.
10508         (s390_linux_init_abi_31, s390_linux_init_abi_64)
10509         (s390_linux_init_abi_any): New functions.
10510         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
10511
10512 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10513
10514         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
10515         tdesc_has_registers check
10516
10517 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10518
10519         * s390-linux-tdep.c (s390_tdesc_valid): New function.
10520         (s390_validate_reg_range): New macro.
10521         (s390_gdbarch_init): Adjust.
10522
10523 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10524
10525         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
10526         (s390_gdbarch_tdep_alloc): Adjust.
10527         (s390_gdbarch_init): Adjust.
10528
10529 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10530
10531         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
10532         <have_tdb>: Change type to bool.
10533         (s390_gdbarch_tdep_alloc): Adjust.
10534         (s390_gdbarch_init): Adjust.
10535
10536 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10537
10538         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
10539         (gdbarch_tdep) <have_upper, have_vx>: New fields.
10540         (s390_gdbarch_tdep_alloc): New function.
10541         (s390_gdbarch_init): Allocate tdep at start and use its fields
10542         instead of separate variables.
10543
10544 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10545
10546         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
10547         when looking for cached gdbarch and add comment for remaining.
10548
10549 2018-01-22  Pedro Alves  <palves@redhat.com>
10550             Sergio Durigan Junior  <sergiodj@redhat.com>
10551
10552         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
10553         case.
10554
10555 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
10556
10557         * MAINTAINERS: Update my company e-mail address.
10558
10559 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10560
10561         * regcache.c (cooked_write_test): New function.
10562         (_initialize_regcache): Register the test.
10563
10564 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10565
10566         * ia64-tdep.c (ia64_pseudo_register_read): Call
10567         regcache->cooked_read instead of regcache_cooked_read_unsigned.
10568         * m32c-tdep.c (m32c_cat_read): Likewise.
10569         (m32c_r3r2r1r0_read): Likewise.
10570         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10571         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10572
10573 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10574
10575         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
10576         method raw_read instead of regcache_raw_read.
10577         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10578         * arm-tdep.c (arm_neon_quad_read): Likewise.
10579         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10580         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10581         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10582         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
10583         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10584         (i386_pseudo_register_read_into_value): Likewise.
10585         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10586         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10587         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10588         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10589         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10590         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10591         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10592         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10593         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10594
10595 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10596
10597         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10598         * configure.tgt: Remove target mt.
10599         * mt-tdep.c: Remove.
10600         * regcache.c (cooked_read_test): Remove the check for mt.
10601
10602 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10603
10604         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10605         instead of gdbarch_pseudo_register_read_value.
10606
10607 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10608
10609         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10610         language is Ada.
10611
10612 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10613
10614         * linespec.c (create_sals_line_offset): Remove code that preserved
10615         the symtab_and_line's line number.
10616
10617 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10618
10619         * varobj.c (varobj_create): Don't set valid_block when creating a
10620         floating varobj.
10621
10622 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10623
10624         * varobj.c (varobj_create): Remove out of date comment.
10625
10626 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10627
10628         PR mi/20395
10629         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10630         updating innermost block.
10631         * parse.c (innermost_block_tracker::update): Take extra type
10632         parameter, and check types match before updating innermost block.
10633         (write_dollar_variable): Update innermost block for registers.
10634         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10635         (innermost_block_tracker::innermost_block_tracker): Initialise
10636         m_types member.
10637         (innermost_block_tracker::reset): Take type parameter.
10638         (innermost_block_tracker::update): Take type parameter, and pass
10639         type through as needed.
10640         (innermost_block_tracker::m_types): New member.
10641         * varobj.c (varobj_create): Pass type when reseting innermost
10642         block.
10643
10644 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10645
10646         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10647         * ada-lang.c (resolve_subexp): Likewise.
10648         * breakpoint.c (set_breakpoint_condition) Likewise.
10649         (watch_command_1) Likewise.
10650         * c-exp.y (variable): Likewise.
10651         * d-exp.y (PrimaryExpression): Likewise.
10652         * f-exp.y (variable): Likewise.
10653         * go-exp.y (variable): Likewise.
10654         * m2-exp.y (variable): Likewise.
10655         * objfiles.c (objfile::~objfile): Likewise.
10656         * p-exp.y (variable): Likewise.
10657         * parse.c (innermost_block): Change type.
10658         * parser-defs.h (class innermost_block_tracker): New.
10659         (innermost_block): Change to innermost_block_tracker.
10660         * printcmd.c (display_command): Switch to innermost_block API.
10661         (do_one_display): Likewise.
10662         * rust-exp.y (do_one_display): Likewise.
10663         * symfile.c (clear_symtab_users): Likewise.
10664         * varobj.c (varobj_create): Switch to innermost_block API, replace
10665         use of innermost_block with block stored on varobj object.
10666
10667 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10668
10669         * expression.h (innermost_block): Remove declaration.
10670         * varobj.c: Add 'parser-defs.h' include.
10671
10672 2018-01-19  Tom Tromey  <tom@tromey.com>
10673
10674         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10675         symbols in the static and global blocks.
10676
10677 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10678
10679         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10680         gdb_ptrace.h, and move including gdb_wait.h ...
10681         * nat/linux-ptrace.h: ... to here.
10682
10683 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10684
10685         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10686         inf_ptrace_detach_success.
10687         (inf_ptrace_detach_success): Add inferior parameter, use it
10688         instead of inferior_ptid, pass it to detach_inferior.
10689         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10690         parameter.
10691         * inferior.c (detach_inferior): Add overload that takes an
10692         inferior object.
10693         * inferior.h (detach_inferior): Likewise.
10694         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10695         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10696         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10697
10698 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10699
10700         * target.h (struct target_ops) <to_detach>: Add inferior
10701         parameter.
10702         (target_detach): Likewise.
10703         * target.c (dispose_inferior): Pass inferior down.
10704         (target_detach): Pass inferior down.  Assert that it is equal to
10705         the current inferior.
10706         * aix-thread.c (aix_thread_detach): Pass inferior down.
10707         * corefile.c (core_file_command): Pass current_inferior() down.
10708         * corelow.c (core_detach): Add inferior parameter.
10709         * darwin-nat.c (darwin_detach): Likewise.
10710         * gnu-nat.c (gnu_detach): Likewise.
10711         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10712         * infcmd.c (detach_command): Pass current_inferior() down to
10713         target_detach.
10714         * infrun.c (follow_fork_inferior): Pass parent_inf to
10715         target_detach.
10716         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10717         target_detach.
10718         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10719         * linux-thread-db.c (thread_db_detach): Likewise.
10720         * nto-procfs.c (procfs_detach): Likewise.
10721         * procfs.c (procfs_detach): Likewise.
10722         * record.c (record_detach): Likewise.
10723         * record.h (struct inferior): Forward-declare.
10724         (record_detach): Add inferior parameter.
10725         * remote-sim.c (gdbsim_detach): Likewise.
10726         * remote.c (remote_detach_1): Likewise.
10727         (remote_detach): Likewise.
10728         (extended_remote_detach): Likewise.
10729         * sol-thread.c (sol_thread_detach): Likewise.
10730         * target-debug.h (target_debug_print_inferior_p): New macro.
10731         * target-delegates.c: Re-generate.
10732         * top.c (kill_or_detach): Pass inferior down to target_detach.
10733         * windows-nat.c (windows_detach): Add inferior parameter.
10734
10735 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10736
10737         * target.h (struct target_ops) <to_detach>: Remove args
10738         parameter.
10739         (target_detach): Likewise.
10740         * target.c (dispose_inferior): Adjust.
10741         (target_detach): Remove args parameter, adjust.
10742         * aix-thread.c (aix_thread_detach): Adjust.
10743         * corefile.c (core_file_command): Adjust.
10744         * corelow.c (core_detach): Adjust.
10745         * darwin-nat.c (darwin_detach): Adjust.
10746         * gnu-nat.c (gnu_detach): Adjust.
10747         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10748         * infcmd.c (detach_command): Adjust
10749         * infrun.c (follow_fork_inferior): Adjust.
10750         (handle_vfork_child_exec_or_exit): Adjust.
10751         * linux-fork.c (linux_fork_detach): Remove args parameter.
10752         * linux-fork.h (linux_fork_detach): Likewise.
10753         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10754         * linux-thread-db.c (thread_db_detach): Likewise.
10755         * nto-procfs.c (procfs_detach): Likewise.
10756         * procfs.c (procfs_detach): Likewise.
10757         (do_detach): Remove signo parameter.
10758         * record.c (record_detach): Remove args parameter.
10759         * record.h (record_detach): Likewise.
10760         * remote-sim.c (gdbsim_detach): Likewise.
10761         * remote.c (remote_detach_1): Likewise.
10762         (remote_detach): Likewise.
10763         (extended_remote_detach): Likewise.
10764         * sol-thread.c (sol_thread_detach): Likewise.
10765         * target-delegates.c: Re-generate.
10766         * top.c (struct qt_args) <args>: Remove field.
10767         (kill_or_detach): Don't pass args.
10768         (quit_force): Don't set args.
10769         * windows-nat.c (windows_detach): Remove args parameter.
10770
10771 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10772
10773         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10774         (arm_linux_init_abi): Install it.
10775
10776 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10777
10778         * osabi.c (gdb_osabi_names): Extend the regexp for
10779         arm-linux-gnueabihf.
10780
10781 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10782
10783         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10784         m_abbrevs.
10785         (abbrev_table::add_abbrev): Update.
10786         (abbrev_table::lookup_abbrev): Update.
10787
10788 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10789
10790         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10791
10792 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10793
10794         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10795         to "std::string".
10796
10797 2018-01-17  Tom Tromey  <tom@tromey.com>
10798
10799         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10800
10801 2018-01-17  Tom Tromey  <tom@tromey.com>
10802
10803         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10804         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10805         (create_array_type_with_stride): Update.
10806         * dwarf2read.c (set_die_type): Update.
10807
10808 2018-01-17  Tom Tromey  <tom@tromey.com>
10809
10810         * dwarf2read.c (delayed_method_info): Remove typedef.
10811         (dwarf2_cu::method_info): Now a std::vector.
10812         (add_to_method_list): Update.
10813         (free_delayed_list): Remove.
10814         (compute_delayed_physnames): Update.
10815         (process_full_comp_unit, process_full_type_unit): Clear the method
10816         list.  Remove cleanups.
10817         (psymtab_include_file_name): Add name_holder parameter.  Use
10818         unique_xmalloc_ptr.
10819         (dwarf_decode_lines): Update.
10820
10821 2018-01-17  Tom Tromey  <tom@tromey.com>
10822             Simon Marchi  <simon.marchi@ericsson.com>
10823
10824         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10825         (dwarf2_per_objfile::free_cached_comp_units)
10826         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10827         (init_cutu_and_read_dies_no_follow): Update.
10828         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10829         (dwarf2_cu::~dwarf2_cu): New.
10830         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10831         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10832
10833 2018-01-17  Tom Tromey  <tom@tromey.com>
10834             Simon Marchi  <simon.marchi@ericsson.com>
10835
10836         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10837         (struct die_reader_specs) <abbrev_table>: New member.
10838         (struct abbrev_table): Add constructor.
10839         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10840         <abbrev_obstack>: Now an auto_obstack.
10841         (abbrev_table_up): New typedef.
10842         (init_cu_die_reader): Add abbrev_table parameter.
10843         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10844         Add result_dwo_abbrev_table.
10845         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10846         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10847         Update.
10848         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10849         parameter.
10850         (skip_children): Update.
10851         (abbrev_table::alloc_abbrev): Rename from
10852         abbrev_table_alloc_abbrev.
10853         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10854         (abbrev_table::lookup_abbrev): Rename from
10855         abbrev_table_lookup_abbrev.
10856         (abbrev_table_read_table): Return abbrev_table_up.
10857         (abbrev_table_free, abbrev_table_free_cleanup)
10858         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10859         (load_partial_dies): Update.
10860
10861 2018-01-17  Tom Tromey  <tom@tromey.com>
10862
10863         * dwarf2read.c (dwarf2_compute_name): Update comment.
10864         (read_func_scope, read_variable): Update.
10865         (new_symbol): Remove.
10866         (new_symbol_full): Rename to new_symbol.
10867
10868 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10869
10870         PR gdb/16577
10871         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10872         a warning instead of throwing an error, set section size to 0 and return
10873         NULL.
10874         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10875
10876 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10877
10878         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10879         std::string.
10880         (linux_ptrace_attach_fail_reason_string): Likewise.
10881         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10882         Likewise.
10883         (linux_ptrace_attach_fail_reason_string): Likewise.
10884         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10885
10886 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10887
10888         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10889
10890 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10891
10892         PR gdb/21559
10893         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10894         checking for fs_base/gs_base fields in struct user_regs_struct.
10895         * configure: Regenerate.
10896
10897 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10898
10899         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10900         function.
10901         (aarch64_linux_init_abi): Install it to gdbarch hook
10902         gcc_target_options.
10903
10904 2018-01-15  Pedro Alves  <palves@redhat.com>
10905
10906         * common/signals-state-save-restore.c
10907         (save_original_signals_state): Fix typos.
10908
10909 2017-01-12  Tom Tromey  <tom@tromey.com>
10910             Sergio Durigan Junior  <sergiodj@redhat.com>
10911
10912         * Makefile.in (install-only): Install gdb-add-index.
10913
10914 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10915
10916         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10917
10918 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10919
10920         * infrun.c (keep_going_pass_signal): Clear step-over info when
10921         insert_breakpoints fails.
10922
10923 2018-01-11  Pedro Alves  <palves@redhat.com>
10924
10925         PR gdb/22583
10926         * infrun.c (resume): Rename to ...
10927         (resume_1): ... this.
10928         (resume): Reimplement as wrapper around resume_1.
10929
10930 2018-01-11  Pedro Alves  <palves@redhat.com>
10931
10932         PR remote/22597
10933         * remote.c (remote_parse_stop_reply): Default to the last-set
10934         general thread instead of to 'magic_null_ptid'.
10935
10936 2018-01-10  Pedro Alves  <palves@redhat.com>
10937
10938         * language.h (language_get_symbol_name_matcher): Rename ...
10939         (get_symbol_name_matcher): ... this.
10940         * language.c (language_get_symbol_name_matcher): Ditto.
10941         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10942         callers adjusted.
10943
10944 2018-01-10  Pedro Alves  <palves@redhat.com>
10945
10946         PR gdb/22670
10947         * dwarf2read.c
10948         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10949         Adjust to use language_get_symbol_name_matcher instead of
10950         language_defn::la_get_symbol_name_matcher.
10951         * language.c (language_get_symbol_name_matcher): If in Ada mode
10952         and the lookup name is a verbatim match, return Ada's matcher.
10953         * language.h (language_get_symbol_name_matcher): Adjust comment.
10954         (ada_lookup_name_info::verbatim_p):: New method.
10955
10956 2018-01-10  Pedro Alves  <palves@redhat.com>
10957
10958         PR gdb/22670
10959         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10960         minsym's language is language_auto or language_cplus, pass down
10961         language_ada instead.
10962         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10963
10964 2018-01-10  Pedro Alves  <palves@redhat.com>
10965
10966         PR gdb/22670
10967         * minsyms.c (linkage_name_str): New function.
10968         (iterate_over_minimal_symbols): Use it.
10969
10970 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10971
10972         * NEWS: Document that 'info proc' now works on FreeBSD.
10973
10974 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10975
10976         * configure.ac: Check for kinfo_getfile in libutil.
10977         * configure: Regenerate.
10978         * config.in: Regenerate.
10979         * fbsd-nat.c: Include "fbsd-tdep.h".
10980         (fbsd_fetch_cmdline): New.
10981         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
10982         rather than calling error.
10983         (fbsd_info_proc): New.
10984         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
10985         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
10986         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
10987
10988 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10989
10990         * fbsd-nat.c (struct free_deleter): Remove.
10991         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
10992
10993 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10994
10995         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
10996         NULL for an empty pathname.
10997
10998 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10999
11000         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
11001         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
11002         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
11003         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
11004         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
11005         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
11006         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
11007         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
11008         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
11009         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
11010         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
11011         (fbsd_core_fetch_timeval, fbsd_print_sigset)
11012         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
11013         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
11014         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
11015
11016 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
11017
11018         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
11019         (gnu_xfer_auxv): New function.
11020         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
11021         TARGET_OBJECT_AUXV.
11022
11023 2018-01-08  Yao Qi  <yao.qi@linaro.org>
11024             Simon Marchi  <simon.marchi@ericsson.com>
11025
11026         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
11027         common/selftest.c.
11028         (COMMON_OBS): Remove selftest.o.
11029         * configure.ac: Append selftest-arch.c and common/selftest.c to
11030         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
11031         * configure: Re-generated.
11032         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
11033         GDB_SELF_TEST.
11034         (maintenance_info_selftests): Likewise.
11035
11036 2018-01-08  Xavier Roirand  <roirand@adacore.com>
11037
11038         * ada-valprint.c (val_print_packed_array_elements): Use
11039         proper number of elements when printing an array indexed
11040         by an enumeration type.
11041
11042 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11043
11044         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
11045         (dw2_get_file_names_reader): Adjust.
11046         (lookup_dwo_signatured_type): Adjust.
11047         (lookup_dwp_signatured_type): Adjust.
11048         (lookup_signatured_type): Adjust.
11049         (create_type_unit_group): Adjust.
11050         (get_type_unit_group): Adjust.
11051         (process_psymtab_comp_unit_reader): Adjust.
11052         (build_type_psymtabs_reader): Adjust.
11053         (scan_partial_symbols): Adjust.
11054         (add_partial_symbol): Adjust.
11055         (add_partial_subprogram): Adjust.
11056         (peek_die_abbrev): Adjust.
11057         (fixup_go_packaging): Adjust.
11058         (process_imported_unit_die): Adjust.
11059         (dwarf2_compute_name): Adjust.
11060         (dwarf2_physname): Adjust.
11061         (read_import_statement): Adjust.
11062         (handle_DW_AT_stmt_list): Adjust.
11063         (read_file_scope): Adjust.
11064         (read_func_scope): Adjust.
11065         (read_lexical_block_scope): Adjust.
11066         (read_call_site_scope): Adjust.
11067         (read_variable): Adjust.
11068         (dwarf2_rnglists_process): Adjust.
11069         (dwarf2_ranges_process): Adjust.
11070         (dwarf2_ranges_read): Adjust.
11071         (dwarf2_get_pc_bounds): Adjust.
11072         (dwarf2_record_block_ranges): Adjust.
11073         (dwarf2_add_field): Adjust.
11074         (dwarf2_add_member_fn): Adjust.
11075         (read_structure_type): Adjust.
11076         (process_structure_scope): Adjust.
11077         (read_enumeration_type): Adjust.
11078         (read_array_type): Adjust.
11079         (mark_common_block_symbol_computed): Adjust.
11080         (read_common_block): Adjust.
11081         (read_namespace_type): Adjust.
11082         (read_namespace): Adjust.
11083         (read_module_type): Adjust.
11084         (read_tag_pointer_type): Adjust.
11085         (read_tag_ptr_to_member_type): Adjust.
11086         (read_tag_string_type): Adjust.
11087         (read_subroutine_type): Adjust.
11088         (read_typedef): Adjust.
11089         (read_base_type): Adjust.
11090         (attr_to_dynamic_prop): Adjust.
11091         (read_subrange_type): Adjust.
11092         (read_unspecified_type): Adjust.
11093         (dwarf2_read_abbrevs): Adjust.
11094         (load_partial_dies): Adjust.
11095         (read_partial_die): Adjust.
11096         (find_partial_die): Adjust.
11097         (guess_partial_die_structure_name): Adjust.
11098         (fixup_partial_die): Adjust.
11099         (read_attribute_value): Adjust.
11100         (read_addr_index): Adjust.
11101         (read_addr_index_from_leb128): Adjust.
11102         (read_str_index): Adjust.
11103         (dwarf2_string_attr): Adjust.
11104         (get_debug_line_section): Adjust.
11105         (dwarf_decode_line_header): Adjust.
11106         (lnp_state_machine::check_line_address): Adjust.
11107         (dwarf_decode_lines_1): Adjust.
11108         (dwarf_decode_lines): Adjust.
11109         (dwarf2_start_symtab): Adjust.
11110         (var_decode_location): Adjust.
11111         (new_symbol_full): Adjust.
11112         (dwarf2_const_value_data): Adjust.
11113         (dwarf2_const_value_attr): Adjust.
11114         (dwarf2_const_value): Adjust.
11115         (die_type): Adjust.
11116         (die_containing_type): Adjust.
11117         (build_error_marker_type): Adjust.
11118         (lookup_die_type): Adjust.
11119         (guess_full_die_structure_name): Adjust.
11120         (anonymous_struct_prefix): Adjust.
11121         (determine_prefix): Adjust.
11122         (dwarf2_name): Adjust.
11123         (follow_die_ref_or_sig): Adjust.
11124         (follow_die_offset): Adjust.
11125         (follow_die_ref): Adjust.
11126         (follow_die_sig_1): Adjust.
11127         (follow_die_sig): Adjust.
11128         (get_signatured_type): Adjust.
11129         (get_DW_AT_signature_type): Adjust.
11130         (decode_locdesc): Adjust.
11131         (dwarf_decode_macros): Adjust.
11132         (cu_debug_loc_section): Adjust.
11133         (fill_in_loclist_baton): Adjust.
11134         (dwarf2_symbol_mark_computed): Adjust.
11135         (init_one_comp_unit): Don't assign
11136         dwarf2_cu::dwarf2_per_objfile.
11137         (set_die_type): Adjust.
11138
11139 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11140
11141         * dwarf2read.c (struct mapped_debug_names): Add constructor.
11142         <dwarf2_per_objfile>: New field.
11143         (dwarf2_per_objfile): Remove global.
11144         (get_dwarf2_per_objfile): New function.
11145         (set_dwarf2_per_objfile): New function.
11146         (dwarf2_build_psymtabs_hard): Change objfile parameter to
11147         dwarf2_per_objfile.
11148         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
11149         (read_abbrev_offset): Likewise.
11150         (read_indirect_string): Likewise.
11151         (read_indirect_line_string): Likewise.
11152         (read_indirect_string_at_offset): Likewise.
11153         (read_indirect_string_from_dwz): Likewise.
11154         (dwarf2_find_containing_comp_unit): Change objfile parameter to
11155         dwarf2_per_objfile.
11156         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
11157         (create_all_comp_units): Change objfile parameter to
11158         dwarf2_per_objfile.
11159         (create_all_type_units): Likewise.
11160         (process_queue): Add dwarf2_per_objfile parameter.
11161         (read_and_check_comp_unit_head): Likewise.
11162         (lookup_dwo_unit_in_dwp): Likewise.
11163         (get_dwp_file): Likewise.
11164         (process_cu_includes): Likewise.
11165         (struct free_dwo_file_cleanup_data): New struct.
11166         (dwarf2_has_info): Use get_dwarf2_per_objfile and
11167         set_dwarf2_per_objfile.
11168         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
11169         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
11170         context, adjust calls.
11171         (dw2_instantiate_symtab): Likewise.
11172         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
11173         (dw2_get_cu): Likewise.
11174         (create_cu_from_index_list): Change objfile parameter to
11175         dwarf2_per_objfile.
11176         (create_cus_from_index_list): Get dwarf2_per_objfile from
11177         context, adjust calls.
11178         (create_cus_from_index): Likewise.
11179         (create_signatured_type_table_from_index): Change objfile
11180         parameter to dwarf2_per_objfile.
11181         (create_signatured_type_table_from_debug_names): Change objfile
11182         parameter to dwarf2_per_objfile.
11183         (create_addrmap_from_index): Likewise.
11184         (create_addrmap_from_aranges): Likewise.
11185         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
11186         (dw2_setup): Remove.
11187         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
11188         context.
11189         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
11190         get_dwarf2_per_objfile.
11191         (dw2_forget_cached_source_info): Likewise.
11192         (dw2_map_symtabs_matching_filename): Likewise.
11193         (struct dw2_symtab_iterator) <index>: Remove.
11194         <dwarf2_per_objfile>: New field.
11195         (dw2_symtab_iter_init): Replace index parameter with
11196         dwarf2_per_objfile.
11197         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
11198         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
11199         (dw2_print_stats): Likewise.
11200         (dw2_dump): Likewise.
11201         (dw2_expand_symtabs_for_function): Likewise.
11202         (dw2_expand_all_symtabs): Likewise.
11203         (dw2_expand_symtabs_with_fullname): Likewise.
11204         (dw2_expand_marked_cus): Replace index and objfile parameters
11205         with dwarf2_per_objfile.
11206         (dw_expand_symtabs_matching_file_matcher): Add
11207         dwarf2_per_objfile parameter and adjust calls.
11208         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
11209         adjust calls.
11210         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
11211         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
11212         adjust calls.
11213         (create_cus_from_debug_names_list): Replace objfile parameter
11214         with dwarf2_per_objfile and adjust calls.
11215         (create_cus_from_debug_names): Likewise.
11216         (dwarf2_read_debug_names): Likewise.
11217         (mapped_debug_names::namei_to_name): Adjust call.
11218         (dw2_debug_names_iterator::next): Likewise.
11219         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
11220         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
11221         (dw2_debug_names_dump): Likewise.
11222         (dw2_debug_names_expand_symtabs_for_function): Likewise.
11223         (dw2_debug_names_expand_symtabs_matching): Likewise.
11224         (dwarf2_initialize_objfile): Likewise.
11225         (dwarf2_build_psymtabs): Likewise.
11226         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
11227         this_cu.
11228         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
11229         (read_and_check_comp_unit_head): Likewise.
11230         (read_abbrev_offset): Likewise.
11231         (create_debug_type_hash_table): Likewise.
11232         (create_debug_types_hash_table): Likewise.
11233         (create_all_type_units): Replace objfile parameter with
11234         dwarf2_per_objfile.
11235         (add_type_unit): Add dwarf2_per_objfile parameter.
11236         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
11237         with dwarf2_per_objfile.
11238         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
11239         (lookup_dwp_signatured_type): Likewise.
11240         (lookup_signatured_type): Likewise.
11241         (read_cutu_die_from_dwo): Likewise.
11242         (init_tu_and_read_dwo_dies): Likewise.
11243         (init_cutu_and_read_dies): Likewise.
11244         (init_cutu_and_read_dies_no_follow): Likewise.
11245         (allocate_type_unit_groups_table): Add objfile parameter.
11246         (create_type_unit_group): Use dwarf2_per_objfile from cu.
11247         (get_type_unit_group): Likewise.
11248         (process_psymtab_comp_unit): Update call.
11249         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
11250         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
11251         (print_tu_stats): Likewise.
11252         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
11253         in void* parameter.
11254         (build_type_psymtabs): Change objfile parameter to
11255         dwarf2_per_objfile.
11256         (process_skeletonless_type_unit): Use dwarf2_per_objfile
11257         passed in void* parameter.
11258         (process_skeletonless_type_units): Change objfile parameter to
11259         dwarf2_per_objfile.
11260         (set_partial_user): Likewise.
11261         (dwarf2_build_psymtabs_hard): Likewise.
11262         (read_comp_units_from_section): Likewise.
11263         (create_all_comp_units): Likewise.
11264         (scan_partial_symbols): Update calls.
11265         (add_partial_symbol): Likewise.
11266         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
11267         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
11268         (process_queue): Add dwarf2_per_objfile parameter.
11269         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
11270         (compute_compunit_symtab_includes): Likewise.
11271         (process_cu_includes): Add dwarf2_per_objfile parameter.
11272         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
11273         (process_full_type_unit): Likewise.
11274         (process_imported_unit_die): Update call.
11275         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
11276         (read_file_scope): Likewise.
11277         (allocate_dwo_file_hash_table): Add objfile parameter.
11278         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
11279         (create_cus_hash_table): Likewise.
11280         (create_dwp_hash_table): Likewise.
11281         (create_dwo_unit_in_dwp_v1): Likewise.
11282         (create_dwp_v2_section): Likewise.
11283         (create_dwo_unit_in_dwp_v2): Likewise.
11284         (lookup_dwo_unit_in_dwp): Likewise.
11285         (try_open_dwop_file): Likewise.
11286         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
11287         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
11288         cleanup to include a reference to dwarf2_per_objfile.
11289         (open_dwp_file): Add dwarf2_per_objfile parameter.
11290         (open_and_init_dwp_file): Likewise.
11291         (get_dwp_file): Likewise.
11292         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
11293         (queue_and_load_all_dwo_tus): Update call.
11294         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
11295         data.
11296         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
11297         (dwarf2_ranges_process): Likewise.
11298         (dwarf2_get_pc_bounds): Likewise.
11299         (mark_common_block_symbol_computed): Likewise.
11300         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
11301         (dwarf2_read_abbrevs): Update call.
11302         (read_partial_die): Use dwarf2_per_objfile from cu.
11303         (find_partial_die): Likewise.
11304         (fixup_partial_die): Likewise.
11305         (read_attribute_value): Likewise.
11306         (read_indirect_string_at_offset_from): Add objfile parameter.
11307         (read_indirect_string_at_offset): Add dwarf2_per_objfile
11308         parameter.
11309         (read_indirect_string_from_dwz): Add objfile parameter.
11310         (read_indirect_string): Add objfile parameter.
11311         (read_addr_index_1): Add dwarf2_per_objfile parameter.
11312         (read_addr_index): Use dwarf2_per_objfile from cu.
11313         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
11314         call dw2_setup.
11315         (read_str_index): Use dwarf2_per_objfile from cu.
11316         (get_debug_line_section): Likewise.
11317         (read_formatted_entries): Add dwarf2_per_objfile parameter.
11318         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
11319         (new_symbol_full): Use dwarf2_per_objfile from cu.
11320         (build_error_marker_type): Likewise.
11321         (lookup_die_type): Likewise.
11322         (determine_prefix): Likewise.
11323         (follow_die_offset): Likewise.
11324         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
11325         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
11326         (dwarf2_fetch_die_type_sect_off): Likewise.
11327         (dwarf2_get_die_type): Likewise.
11328         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
11329         (get_signatured_type): Likewise.
11330         (get_DW_AT_signature_type): Likewise.
11331         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
11332         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
11333         (cu_debug_loc_section): Likewise.
11334         (fill_in_loclist_baton): Likewise.
11335         (dwarf2_symbol_mark_computed): Likewise.
11336         (dwarf2_find_containing_comp_unit): Change objfile parameter to
11337         dwarf2_per_objfile.
11338         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
11339         parameter.
11340         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
11341         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
11342         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
11343         (set_die_type): Use dwarf2_free_objfile from cu.
11344         (get_die_type_at_offset): Likewise.
11345         (dwarf2_per_objfile_free): Don't assign global variable.
11346         (debug_names) <constructor>: Add dwarf2_per_objfile
11347         parameter, update m_debugstrlookup construction.
11348         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
11349         parameter.
11350         <m_dwarf2_per_objfile>: New field.
11351         <lookup>: Use m_dwarf2_per_objfile.
11352         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
11353         (psyms_seen_size): Likewise.
11354         (write_gdbindex): Replace objfile parameter with
11355         dwarf2_per_objfile.
11356         (write_debug_names): Likewise.
11357         (write_psymtabs_to_index): Likewise.
11358         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
11359         calls.
11360
11361 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11362
11363         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
11364         <dwarf2_per_objfile>: New field.
11365         (struct dwarf2_per_cu_data) <objfile>: Remove.
11366         <dwarf2_per_objfile>: New field.
11367         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
11368         of objfile.
11369         (create_signatured_type_table_from_index): Likewise.
11370         (create_debug_type_hash_table): Likewise.
11371         (fill_in_sig_entry_from_dwo_entry): Likewise.
11372         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
11373         (create_type_unit_group): Assign dwarf2_per_objfile instead of
11374         objfile.
11375         (create_partial_symtab): Access objfile through
11376         dwarf2_per_objfile.
11377         (process_psymtab_comp_unit_reader): Likewise.
11378         (read_comp_units_from_section): Likewise.
11379         (scan_partial_symbols): Likewise.
11380         (add_partial_symbol): Likewise.
11381         (add_partial_subprogram): Likewise.
11382         (peek_die_abbrev): Likewise.
11383         (fixup_go_packaging): Likewise.
11384         (process_full_comp_unit): Likewise.
11385         (process_full_type_unit): Likewise.
11386         (process_imported_unit_die): Likewise.
11387         (dwarf2_compute_name): Likewise.
11388         (dwarf2_physname): Likewise.
11389         (read_import_statement): Likewise.
11390         (create_cus_hash_table): Assign dwarf2_physname instead of
11391         objfile.
11392         (read_func_scope): Access objfile through dwarf2_per_objfile.
11393         (read_lexical_block_scope): Likewise.
11394         (read_call_site_scope): Likewise.
11395         (read_variable): Likewise.
11396         (dwarf2_rnglists_process): Likewise.
11397         (dwarf2_ranges_process): Likewise.
11398         (dwarf2_ranges_read): Likewise.
11399         (dwarf2_record_block_ranges): Likewise.
11400         (dwarf2_add_field): Likewise.
11401         (dwarf2_add_member_fn): Likewise.
11402         (read_structure_type): Likewise.
11403         (process_structure_scope): Likewise.
11404         (read_enumeration_type): Likewise.
11405         (read_array_type): Likewise.
11406         (read_common_block): Likewise.
11407         (read_namespace_type): Likewise.
11408         (read_namespace): Likewise.
11409         (read_module_type): Likewise.
11410         (read_tag_pointer_type): Likewise.
11411         (read_tag_ptr_to_member_type): Likewise.
11412         (read_tag_string_type): Likewise.
11413         (read_subroutine_type): Likewise.
11414         (read_typedef): Likewise.
11415         (read_base_type): Likewise.
11416         (attr_to_dynamic_prop): Likewise.
11417         (read_subrange_type): Likewise.
11418         (read_unspecified_type): Likewise.
11419         (load_partial_dies): Likewise.
11420         (read_partial_die): Likewise.
11421         (find_partial_die): Likewise.
11422         (guess_partial_die_structure_name): Likewise.
11423         (fixup_partial_die): Likewise.
11424         (read_attribute_value): Likewise.
11425         (read_addr_index_from_leb128): Likewise.
11426         (dwarf2_read_addr_index): Likewise.
11427         (dwarf2_string_attr): Likewise.
11428         (lnp_state_machine::check_line_address): Likewise.
11429         (dwarf_decode_lines_1): Likewise.
11430         (dwarf_decode_lines): Likewise.
11431         (dwarf2_start_symtab): Likewise.
11432         (var_decode_location): Likewise.
11433         (new_symbol_full): Likewise.
11434         (dwarf2_const_value_data): Likewise.
11435         (dwarf2_const_value_attr): Likewise.
11436         (dwarf2_const_value): Likewise.
11437         (die_type): Likewise.
11438         (die_containing_type): Likewise.
11439         (lookup_die_type): Likewise.
11440         (guess_full_die_structure_name): Likewise.
11441         (anonymous_struct_prefix): Likewise.
11442         (dwarf2_name): Likewise.
11443         (follow_die_ref_or_sig): Likewise.
11444         (follow_die_offset): Likewise.
11445         (follow_die_ref): Likewise.
11446         (dwarf2_fetch_die_loc_sect_off): Likewise.
11447         (dwarf2_fetch_constant_bytes): Likewise.
11448         (dwarf2_fetch_die_type_sect_off): Likewise.
11449         (dwarf2_get_die_type): Likewise.
11450         (follow_die_sig): Likewise.
11451         (decode_locdesc): Likewise.
11452         (dwarf2_per_cu_objfile): Likewise.
11453         (dwarf2_per_cu_text_offset): Likewise.
11454         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
11455         objfile.
11456         (set_die_type): Access objfile through
11457         dwarf2_per_objfile.
11458
11459 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
11460
11461         * valprint.c (converted_character_d): Remove typedef.
11462         (DEF_VEC_O (converted_character_d)): Remove.
11463         (count_next_character): Use std::vector.
11464         (print_converted_chars_to_obstack): Likewise.
11465         (generic_printstr): Likewise.
11466
11467 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11468
11469         * xml-support.h (struct gdb_xml_value): Add constructor.
11470         <value>: Change type to unique_xmalloc_ptr.
11471         (gdb_xml_value_s): Remove typedef.
11472         (DEF_VEC_O (gdb_xml_value_s)): Remove.
11473         (gdb_xml_element_start_handler): Change parameter type to
11474         std::vector.
11475         (xml_find_attribute): Likewise.
11476         * xml-support.c (xml_find_attribute): Change parameter type to
11477         std::vector and adjust.
11478         (gdb_xml_values_cleanup): Remove.
11479         (gdb_xml_parser::start_element): Adjust to std::vector.
11480         (xinclude_start_include): Change paraeter type to std::vector
11481         and adjust.
11482         * btrace.c (check_xml_btrace_version): Likewise.
11483         (parse_xml_btrace_block): Likewise.
11484         (parse_xml_btrace_pt_config_cpu): Likewise.
11485         (parse_xml_btrace_pt): Likewise.
11486         (parse_xml_btrace_conf_bts): Likewise.
11487         (parse_xml_btrace_conf_pt): Likewise.
11488         * memory-map.c (memory_map_start_memory): Likewise.
11489         (memory_map_start_property): Likewise.
11490         * osdata.c (osdata_start_osdata): Likewise.
11491         (osdata_start_item): Likewise.
11492         (osdata_start_column): Likewise.
11493         * remote.c (start_thread): Likewise.
11494         * solib-aix.c (library_list_start_library): Likewise.
11495         (library_list_start_list): Likewise.
11496         * solib-svr4.c (library_list_start_library): Likewise.
11497         (svr4_library_list_start_list): Likewise.
11498         * solib-target.c (library_list_start_segment): Likewise.
11499         (library_list_start_section): Likewise.
11500         (library_list_start_library): Likewise.
11501         (library_list_start_list): Likewise.
11502         * tracepoint.c (traceframe_info_start_memory): Likewise.
11503         (traceframe_info_start_tvar): Likewise.
11504         * xml-syscall.c (syscall_start_syscall): Likewise.
11505         * xml-tdesc.c (tdesc_start_target): Likewise.
11506         (tdesc_start_feature): Likewise.
11507         (tdesc_start_reg): Likewise.
11508         (tdesc_start_union): Likewise.
11509         (tdesc_start_struct): Likewise.
11510         (tdesc_start_flags): Likewise.
11511         (tdesc_start_enum): Likewise.
11512         (tdesc_start_field): Likewise.
11513         (tdesc_start_enum_value): Likewise.
11514         (tdesc_start_vector): Likewise.
11515
11516 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11517
11518         * extension.h (struct xmethod_worker) <clone>: Remove.
11519         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
11520         Remove.
11521         (python_xmethod_worker::clone): Remove.
11522         * valops.c (find_overload_match): Use std::move instead of
11523         clone.
11524
11525 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11526
11527         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
11528         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
11529         <free_xmethod_worker_data>: Remove.
11530         <get_matching_xmethod_workers>: Chance VEC to std::vector.
11531         <get_xmethod_arg_types>: Remove.
11532         <get_xmethod_result_type>: Remove.
11533         <invoke_xmethod>: Remove.
11534         * extension.c (new_xmethod_worker): Remove.
11535         (clone_xmethod_worker): Remove.
11536         (get_matching_xmethod_workers): Return void, pass std::vector by
11537         pointer.
11538         (get_xmethod_arg_types): Rename to...
11539         (xmethod_worker::get_arg_types): ... this, and adjust.
11540         (get_xmethod_result_type): Rename to...
11541         (xmethod_worker::get_result_type): ... this, and adjust.
11542         (invoke_xmethod): Remove.
11543         (free_xmethod_worker): Remove.
11544         (free_xmethod_worker_vec): Remove.
11545         * extension.h (enum ext_lang_rc): Move here from
11546         extension-priv.h.
11547         (struct xmethod_worker): Add constructor and destructor.
11548         <data>: Remove.
11549         <value>: Remove.
11550         <invoke, clone, do_get_result_type, do_get_arg_types>: New
11551         virtual pure methods.
11552         <get_arg_types, get_result_type>: New methods.
11553         (xmethod_worker_ptr): Remove typedef.
11554         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
11555         (xmethod_worker_vec): Remove typedef.
11556         (xmethod_worker_up): New typedef.
11557         (invoke_xmethod): Remove.
11558         (clone_xmethod_worker): Remove.
11559         (free_xmethod_worker): Remove.
11560         (free_xmethod_worker_vec): Remove.
11561         (get_xmethod_arg_types): Remove.
11562         (get_xmethod_result_type): Remove.
11563         * valops.c (find_method_list): Use std::vector, don't use
11564         intermediate vector.
11565         (value_find_oload_method_list): Use std::vector.
11566         (find_overload_match): Use std::vector.
11567         (find_oload_champ): Use std::vector.
11568         * value.c (value_free): Use operator delete.
11569         (value_of_xmethod): Rename to...
11570         (value_from_xmethod): ... this.  Don't assign
11571         xmethod_worker::value, take rvalue-reference.
11572         (result_type_of_xmethod): Adjust.
11573         (call_xmethod): Adjust.
11574         * value.h: Include extension.h.
11575         (struct xmethod_worker): Don't forward-declare.
11576         (value_of_xmethod): Rename to...
11577         (value_from_xmethod): ... this, take rvalue-reference.
11578         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
11579         (struct python_xmethod_worker): ... this, add constructor and
11580         destructor.
11581         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
11582         (gdbpy_free_xmethod_worker_data): Rename to...
11583         (python_xmethod_worker::~python_xmethod_worker): ... this and
11584         adjust.
11585         (gdbpy_clone_xmethod_worker_data): Rename to...
11586         (python_xmethod_worker::clone): ... this and adjust.
11587         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11588         temporary vector.
11589         (gdbpy_get_xmethod_arg_types): Rename to...
11590         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11591         (gdbpy_get_xmethod_result_type): Rename to...
11592         (python_xmethod_worker::do_get_result_type): ... this and
11593         adjust.
11594         (gdbpy_invoke_xmethod): Rename to...
11595         (python_xmethod_worker::invoke): ... this and adjust.
11596         (new_python_xmethod_worker): Rename to...
11597         (python_xmethod_worker::python_xmethod_worker): ... this and
11598         adjust.
11599         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11600         Remove.
11601         (gdbpy_free_xmethod_worker_data): Remove.
11602         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11603         (gdbpy_get_xmethod_arg_types): Remove.
11604         (gdbpy_get_xmethod_result_type): Remove.
11605         (gdbpy_invoke_xmethod): Remove.
11606         * python/python.c (python_extension_ops): Remove obsolete
11607         callbacks.
11608
11609 2018-01-05  Pedro Alves  <palves@redhat.com>
11610
11611         PR gdb/18653
11612         * common/signals-state-save-restore.c
11613         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11614         find a custom handler preinstalled, instead of internal erroring.
11615         But only warn if !quiet.
11616         * common/signals-state-save-restore.h
11617         (save_original_signals_state): New parameter 'quiet'.
11618         * main.c (captured_main_1): Move save_original_signals_state call
11619         after option handling, and pass QUIET.
11620
11621 2018-01-05  Pedro Alves  <palves@redhat.com>
11622
11623         * spu-tdep.c (spu_catch_start): Pass
11624         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11625
11626 2018-01-05  Pedro Alves  <palves@redhat.com>
11627
11628         PR gdb/22670
11629         * ada-lang.c (literal_symbol_name_matcher): New function.
11630         (ada_get_symbol_name_matcher): Use it for
11631         symbol_name_match_type::SEARCH_NAME.
11632         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11633         it down instead of assuming symbol_name_match_type::FULL.
11634         * block.h (block_lookup_symbol): New parameter 'match_type'.
11635         * c-valprint.c (print_unpacked_pointer): Use
11636         lookup_symbol_search_name instead of lookup_symbol.
11637         * compile/compile-object-load.c (get_out_value_type): Pass down
11638         symbol_name_match_type::SEARCH_NAME.
11639         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11640         symbol_name_match_type::FULL.
11641         * cp-support.c (cp_get_symbol_name_matcher): Handle
11642         symbol_name_match_type::SEARCH_NAME.
11643         * infrun.c (insert_exception_resume_breakpoint): Use
11644         lookup_symbol_search_name.
11645         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11646         * psymtab.c (maintenance_check_psymtabs): Use
11647         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11648         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11649         SYMBOL_SEARCH_NAME.
11650         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11651         if symbol_name_match_type::SEARCH_NAME.
11652         (lookup_symbol_in_language): Pass down
11653         symbol_name_match_type::FULL.
11654         (lookup_symbol_search_name): New.
11655         (lookup_language_this): Pass down
11656         symbol_name_match_type::SEARCH_NAME.
11657         (lookup_symbol_aux, lookup_local_symbol): New parameter
11658         'match_type'.  Pass it down.
11659         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11660         (lookup_symbol_search_name): New declaration.
11661         (lookup_symbol_in_block): New 'match_type' parameter.
11662
11663 2018-01-05  Pedro Alves  <palves@redhat.com>
11664
11665         PR gdb/22670
11666         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11667         ada_lookup_symbol.
11668         (ada_lookup_symbol): Reimplement in terms of
11669         ada_lookup_symbol_list, bits factored out from
11670         ada_lookup_encoded_symbol.
11671
11672 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11673
11674         * ada-exp.y (write_object_renaming): When subscripting an array
11675         using a symbol as the index, pass the block in call to
11676         ada_lookup_encoded_symbol when looking that symbol up.
11677
11678 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11679
11680         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11681         TYPE_INDEX_TYPE.
11682
11683 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11684
11685         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11686         the case where VALUE_LVAL (val0) is not lval_memory.
11687
11688 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11689
11690         * ada-valprint.c (print_optional_low_bound): Handle
11691         character-indexed array printing like boolean-indexed array
11692         printing.
11693
11694 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11695
11696         * NEWS: Create a new section for the next release branch.
11697         Rename the section of the current branch, now that it has
11698         been cut.
11699
11700 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11701
11702         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11703         * version.in: Bump version to 8.1.50.DATE-git.
11704
11705 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11706
11707         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11708         Add field.
11709         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11710         Add field.
11711         (default_exception_support_info) <catch_handlers_sym>: Add field.
11712         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11713         (ada_exception_name_addr_1): Add "catch handlers" handling.
11714         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11715         Update all callers.
11716         (create_excep_cond_exprs) <ex>: Add parameter.
11717         (re_set_exception): Update create_excep_cond_exprs call.
11718         (print_it_exception, print_one_exception, print_mention_exception)
11719         (print_recreate_exception): Add "catch handler" handling.
11720         (allocate_location_catch_handlers, re_set_catch_handlers)
11721         (check_status_catch_handlers, print_it_catch_handlers)
11722         (print_one_catch_handlers, print_mention_catch_handlers)
11723         (print_recreate_catch_handlers): New function.
11724         (catch_handlers_breakpoint_ops): New variable.
11725         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11726         Add parameter.  Add "catch handler" handling.
11727         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11728         Add "catch handler" handling.
11729         (ada_exception_catchpoint_cond_string): Add "catch handler"
11730         handling.
11731         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11732         call.
11733         (catch_ada_handlers_command): New function.
11734         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11735         operations structure.
11736         (_initialize_ada_language): Add "catch handlers" command entry.
11737         * NEWS: Document "catch handlers" feature.
11738
11739 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11740
11741         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11742         account when creating the array type of the slice.
11743         (ada_value_slice): Likewise.
11744
11745 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11746
11747         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11748         New enum value.
11749         (create_array_type_with_stride): Add byte_stride_prop parameter.
11750         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11751         New parameter.  Update all callers in this file.
11752         (array_type_has_dynamic_stride): New function.
11753         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11754         of arrays with dynamic byte strides.
11755         * dwarf2read.c (read_array_type): Add support for dynamic
11756         DW_AT_byte_stride attributes.
11757
11758 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11759
11760         * dwarf2read.c (read_unspecified_type): Treat
11761         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11762
11763 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11764
11765         Update copyright year range in all GDB files.
11766
11767 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11768
11769         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11770         and gdb/testsuite/gdb.base/step-line.c.
11771
11772 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11773
11774         * copyright.py (main): Dump the contents of
11775         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11776         even if BY_HAND is empty.
11777
11778 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11779
11780         * top.c (print_gdb_version): Update Copyright year in version
11781         message.
11782
11783 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11784
11785         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11786
11787 For older changes see ChangeLog-2017.
11788 \f
11789 Local Variables:
11790 mode: change-log
11791 left-margin: 8
11792 fill-column: 74
11793 version-control: never
11794 coding: utf-8
11795 End: