gdb: Avoid using W_STOPCODE(0) as this is ambiguous on MIPS
[external/binutils.git] / gdb / ChangeLog
1 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
2             Andrew Burgess  <andrew.burgess@embecosm.com>
3
4         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
5         'W_STOPCODE (0)' as this could be ambiguous.
6
7 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
8
9         * ser-tcp.c (net_open): Fix thinko when deciding whether to
10         disable TCP's Nagle algorithm (use "ai_protocol" instead of
11         "ai_socktype").
12
13 2018-08-02  Tom Tromey  <tom@tromey.com>
14
15         PR symtab/16842.
16         * dwarf2read.c (read_func_scope): Set symtab on template parameter
17         symbols.
18         (process_structure_scope): Likewise.
19
20 2018-08-02  Xavier Roirand  <roirand@adacore.com>
21
22         PR gdb/22629:
23         * darwin-nat.c (darwin_kill_inferior): Fix handling of
24         kill inferior.
25
26 2018-08-02  Tom Tromey  <tom@tromey.com>
27
28         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
29         (darwin_suspend_inferior, darwin_resume_inferior)
30         (darwin_decode_notify_message, darwin_resume_inferior_threads)
31         (darwin_check_new_threads): Check result of get_darwin_inferior.
32
33 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
34
35         GDB 8.1.1 released.
36
37 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
38
39         * varobj.c (varobj_get_path_expr_parent): Report an error if
40         parent is a dynamic varobj.
41
42 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
43
44         * gnulib/aclocal.m4: Re-generate.
45         * gnulib/config.in: Re-generate.
46         * gnulib/configure: Re-generate.
47         * gnulib/import/Makefile.in: Re-generate.
48         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
49         * gnulib/import/m4/onceonly.m4: Re-generate.
50
51 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
52
53         * target-descriptions.c (struct xml_test_tdesc): New.
54         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
55         (record_xml_tdesc): Update.
56         (maintenance_check_xml_descriptions): Update.
57         * target-descriptions.h (record_xml_tdesc): Update comment.
58
59 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
60
61         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
62         checking array bounds are defined.
63
64 2018-07-30  Tom Tromey  <tom@tromey.com>
65
66         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
67         irreflexivity violation.
68
69 2018-07-30  Tom Tromey  <tom@tromey.com>
70
71         * cli/cli-decode.c (lookup_cmd): Remove lint code.
72         * value.c (unpack_long): Remove lint code.
73         * valops.c (value_ind): Remove lint code.
74         * valarith.c (value_x_binop, value_x_unop, value_equal)
75         (value_pos): Remove lint code.
76
77 2018-07-28  Tom de Vries  <tdevries@suse.de>
78
79         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
80         with undefined upper bound as <optimized out>.
81
82 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
83
84         * gcore.in: Rename variable "name" to "prefix".  Expand
85         "usage" text.
86
87 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
88
89         * windows-nat.c (windows_nat_target::create_inferior): Update to
90         call close() in global namespace.
91
92 2018-07-26  Tom Tromey  <tom@tromey.com>
93
94         * dwarf-index-write.c (add_address_entry): Don't add objfile
95         offsets.
96         * dbxread.c (find_stab_function): Rename from
97         find_stab_function_addr.  Return a bound_minimal_symbol.
98         (read_dbx_symtab): Use raw_text_low, raw_text_high.
99         Don't add objfile offsets.
100         (end_psymtab): Use raw_text_low, raw_text_high,
101         MSYMBOL_VALUE_RAW_ADDRESS.
102         (read_ofile_symtab): Update.
103         (process_one_symbol): Update.
104         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
105         offsets.
106         (dw2_relocate): Remove.
107         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
108         searching addrmap.
109         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
110         Update.
111         (process_psymtab_comp_unit_reader, add_partial_symbol)
112         (add_partial_subprogram, dwarf2_ranges_read): Update.
113         (load_partial_dies): Update.
114         (add_address_entry): Don't add objfile offsets.
115         (dwarf2_build_include_psymtabs): Update.
116         (create_addrmap_from_aranges): Don't add objfile offsets.
117         (dw2_find_pc_sect_compunit_symtab): Update.
118         * mdebugread.c (parse_symbol): Don't add objfile offsets.
119         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
120         Update.
121         (parse_partial_symbols): Don't add objfile offsets.  Use
122         raw_text_low, raw_text_high.  Update.
123         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
124         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
125         or call 'relocate' quick function.  Clear psymbol_map.
126         * psympriv.h (struct partial_symbol) <address>: Add section
127         offset.
128         <set_unrelocated_address>: Rename from set_address.
129         <raw_text_low, raw_text_high>: New methods.
130         <text_low, text_high>: Add objfile parameter.
131         (add_psymbol_to_bcache): Add 'section' parameter.  Call
132         set_unrelocated_address.
133         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
134         (find_pc_psymbol): Update.
135         (fixup_psymbol_section, relocate_psymtabs): Remove.
136         (dump_psymtab, psym_functions): Update.
137         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
138         parameter.
139         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
140         (start_psymtab_common): Update.
141         * symfile-debug.c (debug_qf_relocate): Remove.
142         (debug_sym_quick_functions): Update.
143         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
144         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
145         Update.
146
147 2018-07-26  Tom Tromey  <tromey@redhat.com>
148
149         * dbxread.c (end_psymtab): Use text_high_valid and
150         text_low_valid.
151         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
152         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
153         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
154         Update comment.
155         <text_low_valid, text_high_valid>: New fields.
156         <set_text_low, set_text_high>: Update.
157         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
158
159 2018-07-26  Tom Tromey  <tom@tromey.com>
160
161         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
162         Update.
163         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
164         textlow and texthigh fields.
165         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
166         Update.
167         * mdebugread.c (parse_lines, parse_partial_symbols)
168         (psymtab_to_symtab_1): Update.
169         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
170         Rename fields.  Update comment.  Now private.
171         <text_low, text_high, set_text_low, set_text_high>: New methods.
172         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
173         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
174         (start_psymtab_common, maintenance_info_psymtabs)
175         (maintenance_check_psymtabs): Update.
176         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
177         texthigh fields.
178         (scan_xcoff_symtab): Update.
179
180 2018-07-26  Tom Tromey  <tromey@redhat.com>
181
182         * psympriv.h (struct partial_symbol) <unrelocated_address,
183         address, set_address>: New methods.
184         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
185         (fixup_psymbol_section, relocate_psymtabs): Update.
186         (print_partial_symbols): Add 'objfile' parameter.  Update.
187         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
188         Update.
189
190 2018-07-26  Tom Tromey  <tom@tromey.com>
191
192         * dwarf-index-write.c (write_psymbols, debug_names::insert)
193         (debug_names::write_psymbols): Update.
194         * psympriv.h (struct partial_symbol): Derive from
195         general_symbol_info.
196         <obj_section>: New method.
197         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
198         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
199         (find_pc_sect_psymbol, fixup_psymbol_section)
200         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
201         (print_partial_symbols, recursively_search_psymtabs)
202         (compare_psymbols, psymbol_hash, psymbol_compare)
203         (add_psymbol_to_bcache, maintenance_check_psymtabs)
204         (psymbol_name_matches, psym_fill_psymbol_map): Update.
205
206 2018-07-26  Tom Tromey  <tromey@redhat.com>
207
208         * dbxread.c (end_psymtab): Remove dead code.
209
210 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
211
212         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
213         DWARF unwinders are disabled.
214         * dwarf2-frame.c: Add dwarf2read.h include.
215         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
216         disabled.
217         (dwarf2_frame_unwinders_enabled_p): Define.
218         (show_dwarf_unwinders_enabled_p): New function.
219         (_initialize_dwarf2_frame): Register switch to control DWARF
220         unwinder use.
221         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
222         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
223         (show_dwarf_cmdlist): Remove static keyword.
224         * dwarf2read.h (set_dwarf_cmdlist): Declare.
225         (show_dwarf_cmdlist): Declare.
226         * NEWS: Document new feature.
227
228 2018-07-26  Tom de Vries  <tdevries@suse.de>
229
230         PR breakpoints/23366
231         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
232
233 2018-07-26  Tom de Vries  <tdevries@suse.de>
234
235         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
236         DW_AT_count can't be translated to a dynamic prop.
237
238 2018-07-25  Tom de Vries  <tdevries@suse.de>
239
240         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
241         try/catch.
242
243 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
244
245         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
246
247 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
248
249         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
250
251 2018-07-24  Keith Seitz  <keiths@redhat.comt
252
253         PR symtab/23010
254         * dwarf2read.c (dw2_add_symbol_to_list): New function.
255         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
256         instead of add_symbol_to_list.
257         (read_file_scope): Call prepare_one_comp_unit before reading
258         any other DIEs.
259
260 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
261
262         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
263
264 2018-07-24  Tom Tromey  <tom@tromey.com>
265
266         * utils.c (malloc, realloc, free): Don't declare.
267         * configure, config.in: Rebuild.
268         * configure.ac: Don't check for declarations of free, malloc, or
269         realloc.
270
271 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
272
273         * aarch64-linux-nat.c
274         (aarch64_linux_nat_target::stopped_data_address): Remove unused
275         variable.
276         * arm-linux-nat.c (fetch_regs): Likewise.
277         (store_regs): Likewise.
278         (fetch_vfp_regs): Likewise.
279         (store_vfp_regs): Likewise.
280         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
281         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
282         (arm_linux_nat_target::insert_watchpoint): Likewise.
283         (arm_linux_nat_target::remove_watchpoint): Likewise.
284         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
285         Likewise.
286         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
287         Likewise.
288         * ppc-linux-nat.c (fetch_register): Likewise.
289         (fetch_all_gp_regs): Likewise.
290         (fetch_ppc_registers): Likewise.
291         (store_all_gp_regs): Likewise.
292         (store_ppc_registers): Likewise.
293         (hwdebug_insert_point): Likewise.
294         (can_use_watchpoint_cond_accel): Likewise.
295         * remote-sim.c (gdb_os_write_stdout): Likewise.
296
297 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
298             Tom Tromey  <tom@tromey.com>
299
300         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
301         test for it.
302         * configure: Rebuild.
303
304 2018-07-22  Tom Tromey  <tom@tromey.com>
305
306         * regformats/regdat.sh: Define xmltarget_${name} inside
307         #ifndef IN_PROCESS_AGENT.
308
309 2018-07-22  Tom Tromey  <tom@tromey.com>
310
311         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
312
313 2018-07-22  Tom Tromey  <tom@tromey.com>
314
315         * symfile.c (reread_symbols): Notify iter, not objfile.
316
317 2018-07-22  Tom Tromey  <tom@tromey.com>
318
319         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
320         Use arch_ops.
321         (ravenscar_thread_target::prepare_to_store): Likewise.
322
323 2018-07-22  Tom Tromey  <tom@tromey.com>
324
325         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
326         unused variable.  Call value_fetch_lazy when needed.
327         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
328         Remove unused variable.  Call value_fetch_lazy when needed.
329
330 2018-07-22  Tom Tromey  <tom@tromey.com>
331
332         * m32c-tdep.c (mark_dma): Return void.
333         (make_regs): Remove unused declarations.
334
335 2018-07-22  Tom Tromey  <tom@tromey.com>
336
337         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
338         cmdscm_get_valid_command_smob_arg_unsafe for effect.
339         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
340         bkscm_get_valid_block_smob_arg_unsafe for effect.
341
342 2018-07-22  Tom Tromey  <tom@tromey.com>
343
344         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
345         value_type.
346
347 2018-07-22  Tom Tromey  <tom@tromey.com>
348
349         * windows-nat.c (saved_context): Conditionally define.
350         * remote.c (remote_target::remote_btrace_maybe_reopen):
351         Conditionally declare "warned".
352         * inflow.c (sigquit_ours): Conditionally define.
353         (new_tty): Move "tty" declaration inside #if.
354         * guile/guile.c (guile_datadir): Conditionally define.
355         * charset.c (set_be_le_names): Move some declarations inside #if.
356         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
357         #if.
358         (parse_xml_btrace_conf): Likewise.
359
360 2018-07-22  Tom Tromey  <tom@tromey.com>
361
362         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
363
364 2018-07-22  Tom Tromey  <tom@tromey.com>
365
366         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
367         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
368         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
369         * buildsym-legacy.c (get_macro_table): Remove unused variable.
370         * stack.c (frame_apply_level_command): Remove unused variable.
371         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
372         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
373         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
374         unused variable.
375         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
376         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
377         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
378         variable.
379         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
380         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
381         variable.
382         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
383         Remove unused variable.
384         * cli/cli-script.c (recurse_read_control_structure): Remove unused
385         variable.
386         * common/tdesc.c (print_xml_feature::visit): Remove unused
387         variable.
388         * compile/compile-object-load.c (store_regs): Remove unused
389         variables.
390         * complaints.c (clear_complaints): Remove unused variable.
391         * corelow.c (core_target_open): Remove unused variable.
392         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
393         variable.
394         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
395         variable.
396         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
397         variable.
398         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
399         variable.
400         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
401         variable.
402         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
403         variable.
404         * ia64-tdep.c (examine_prologue): Remove unused variable.
405         * infcall.c (run_inferior_call): Remove unused variable.
406         * inferior.c (exit_inferior): Remove unused variable.
407         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
408         * linespec.c (decode_line_2): Remove unused variable.
409         * linux-nat.c (super_close): Remove.
410         * linux-tdep.c (linux_info_proc): Remove unused variable.
411         * mi/mi-main.c (mi_execute_command): Remove unused variable.
412         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
413         Remove unused variable.
414         * parse.c (find_minsym_type_and_address): Remove unused variable.
415         * printcmd.c (info_symbol_command, printf_floating): Remove unused
416         variable.
417         * python/py-breakpoint.c (bppy_set_commands): Remove unused
418         variable.
419         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
420         variables.
421         * record-btrace.c (record_btrace_target::store_registers): Remove
422         unused variable.
423         (cmd_show_record_btrace_cpu): Remove unused variable.
424         * riscv-tdep.c (riscv_register_reggroup_p)
425         (riscv_push_dummy_call, riscv_return_value): Remove unused
426         variable.
427         * rust-exp.y (literal): Remove unused variable.
428         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
429         unused variable.
430         <STRUCTOP_ANONYMOUS>: Likewise.
431         * s390-linux-tdep.c (s390_linux_init_abi_31)
432         (s390_linux_init_abi_64): Remove unused variable.
433         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
434         (file_select_thread, net_windows_open, _initialize_ser_windows):
435         Remove unused variables.
436         * symtab.c (find_pc_sect_line): Remove unused variable.
437         * target-memory.c (compute_garbled_blocks): Remove unused
438         variable.
439         (target_write_memory_blocks): Remove unused variable.
440         * target.c (target_stack::unpush): Remove unused variables.
441         * tracepoint.c (start_tracing, all_tracepoint_actions)
442         (merge_uploaded_trace_state_variables)
443         (print_one_static_tracepoint_marker): Remove unused variable.
444         * unittests/basic_string_view/element_access/char/1.cc (test01):
445         Remove unused variable.
446         * windows-nat.c (windows_continue, windows_add_all_dlls)
447         (do_initial_windows_stuff, windows_nat_target::create_inferior):
448         Remove unused variables.
449
450 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
451
452         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
453         attr_profile in HAVE_ELF.
454         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
455         HAVE_ELF.
456
457 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
458
459         * frame.c (frame_register_unwind): Change parameter name.
460         (frame_unwind_register): Likewise.
461         (frame_unwind_register_value): Likewise.
462         (frame_unwind_register_signed): Likewise.
463         (frame_unwind_register_unsigned): Likewise.
464         * frame.h (frame_register_unwind): Likewise.
465         (frame_unwind_register): Likewise.
466         (frame_unwind_register_value): Likewise.
467         (frame_unwind_register_signed): Likewise.
468         (frame_unwind_register_unsigned): Likewise.
469         (frame_unwind_arch): Likewise.
470
471 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
472
473         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
474         ISA maintenance.
475
476 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
477
478         * mips-linux-nat.c (mips_linux_nat_target::read_description):
479         Call `get_ptrace_pid' rather than extracting the ptrace PID by
480         hand.
481
482 2018-07-20  Keith Seitz  <keiths@redhat.com>
483
484         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
485         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
486         m_compunit_symtab, m_language>: Add "m_" prefix.
487         Update all uses.
488         * buildsym.c: Update all uses.
489
490 2018-07-20  Tom Tromey  <tom@tromey.com>
491
492         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
493         * buildsym.h (record_line_ftype): Remove typedef.
494
495 2018-07-20  Tom Tromey  <tom@tromey.com>
496
497         * buildsym-legacy.h (augment_type_symtab): Don't declare.
498         (end_expandable_symtab): Likewise.
499         (end_symtab_get_static_block): Likewise.
500         (end_symtab_from_static_block): Likewise.
501         * buildsym-legacy.c (augment_type_symtab): Remove.
502         (end_expandable_symtab): Remove.
503         (end_symtab_get_static_block): Remove.
504         (end_symtab_from_static_block): Remove.
505
506 2018-07-20  Tom Tromey  <tom@tromey.com>
507
508         * dwarf2read.c: Include buildsym.h.
509         (struct dwarf2_cu) <builder>: New method.
510         (fixup_go_packaging): Update.
511         (process_full_comp_unit, process_full_type_unit): Update.  Don't
512         use scoped_free_pendings.
513         (using_directives): Add "cu" parameter, remove "language".
514         (read_import_statement, setup_type_unit_groups, )
515         (read_func_scope, read_lexical_block_scope)
516         (dwarf2_record_block_ranges, read_namespace): Update.
517         (lnp_state_machine::lnp_state_machine): Add cu parameter.
518         (lnp_state_machine::handle_end_sequence): Update.
519         (class lnp_state_machine) <m_cu>: New member.
520         <m_record_line_callback>: Remove.
521         <m_currently_recording_lines>: New member.
522         (lnp_state_machine::handle_set_file): Update.
523         (noop_record_line): Remove.
524         (dwarf_record_line_p): Add cu parameter.
525         (dwarf_record_line_1, dwarf_finish_line): Likewise.
526         (lnp_state_machine::record_line)
527         (lnp_state_machine::lnp_state_machine)
528         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
529         (dwarf_decode_lines): Update.
530         (dwarf2_start_subfile): Add cu parameter.
531         (dwarf2_start_symtab, new_symbol): Update.
532         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
533         Remove dwarf2_per_objfile parameter.
534         (dwarf_decode_macros): Update.
535
536 2018-07-20  Tom Tromey  <tom@tromey.com>
537
538         * stabsread.c (define_symbol): Update.
539         * buildsym-legacy.h (get_buildsym_compunit): Declare.
540         * dwarf2read.c (new_symbol): Update.
541         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
542         * cp-namespace.c: Include buildsym.h.
543         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
544         * buildsym-legacy.c (get_buildsym_compunit): New function.
545
546 2018-07-20  Tom Tromey  <tom@tromey.com>
547
548         * xcoffread.c: Include buildsym-legacy.h.
549         * windows-nat.c: Include buildsym-legacy.h.
550         * stabsread.c: Include buildsym-legacy.h.
551         * mdebugread.c: Include buildsym-legacy.h.
552         * buildsym-legacy.h: New file.
553         * buildsym-legacy.c: New file, from buildsym.c.
554         * go32-nat.c: Include buildsym-legacy.h.
555         * dwarf2read.c: Include buildsym-legacy.h.
556         * dbxread.c: Include buildsym-legacy.h.
557         * cp-namespace.c: Include buildsym-legacy.h.
558         * coffread.c: Include buildsym-legacy.h.
559         * buildsym.h: Move some contents to buildsym-legacy.h.
560         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
561         buildsym-legacy.c.
562         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
563
564 2018-07-20  Tom Tromey  <tom@tromey.com>
565
566         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
567         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
568         (buildsym_compunit::buildsym_compunit)
569         (buildsym_compunit::~buildsym_compunit)
570         (buildsym_compunit::get_macro_table): Define.
571
572 2018-07-20  Tom Tromey  <tom@tromey.com>
573
574         * buildsym.c (reset_symtab_globals): Remove.
575         (buildsym_compunit::end_symtab_from_static_block): Update.
576         (buildsym_compunit::augment_type_symtab): Update.
577         (end_symtab_from_static_block): Call free_buildsym_compunit.
578         (augment_type_symtab, end_symtab, end_expandable_symtab):
579         Likewise.
580
581 2018-07-20  Tom Tromey  <tom@tromey.com>
582
583         * arch-utils.c: Do not include buildsym.h.
584         * mipsread.c: Do not include buildsym.h.
585         * machoread.c: Do not include buildsym.h.
586         * elfread.c: Do not include buildsym.h.
587
588 2018-07-20  Tom Tromey  <tom@tromey.com>
589
590         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
591         initialization.
592         (buildsym_compunit): Add new constructor.
593         (struct buildsym_compunit) <get_last_source_file, finish_block,
594         record_block_range, start_subfile, patch_subfile_names,
595         push_subfile, pop_subfile, record_line, get_compunit_symtab,
596         set_last_source_start_addr, get_last_source_start_addr,
597         get_local_using_directives, set_local_using_directives,
598         get_global_using_directives, outermost_context_p,
599         get_current_context_stack, get_context_stack_depth,
600         get_current_subfile, get_local_symbols, get_file_symbols,
601         get_global_symbols, record_debugformat, record_producer,
602         push_context, pop_context, end_symtab_get_static_block,
603         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
604         New public methods.
605         <record_pending_block, finish_block_internal, make_blockvector,
606         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
607         private methods.
608         Update all users.
609
610 2018-05-22  Tom Tromey  <tom@tromey.com>
611
612         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
613         parameter.
614         (finish_block_internal): Update.
615
616 2018-07-20  Tom Tromey  <tom@tromey.com>
617
618         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
619         parameter.
620         (finish_block_internal): Update.
621
622 2018-07-20  Tom Tromey  <tom@tromey.com>
623
624         * buildsym.h (EXTERN): Don't define or undef.
625         * buildsym.c (EXTERN): Don't define.
626
627 2018-07-20  Tom Tromey  <tom@tromey.com>
628
629         * buildsym.c: Remove TODO comment.
630
631 2018-07-20  Tom Tromey  <tom@tromey.com>
632
633         * coffread.c (coff_symtab_read): Update.
634         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
635         (xcoff_new_init): Update.
636         * mipsread.c (mipscoff_new_init): Update.
637         * mdebugread.c (mdebug_build_psymtabs): Update.
638         * elfread.c (elf_new_init): Update.
639         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
640         Update.
641         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
642         (coffstab_build_psymtabs, elfstab_build_psymtabs)
643         (stabsect_build_psymtabs): Update.
644         * buildsym.h (buildsym_init): Don't declare.
645         * buildsym.c: Update comment.
646         (prepare_for_building): Remove.
647         (start_symtab, restart_symtab): Update.
648         (reset_symtab_globals): Update comment.
649         (buildsym_init): Remove.
650
651 2018-07-20  Tom Tromey  <tom@tromey.com>
652
653         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
654         * stabsread.c (patch_block_stabs, define_symbol, read_type)
655         (read_enum_type, common_block_start, common_block_end)
656         (cleanup_undefined_types_1, finish_global_stabs): Update.
657         * mdebugread.c (psymtab_to_symtab_1): Update.
658         * dwarf2read.c (fixup_go_packaging, read_func_scope)
659         (read_lexical_block_scope, new_symbol): Update.
660         * dbxread.c (process_one_symbol): Update.
661         * coffread.c (coff_symtab_read, process_coff_symbol)
662         (coff_read_enum_type): Update.
663         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
664         declare.
665         (get_local_symbols, get_file_symbols, get_global_symbols): New
666         functions.
667         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
668         m_global_symbols.
669         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
670         (~scoped_free_pendings): Update.
671         (finish_block, prepare_for_building, reset_symtab_globals)
672         (end_symtab_get_static_block, end_symtab_with_blockvector)
673         (augment_type_symtab, push_context): Update.
674         (get_local_symbols, get_file_symbols, get_global_symbols): New
675         functions.
676         (buildsym_init): Update.
677
678 2018-07-20  Tom Tromey  <tom@tromey.com>
679
680         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
681         (process_full_type_unit): Likewise.
682         (dwarf2_start_symtab): Set list_in_scope.
683
684 2018-07-20  Tom Tromey  <tom@tromey.com>
685
686         * dwarf2read.c (process_psymtab_comp_unit_reader)
687         (build_type_psymtabs_reader): Do not set list_in_scope.
688
689 2018-07-20  Tom Tromey  <tom@tromey.com>
690
691         * buildsym.c (free_pendings): Remove.
692         (add_symbol_to_list, scoped_free_pendings)
693         (finish_block_internal, buildsym_init): Update.
694
695 2018-07-20  Tom Tromey  <tom@tromey.com>
696
697         * xcoffread.c (read_xcoff_symtab): Update.
698         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
699         Update.
700         * dbxread.c (process_one_symbol): Update.
701         * coffread.c (coff_symtab_read): Update.
702         * buildsym.h (finish_block): Update.
703         * buildsym.c (finish_block): Remove "listhead" argument.
704         (end_symtab_get_static_block): Update.
705
706 2018-07-20  Tom Tromey  <tom@tromey.com>
707
708         * buildsym.h (class scoped_free_pendings): Remove constructor.
709         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
710         method.
711         <m_pending_block_obstack, m_pending_blocks>: New members.
712         (pending_block_obstack, pending_blocks): Remove.
713         (scoped_free_pendings::scoped_free_pendings): Default.
714         (~scoped_free_pendings): Update.
715         (free_pending_blocks): Remove.
716         (finish_block_internal, record_pending_block, make_blockvector)
717         (end_symtab_get_static_block, augment_type_symtab, push_context)
718         (buildsym_init): Update.
719
720 2018-07-20  Tom Tromey  <tom@tromey.com>
721
722         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
723         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
724         members.
725         (pending_addrmap, pending_addrmap_obstack)
726         (pending_addrmap_interesting): Remove.
727         (scoped_free_pendings, record_block_range, make_blockvector)
728         (prepare_for_building, reset_symtab_globals, buildsym_init):
729         Update.
730
731 2018-07-20  Tom Tromey  <tom@tromey.com>
732
733         * xcoffread.c (process_linenos): Update.
734         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
735         * mdebugread.c (psymtab_to_symtab_1): Update.
736         * dwarf2read.c (setup_type_unit_groups)
737         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
738         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
739         * dbxread.c (process_one_symbol): Update.
740         * coffread.c (coff_symtab_read, enter_linenos)
741         (process_coff_symbol): Update.
742         * buildsym.h (current_subfile): Don't declare.
743         (get_current_subfile): Declare.
744         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
745         member.
746         (start_subfile, free_buildsym_compunit, push_subfile)
747         (prepare_for_building, start_symtab): Update.
748         (get_current_subfile): New function.
749
750 2018-07-20  Tom Tromey  <tom@tromey.com>
751
752         * coffread.c (coff_symtab_read): Update.
753         * xcoffread.c (read_xcoff_symtab): Update.
754         * dwarf2read.c (new_symbol): Update.
755         (read_func_scope, read_lexical_block_scope): Update.
756         * dbxread.c (process_one_symbol): Update.
757         * buildsym.h (context_stack, context_stack_depth): Don't declare.
758         (outermost_context_p): Remove macro.
759         (outermost_context_p, get_current_context_stack)
760         (get_context_stack_depth): Declare.
761         (pop_context): Return struct context_stack.
762         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
763         member.
764         (context_stack_size): Remove.
765         (INITIAL_CONTEXT_STACK_SIZE): Remove.
766         (prepare_for_building, end_symtab_get_static_block)
767         (augment_type_symtab, push_context): Update.
768         (pop_context): Return struct context_stack.
769         (outermost_context_p, get_current_context_stack)
770         (get_context_stack_depth): New functions.
771         (buildsym_init): Update.
772
773 2018-07-20  Tom Tromey  <tom@tromey.com>
774
775         * rust-exp.y: Now a pure parser.  Update all rules.
776         (%union): Move earlier.
777         (current_parser, work_obstack): Remove globals.
778         (rust_parser, ~rust_parser): Update.
779         (class rust_parser) <copy_name, concat3, crate_name, super_name,
780         lex_character, lex_number, lex_string, lex_identifier,
781         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
782         convert_name, convert_params_to_expression,
783         convert_ast_to_expression, ast_basic_type, ast_operation,
784         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
785         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
786         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
787         ast_array_type, ast_slice_type, ast_reference_type,
788         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
789         (rust_parse): Update.
790         (rustyyerror, rustyylex): Add parser parameter.
791         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
792         (rust_lex_stringish_test, rust_lex_test_sequence)
793         (rust_lex_test_trailing_dot, rust_lex_test_completion)
794         (rust_lex_test_push_back, rust_lex_tests): Update.
795
796 2018-07-19  Pedro Alves  <palves@redhat.com>
797
798         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
799         gdb::unique_xmalloc_ptr.
800         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
801         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
802         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
803         copy-initialization.
804         * guile/scm-pretty-print.c (ppscm_print_children): Use
805         gdb::unique_xmalloc_ptr instead of cleanups.
806         (gdbscm_apply_val_pretty_printer): Remove cleanups.
807         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
808         gdb::unique_xmalloc_ptr.
809         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
810         Adjust to use gdb::unique_xmalloc_ptr.
811         * guile/scm-utils.c (extract_arg): Adjust.
812         * guile/scm-value.c (gdbscm_value_field): Adjust to use
813         gdb::unique_xmalloc_ptr instead of a cleanup.
814
815 2018-07-19  Tom Tromey  <tom@tromey.com>
816
817         * utils.c (do_value_free_to_mark)
818         (make_cleanup_value_free_to_mark): Remove.
819         * utils.h (make_cleanup_value_free_to_mark): Remove.
820
821 2018-07-19  Pedro Alves  <palves@redhat.com>
822
823         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
824         forwarding reference.
825
826 2018-07-18  Pedro Alves  <palves@redhat.com>
827
828         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
829         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
830         cleanup.
831
832 2018-07-18  Pedro Alves  <palves@redhat.com>
833
834         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
835         exceptions.
836         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
837         (gdbscm_wrap): New.
838         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
839         directly instead of a cleanup.
840         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
841         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
842         (vlscm_binop_gdbthrow): New, factored out from ...
843         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
844         (vlscm_rich_compare): Use gdbscm_wrap.
845         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
846         instead of a cleanup.
847         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
848         cleanup.
849         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
850         Use xfree directly instead of a cleanup.
851         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
852         Adjust to use gdbscm_wrap and scoped_value_mark.
853         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
854         (gdbscm_value_address, gdbscm_value_dereference)
855         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
856         scoped_value_mark.
857         (gdbscm_value_dynamic_type): Use scoped_value_mark.
858         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
859         scoped_value_mark.
860         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
861         gdbscm_wrap and scoped_value_mark.
862         (gdbscm_value_to_string): Use xfree directly instead of a
863         cleanup.  Move 'buffer' unique_ptr to TRY scope.
864         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
865         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
866         scoped_value_mark.
867         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
868         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
869         scoped_value_mark.
870         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
871         gdbscm_wrap.
872
873 2018-07-18  Tom de Vries  <tdevries@suse.de>
874
875         * findvar.c (default_read_var_value): Also resolve dynamic type for
876         LOC_OPTIMIZED_OUT vars.
877
878 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
879
880         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
881         decoding.
882
883 2018-07-17  Tom Tromey  <tom@tromey.com>
884
885         * guile/scm-param.c (pascm_set_func, pascm_show_func)
886         (compute_enum_list, pascm_set_param_value_x)
887         (gdbscm_parameter_value): Update.
888         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
889         (gdbscm_scm_to_host_string): Update.
890         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
891         Update.
892         * guile/scm-cmd.c (cmdscm_add_completion): Update.
893         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
894         * guile/scm-string.c (gdbscm_scm_to_string): Return
895         unique_xmalloc_ptr.
896         (gdbscm_scm_to_host_string): Likewise.
897
898 2018-07-17  Tom Tromey  <tom@tromey.com>
899
900         * guile/guile.c (gdbscm_eval_from_control_command): Update.
901         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
902         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
903         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
904         unique_xmalloc_ptr.
905
906 2018-07-17  Tom Tromey  <tom@tromey.com>
907
908         * guile/scm-param.c (pascm_signal_setshow_error): Update.
909         * guile/guile-internal.h (gdbscm_exception_message_to_string):
910         Update.
911         * guile/scm-cmd.c (cmdscm_function): Update.
912         * guile/scm-pretty-print.c
913         (ppscm_print_exception_unless_memory_error): Update.
914         * guile/scm-exception.c (gdbscm_exception_message_to_string):
915         Return unique_xmalloc_ptr.
916
917 2018-07-17  Tom Tromey  <tom@tromey.com>
918
919         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
920         Use string_printf.
921
922 2018-07-17  Jim Wilson  <jimw@sifive.com>
923
924         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
925         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
926         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
927         unecessary braces after EF_RISCV_RVC test.  Delete call to
928         set_gdbarch_decr_pc_after_break.
929
930         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
931         RISCV_LAST_FP_REGNUM + 1.
932         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
933
934 2018-07-17  Tom Tromey  <tom@tromey.com>
935
936         * configure.ac: Remove --disable-gdbcli.
937         * configure: Rebuild.
938         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
939         (SUBDIR_CLI_CFLAGS): Remove.
940         (SFILES): Use SUBDIR_CLI_SRCS.
941         (COMMON_OBS): Use SUBDIR_CLI_OBS.
942
943 2018-07-17  Tom Tromey  <tom@tromey.com>
944
945         PR gdb/18624:
946         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
947
948 2018-07-16  Jim Wilson  <jimw@sifive.com>
949
950         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
951
952 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
953
954         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
955         variable.
956         (libunwind_frame_sniffer): Likewise.
957         (libunwind_frame_prev_register): Likewise.
958         (libunwind_sigtramp_frame_sniffer): Likewise.
959         * ia64-tdep.c (ia64_access_reg): Likewise.
960         (ia64_access_rse_reg): Likewise.
961         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
962         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
963
964 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
965
966         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
967
968 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
969
970         * remote-sim.c (gdbsim_target::close,
971         gdbsim_target::mourn_inferior): Remove unused variables.
972
973 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
974
975         * ia64-tdep.c (ktab_buf): New global.
976         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
977         (get_kernel_table): Adjust.
978
979 2018-07-16  Tom Tromey  <tom@tromey.com>
980
981         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
982         * dwarf2read.c (using_directives, new_symbol): Use
983         outermost_context_p.
984         * dbxread.c (process_one_symbol): Use outermost_context_p.
985         * coffread.c (coff_symtab_read): Use outermost_context_p.
986
987 2018-07-16  Tom Tromey  <tom@tromey.com>
988
989         * dwarf2read.c (using_directives, read_func_scope)
990         (read_lexical_block_scope): Update.
991         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
992         * buildsym.h (local_using_directives, global_using_directives):
993         Don't declare.
994         (get_local_using_directives, set_local_using_directives)
995         (get_global_using_directives): Declare.
996         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
997         m_global_using_directives>: New members.
998         (finish_block_internal, prepare_for_building)
999         (reset_symtab_globals, end_symtab_get_static_block)
1000         (push_context): Update.
1001         (get_local_using_directives, set_local_using_directives)
1002         (get_global_using_directives): New functions.
1003         (buildsym_init): Update.
1004
1005 2018-07-16  Tom Tromey  <tom@tromey.com>
1006
1007         * xcoffread.c (xcoff_initial_scan): Don't call
1008         free_pending_blocks.
1009         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
1010         * buildsym.h (class scoped_free_pendings): Add constructor.
1011         (free_pending_blocks): Don't declare.
1012         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
1013         (free_pending_blocks): Now static.
1014
1015 2018-07-16  Tom Tromey  <tom@tromey.com>
1016
1017         * buildsym.h (push_subfile, pop_subfile): Update declarations.
1018         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
1019         member.
1020         (struct subfile_stack): Remove.
1021         (subfile_stack): Remove.
1022         (push_subfile, pop_subfile, buildsym_init): Update.
1023
1024 2018-07-16  Tom Tromey  <tom@tromey.com>
1025
1026         * buildsym.c (push_subfile): Use gdb_assert.
1027         (pop_subfile): Use gdb_assert.
1028
1029 2018-07-16  Tom Tromey  <tom@tromey.com>
1030
1031         * buildsym.h (merge_symbol_lists): Remove.
1032         * buildsym.c (merge_symbol_lists): Remove.
1033
1034 2018-07-16  Tom Tromey  <tom@tromey.com>
1035
1036         * stabsread.c (scan_file_globals): Update comment.
1037         * stabsread.h (scan_file_globals): Move from buildsym.h.
1038         * buildsym.h (scan_file_globals): Move to stabsread.h.
1039
1040 2018-07-16  Tom Tromey  <tom@tromey.com>
1041
1042         * xcoffread.c (xcoff_new_init): Update.
1043         * mipsread.c (mipscoff_new_init): Update.
1044         * mdebugread.c (mdebug_build_psymtabs): Update.
1045         * elfread.c (elf_new_init): Update.
1046         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1047         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1048         * buildsym.h (buildsym_new_init): Don't declare.
1049         * buildsym.c (buildsym_new_init): Remove.
1050
1051 2018-07-16  Tom Tromey  <tom@tromey.com>
1052
1053         * stabsread.h (within_function): Move from buildsym.h.
1054         * stabsread.c (start_stabs): Clear within_function.
1055         * coffread.c (coff_start_symtab): Clear within_function.
1056         * buildsym.h (within_function): Move to stabsread.h.
1057         * buildsym.c (prepare_for_building): Update.
1058
1059 2018-07-16  Tom Tromey  <tom@tromey.com>
1060
1061         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1062         * dwarf2read.c (dwarf2_start_symtab): Don't set
1063         processing_gcc_compilation.
1064         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1065
1066 2018-07-16  Tom Tromey  <tom@tromey.com>
1067
1068         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1069         (next_symbol_text_func): Move from buildsym.h.
1070         * stabsread.c (hashname): Move from buildsym.c.
1071         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1072         (next_symbol_text_func, hashname): Move to stabsread.h.
1073         * buildsym.c: Don't include bcache.h
1074         (hashname): Move to stasbread.c.
1075
1076 2018-07-16  Tom Tromey  <tom@tromey.com>
1077
1078         * buildsym.h (context_stack_size): Don't declare.
1079         * buildsym.c (context_stack_size): New global.
1080
1081 2018-07-16  Tom Tromey  <tom@tromey.com>
1082
1083         * dbxread.c (processing_acc_compilation): New global.
1084         * buildsym.h (processing_acc_compilation): Don't declare.
1085
1086 2018-07-16  Tom Tromey  <tom@tromey.com>
1087
1088         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1089         * dbxread.c (read_ofile_symtab): Update.
1090         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1091         * buildsym.h (last_source_start_addr): Remove.
1092         (set_last_source_start_addr, get_last_source_start_addr):
1093         Declare.
1094         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1095         parameter.
1096         (struct buildsym_compunit) <m_last_source_start_addr>: New
1097         member.
1098         (prepare_for_building): Remove start_addr parameter.
1099         (start_symtab, restart_symtab, end_symtab_get_static_block)
1100         (end_symtab_with_blockvector): Update.
1101         (set_last_source_start_addr, get_last_source_start_addr): New
1102         functions.
1103
1104 2018-07-16  Tom Tromey  <tom@tromey.com>
1105
1106         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1107         member.
1108         (have_line_numbers): Remove.
1109         (record_line, prepare_for_building, end_symtab_get_static_block)
1110         (augment_type_symtab): Update.
1111
1112 2018-07-16  Tom Tromey  <tom@tromey.com>
1113
1114         * buildsym.c (~buildsym_compunit): Free the macro table.
1115         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1116         methods.
1117         <m_pending_macros>: New member.
1118         (pending_macros): Remove.
1119         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1120         (reset_symtab_globals, end_symtab_get_static_block)
1121         (end_symtab_with_blockvector, augment_type_symtab)
1122         (buildsym_init): Update.
1123
1124 2018-07-16  Tom Tromey  <tom@tromey.com>
1125
1126         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1127         parameter.
1128         (buildsym_compunit::set_last_source_file): New method.
1129         <m_last_source_file>: New member.
1130         (prepare_for_building): Remove "name" parameter.
1131         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1132         (last_source_file): Remove.
1133         (set_last_source_file, get_last_source_file): Update.
1134
1135 2018-07-16  Tom Tromey  <tom@tromey.com>
1136
1137         * buildsym.c (prepare_for_building): Add assert.
1138
1139 2018-07-16  Tom Tromey  <tom@tromey.com>
1140
1141         * buildsym.c (~buildsym_compunit): Update.
1142         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1143         (start_subfile, patch_subfile_names)
1144         (end_symtab_with_blockvector): Update.
1145
1146 2018-07-16  Tom Tromey  <tom@tromey.com>
1147
1148         * buildsym.c (struct buildsym_compunit): Add constructor,
1149         destructor, initializers.
1150         (start_buildsym_compunit): Remove.
1151         (free_buildsym_compunit): Use "delete".
1152         (start_symtab, restart_symtab): Use "new".
1153
1154 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1155
1156         * symfile.c (set_objfile_default_section_offset): Remove struct
1157         keyword.
1158
1159 2018-07-14  Stafford Horne  <shorne@gmail.com>
1160
1161         * (Responsible Maintainers): Add myself as or1k maintainer.
1162
1163 2018-07-13  Tom Tromey  <tom@tromey.com>
1164
1165         * symfile.c (set_objfile_default_section_offset): Use extra braces
1166         around initializer.
1167
1168 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1169
1170         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1171         non-branching basr.
1172
1173 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1174
1175         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1176         unittests/cli-utils-selftests.c
1177         * unittests/cli-utils-selftests.c: New file.
1178
1179 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1180
1181         * NEWS: Mention new commands. Mention change to 'thread apply'.
1182
1183 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1184
1185         * thread.c (thr_try_catch_cmd): New function.
1186         (thread_apply_all_command): Handle qcs flags.
1187         (thread_apply_command): Handle qcs flags.
1188         (taas_command): New function.
1189         (tfaas_command): New function.
1190         (_initialize_thread): Update to setup the new commands 'taas
1191         and 'tfaas'. Change doc string for 'thread apply'.
1192
1193 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1194
1195         * stack.c: (trailing_outermost_frame): New function, mostly
1196         extracted from backtrace_command_1.
1197         (leading_innermost_frame): New function.
1198         (backtrace_command_1): Update to call trailing_outermost_frame.
1199         (frame_apply_command_count): New function.
1200         (frame_apply_level_command): New function.
1201         (frame_apply_all_command): New function.
1202         (frame_apply_command): New function.
1203         (faas_command): New function.
1204         (frame_cmd_list): New variable.
1205         (_initialize_stack): Update to setup the new commands 'frame apply'
1206         and 'faas'.
1207
1208 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1209
1210         * cli-utils.c (number_or_range_parser::get_number): Only handle
1211         numbers or convenience var as numbers.
1212         (parse_flags): New function.
1213         (parse_flags_qcs): New function.
1214         (number_or_range_parser::finished): Ensure parsing end is detected
1215         before end of string.
1216         * cli-utils.h (parse_flags): New function.
1217         (parse_flags_qcs): New function.
1218         (number_or_range_parser): Remove m_finished bool.
1219         (number_or_range_parser::skip_range): Set m_in_range to false.
1220
1221 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1222
1223         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1224         on Windows.
1225
1226 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1227             Jan Kratochvil  <jan.kratochvil@redhat.com>
1228             Paul Fertser  <fercerpav@gmail.com>
1229             Tsutomu Seki  <sekiriki@gmail.com>
1230             Pedro Alves  <palves@redhat.com>
1231
1232         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1233         'unittests/parse-connection-spec-selftests.c'.
1234         (COMMON_SFILES): Add 'common/netstuff.c'.
1235         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1236         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1237         * common/netstuff.c: New file.
1238         * common/netstuff.h: New file.
1239         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1240         (wait_for_connect): Update comment.  New parameter
1241         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1242         Use 'sock' directly instead of 'scb->fd'.
1243         (try_connect): New function, with code from 'net_open'.
1244         (net_open): Rewrite main loop to deal with multiple
1245         sockets/addresses.  Handle IPv6-style hostnames; implement
1246         support for IPv6 connections.
1247         * unittests/parse-connection-spec-selftests.c: New file.
1248
1249 2018-07-11  Pedro Alves  <palves@redhat.com>
1250
1251         PR gdb/23377
1252         * remote.c (remote_target::remote_detach_pid): Call
1253         set_current_process.
1254
1255 2018-07-11  Pedro Alves  <palves@redhat.com>
1256
1257         * h8300-tdep.c (h8300_gdbarch_init): Remove
1258         set_gdbarch_ecoff_reg_to_regnum calls.
1259
1260 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1261
1262         PR c++/23373
1263         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1264         offsets/sizes for static members of a class/struct.
1265
1266 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1267
1268         * target-descriptions.c (tdesc_register_bitsize): Rename.
1269         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1270         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1271         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1272
1273 2018-07-10  Tom Tromey  <tom@tromey.com>
1274
1275         * breakpoint.c (moribund_locations): Now static and a
1276         std::vector.
1277         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1278         (build_bpstat_chain, update_global_location_list)
1279         (breakpoint_retire_moribund): Update.
1280         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1281         VEC.
1282
1283 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1284
1285         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1286         (riscv_register_reggroup_p): Use new function, remove unneeded
1287         parenthesis.
1288         (riscv_push_dummy_call): Extend assert to compare against xlen or
1289         flen based on register type.
1290
1291 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1292
1293         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1294
1295 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1296
1297         * remote.c (show_hardware_watchpoint_limit): New function.
1298         (show_hardware_watchpoint_length_limit): New function.
1299         (show_hardware_breakpoint_limit): New function.
1300         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1301         where appropriate, update help text.
1302
1303 2018-07-09  Tom Tromey  <tom@tromey.com>
1304
1305         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1306         (CLIBS): Don't mention NAT_CLIBS.
1307
1308 2018-07-09  Tom Tromey  <tom@tromey.com>
1309
1310         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1311         (LIBGDB_OBS, clean mostlyclean): Update.
1312         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1313
1314 2018-07-09  Tom Tromey  <tom@tromey.com>
1315
1316         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1317         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1318         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1319
1320 2018-07-09  Tom Tromey  <tom@tromey.com>
1321
1322         * Makefile.in (ALLDEPFILES): Remove exec.c.
1323         (COMMON_OBS): Remove exec.o.
1324         (COMMON_SFILES): Add exec.c.
1325
1326 2018-07-09  Tom Tromey  <tom@tromey.com>
1327
1328         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1329
1330 2018-07-09  Tom Tromey  <tom@tromey.com>
1331
1332         * Makefile.in (clean mostlyclean): Remove stamp-version.
1333         (version.c): Depend on stamp-version.
1334         (stamp-version): New rule, from version.c rule.
1335
1336 2018-07-09  Tom Tromey  <tom@tromey.com>
1337
1338         * Makefile.in (init.c): Depend on stamp-init.
1339         (stamp-init): New rule, from init.c rule.
1340         (clean mostlyclean): Remove stamp-init.
1341
1342 2018-07-09  Tom Tromey  <tom@tromey.com>
1343
1344         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1345         SUBDIR_GCC_COMPILE_SRCS.
1346
1347 2018-07-09  Tom Tromey  <tom@tromey.com>
1348
1349         * Makefile.in (init.c): Remove some unused sed rules.
1350
1351 2018-07-09  Tom Tromey  <tom@tromey.com>
1352
1353         * Makefile.in (TSOBS): Remove.
1354         (INIT_FILES): Update.
1355         (LIBGDB_OBS): Update.
1356         (COMMON_SFILES): Add inflow.c.
1357         (SFILES): Remove inflow.c.
1358
1359 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1360
1361         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1362
1363 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1364
1365         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1366         get_saveloc_name, is_signal_frame_name, step_name,
1367         init_remote_name, create_addr_space_name,
1368         destroy_addr_space_name, search_unwind_table_name,
1369         find_dyn_list_name): Constify.
1370
1371 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1372
1373         * darwin-nat.c (darwin_pthread_kill): New function.
1374         (darwin_resume_thread): Use darwin_pthread_kill.
1375
1376 2018-07-05  Tom de Vries  <tdevries@suse.de>
1377
1378         * macroexp.c (macro_buffer) <operator=>: New member function.
1379
1380 2018-07-04  Tom Tromey  <tom@tromey.com>
1381
1382         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1383
1384 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1385
1386         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1387         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1388         * maint.c: Likewise.
1389         * top.c: Likewise.
1390
1391 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1392
1393         * NEWS: Create a new section for the next release branch.
1394         Rename the section of the current branch, now that it has
1395         been cut.
1396
1397 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1398
1399         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1400         * version.in: Bump version to 8.2.50.DATE-git.
1401
1402 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1403             Pedro Alves  <palves@redhat.com>
1404
1405         * linux-nat.c (linux_init_ptrace): Rename to ...
1406         (linux_init_ptrace_procfs): ... this.  Call
1407         linux_proc_init_warnings.
1408         (linux_nat_target::post_attach)
1409         (linux_nat_target::post_startup_inferior): Adjust.
1410         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1411         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1412
1413 2018-07-04  Tom de Vries  <tdevries@suse.de>
1414
1415         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
1416         check ...
1417         (read_comp_unit_head): ... here.
1418
1419 2018-07-03  Tom Tromey  <tom@tromey.com>
1420
1421         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
1422         (stop_tracing, tstatus_command)
1423         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
1424         (print_one_static_tracepoint_marker): Update.
1425         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
1426         std::vector.
1427         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
1428         VEC.
1429         (all_tracepoints, static_tracepoints_here): Return std::vector.
1430
1431 2018-07-03  Tom Tromey  <tom@tromey.com>
1432
1433         * common/ptid.c (ptid_equal): Remove.
1434         * common/ptid.h (ptid_equal): Don't declare.
1435         * ada-tasks.c: Update.
1436         * breakpoint.c: Update.
1437         * common/agent.c: Update.
1438         * corelow.c: Update.
1439         * darwin-nat-info.c: Update.
1440         * darwin-nat.c: Update.
1441         * dcache.c: Update.
1442         * dtrace-probe.c: Update.
1443         * dummy-frame.c: Update.
1444         * fbsd-nat.c: Update.
1445         * frame.c: Update.
1446         * gdbthread.h: Update.
1447         * gnu-nat.c: Update.
1448         * go32-nat.c: Update.
1449         * inf-loop.c: Update.
1450         * inf-ptrace.c: Update.
1451         * infcall.c: Update.
1452         * infcmd.c: Update.
1453         * inflow.c: Update.
1454         * infrun.c: Update.
1455         * linux-fork.c: Update.
1456         * linux-nat.c: Update.
1457         * linux-thread-db.c: Update.
1458         * mi/mi-cmd-var.c: Update.
1459         * mi/mi-interp.c: Update.
1460         * mi/mi-main.c: Update.
1461         * nto-procfs.c: Update.
1462         * ppc-linux-tdep.c: Update.
1463         * procfs.c: Update.
1464         * python/py-inferior.c: Update.
1465         * python/py-record-btrace.c: Update.
1466         * python/py-record.c: Update.
1467         * ravenscar-thread.c: Update.
1468         * regcache.c: Update.
1469         * remote-sim.c: Update.
1470         * remote.c: Update.
1471         * sol-thread.c: Update.
1472         * solib.c: Update.
1473         * target.c: Update.
1474         * tui/tui-stack.c: Update.
1475         * varobj.c: Update.
1476         * windows-nat.c: Update.
1477         * windows-tdep.c: Update.
1478
1479 2018-07-03  Tom Tromey  <tom@tromey.com>
1480
1481         * common/ptid.c (ptid_match): Remove.
1482         * common/ptid.h (ptid_match): Don't declare.
1483         * fbsd-nat.c: Update.
1484         * infcmd.c: Update.
1485         * infrun.c: Update.
1486         * linux-nat.c: Update.
1487         * record-btrace.c: Update.
1488         * regcache.c: Update.
1489         * remote.c: Update.
1490
1491 2018-07-03  Tom Tromey  <tom@tromey.com>
1492
1493         * common/ptid.c (ptid_tid_p): Remove.
1494         * common/ptid.h (ptid_tid_p): Don't declare.
1495         * sol-thread.c: Update.
1496
1497 2018-07-03  Tom Tromey  <tom@tromey.com>
1498
1499         * common/ptid.c (ptid_lwp_p): Remove.
1500         * common/ptid.h (ptid_lwp_p): Don't declare.
1501         * fbsd-nat.c: Update.
1502         * linux-nat.c: Update.
1503         * nat/linux-procfs.c: Update.
1504         * nat/x86-linux-dregs.c: Update.
1505         * sol-thread.c: Update.
1506
1507 2018-07-03  Tom Tromey  <tom@tromey.com>
1508
1509         * common/ptid.c (ptid_is_pid): Remove.
1510         * common/ptid.h (ptid_is_pid): Don't declare.
1511         * infrun.c: Update.
1512         * linux-nat.c: Update.
1513         * mi/mi-interp.c: Update.
1514         * remote.c: Update.
1515         * thread.c: Update.
1516
1517 2018-07-03  Tom Tromey  <tom@tromey.com>
1518
1519         * common/ptid.c (ptid_get_tid): Remove.
1520         * common/ptid.h (ptid_get_tid): Don't declare.
1521         * ada-tasks.c: Update.
1522         * aix-thread.c: Update.
1523         * bsd-uthread.c: Update.
1524         * darwin-nat.c: Update.
1525         * fbsd-nat.c: Update.
1526         * i386-darwin-nat.c: Update.
1527         * infrun.c: Update.
1528         * linux-tdep.c: Update.
1529         * nto-procfs.c: Update.
1530         * ppc-ravenscar-thread.c: Update.
1531         * python/py-infthread.c: Update.
1532         * ravenscar-thread.c: Update.
1533         * sol-thread.c: Update.
1534         * sparc-ravenscar-thread.c: Update.
1535         * windows-nat.c: Update.
1536
1537 2018-07-03  Tom Tromey  <tom@tromey.com>
1538
1539         * common/ptid.c (ptid_get_lwp): Remove.
1540         * common/ptid.h (ptid_get_lwp): Don't declare.
1541         * aarch64-linux-nat.c: Update.
1542         * ada-tasks.c: Update.
1543         * aix-thread.c: Update.
1544         * amd64-linux-nat.c: Update.
1545         * arm-linux-nat.c: Update.
1546         * corelow.c: Update.
1547         * fbsd-nat.c: Update.
1548         * fbsd-tdep.c: Update.
1549         * gnu-nat.c: Update.
1550         * i386-cygwin-tdep.c: Update.
1551         * i386-gnu-nat.c: Update.
1552         * i386-linux-nat.c: Update.
1553         * ia64-linux-nat.c: Update.
1554         * inf-ptrace.c: Update.
1555         * infrun.c: Update.
1556         * linux-fork.c: Update.
1557         * linux-nat.c: Update.
1558         * linux-tdep.c: Update.
1559         * linux-thread-db.c: Update.
1560         * mips-linux-nat.c: Update.
1561         * nat/aarch64-linux-hw-point.c: Update.
1562         * nat/aarch64-linux.c: Update.
1563         * nat/linux-btrace.c: Update.
1564         * nat/linux-osdata.c: Update.
1565         * nat/linux-procfs.c: Update.
1566         * nat/x86-linux-dregs.c: Update.
1567         * obsd-nat.c: Update.
1568         * ppc-fbsd-nat.c: Update.
1569         * ppc-linux-nat.c: Update.
1570         * procfs.c: Update.
1571         * python/py-infthread.c: Update.
1572         * ravenscar-thread.c: Update.
1573         * remote.c: Update.
1574         * s390-linux-nat.c: Update.
1575         * sol-thread.c: Update.
1576         * sol2-tdep.c: Update.
1577         * spu-linux-nat.c: Update.
1578         * x86-linux-nat.c: Update.
1579         * xtensa-linux-nat.c: Update.
1580
1581 2018-07-03  Tom Tromey  <tom@tromey.com>
1582
1583         * common/ptid.c (ptid_get_pid): Remove.
1584         * common/ptid.h (ptid_get_pid): Don't declare.
1585         * aarch64-linux-nat.c: Update.
1586         * ada-lang.c: Update.
1587         * aix-thread.c: Update.
1588         * alpha-bsd-nat.c: Update.
1589         * amd64-fbsd-nat.c: Update.
1590         * amd64-linux-nat.c: Update.
1591         * arm-linux-nat.c: Update.
1592         * arm-nbsd-nat.c: Update.
1593         * auxv.c: Update.
1594         * break-catch-syscall.c: Update.
1595         * breakpoint.c: Update.
1596         * bsd-uthread.c: Update.
1597         * corelow.c: Update.
1598         * ctf.c: Update.
1599         * darwin-nat.c: Update.
1600         * fbsd-nat.c: Update.
1601         * fbsd-tdep.c: Update.
1602         * gcore.c: Update.
1603         * gnu-nat.c: Update.
1604         * hppa-nbsd-nat.c: Update.
1605         * hppa-obsd-nat.c: Update.
1606         * i386-fbsd-nat.c: Update.
1607         * ia64-linux-nat.c: Update.
1608         * inf-ptrace.c: Update.
1609         * infcmd.c: Update.
1610         * inferior.c: Update.
1611         * inferior.h: Update.
1612         * inflow.c: Update.
1613         * infrun.c: Update.
1614         * linux-fork.c: Update.
1615         * linux-nat.c: Update.
1616         * linux-tdep.c: Update.
1617         * linux-thread-db.c: Update.
1618         * m68k-bsd-nat.c: Update.
1619         * mi/mi-interp.c: Update.
1620         * mi/mi-main.c: Update.
1621         * mips-linux-nat.c: Update.
1622         * mips-nbsd-nat.c: Update.
1623         * mips64-obsd-nat.c: Update.
1624         * nat/aarch64-linux-hw-point.c: Update.
1625         * nat/aarch64-linux.c: Update.
1626         * nat/linux-btrace.c: Update.
1627         * nat/linux-osdata.c: Update.
1628         * nat/linux-procfs.c: Update.
1629         * nat/x86-linux-dregs.c: Update.
1630         * nto-procfs.c: Update.
1631         * obsd-nat.c: Update.
1632         * ppc-linux-nat.c: Update.
1633         * ppc-nbsd-nat.c: Update.
1634         * ppc-obsd-nat.c: Update.
1635         * proc-service.c: Update.
1636         * procfs.c: Update.
1637         * python/py-inferior.c: Update.
1638         * python/py-infthread.c: Update.
1639         * ravenscar-thread.c: Update.
1640         * record.c: Update.
1641         * remote-sim.c: Update.
1642         * remote.c: Update.
1643         * rs6000-nat.c: Update.
1644         * s390-linux-nat.c: Update.
1645         * sh-nbsd-nat.c: Update.
1646         * sol-thread.c: Update.
1647         * sparc-nat.c: Update.
1648         * sparc64-tdep.c: Update.
1649         * spu-linux-nat.c: Update.
1650         * spu-tdep.c: Update.
1651         * target-debug.h: Update.
1652         * target.c: Update.
1653         * thread.c: Update.
1654         * tid-parse.c: Update.
1655         * tracefile-tfile.c: Update.
1656         * vax-bsd-nat.c: Update.
1657         * windows-nat.c: Update.
1658         * x86-linux-nat.c: Update.
1659         * x86-nat.c: Update.
1660
1661 2018-07-03  Tom Tromey  <tom@tromey.com>
1662
1663         * common/ptid.c (pid_to_ptid): Remove.
1664         * common/ptid.h (pid_to_ptid): Don't declare.
1665         * aix-thread.c: Update.
1666         * arm-linux-nat.c: Update.
1667         * common/ptid.c: Update.
1668         * common/ptid.h: Update.
1669         * corelow.c: Update.
1670         * ctf.c: Update.
1671         * darwin-nat.c: Update.
1672         * fbsd-nat.c: Update.
1673         * fork-child.c: Update.
1674         * gnu-nat.c: Update.
1675         * go32-nat.c: Update.
1676         * inf-ptrace.c: Update.
1677         * infcmd.c: Update.
1678         * inferior.c: Update.
1679         * infrun.c: Update.
1680         * linux-fork.c: Update.
1681         * linux-nat.c: Update.
1682         * nat/aarch64-linux-hw-point.c: Update.
1683         * nat/fork-inferior.c: Update.
1684         * nat/x86-linux-dregs.c: Update.
1685         * nto-procfs.c: Update.
1686         * obsd-nat.c: Update.
1687         * procfs.c: Update.
1688         * progspace.c: Update.
1689         * remote.c: Update.
1690         * rs6000-nat.c: Update.
1691         * s390-linux-nat.c: Update.
1692         * sol-thread.c: Update.
1693         * spu-linux-nat.c: Update.
1694         * target.c: Update.
1695         * top.c: Update.
1696         * tracefile-tfile.c: Update.
1697         * windows-nat.c: Update.
1698
1699 2018-07-03  Tom Tromey  <tom@tromey.com>
1700
1701         * common/ptid.h (ptid_build): Don't declare.
1702         * common/ptid.c (ptid_build): Remove.
1703         * aix-thread.c: Update.
1704         * bsd-kvm.c: Update.
1705         * bsd-uthread.c: Update.
1706         * common/agent.c: Update.
1707         * common/ptid.c: Update.
1708         * common/ptid.h: Update.
1709         * corelow.c: Update.
1710         * darwin-nat.c: Update.
1711         * fbsd-nat.c: Update.
1712         * gnu-nat.c: Update.
1713         * linux-fork.c: Update.
1714         * linux-nat.c: Update.
1715         * linux-thread-db.c: Update.
1716         * nat/linux-osdata.c: Update.
1717         * nat/linux-procfs.c: Update.
1718         * nto-procfs.c: Update.
1719         * obsd-nat.c: Update.
1720         * proc-service.c: Update.
1721         * procfs.c: Update.
1722         * ravenscar-thread.c: Update.
1723         * remote-sim.c: Update.
1724         * remote.c: Update.
1725         * sol-thread.c: Update.
1726         * target.c: Update.
1727         * windows-nat.c: Update.
1728
1729 2018-07-03  Tom Tromey  <tom@tromey.com>
1730
1731         * infrun.c (follow_exec): Use exit_inferior_silent.
1732         * inferior.c (exit_inferior_num_silent): Remove.
1733         * inferior.h (exit_inferior_num_silent): Don't declare.
1734
1735 2018-07-03  Tom Tromey  <tom@tromey.com>
1736
1737         PR cli/23340:
1738         * darwin-nat.c (darwin_attach_pid): Reset inferior and
1739         inferior_ptid on error.
1740
1741 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
1742             Simon Marchi  <simon.marchi@polymtl.ca>
1743
1744         PR tdep/8282
1745         * disasm.h (gdb_disassembler): Add
1746         `m_disassembler_options_holder'. member
1747         * disasm.c (get_all_disassembler_options): New function.
1748         (gdb_disassembler::gdb_disassembler): Use it.
1749         (gdb_buffered_insn_length_init_dis): Likewise.
1750         (gdb_buffered_insn_length): Adjust accordingly.
1751         (set_disassembler_options): Handle options with arguments.
1752         (show_disassembler_options_sfunc): Likewise.  Add a leading new
1753         line if showing options with descriptions.
1754         (disassembler_options_completer): Adapt to using the
1755         `disasm_options_and_args_t' structure.
1756         * mips-tdep.c (mips_disassembler_options): New variable.
1757         (mips_disassembler_options_o32): Likewise.
1758         (mips_disassembler_options_n32): Likewise.
1759         (mips_disassembler_options_n64): Likewise.
1760         (gdb_print_insn_mips): Don't set `disassembler_options'.
1761         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
1762         functions.
1763         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
1764         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
1765         `gdbarch_disassembler_options_implicit' and
1766         `gdbarch_valid_disassembler_options'.
1767         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
1768         `disasm_options_and_args_t' structure.
1769         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
1770         method.
1771         (valid_disassembler_options): Switch from `disasm_options_t' to
1772         the `disasm_options_and_args_t' structure.
1773         * NEWS: Document `set disassembler-options' support for the MIPS
1774         target.
1775         * gdbarch.h: Regenerate.
1776         * gdbarch.c: Regenerate.
1777
1778 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1779
1780         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
1781
1782 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
1783
1784         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
1785         parameter in call to amd64_target_description.
1786         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
1787         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
1788         (amd64fbsd_init_abi): Likewise.
1789         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
1790         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
1791         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
1792         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
1793
1794 2018-06-29  Pedro Alves  <palves@redhat.com>
1795
1796         * gdb/amd64-tdep.h (amd64_create_target_description): Add
1797         "segments" parameter.
1798         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
1799         (_initialize_amd64_tdep): Update call to
1800         amd64_create_target_description.
1801         (amd64_target_description): Add "segments" parameter.  Adjust
1802         the implementation to use it.
1803         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
1804         call to amd64_create_target_description.
1805         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
1806         * gdb/arch/amd64.h (amd64_create_target_description): Add
1807         "segments" register.
1808         * gdb/arch/amd64.c (amd64_create_target_description): Add
1809         "segments" parameter.  Call create_feature_i386_64bit_segments
1810         only if SEGMENTS is true.
1811         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
1812         call to amd64_create_target_description.
1813
1814 2018-06-29  Pedro Alves  <palves@redhat.com>
1815
1816         * thread.c (thread_target_id_str): New, factored out from ...
1817         (print_thread_info_1): ... here.  Use it to compute the max
1818         "Target Id" column width.
1819
1820 2018-06-29  Pedro Alves  <palves@redhat.com>
1821
1822         * remote.c (remote_target::extra_thread_info): Delete
1823         'display_buf' and 'n' locals.  from the cache, regardless of
1824         packet mechanims is in use.  Use cache for qThreadExtra and qP
1825         methods too.
1826
1827 2018-06-29  Pedro Alves  <palves@redhat.com>
1828
1829         * blockframe.c (find_pc_sect_containing_function): New function.
1830         * breakpoint.c (print_breakpoint_location): Don't call
1831         find_pc_sect_function.
1832         * linespec.c (create_sals_line_offset): Record the location's
1833         symbol in the sal.
1834         * linespec.c (convert_address_location_to_sals): Fill in sal's
1835         symbol with find_pc_sect_containing_function.
1836         * symtab.c (find_function_start_sal): Rename to ...
1837         (find_function_start_sal_1): ... this.
1838         (find_function_start_sal): Reimplement as wrapper around
1839         find_function_start_sal_1, and use
1840         find_pc_sect_containing_function to fill in the sal's symbol.
1841         (find_function_start_sal(symbol*, bool)): Adjust.
1842         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
1843         comments.
1844         (find_pc_sect_containing_function): Declare.
1845
1846 2018-06-29  Pedro Alves  <palves@redhat.com>
1847
1848         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
1849         true if the the location has no symbol.
1850
1851 2018-06-28  Tom Tromey  <tom@tromey.com>
1852
1853         * NEWS: Mention --enable-codesign.
1854         * silent-rules.mk (ECHO_SIGN): New variable.
1855         * configure.ac: Add --enable-codesign.
1856         * configure: Rebuild.
1857         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
1858         (gdb$(EXEEXT)): Optionally invoke codesign.
1859
1860 2018-06-28  Pedro Alves  <palves@redhat.com>
1861
1862         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
1863         comments.
1864         (switch_to_thread_no_regs): Adjust comment.
1865         * infcmd.c (stop_pc): Delete.
1866         (post_create_inferior, info_program_command): Replace references
1867         to stop_pc with references to thread_info->suspend.stop_pc.
1868         * inferior.h (stop_pc): Delete declaration.
1869         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
1870         (handle_inferior_event_1, handle_signal_stop)
1871         (process_event_stop_test, keep_going_stepped_thread)
1872         (handle_step_into_function, handle_step_into_function_backward)
1873         (print_stop_location): Replace references to stop_pc with
1874         references to thread_info->suspend.stop_pc.
1875         (struct infcall_suspend_state) <stop_pc>: Delete field.
1876         (save_infcall_suspend_state, restore_infcall_suspend_state):
1877         Remove references to inf_stat->stop_pc.
1878         * linux-fork.c (fork_load_infrun_state): Likewise.
1879         * record-btrace.c (record_btrace_set_replay): Likewise.
1880         * record-full.c (record_full_goto_entry): Likewise.
1881         * remote.c (print_one_stopped_thread): Likewise.
1882         * target.c (target_resume): Extend comment.
1883         * thread.c (set_executing_thread): New.
1884         (set_executing): Use it.
1885         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
1886         Remove references to stop_pc.
1887
1888 2018-06-28  Pedro Alves  <palves@redhat.com>
1889
1890         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
1891         Moving fetching stop_pc until after ecs->event_thread is refreshed.
1892
1893 2018-06-28  Tom Tromey  <tom@tromey.com>
1894
1895         * coffread.c (coff_symfile_finish): Update.
1896         * xcoffread.c (xcoff_symfile_finish): Update.
1897         * elfread.c (elf_symfile_finish): Update.
1898         * symfile.h (dwarf2_free_objfile): Don't declare.
1899         * dwarf2read.c (_initialize_dwarf2_read): Use
1900         register_objfile_data_with_cleanup.
1901         (dwarf2_free_objfile): Now static.  Change signature.
1902
1903 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1904
1905         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
1906         option "-o" to add-symbol-file-load to add an offset to each
1907         section's load address.
1908         * symfile.c (set_objfile_default_section_offset): New function.
1909
1910 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1911
1912         * symfile.c (add_symbol_file_command): Make sure that sections
1913         with the same name are sorted in the same order.
1914
1915 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1916
1917         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
1918         require the second argument.  If omitted, load sections at the
1919         addresses specified in the file.
1920
1921 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1922
1923         * symfile.c (symbol_file_command, symbol_file_add_main_1)
1924         (_initialize_symfile): Add option "-o" to symbol-file to add an
1925         offset to each section of the symbol file.
1926
1927 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1928
1929         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
1930
1931 2018-06-27  Tom Tromey  <tom@tromey.com>
1932
1933         * stack.c (_initialize_stack): Update "func" help text.
1934
1935 2018-06-27  Tom Tromey  <tom@tromey.com>
1936
1937         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
1938         std::vector.
1939         (unwind_infopy_str, pyuw_create_unwind_info)
1940         (unwind_infopy_add_saved_register, pyuw_sniffer)
1941         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
1942         Update.
1943         (struct saved_reg): Add constructor.
1944         <value>: Now a gdbpy_ref<>.
1945
1946 2018-06-27  Tom Tromey  <tom@tromey.com>
1947
1948         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
1949
1950 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1951
1952         * gdb-gdb.py.in: Format using autopep8.
1953
1954 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1955
1956         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
1957         (type_lookup_function): Recognize CORE_ADDR values.
1958
1959 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1960
1961         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
1962         print tag_name.
1963
1964 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1965
1966         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
1967         <__lt__>: Add.
1968
1969 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1970
1971         * gdb-gdb.py: Move to...
1972         * gdb-gdb.py.in: ... here.
1973         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
1974         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
1975         dependencies.
1976         (distclean): Remove gdb-gdb.py when cleaning.
1977         (gdb-gdb.py, gdb-gdb.gdb): New rules.
1978         * configure: Re-generate.
1979
1980 2018-06-27  Pedro Alves  <palves@redhat.com>
1981
1982         * proc-service.c (get_ps_regcache): New.
1983         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
1984         (ps_lsetfpregs): Use it.
1985
1986 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
1987
1988         PR gdb/21695
1989         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
1990         (dwarf_decode_lines_1): Adjust.
1991
1992 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1993
1994         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
1995         override.
1996         <info_proc>: Likewise.
1997
1998 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
1999
2000         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
2001         to windows_fetch_one_register, and only handle the case of
2002         fetching one register.  Move the code that reloads the context
2003         and iterates over all registers if R is negative to...
2004         (windows_nat_target::fetch_registers): ... here.
2005         (do_windows_store_inferior_registers): Rename to
2006         windows_store_one_register, and only handle the case of storing
2007         one register.  Move the code that handles the case where r is
2008         negative to...
2009         (windows_nat_target::store_registers) ... here.
2010
2011 2018-06-26  Tom Tromey  <tom@tromey.com>
2012
2013         PR rust/22574:
2014         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
2015         * rust-lang.c (rust_print_struct_def): Add podata parameter.
2016         Update.
2017         (rust_internal_print_type): Add podata parameter.
2018         (rust_print_type): Update.
2019
2020 2018-06-26  Tom Tromey  <tom@tromey.com>
2021
2022         * typeprint.h (struct print_offset_data) <update, finish,
2023         maybe_print_hole>: New methods.
2024         <indentation>: New constant.
2025         * typeprint.c (print_offset_data::indentation): Define.
2026         (print_offset_data::maybe_print_hole, print_offset_data::update)
2027         (print_offset_data::finish): Move from c-typeprint.c and rename.
2028         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
2029         (print_spaces_filtered_with_print_options): Update.
2030         (c_print_type_union_field_offset, maybe_print_hole)
2031         (c_print_type_struct_field_offset): Move to typeprint.c and
2032         rename.
2033         (c_type_print_base_struct_union): Update.
2034
2035 2018-06-25  Pedro Alves  <palves@redhat.com>
2036
2037         * gdbthread.h (thread_info_ref, delete_thread)
2038         (delete_thread_silent, first_thread_of_inferior)
2039         (any_thread_of_inferior, switch_to_thread)
2040         (enable_thread_stack_temporaries)
2041         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2042         (get_last_thread_stack_temporary)
2043         (value_in_thread_stack_temporaries, can_access_registers_thread):
2044         Spell out "struct thread_info" instead of just "thread_info".
2045         * inferior.h (notice_new_inferior): Likewise.
2046
2047 2018-06-25  Pedro Alves  <palves@redhat.com>
2048
2049         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2050         pass thread_info pointer to delete_thread.
2051         (windows_nat_target::detach): Pass inferior pointer to
2052         detach_inferior.
2053         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2054         delete_thread.
2055         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2056         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2057         and pass a thread_info pointer to delete_thread.
2058         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2059         pass thread_info pointer to delete_thread.
2060         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2061         delete_thread_silent call.
2062         * procfs.c (procfs_target::detach): Pass inferior pointer to
2063         detach_inferior.
2064         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2065         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2066         delete_thread_silent call.
2067         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2068         pass thread_info pointer to delete_thread.
2069         (windows_nat_target::detach): Pass inferior pointer to
2070         delete_inferior.
2071
2072 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2073
2074         * regcache.c (readable_regcache::read_part): Fix asserts.
2075         (reg_buffer::raw_collect_part): New function.
2076         (regcache::write_part): Fix asserts.
2077         (reg_buffer::raw_supply_part): New function.
2078         (regcache::transfer_regset_register): New helper function.
2079         (regcache::transfer_regset): Call new functions.
2080         (regcache_supply_regset): Use gdb_byte*.
2081         (regcache::supply_regset): Likewise.
2082         (regcache_collect_regset): Likewise.
2083         (regcache::collect_regset): Likewise.
2084         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2085         (reg_buffer::raw_supply_part): Likewise.
2086         (regcache::transfer_regset_register): Likewise.
2087         (regcache::transfer_regset): Use gdb_byte*.
2088
2089 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2090
2091         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2092
2093 2018-06-21  Pedro Alves  <palves@redhat.com>
2094
2095         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2096         instead of a ptid_t.  All callers adjusted.
2097         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2098         adjusted.
2099         (print_ada_task_info, display_current_task_id, task_command_1):
2100         Adjust.
2101         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2102         inferior_thread.
2103         (breakpoint_kind): Adjust.
2104         (remove_breakpoints_pid): Rename to ...
2105         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2106         pointer.  All callers adjusted.
2107         (bpstat_clear_actions): Use inferior_thread.
2108         (get_bpstat_thread): New.
2109         (bpstat_do_actions): Use it.
2110         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2111         to take a thread_info pointer.  All callers adjusted.
2112         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2113         (breakpoint_re_set_thread): Use inferior_thread.
2114         * breakpoint.h (struct inferior): Forward declare.
2115         (bpstat_stop_status): Update.
2116         (remove_breakpoints_pid): Delete.
2117         (remove_breakpoints_inf): New.
2118         * bsd-uthread.c (bsd_uthread_target::wait)
2119         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2120         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2121         (maint_btrace_packet_history_cmd)
2122         (maint_btrace_clear_packet_history_cmd): Adjust.
2123         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2124         inferior_thread.
2125         * cli/cli-interp.c: Include "inferior.h".
2126         * common/refcounted-object.h (struct
2127         refcounted_object_ref_policy): New.
2128         * compile/compile-object-load.c: Include gdbthread.h.
2129         (store_regs): Use inferior_thread.
2130         * corelow.c (core_target::close): Use current_inferior.
2131         (core_target_open): Adjust to use first_thread_of_inferior and use
2132         the current inferior.
2133         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2134         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2135         <thread>: ... this new field.  All references adjusted.
2136         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2137         Take a thread_info pointer instead of a ptid_t.
2138         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2139         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2140         thread_info pointer instead of a ptid_t.
2141         * elfread.c: Include "inferior.h".
2142         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2143         Use inferior_thread.
2144         * eval.c (evaluate_subexp): Likewise.
2145         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2146         inferior_thread.
2147         * gdb_proc_service.h (struct thread_info): Forward declare.
2148         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2149         <thread>: ... this new field.  All references adjusted.
2150         * gdbarch.h, gdbarch.c: Regenerate.
2151         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2152         'thread' parameter.  All implementations and callers adjusted.
2153         * gdbthread.h (thread_info) <set_running>: New method.
2154         (delete_thread, delete_thread_silent): Take a thread_info pointer
2155         instead of a ptid.
2156         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2157         (first_thread_of_process): Delete, replaced by ...
2158         (first_thread_of_inferior): ... this new function.  All callers
2159         adjusted.
2160         (any_live_thread_of_process): Delete, replaced by ...
2161         (any_live_thread_of_inferior): ... this new function.  All callers
2162         adjusted.
2163         (switch_to_thread, switch_to_no_thread): Declare.
2164         (is_executing): Delete.
2165         (enable_thread_stack_temporaries): Update comment.
2166         <enable_thread_stack_temporaries>: Take a thread_info pointer
2167         instead of a ptid_t.  Incref the thread.
2168         <~enable_thread_stack_temporaries>: Decref the thread.
2169         <m_ptid>: Delete
2170         <m_thr>: New.
2171         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2172         (get_last_thread_stack_temporary)
2173         (value_in_thread_stack_temporaries, can_access_registers_thread):
2174         Take a thread_info pointer instead of a ptid_t.  All callers
2175         adjusted.
2176         * infcall.c (get_call_return_value): Use inferior_thread.
2177         (run_inferior_call): Work with thread pointers instead of ptid_t.
2178         (call_function_by_hand_dummy): Work with thread pointers instead
2179         of ptid_t.  Use thread_info_ref.
2180         * infcmd.c (proceed_thread_callback): Access thread's state
2181         directly.
2182         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2183         access thread's state directly.
2184         (continue_command): Use inferior_thread.
2185         (info_program_command): Use find_thread_ptid and access thread
2186         state directly.
2187         (proceed_after_attach_callback): Use thread state directly.
2188         (notice_new_inferior): Take a thread_info pointer instead of a
2189         ptid_t.  All callers adjusted.
2190         (exit_inferior): Take an inferior pointer instead of a pid.  All
2191         callers adjusted.
2192         (exit_inferior_silent): New.
2193         (detach_inferior): Delete.
2194         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2195         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2196         (detach_inferior_command, kill_inferior_command): Use
2197         find_inferior_id instead of valid_gdb_inferior_id and
2198         gdb_inferior_id_to_pid.
2199         (inferior_command): Use inferior and thread pointers.
2200         * inferior.h (struct thread_info): Forward declare.
2201         (notice_new_inferior): Take a thread_info pointer instead of a
2202         ptid_t.  All callers adjusted.
2203         (detach_inferior): Delete declaration.
2204         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2205         instead of a pid.  All callers adjusted.
2206         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2207         (valid_gdb_inferior_id): Delete.
2208         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2209         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2210         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2211         ...
2212         <inf>: ... this new field.
2213         <step_ptid>: Delete, replaced by ...
2214         <step_thread>: ... this new field.
2215         (get_displaced_stepping_state): Take an inferior pointer instead
2216         of a pid.  All callers adjusted.
2217         (displaced_step_in_progress_any_inferior): Adjust.
2218         (displaced_step_in_progress_thread): Take a thread pointer instead
2219         of a ptid_t.  All callers adjusted.
2220         (displaced_step_in_progress, add_displaced_stepping_state): Take
2221         an inferior pointer instead of a pid.  All callers adjusted.
2222         (get_displaced_step_closure_by_addr): Adjust.
2223         (remove_displaced_stepping_state): Take an inferior pointer
2224         instead of a pid.  All callers adjusted.
2225         (displaced_step_prepare_throw, displaced_step_prepare)
2226         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2227         All callers adjusted.
2228         (start_step_over): Adjust.
2229         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2230         displaced step queue.
2231         (do_target_resume): Adjust.
2232         (fetch_inferior_event): Use inferior_thread.
2233         (context_switch, get_inferior_stop_soon): Take an
2234         execution_control_state pointer instead of a ptid_t.  All callers
2235         adjusted.
2236         (switch_to_thread_cleanup): Delete.
2237         (stop_all_threads): Use scoped_restore_current_thread.
2238         * inline-frame.c: Include "gdbthread.h".
2239         (inline_state) <inline_state>: Take a thread pointer instead of a
2240         ptid_t.  All callers adjusted.
2241         <ptid>: Delete, replaced by ...
2242         <thread>: ... this new field.
2243         (find_inline_frame_state): Take a thread pointer instead of a
2244         ptid_t.  All callers adjusted.
2245         (skip_inline_frames, step_into_inline_frame)
2246         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2247         pointer instead of a ptid_t.  All callers adjusted.
2248         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2249         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2250         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2251         pointers directly.
2252         * linux-nat.c (get_detach_signal): Likewise.
2253         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2254         (thread_db_notice_clone): Adjust.
2255         (thread_db_find_new_threads_silently)
2256         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2257         a thread pointer instead of a ptid_t.  All callers adjusted.
2258         * mi/mi-cmd-var.c: Include "inferior.h".
2259         (mi_cmd_var_update_iter): Update to use thread pointers.
2260         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2261         inferior directly.
2262         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2263         out to ...
2264         (mi_output_running): ... this new function.
2265         (mi_on_resume_1): Adjust to use it.
2266         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2267         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2268         directly.
2269         (interrupt_thread_callback): : Adjust to use thread and inferior
2270         pointers.
2271         * proc-service.c: Include "gdbthread.h".
2272         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2273         * progspace-and-thread.c: Include "inferior.h".
2274         * progspace.c: Include "inferior.h".
2275         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2276         hold a reference to an inferior_object.
2277         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2278         inferior_thread.
2279         * python/py-inferior.c (struct inferior_object): Give the type a
2280         tag name instead of a typedef.
2281         (python_on_normal_stop): No need to check if the current thread is
2282         listed.
2283         (inferior_to_inferior_object): Change return type to
2284         inferior_object.  All callers adjusted.
2285         (find_thread_object): Delete, bits factored out to ...
2286         (thread_to_thread_object): ... this new function.
2287         * python/py-infthread.c (create_thread_object): Use
2288         inferior_to_inferior_object.
2289         (thpy_is_stopped): Use thread pointer directly.
2290         (gdbpy_selected_thread): Use inferior_thread.
2291         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2292         field, replaced with ...
2293         <thread>: ... this new field.  All users adjusted.
2294         (btpy_insn_or_gap_new): Drop const.
2295         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2296         callers adjusted.
2297         * python/py-record.c: Include "gdbthread.h".
2298         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2299         a ptid_t.  All callers adjusted.
2300         (gdbpy_current_recording): Use inferior_thread.
2301         * python/py-record.h (recpy_record_object) <ptid>: Delete
2302         field, replaced with ...
2303         <thread>: ... this new field.  All users adjusted.
2304         (recpy_element_object) <ptid>: Delete
2305         field, replaced with ...
2306         <thread>: ... this new field.  All users adjusted.
2307         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2308         a ptid_t.  All callers adjusted.
2309         * python/py-threadevent.c: Include "gdbthread.h".
2310         (get_event_thread): Use thread_to_thread_object.
2311         * python/python-internal.h (struct inferior_object): Forward
2312         declare.
2313         (find_thread_object, find_inferior_object): Delete declarations.
2314         (thread_to_thread_object, inferior_to_inferior_object): New
2315         declarations.
2316         * record-btrace.c: Include "inferior.h".
2317         (require_btrace_thread): Use inferior_thread.
2318         (record_btrace_frame_sniffer)
2319         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2320         (get_thread_current_frame): Use scoped_restore_current_thread and
2321         switch_to_thread.
2322         (get_thread_current_frame): Use thread pointer directly.
2323         (record_btrace_replay_at_breakpoint): Use thread's inferior
2324         pointer directly.
2325         * record-full.c: Include "inferior.h".
2326         * regcache.c: Include "gdbthread.h".
2327         (get_thread_arch_regcache): Use the inferior's address space
2328         directly.
2329         (get_thread_regcache, registers_changed_thread): New.
2330         * regcache.h (get_thread_regcache(thread_info *thread)): New
2331         overload.
2332         (registers_changed_thread): New.
2333         (remote_target) <remote_detach_1>: Swap order of parameters.
2334         (remote_add_thread): <remote_add_thread>: Return the new thread.
2335         (get_remote_thread_info(ptid_t)): New overload.
2336         (remote_target::remote_notice_new_inferior): Use thread pointers
2337         directly.
2338         (remote_target::process_initial_stop_replies): Use
2339         thread_info::set_running.
2340         (remote_target::remote_detach_1, remote_target::detach)
2341         (extended_remote_target::detach): Adjust.
2342         * stack.c (frame_show_address): Use inferior_thread.
2343         * target-debug.h (target_debug_print_thread_info_pp): New.
2344         * target-delegates.c: Regenerate.
2345         * target.c (default_thread_address_space): Delete.
2346         (memory_xfer_partial_1): Use current_inferior.
2347         (target_detach): Use current_inferior.
2348         (target_thread_address_space): Delete.
2349         (generic_mourn_inferior): Use current_inferior.
2350         * target.h (struct target_ops) <thread_address_space>: Delete.
2351         (target_thread_address_space): Delete.
2352         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2353         pointers directly.
2354         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2355         thread pointer instead of a ptid_t.  Adjust all callers.
2356         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2357         (first_thread_of_process): Delete, replaced by ...
2358         (first_thread_of_inferior): ... this new function.  All callers
2359         adjusted.
2360         (any_thread_of_process): Rename to ...
2361         (any_thread_of_inferior): ... this, and take an inferior pointer.
2362         (any_live_thread_of_process): Rename to ...
2363         (any_live_thread_of_inferior): ... this, and take an inferior
2364         pointer.
2365         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2366         (value_in_thread_stack_temporaries)
2367         (get_last_thread_stack_temporary): Take a thread pointer instead
2368         of a ptid_t.  Adjust all callers.
2369         (thread_info::set_running): New.
2370         (validate_registers_access): Use inferior_thread.
2371         (can_access_registers_ptid): Rename to ...
2372         (can_access_registers_thread): ... this, and take a thread
2373         pointer.
2374         (print_thread_info_1): Adjust to compare thread pointers instead
2375         of ptids.
2376         (switch_to_no_thread, switch_to_thread): Make extern.
2377         (scoped_restore_current_thread::~scoped_restore_current_thread):
2378         Use m_thread pointer directly.
2379         (scoped_restore_current_thread::scoped_restore_current_thread):
2380         Use inferior_thread.
2381         (thread_command): Use thread pointer directly.
2382         (thread_num_make_value_helper): Use inferior_thread.
2383         * top.c (execute_command): Use inferior_thread.
2384         * tui/tui-interp.c: Include "inferior.h".
2385         * varobj.c (varobj_create): Use inferior_thread.
2386         (value_of_root_1): Use find_thread_global_id instead of
2387         global_thread_id_to_ptid.
2388
2389 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2390
2391         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2392         possible.
2393         (regcache::write_part): Likewise.
2394         (readable_regcache::cooked_read_part): Update comment.
2395         (readable_regcache::cooked_write_part): Likewise.
2396         * regcache.h: (readable_regcache::read_part): Likewise.
2397         (regcache::write_part): Likewise.
2398
2399 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2400             Dirk Schubert  <dirk.schubert@arm.com>
2401
2402         * aarch64-linux-nat.c (post_attach): New.
2403         (aarch64_linux_nat_target::post_attach): Override post_attach to
2404         record the number of hardware debug registers.
2405
2406 2018-06-20  Tom Tromey  <tom@tromey.com>
2407
2408         * python/py-param.c (add_setshow_generic): Make parameters const.
2409         (parmpy_init): Update.
2410
2411 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2412
2413         * regcache.h (regcache_cooked_read_ftype): Rename to...
2414         (register_read_ftype): ...this, change type to function_view.
2415         (class reg_buffer) <save>: Remove src parameter.
2416         (readonly_detached_regcache) <readonly_detached_regcache>: Make
2417         parameter non-const in first overload.  Remove src parameter in
2418         second overload.
2419         * regcache.c (do_cooked_read): Remove.
2420         (readonly_detached_regcache::readonly_detached_regcache): Make
2421         parameter non-const, adjust call to other constructor.
2422         (reg_buffer::save): Remove src parameter.
2423         * frame.c (do_frame_register_read): Remove.
2424         (frame_save_as_regcache): Use lambda function.
2425         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
2426         parameter to ppu2spu_data *.
2427         (ppu2spu_sniffer): Use lambda function.
2428
2429 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2430
2431         * record-full.c (record_full_target::insert_breakpoint): Remove
2432         "struct" keyword, add const.
2433
2434 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
2435
2436         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
2437         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
2438         * configure.ac: Remove AC_PREREQ, add missing quoting.
2439         * gnulib/configure.ac: Modernize usage of
2440         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
2441         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
2442         (AUTOMAKE_VERSION): Bump to 1.15.1.
2443         * configure: Re-generate.
2444         * config.in: Re-generate.
2445         * aclocal.m4: Re-generate.
2446         * gnulib/aclocal.m4: Re-generate.
2447         * gnulib/config.in: Re-generate.
2448         * gnulib/configure: Re-generate.
2449         * gnulib/import/Makefile.in: Re-generate.
2450
2451 2018-06-19  Pedro Alves  <palves@redhat.com>
2452
2453         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
2454         (lookup_minimal_symbol_by_pc_section): ... here with
2455         gdb_assert_not_reached added.
2456
2457 2018-06-19  Pedro Alves  <palves@redhat.com>
2458
2459         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
2460         parameter with a block parameter.  Compare location's block symbol
2461         with the frame's block instead of addresses.
2462         (skip_inline_frames): Pass the current block instead of the
2463         frame's address.  Break out as soon as we determine the frame
2464         should not be skipped.
2465
2466 2018-06-18  Tom Tromey  <tom@tromey.com>
2467
2468         * solib-aix.c (solib_aix_get_section_offsets): Return
2469         unique_xmalloc_ptr.
2470         (solib_aix_solib_create_inferior_hook): Update.
2471
2472 2018-06-18  Tom Tromey  <tom@tromey.com>
2473
2474         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
2475
2476 2018-06-18  Tom Tromey  <tom@tromey.com>
2477
2478         * solib-frv.c (frv_relocate_main_executable): Use
2479         unique_xmalloc_ptr.
2480         * solib-dsbt.c (dsbt_relocate_main_executable): Use
2481         unique_xmalloc_ptr.
2482
2483 2018-06-18  Tom Tromey  <tom@tromey.com>
2484
2485         * objfiles.h (inhibit_section_map_updates): Update.
2486         (resume_section_map_updates, resume_section_map_updates_cleanup):
2487         Remove.
2488         * solib-svr4.c (svr4_handle_solib_event): Update.
2489         * objfiles.c (inhibit_section_map_updates): Return
2490         scoped_restore_tmpl<int>.
2491         (resume_section_map_updates, resume_section_map_updates_cleanup):
2492         Remove.
2493
2494 2018-06-18  Tom Tromey  <tom@tromey.com>
2495
2496         * valprint.h (read_string): Update.
2497         * valprint.c (read_string): Change type of "buffer".
2498         (val_print_string): Update.
2499         * python/py-value.c (valpy_string): Update.
2500         * language.h (struct language_defn) <la_get_string>: Change
2501         type of "buffer".
2502         (default_get_string, c_get_string): Update.
2503         * language.c (default_get_string): Change type of "buffer".
2504         * guile/scm-value.c (gdbscm_value_to_string): Update.
2505         * c-lang.c (c_get_string): Change type of "buffer".
2506
2507 2018-06-18  Tom Tromey  <tom@tromey.com>
2508
2509         * ser-mingw.c (struct pipe_state_destroyer): New.
2510         (pipe_state_up): New typedef.
2511         (cleanup_pipe_state): Remove.
2512         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
2513
2514 2018-06-18  Tom Tromey  <tom@tromey.com>
2515
2516         * rust-lang.h (rust_yyerror): Don't declare.
2517         * rust-lang.c (rust_language_defn): Update.
2518         * rust-exp.y (yyerror): Now static.
2519         * parse.c (parse_exp_in_context_1): Update.
2520         * p-lang.h (p_yyerror): Don't declare.
2521         * p-lang.c (p_language_defn): Update.
2522         * p-exp.y (yyerror): Now static.
2523         * opencl-lang.c (opencl_language_defn): Update.
2524         * objc-lang.c (objc_language_defn): Update.
2525         * m2-lang.h (m2_yyerror): Don't declare.
2526         * m2-lang.c (m2_language_defn): Update.
2527         * m2-exp.y (yyerror): Now static.
2528         * language.h (struct language_defn) <la_error>: Remove.
2529         * language.c (unk_lang_error): Remove.
2530         (unknown_language_defn, auto_language_defn): Remove.
2531         * go-lang.h (go_yyerror): Don't declare.
2532         * go-lang.c (go_language_defn): Update.
2533         * go-exp.y (yyerror): Now static.
2534         * f-lang.h (f_yyerror): Don't declare.
2535         * f-lang.c (f_language_defn): Update.
2536         * f-exp.y (yyerror): Now static.
2537         * d-lang.h (d_yyerror): Don't declare.
2538         * d-lang.c (d_language_defn): Update.
2539         * d-exp.y (yyerror): Now static.
2540         * c-lang.h (c_yyerror): Don't declare.
2541         * c-lang.c (c_language_defn, cplus_language_defn)
2542         (asm_language_defn, minimal_language_defn): Update.
2543         * c-exp.y (yyerror): Now static.
2544         * ada-lang.h (ada_yyerror): Don't declare.
2545         * ada-lang.c (ada_language_defn): Update.
2546         * ada-exp.y (yyerror): Now static.
2547
2548 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2549
2550         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
2551         (store_sveregs_to_thread): Likewise.
2552         (aarch64_linux_fetch_inferior_registers): Check for SVE.
2553         (aarch64_linux_store_inferior_registers): Likewise.
2554         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
2555         function.
2556         (aarch64_sve_regs_copy_to_regcache): Likewise.
2557         (aarch64_sve_regs_copy_from_regcache): Likewise.
2558         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
2559         declaration.
2560         (aarch64_sve_regs_copy_to_regcache): Likewise.
2561         (aarch64_sve_regs_copy_from_regcache): Likewise.
2562         (sve_context): Structure from Linux headers.
2563         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
2564         (SVE_SIG_ZREG_SIZE): Likewise.
2565         (SVE_SIG_PREG_SIZE): Likewise.
2566         (SVE_SIG_FFR_SIZE): Likewise.
2567         (SVE_SIG_REGS_OFFSET): Likewise.
2568         (SVE_SIG_ZREGS_OFFSET): Likewise.
2569         (SVE_SIG_ZREG_OFFSET): Likewise.
2570         (SVE_SIG_ZREGS_SIZE): Likewise.
2571         (SVE_SIG_PREGS_OFFSET): Likewise.
2572         (SVE_SIG_PREG_OFFSET): Likewise.
2573         (SVE_SIG_PREGS_SIZE): Likewise.
2574         (SVE_SIG_FFR_OFFSET): Likewise.
2575         (SVE_SIG_REGS_SIZE): Likewise.
2576         (SVE_SIG_CONTEXT_SIZE): Likewise.
2577         (SVE_PT_REGS_MASK): Likewise.
2578         (SVE_PT_REGS_FPSIMD): Likewise.
2579         (SVE_PT_REGS_SVE): Likewise.
2580         (SVE_PT_VL_INHERIT): Likewise.
2581         (SVE_PT_VL_ONEXEC): Likewise.
2582         (SVE_PT_REGS_OFFSET): Likewise.
2583         (SVE_PT_FPSIMD_OFFSET): Likewise.
2584         (SVE_PT_FPSIMD_SIZE): Likewise.
2585         (SVE_PT_SVE_ZREG_SIZE): Likewise.
2586         (SVE_PT_SVE_PREG_SIZE): Likewise.
2587         (SVE_PT_SVE_FFR_SIZE): Likewise.
2588         (SVE_PT_SVE_FPSR_SIZE): Likewise.
2589         (SVE_PT_SVE_FPCR_SIZE): Likewise.
2590         (__SVE_SIG_TO_PT): Likewise.
2591         (SVE_PT_SVE_OFFSET): Likewise.
2592         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
2593         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
2594         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
2595         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
2596         (SVE_PT_SVE_PREG_OFFSET): Likewise.
2597         (SVE_PT_SVE_PREGS_SIZE): Likewise.
2598         (SVE_PT_SVE_FFR_OFFSET): Likewise.
2599         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
2600         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
2601         (SVE_PT_SVE_SIZE): Likewise.
2602         (SVE_PT_SIZE): Likewise.
2603         (HAS_SVE_STATE): New define.
2604
2605 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2606
2607         * nat/aarch64-sve-linux-sigcontext.h: New file.
2608         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
2609         new files.
2610         (SVE_VQ_MIN): Likewise.
2611         (SVE_VQ_MAX): Likewise.
2612         (SVE_VL_MIN): Likewise.
2613         (SVE_VL_MAX): Likewise.
2614         (SVE_NUM_ZREGS): Likewise.
2615         (SVE_NUM_PREGS): Likewise.
2616         (sve_vl_valid): Likewise.
2617         (struct user_sve_header): Likewise.
2618
2619 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
2620             Richard Bunt <Richard.Bunt@arm.com>
2621
2622         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
2623         was requested by GDB.
2624
2625 2018-06-15  Tom de Vries  <tdevries@suse.de>
2626
2627         * MAINTAINERS (Write After Approval): Add Tom de Vries.
2628
2629 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
2630
2631         * gnulib/update-gnulib.sh: Print expected versions of
2632         autoconf/aclocal.
2633
2634 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
2635
2636         * arch-utils.c (default_type_align): Use type_length_units.
2637         * gdbtypes.c (type_align): Use type_length_units.
2638
2639 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2640
2641         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
2642         of 'define' command.
2643
2644 2018-06-14  Tom de Vries  <tdevries@suse.de>
2645
2646         PR cli/22573
2647         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
2648         get_no_prettyformat_print_options.
2649
2650 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
2651
2652         * sparc-nat.h: Include target.h.
2653         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
2654         <fetch_registers>: Remove this argument in function call.
2655         <store_registers>: Remove this argument in function call, remove
2656         extra semicolon.
2657         <low_forget_process>: Call sparc64_forget_process instead of
2658         sparc_forget_process.
2659
2660 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2661
2662         * procfs.c (_initialize_procfs): Use add_inf_child_target.
2663         (procfs_target::make_corefile_notes): Adjust to new
2664         target_read_alloc return type.
2665
2666 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2667             Stephen Roberts  <stephen.roberts@arm.com>
2668
2669         PR gdb/22882
2670         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
2671         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
2672         Move should_notify_stop local into more inner scope.
2673
2674 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2675             Stephen Roberts  <stephen.roberts@arm.com>
2676
2677         PR gdb/22882
2678         * infrun.c (resume_1): Add call to mark_async_event_handler.
2679
2680 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2681
2682         * infrun.c (do_target_wait): Change old version of $pc printed.
2683
2684 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
2685
2686         * dwarf2read.c (read_index_from_section): Rename to...
2687         (read_gdb_index_from_section): ... this, update all callers.
2688         (dwarf2_read_index): Rename to...
2689         (dwarf2_read_gdb_index): ... this, update all callers.
2690
2691 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
2692
2693         * gdb/hppa-linux-nat.c
2694         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
2695         hppa_linux_nat_target::fetch_registers.
2696
2697 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2698
2699         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
2700         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
2701         (AARCH64_DWARF_SVE_FFR): Likewise.
2702         (AARCH64_DWARF_SVE_P0): Likewise.
2703         (AARCH64_DWARF_SVE_Z0): Likewise.
2704
2705 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2706
2707         * common/common-regcache.h (raw_compare): New function.
2708         * regcache.c (regcache::raw_compare): Likewise.
2709         * regcache.h (regcache::raw_compare): New declaration.
2710
2711 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2712
2713         * common/common-regcache.h (reg_buffer_common): New structure.
2714         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
2715         (reg_buffer::raw_supply): Likewise.
2716         (reg_buffer::raw_supply_integer): Likewise.
2717         (reg_buffer::raw_supply_zeroed): Likewise.
2718         (reg_buffer::raw_collect): Likewise.
2719         (reg_buffer::raw_collect_integer): Likewise.
2720         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
2721         (reg_buffer::raw_supply): Likewise.
2722         (reg_buffer::raw_supply_integer): Likewise.
2723         (reg_buffer::raw_supply_zeroed): Likewise.
2724         (reg_buffer::raw_collect): Likewise.
2725         (reg_buffer::raw_collect_integer): Likewise.
2726
2727 2018-06-10  Tom Tromey  <tom@tromey.com>
2728
2729         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
2730         (class remote_state) <stop_reply_queue>: Now std::vector.
2731         (remote_state::~remote_state)
2732         (remote_target::stop_reply_queue_length): Update.
2733         (struct queue_iter_param, remove_child_of_pending_fork)
2734         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
2735         (check_pending_event_prevents_wildcard_vcont_callback)
2736         (remove_stop_reply_for_inferior)
2737         (remove_stop_reply_of_remote_state)
2738         (remote_notif_remove_once_on_match)
2739         (stop_reply_match_ptid_and_ws)
2740         (remote_kill_child_of_pending_fork): Remove.
2741         (remote_target::remove_new_fork_children)
2742         (remote_target::check_pending_events_prevent_wildcard_vcont)
2743         (remote_target::discard_pending_stop_replies)
2744         (remote_target::discard_pending_stop_replies_in_queue)
2745         (remote_target::remote_notif_remove_queued_reply)
2746         (remote_target::queued_stop_reply)
2747         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
2748         (remote_target::wait, remote_target::kill_new_fork_children)
2749         (remote_target::async): Update.
2750
2751 2018-06-10  Tom Tromey  <tom@tromey.com>
2752
2753         * record-full.c (record_full_arch_list_cleanups): Remove.
2754         (record_full_message): Use try/catch.
2755         (record_full_wait_cleanups): Remove.
2756         (record_full_wait_1): Use try/catch.
2757         (record_full_restore): Likewise.
2758
2759 2018-06-10  Tom Tromey  <tom@tromey.com>
2760
2761         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
2762         declare VEC.  Add constructor.
2763         <in_target_beneath>: Now bool.
2764         (record_full_breakpoints): Now a std::vector, static.
2765         (record_full_sync_record_breakpoints)
2766         (record_full_init_record_breakpoints)
2767         (record_full_target::insert_breakpoint)
2768         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
2769
2770 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
2771
2772         * dwarf2read.c (process_cu_includes): Remove struct keyword.
2773         * serial.c (serial_interface_lookup): Remove struct keyword.
2774
2775 2018-06-10  Tom Tromey  <tom@tromey.com>
2776
2777         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
2778         method.
2779         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
2780         a method.
2781         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
2782         method.
2783         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
2784         "beneath" as a method.
2785         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
2786         Use "beneath" as a method.
2787
2788 2018-06-10  Tom Tromey  <tom@tromey.com>
2789
2790         * tracefile.c (struct trace_file_writer_deleter): New.
2791         <operator()>: Rename from trace_file_writer_xfree.
2792         (trace_file_writer_up): New typedef.
2793         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
2794
2795 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2796
2797         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
2798         <m_registers, m_register_status>: Change type to
2799         std::unique_ptr.
2800         * regcache.c (reg_buffer::reg_buffer): Use new instead of
2801         XCNEWVEC.
2802
2803 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2804
2805         * common/common-regcache.h (enum register_status): Add
2806         underlying type "signed char".
2807         * regcache.h (reg_buffer) <m_register_status>: Change type to
2808         register_status *.
2809         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
2810         register_status instead of signed char.
2811         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
2812         (reg_buffer::get_register_status): Remove cast.
2813         (readable_regcache::raw_read): Remove cast.
2814         (readable_regcache::cooked_read): Remove cast.
2815
2816 2018-06-09  Tom Tromey  <tom@tromey.com>
2817
2818         * source.c (reverse_search_command, forward_search_command): Use
2819         scoped_fd.
2820
2821 2018-06-09  Tom Tromey  <tom@tromey.com>
2822
2823         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
2824         (serial_ops_list): Now static, std::vector.
2825         (serial_interface_lookup, serial_add_interface): Update.
2826
2827 2018-06-09  Tom Tromey  <tom@tromey.com>
2828
2829         * dwarf2read.c (process_cu_includes): Update.
2830         (process_full_comp_unit): Update.
2831         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
2832         std::vector.
2833
2834 2018-06-08  Paul Koning  <paul_koning@dell.com>
2835
2836         PR gdb/23252
2837
2838         * python/python.c (do_start_initialization):
2839         Avoid call to internal Python API.
2840         (init__gdb_module): New function.
2841
2842 2018-06-08  Gary Benson <gbenson@redhat.com>
2843
2844         * linux-thread-db.c (valprint.h): New include.
2845         (struct check_thread_db_info): New structure.
2846         (check_thread_db_on_load, tdb_testinfo): New static globals.
2847         (check_thread_db, check_thread_db_callback): New functions.
2848         (try_thread_db_load_1): Run integrity checks if requested.
2849         (maintenance_check_libthread_db): New function.
2850         (_initialize_thread_db): Register "maint check libthread-db"
2851         and "maint set/show check-libthread-db".
2852         * NEWS: Mention the above new commands.
2853
2854 2018-06-08  Tom Tromey  <tom@tromey.com>
2855
2856         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
2857         now a method.
2858
2859 2018-06-08  Tom Tromey  <tom@tromey.com>
2860
2861         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
2862
2863 2018-06-08  Tom Tromey  <tom@tromey.com>
2864
2865         * common/btrace-common.h (struct btrace_data): Add constructor,
2866         destructor, move assignment operator.
2867         <empty, clear, fini>: New methods.
2868         <format>: Initialize.
2869         (btrace_data_init, btrace_data_fini, btrace_data_clear)
2870         (btrace_data_empty): Don't declare.
2871         * common/btrace-common.c (btrace_data_init): Remove.
2872         (btrace_data::fini): Rename from btrace_data_fini.
2873         (btrace_data::empty): Rename from btrace_data_empty.
2874         (btrace_data::clear): Rename from btrace_data_clear.  Return
2875         bool.
2876         * btrace.h (make_cleanup_btrace_data): Don't declare.
2877         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
2878         (parse_xml_btrace): Update.
2879         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
2880         (maint_btrace_clear_packet_history_cmd): Update.
2881
2882 2018-06-07  Pedro Alves  <palves@redhat.com>
2883
2884         * target.h (target_ops) <beneath>: Now a method.  All references
2885         updated.
2886         (class target_stack): New.
2887         * target.c (g_target_stack): New.
2888         (g_current_top_target): Delete.
2889         (current_top_target): Get the top target out of g_target_stack.
2890         (target_stack::push, target_stack::unpush): New.
2891         (push_target, unpush_target): Reimplement.
2892         (target_is_pushed): Reimplement in terms of g_target_stack.
2893         (target_ops::beneath, target_stack::find_beneath): New.
2894
2895 2018-06-07  Pedro Alves  <palves@redhat.com>
2896
2897         * target.h (find_target_beneath): Delete declaration.
2898         * target.c (find_target_beneath): Delete definition.
2899         * aix-thread.c: All callers of find_target_beneath adjusted to
2900         call target_ops::beneath instead.
2901         * bsd-uthread.c: Likewise.
2902         * linux-thread-db.c: Likewise.
2903         * ravenscar-thread.c: Likewise.
2904         * sol-thread.c: Likewise.
2905         * spu-multiarch.c: Likewise.
2906
2907 2018-06-07  Pedro Alves  <palves@redhat.com>
2908
2909         * target.h (target_ops) <beneath>: Now a method.  All references
2910         updated.
2911         (target_ops) <m_beneath>: New.
2912         * target.c (target_ops::beneath): New.
2913         * corelow.c: Adjust all references to target_ops::beneath.
2914         * linux-thread-db.c: Likewise.
2915         * make-target-delegates: Likewise.
2916         * record-btrace.c: Likewise.
2917         * record-full.c: Likewise.
2918         * remote.c: Likewise.
2919         * target.c: Likewise.
2920         * target-delegates.c: Regenerate.
2921
2922 2018-06-07  Pedro Alves  <palves@redhat.com>
2923
2924         * target.h (target_stack): Delete.
2925         (current_top_target): Declare function.
2926         * target.c (target_stack): Delete.
2927         (g_current_top_target): New.
2928         (current_top_target): New function.
2929         * auxv.c: Use current_top_target instead of target_stack
2930         throughout.
2931         * avr-tdep.c: Likewise.
2932         * breakpoint.c: Likewise.
2933         * corefile.c: Likewise.
2934         * elfread.c: Likewise.
2935         * eval.c: Likewise.
2936         * exceptions.c: Likewise.
2937         * frame.c: Likewise.
2938         * gdbarch-selftests.c: Likewise.
2939         * gnu-v3-abi.c: Likewise.
2940         * ia64-tdep.c: Likewise.
2941         * ia64-vms-tdep.c: Likewise.
2942         * infcall.c: Likewise.
2943         * infcmd.c: Likewise.
2944         * infrun.c: Likewise.
2945         * linespec.c: Likewise.
2946         * linux-tdep.c: Likewise.
2947         * minsyms.c: Likewise.
2948         * ppc-linux-nat.c: Likewise.
2949         * ppc-linux-tdep.c: Likewise.
2950         * procfs.c: Likewise.
2951         * regcache.c: Likewise.
2952         * remote.c: Likewise.
2953         * rs6000-tdep.c: Likewise.
2954         * s390-linux-nat.c: Likewise.
2955         * s390-tdep.c: Likewise.
2956         * solib-aix.c: Likewise.
2957         * solib-darwin.c: Likewise.
2958         * solib-dsbt.c: Likewise.
2959         * solib-spu.c: Likewise.
2960         * solib-svr4.c: Likewise.
2961         * solib-target.c: Likewise.
2962         * sparc-tdep.c: Likewise.
2963         * sparc64-tdep.c: Likewise.
2964         * spu-tdep.c: Likewise.
2965         * symfile.c: Likewise.
2966         * symtab.c: Likewise.
2967         * target-descriptions.c: Likewise.
2968         * target-memory.c: Likewise.
2969         * target.c: Likewise.
2970         * target.h: Likewise.
2971         * tracefile-tfile.c: Likewise.
2972         * tracepoint.c: Likewise.
2973         * valops.c: Likewise.
2974         * valprint.c: Likewise.
2975         * value.c: Likewise.
2976         * windows-tdep.c: Likewise.
2977         * mi/mi-main.c: Likewise.
2978
2979 2018-06-07  Tom Tromey  <tom@tromey.com>
2980
2981         * valprint.h (build_address_symbolic): Declare.
2982         * printcmd.c (print_address_symbolic): Update.
2983         (build_address_symbolic): Change "name" and "filename" to
2984         std::string.
2985         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
2986         Update.
2987         * defs.h (build_address_symbolic): Remove declaration.
2988
2989 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
2990
2991         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
2992         (aarch64_vnv_type): Add function.
2993         (aarch64_pseudo_register_name): Add V regs for SVE.
2994         (aarch64_pseudo_register_type): Likewise.
2995         (aarch64_pseudo_register_reggroup_p): Likewise.
2996         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
2997         (aarch64_pseudo_read_value): Add V regs for SVE.
2998         (aarch64_pseudo_write_2): Use V0 offset for SVE
2999         (aarch64_pseudo_write): Add V regs for SVE.
3000         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
3001
3002 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
3003
3004         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
3005         (sve_vl_from_vq): Likewise.
3006
3007 2018-06-05  Tom Tromey  <tom@tromey.com>
3008
3009         * cli/cli-cmds.c (show_version): Update.
3010         * top.c (print_gdb_version): Add "interactive" parameter.
3011         Update.
3012         * main.c (captured_main_1): Update.
3013         * top.h (print_gdb_version): Add "interactive" parameter and a
3014         comment.
3015
3016 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
3017
3018         * common/enum-flags.h: Add trailing semicolon to example in
3019         comment.
3020
3021 2018-06-05  Tom Tromey  <tom@tromey.com>
3022
3023         PR cli/12326:
3024         * NEWS: Add entry about pager.
3025         * utils.c (pagination_disabled_for_command): New global.
3026         (prompt_for_continue): Allow "c" response to prompt.
3027         (reinitialize_more_filter): Clear
3028         pagination_disabled_for_command.
3029         (fputs_maybe_filtered): Check pagination_disabled_for_command.
3030
3031 2018-06-04  Tom Tromey  <tom@tromey.com>
3032
3033         * ada-lang.h (ada_lookup_symbol_list): Update.
3034         * ada-lang.c (resolve_subexp): Update.
3035         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3036         parameter.
3037         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3038         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3039         results parameter to std::vector.
3040         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3041         Update.
3042         * ada-exp.y (block_lookup): Update.
3043         (select_possible_type_sym): Change type of syms.  Remove nsyms
3044         parameter.
3045         (write_var_or_type, write_name_assoc): Update.
3046
3047 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3048
3049         * windows-nat.c (windows_nat_target::xfer_partial): Return
3050         TARGET_XFER_E_IO if we need to delegate to the target beneath
3051         but BENEATH is NULL.
3052
3053 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3054
3055         * Makefile.in (config.status): Add configure.nat as a
3056         dependency.
3057
3058 2018-06-04  Tom Tromey  <tom@tromey.com>
3059
3060         * cp-name-parser.y (cpname_state): Add method declarations.
3061         (HANDLE_QUAL): Update.
3062         (cpname_state::d_grab, cpname_state::fill_comp)
3063         (cpname_state::make_operator, cpname_state::make_dtor)
3064         (cpname_state::make_builtin_type, cpname_state::make_name)
3065         (cpname_state::d_qualify, cpname_state::d_int_type)
3066         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3067         (%union): Move earlier.
3068
3069 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3070
3071         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3072
3073 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3074
3075         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3076         (aarch64_pseudo_write_1): Likewise.
3077         (aarch64_pseudo_read_value): Use helper.
3078         (aarch64_pseudo_write): Likewise.
3079
3080 2018-06-04  Pedro Alves  <palves@redhat.com>
3081
3082         * darwin-nat.c (darwin_ops): Delete.
3083         (darwin_attach_pid): Use get_native_target.
3084
3085 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3086
3087         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3088         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3089
3090 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3091
3092         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3093         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3094         (aarch64_gdbarch_init): Check for SVE.
3095         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3096
3097 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3098
3099         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3100         * aarch64-tdep.h (aarch64_read_description): Likewise.
3101         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3102         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3103         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3104         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3105         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3106
3107 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3108
3109         * value.c (value_fetch_lazy_bitfield): New.
3110         (value_fetch_lazy_memory): New.
3111         (value_fetch_lazy_register): New.
3112         (value_fetch_lazy): Factor out to smaller functions.
3113
3114 2018-06-01  Tom Tromey  <tom@tromey.com>
3115
3116         * cp-name-parser.y (backslashable, represented): Now const.
3117
3118 2018-06-01  Tom Tromey  <tom@tromey.com>
3119
3120         * cp-name-parser.y: Include parser-defs.h.
3121         (parser_fprintf): Remove declaration.
3122
3123 2018-06-01  Tom Tromey  <tom@tromey.com>
3124
3125         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3126         %parse-param.
3127         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3128         (global_result): Remove globals.
3129         (struct cpname_state): New.
3130         (yyparse): Don't declare.
3131         (yylex, yyerror): Move declarations after %union.
3132         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3133         (make_name): Add state parameter.
3134         Update all callers.
3135         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3136         parameter.
3137         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3138         Update.
3139         (yylex): Add lvalp, state parameters.
3140         (yyerror): Add state parameter.
3141         (cp_demangled_name_to_comp): Update.
3142
3143 2018-06-01  Tom Tromey  <tom@tromey.com>
3144
3145         * cp-name-parser.y (parser_fprintf): Declare.
3146         (GDB_YY_REMAP_PREFIX): Define.
3147         Include yy-remap.h.  Don't redefine yy* identifiers.
3148
3149 2018-06-01  Tom Tromey  <tom@tromey.com>
3150
3151         * python/py-type.c (typy_legacy_template_argument): Update.
3152         * cp-support.h (cp_demangled_name_to_comp): Update.
3153         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3154         parameter to be a "std::string *".
3155         (main): Update.
3156
3157 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3158
3159         * ada-lex.l: Include "diagnostics.h" instead of
3160         "common/diagnostics.h".
3161         * unittests/environ-selftests.c: Likewise.
3162         * common/diagnostics.h: Moved to ../include.
3163
3164 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3165
3166         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3167         to language_mode_manual while calling breakpoint_re_set_one.
3168
3169 2018-06-01  Tom Tromey  <tom@tromey.com>
3170
3171         * valops.c (value_cast_structs, destructor_name_p): Update.
3172         * symtab.c (gdb_mangle_name): Update.
3173         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3174         Update.
3175         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3176         (pascal_object_print_value_fields, pascal_object_print_value):
3177         Update.
3178         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3179         * linespec.c (find_methods): Update.
3180         * gdbtypes.h (type_name_no_tag): Remove.
3181         (type_name_or_error): Rename from type_name_no_tag_or_error.
3182         * gdbtypes.c (type_name_no_tag): Remove.
3183         (type_name_or_error): Rename from type_name_no_tag_or_error.
3184         (lookup_struct_elt_type, check_typedef): Update.
3185         * expprint.c (print_subexp_standard): Update.
3186         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3187         * d-namespace.c (d_lookup_nested_symbol): Update.
3188         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3189         (cp_print_class_member): Update.
3190         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3191         * completer.c (add_struct_fields): Update.
3192         * c-typeprint.c (cp_type_print_derivation_info)
3193         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3194         Update.
3195         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3196         (ada_prefer_type, ada_is_exception_sym): Update.
3197
3198 2018-06-01  Tom Tromey  <tom@tromey.com>
3199
3200         * valops.c (enum_constant_from_type, value_namespace_elt)
3201         (value_maybe_namespace_elt): Update.
3202         * valarith.c (find_size_for_pointer_math): Update.
3203         * target-descriptions.c (make_gdb_type): Update.
3204         * symmisc.c (print_symbol): Update.
3205         * stabsread.c (define_symbol, read_type)
3206         (complain_about_struct_wipeout, add_undefined_type)
3207         (cleanup_undefined_types_1): Update.
3208         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3209         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3210         (rust_internal_print_type, rust_composite_type)
3211         (rust_evaluate_funcall, rust_evaluate_subexp)
3212         (rust_inclusive_range_type_p): Update.
3213         * python/py-type.c (typy_get_tag): Update.
3214         * p-typeprint.c (pascal_type_print_base): Update.
3215         * mdebugread.c (parse_symbol, parse_type): Update.
3216         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3217         Update.
3218         * guile/scm-type.c (gdbscm_type_tag): Update.
3219         * go-lang.c (sixg_string_p): Update.
3220         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3221         Update.
3222         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3223         (TYPE_TAG_NAME): Remove.
3224         * gdbtypes.c (type_name_no_tag): Simplify.
3225         (check_typedef, check_types_equal, recursive_dump_type)
3226         (copy_type_recursive, arch_composite_type): Update.
3227         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3228         in summary mode when needed.
3229         * eval.c (evaluate_funcall): Update.
3230         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3231         (process_structure_scope, read_enumeration_type)
3232         (read_namespace_type, read_module_type, determine_prefix): Update.
3233         * cp-support.c (inspect_type): Update.
3234         * coffread.c (process_coff_symbol, decode_base_type): Update.
3235         * c-varobj.c (c_is_path_expr_parent): Update.
3236         * c-typeprint.c (c_type_print_base_struct_union): Update.
3237         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3238         summary when using C language.
3239         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3240         (gen_maybe_namespace_elt): Update.
3241         * ada-lang.c (ada_type_name): Simplify.
3242         (empty_record, ada_template_to_fixed_record_type_1)
3243         (template_to_static_fixed_type)
3244         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3245
3246 2018-06-01  Tom Tromey  <tom@tromey.com>
3247
3248         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3249         c_print_type.
3250         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3251         (c_print_type): Update.
3252         (c_print_type): New overload.
3253         (c_type_print_varspec_prefix, c_type_print_args)
3254         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3255         (c_type_print_base_struct_union, c_type_print_base_1)
3256         (cp_type_print_method_args): Add "language" parameter.
3257         (c_type_print_base): Update.
3258         * c-lang.h (c_print_type): Add new overload.
3259
3260 2018-06-01  Tom Tromey  <tom@tromey.com>
3261
3262         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3263         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3264
3265 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3266
3267         * aarch64-tdep.c (aarch64_sve_register_names): New const
3268         var.
3269         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3270         (AARCH64_SVE_Z_REGS_NUM): New define.
3271         (AARCH64_SVE_P_REGS_NUM): Likewise.
3272         (AARCH64_SVE_NUM_REGS): Likewise.
3273
3274 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3275
3276         * nat/linux-ptrace.h [__alpha__]
3277         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3278         definitions.
3279
3280 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3281
3282         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3283         the endianness selected.
3284         * NEWS: Document `set endian auto' mode operation update.
3285
3286 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3287
3288         * Makefile.in: Add new header.
3289         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3290         (sve_vl_from_vg): Likewise.
3291         (sve_vq_from_vl): Likewise.
3292         (sve_vl_from_vq): Likewise.
3293         (sve_vq_from_vg): Likewise.
3294         (sve_vg_from_vq): Likewise.
3295         * configure.nat: Add new c file.
3296         * nat/aarch64-sve-linux-ptrace.c: New file.
3297         * nat/aarch64-sve-linux-ptrace.h: New file.
3298
3299 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3300
3301         * aarch64-linux-nat.c (aarch64_linux_read_description):
3302         Add parmeter zero.
3303         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3304         Likewise.
3305         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3306         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3307         (aarch64_gdbarch_init): Add parmeter zero.
3308         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3309         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3310         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3311         parmeter.
3312         * doc/gdb.texinfo: Describe SVE feature
3313         * features/aarch64-sve.c: New file.
3314
3315 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3316
3317         PR gdb/23210
3318         * gdbarch.sh (significant_addr_bit): Default to zero when
3319         not set by target architecture.
3320         * gdbarch.c: Re-generated.
3321         * utils.c (address_significant): Update.
3322
3323 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3324
3325         * stack.c (func_command): Remove trailing newline in call to error.
3326
3327 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3328
3329         * regcache.h (regcache_raw_collect): Remove, update callers to
3330         use regcache::raw_collect.
3331         * regcache.c (regcache_raw_collect): Remove.
3332
3333 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3334
3335         * regcache.h (regcache_raw_supply): Remove, update callers to
3336         use detached_regcache::raw_supply.
3337         * regcache.c (regcache_raw_supply): Remove.
3338
3339 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3340
3341         * regcache.h (regcache_cooked_write_part): Remove, update
3342         callers to use regcache::cooked_write_part.
3343         * regcache.c (regcache_cooked_write_part): Remove.
3344
3345 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3346
3347         * regcache.h (regcache_cooked_read_part): Remove, update callers
3348         to use readable_regcache::cooked_read_part.
3349         * regcache.c (regcache_cooked_read_part): Remove.
3350
3351 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3352
3353         * regcache.h (regcache_cooked_read_value): Remove, update
3354         callers to use readable_regcache::cooked_read_value.
3355         * regcache.c (regcache_cooked_read_value): Remove.
3356
3357 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3358
3359         * regcache.h (regcache_cooked_write): Remove, update callers to
3360         use regcache::cooked_write.
3361         * regcache.c (regcache_cooked_write): Remove.
3362
3363 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3364
3365         * regcache.h (regcache_invalidate): Remove, update callers to
3366         use detached_regcache::invalidate instead.
3367         * regcache.c (regcache_invalidate): Remove.
3368
3369 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3370
3371         * regcache.h (regcache_raw_write_part): Remove, update callers
3372         to use regcache::raw_write_part instead.
3373         * regcache.c (regcache_raw_write_part): Remove.
3374
3375 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3376
3377         * regcache.h (regcache_raw_read_part): Remove, update callers to
3378         use readable_regcache::raw_read_part instead.
3379         * regcache.c (regcache_raw_read_part): Remove.
3380
3381 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3382
3383         * regcache.h (regcache_cooked_read): Remove, update callers to
3384         use readable_regcache::cooked_read instead.
3385         * regcache.c (regcache_cooked_read): Remove.
3386
3387 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3388
3389         * regcache.h (regcache_raw_write): Remove, update callers to use
3390         regcache::raw_write instead.
3391         * regcache.c (regcache_raw_write): Remove.
3392
3393 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3394
3395         * regcache.h (regcache_raw_read): Remove, update callers to use
3396         readable_regcache::raw_read instead.
3397         * regcache.c (regcache_raw_read): Remove.
3398
3399 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3400
3401         * regcache.h (regcache_raw_update): Remove, update callers to
3402         use readable_regcache::raw_update instead.
3403         * regcache.c (regcache_raw_update): Remove.
3404
3405 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3406
3407         * regcache.h (regcache_register_status): Remove, update callers
3408         to use reg_buffer::get_register_status directly instead.
3409         * regcache.c (regcache_register_status): Remove.
3410
3411 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3412
3413         * regcache.h (regcache_get_ptid): Remove, update all callers to
3414         call regcache::ptid instead.
3415         * regcache.c (regcache_get_ptid): Remove.
3416
3417 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3418
3419         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
3420
3421 2018-05-30  Pedro Alves  <palves@redhat.com>
3422
3423         * common/common-exceptions.h (exception_rethrow): Use
3424         ATTRIBUTE_NORETURN.
3425
3426 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
3427
3428         * breakpoint.c (print_solib_event, check_status_catch_solib):
3429         Remove struct keyword in range-based for loops.
3430         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
3431         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
3432         Likewise.
3433         * linespec.c (find_superclass_methods, search_minsyms_for_name):
3434         Likewise.
3435         * symfile.c (addr_info_make_relative): Likewise.
3436         * thread.c (value_in_thread_stack_temporaries): Likewise.
3437
3438 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
3439
3440         PR gdb/16841
3441         * valops.c (value_struct_elt_for_reference): Call check_typedef on
3442         aggregate type to get its real type before accessing it.
3443
3444 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
3445
3446         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
3447         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
3448         * coff-pe-read.c (add_pe_forwarded_sym): Replace
3449         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
3450         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
3451         * jit.c (jit_breakpoint_re_set_internal): Likewise.
3452         * printcmd.c (info_address_command): Likewise.
3453
3454 2018-05-29  Tom Tromey  <tom@tromey.com>
3455
3456         * windows-nat.c (handle_exception): Update fall-through comment.
3457
3458 2018-05-29  Tom Tromey  <tom@tromey.com>
3459
3460         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
3461         (struct program_space) <added_solibs>: Now a std::vector.
3462         * breakpoint.c (print_solib_event): Update.
3463         (check_status_catch_solib): Update.
3464         * progspace.c (clear_program_space_solib_cache): Update.
3465         * solib.c (update_solib_list): Update.
3466
3467 2018-05-29  Tom Tromey  <tom@tromey.com>
3468
3469         * python/py-type.c (typy_richcompare): Update.
3470         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
3471         * gdbtypes.h (types_deeply_equal): Return bool.
3472         (types_equal): Likewise.
3473         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
3474         declare VEC.
3475         (check_types_equal): Change worklist to std::vector.  Return
3476         bool.
3477         (struct type_equality_entry): Add constructor.
3478         (compare_maybe_null_strings): Return bool.
3479         (check_types_worklist): Return bool.  Change worklist to
3480         std::vector.
3481         (types_deeply_equal): Use std::vector.
3482         (types_equal): Return bool.
3483         (compare_maybe_null_strings): Simplify.
3484
3485 2018-05-29  Tom Tromey  <tom@tromey.com>
3486
3487         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
3488
3489 2018-05-29  Tom Tromey  <tom@tromey.com>
3490
3491         * objc-lang.h: Don't include cp-support.h.
3492         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
3493         declare VEC.
3494
3495 2018-05-27  Tom Tromey  <tom@tromey.com>
3496
3497         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
3498
3499 2018-05-25  Tom Tromey  <tom@tromey.com>
3500
3501         * value.c (value::location): Initialize.
3502
3503 2018-05-25  Tom Tromey  <tom@tromey.com>
3504
3505         * dbxread.c (init_bincl_list): Remove.
3506         (bincl_list): Now a std::vector.
3507         (bincls_allocated, next_bincl): Remove.
3508         (free_bincl_list, do_free_bincl_list_cleanup)
3509         (make_cleanup_free_bincl_list): Remove.
3510         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
3511         unique_xmalloc_ptr.
3512         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
3513         (struct header_file_location): Add constructor.
3514         (add_bincl_to_list): Remove.
3515
3516 2018-05-25  Tom Tromey  <tom@tromey.com>
3517
3518         * tui/tui.c (tui_enable): Update.
3519         * mi/mi-interp.c (mi_interp::init): Update.
3520         * interps.h (class interp) <name>: New method.
3521         <m_name>: Rename from name.
3522         (~scoped_restore_interp): Update.
3523         * interps.c (interp::interp): Update.
3524         (interp_add, interp_set, interp_lookup_existing)
3525         (current_interp_named_p): Update.
3526
3527 2018-05-25  Tom Tromey  <tom@tromey.com>
3528
3529         * interps.c (interp_name): Remove.
3530         * mi/mi-interp.c (mi_interp::init): Update.
3531         * interps.h (interp_name): Remove.
3532         (~scoped_restore_interp): Update.
3533         * tui/tui.c (tui_enable): Update.
3534
3535 2018-05-25  Tom Tromey  <tom@tromey.com>
3536
3537         * utils.c (fputs_maybe_filtered): Update.
3538         * linespec.c (decode_line_full): Update.
3539         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
3540         (mi_print_breakpoint_for_event, mi_solib_loaded)
3541         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
3542         (mi_user_selected_context_changed): Update.
3543         * mi/mi-main.c (mi_execute_command): Update.
3544         * cli/cli-script.c (execute_control_command): Update.
3545         * python/python.c (execute_gdb_command): Update.
3546         * solib.c (info_sharedlibrary_command): Update.
3547         * interps.c (interp_ui_out): Remove.
3548         * interps.h (interp_ui_out): Remove.
3549
3550 2018-05-25  Tom Tromey  <tom@tromey.com>
3551
3552         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
3553         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
3554         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
3555
3556 2018-05-25  Tom Tromey  <tom@tromey.com>
3557
3558         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
3559         * interps.c (interp_exec): Use scoped_restore.
3560
3561 2018-05-25  Tom Tromey  <tom@tromey.com>
3562
3563         * remote.c (remote_target::remote_file_get): Use
3564         gdb::byte_vector.
3565         (remote_target::remote_file_put): Likewise.
3566
3567 2018-05-25  Tom Tromey  <tom@tromey.com>
3568
3569         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
3570         a std::string.
3571         (get_pe_section_index, add_pe_exported_sym): Update.
3572         (read_pe_exported_syms): Use gdb::def_vector.
3573
3574 2018-05-25  Tom Tromey  <tom@tromey.com>
3575
3576         * frame.c (remove_prev_frame): Remove.
3577         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
3578
3579 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
3580
3581         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
3582         Remove prototypes.
3583         * mips-linux-nat.c (supply_fpregset): Always call
3584         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
3585         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
3586         `mips_fill_fpregset'.
3587         * mips-linux-tdep.c (mips_supply_fpregset)
3588         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
3589         (mips_fill_fpregset_wrapper): Remove functions.
3590         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
3591         (mips_linux_fpregset): Remove variable.
3592         (mips_linux_iterate_over_regset_sections): Use
3593         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
3594         (mips_linux_o32_sigframe_init): Remove comment.
3595
3596 2018-05-25  Pedro Alves  <palves@redhat.com>
3597
3598         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
3599         (struct readahead_cache, struct packet_reg, struct
3600         remote_arch_state, class remote_state): Move higher up in the
3601         file.
3602         (remote_target::m_remote_state): Now an object instead of a pointer.
3603         (remote_target::get_remote_state): Adjust.
3604
3605 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3606
3607         * stack.c (select_and_print_frame): Delete.
3608         (struct function_bounds): Move struct within function.
3609         (func_command): Most content moved into new function
3610         find_frame_for_function, use new function, print result, add
3611         function comment.
3612         (find_frame_for_function): New function, now returns a result.
3613
3614 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3615
3616         * stack.c (iterate_over_block_arg_vars): Fix comment.
3617         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
3618
3619 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3620
3621         PR gdb/23203
3622         * frame.c
3623         (scoped_restore_selected_frame::scoped_restore_selected_frame):
3624         Define.
3625         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
3626         Define.
3627         * frame.h (class scoped_restore_selected_frame): New class.
3628         * stack.c (print_frame_local_vars): Remove catching and rethrowing
3629         of any exception, use scoped_restore_selected_frame to restore the
3630         frame instead.
3631
3632 2018-05-24  Pedro Alves  <palves@redhat.com>
3633
3634         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
3635         override.
3636
3637 2018-05-23  Tom Tromey  <tom@tromey.com>
3638
3639         * complaints.c (struct complaints): Remove.
3640         (symfile_complaint_book): Remove.
3641         (series): New global.
3642         (complaint_internal): Update.
3643         (clear_complaints): Update.
3644
3645 2018-05-23  Tom Tromey  <tom@tromey.com>
3646
3647         * complaints.c (counters): New global.
3648         (struct complain): Remove.
3649         (struct complaints) <root>: Remove.
3650         (complaint_sentinel): Remove.
3651         (symfile_complaint_book): Update.
3652         (find_complaint) Remove.
3653         (complaint_internal, clear_complaints): Update.
3654
3655 2018-05-23  Tom Tromey  <tom@tromey.com>
3656
3657         * complaints.c (struct complain) <file, line>: Remove.
3658         (find_complaint): Remove file, line parameters.
3659         (complaint_internal): Update.
3660
3661 2018-05-23  Tom Tromey  <tom@tromey.com>
3662
3663         * complaints.c (vcomplaint): Remove.
3664         (complaint_internal) Merge in contents of vcomplaint.
3665
3666 2018-05-23  Tom Tromey  <tom@tromey.com>
3667
3668         * complaints.c (struct complaints) <explanation>: Remove.
3669         (symfile_explanations): Remove.
3670         (symfile_complaint_book): Update.
3671         (vcomplaint): Update.
3672         (struct explanation): Remove.
3673
3674 2018-05-23  Tom Tromey  <tom@tromey.com>
3675
3676         * complaints.c (symfile_complaints): Remove.
3677         (complaint_internal): Remove "complaints" parameter.
3678         (clear_complaints, vcomplaint): Remove "c" parameter.
3679         (get_complaints): Remove.
3680         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
3681         (dwarf2_debug_line_missing_file_complaint)
3682         (dwarf2_debug_line_missing_end_sequence_complaint)
3683         (dwarf2_complex_location_expr_complaint)
3684         (dwarf2_const_value_length_mismatch_complaint)
3685         (dwarf2_section_buffer_overflow_complaint)
3686         (dwarf2_macro_malformed_definition_complaint)
3687         (dwarf2_invalid_attrib_class_complaint)
3688         (create_addrmap_from_index, dw2_symtab_iter_next)
3689         (dw2_expand_marked_cus)
3690         (dw2_debug_names_iterator::find_vec_in_debug_names)
3691         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
3692         (create_debug_type_hash_table, init_cutu_and_read_dies)
3693         (partial_die_parent_scope, add_partial_enumeration)
3694         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
3695         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
3696         (read_import_statement, read_file_scope, create_dwo_cu_reader)
3697         (create_cus_hash_table, create_dwp_hash_table)
3698         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
3699         (dwarf2_rnglists_process, dwarf2_ranges_process)
3700         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
3701         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
3702         (handle_struct_member_die, process_structure_scope)
3703         (read_array_type, read_common_block, read_module_type)
3704         (read_tag_pointer_type, read_typedef, read_base_type)
3705         (read_subrange_type, load_partial_dies, partial_die_info::read)
3706         (partial_die_info::read, partial_die_info::read)
3707         (partial_die_info::read, read_checked_initial_length_and_offset)
3708         (dwarf2_string_attr, read_formatted_entries)
3709         (dwarf_decode_line_header)
3710         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3711         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
3712         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
3713         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
3714         (get_signatured_type, get_DW_AT_signature_type)
3715         (decode_locdesc, file_file_name, consume_improper_spaces)
3716         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
3717         (dwarf_decode_macro_bytes, dwarf_decode_macros)
3718         (dwarf2_symbol_mark_computed, set_die_type)
3719         (read_attribute_value): Update.
3720         * stap-probe.c (handle_stap_probe, get_stap_base_address):
3721         Update.
3722         * dbxread.c (unknown_symtype_complaint)
3723         (lbrac_mismatch_complaint, repeated_header_complaint)
3724         (set_namestring, function_outside_compilation_unit_complaint)
3725         (read_dbx_symtab, process_one_symbol): Update.
3726         * gdbtypes.c (stub_noname_complaint): Update.
3727         * windows-nat.c (handle_unload_dll): Update.
3728         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
3729         (decode_base_type): Update.
3730         * xcoffread.c (bf_notfound_complaint, ef_complaint)
3731         (eb_complaint, record_include_begin, record_include_end)
3732         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
3733         (process_xcoff_symbol, read_symbol)
3734         (function_outside_compilation_unit_complaint)
3735         (scan_xcoff_symtab): Update.
3736         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
3737         * buildsym.c (finish_block_internal, make_blockvector)
3738         (end_symtab_get_static_block, augment_type_symtab): Update.
3739         * dtrace-probe.c (dtrace_process_dof)
3740         (dtrace_static_probe_ops::get_probes): Update.
3741         * complaints.h (struct complaint): Don't declare.
3742         (symfile_complaints): Remove.
3743         (complaint_internal): Remove "complaints" parameter.
3744         (complaint): Likewise.
3745         (clear_complaints): Likewise.
3746         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3747         (reread_symbols): Update.
3748         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
3749         (dwarf2_frame_cache, decode_frame_entry): Update.
3750         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
3751         * objc-lang.c (lookup_objc_class, lookup_child_selector)
3752         (info_selectors_command): Update.
3753         * macrotab.c (macro_include, check_for_redefinition)
3754         (macro_undef): Update.
3755         * objfiles.c (filter_overlapping_sections): Update.
3756         * stabsread.c (invalid_cpp_abbrev_complaint)
3757         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
3758         (define_symbol, error_type, read_type, rs6000_builtin_type)
3759         (stabs_method_name_from_physname, read_member_functions)
3760         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
3761         (attach_fields_to_type, complain_about_struct_wipeout)
3762         (read_range_type, read_args, common_block_start)
3763         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
3764         Update.
3765         * mdebugread.c (index_complaint, unknown_ext_complaint)
3766         (basic_type_complaint, bad_tag_guess_complaint)
3767         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
3768         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
3769         (parse_procedure, parse_lines)
3770         (function_outside_compilation_unit_complaint)
3771         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
3772         (bad_tag_guess_complaint, reg_value_complaint): Update.
3773         * cp-support.c (demangled_name_complaint): Update.
3774         * macroscope.c (sal_macro_scope): Update.
3775         * dwarf-index-write.c (class debug_names): Update.
3776
3777 2018-05-23  Tom Tromey  <tom@tromey.com>
3778
3779         * complaints.c (clear_complaints): Remove "noisy" parameter.
3780         * complaints.h (clear_complaints): Update.
3781         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3782         (reread_symbols): Update.
3783
3784 2018-05-23  Tom Tromey  <tom@tromey.com>
3785
3786         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
3787         SUBSEQUENT_MESSAGE.
3788         (vcomplaint, clear_complaints): Update.
3789         (symfile_explanations): Remove some messages.
3790
3791 2018-05-23  Tom Tromey  <tom@tromey.com>
3792
3793         * complaints.c (internal_complaint): Remove.
3794         * complaints.h (internal_complaint): Remove.
3795
3796 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
3797
3798         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
3799
3800 2018-05-22  Pedro Alves  <palves@redhat.com>
3801
3802         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
3803         (remote_fileio_badfd, remote_fileio_return_errno)
3804         (remote_fileio_return_success, remote_fileio_func_open)
3805         (remote_fileio_func_open, remote_fileio_func_close)
3806         (remote_fileio_func_read, remote_fileio_func_write)
3807         (remote_fileio_func_lseek, remote_fileio_func_rename)
3808         (remote_fileio_func_unlink, remote_fileio_func_stat)
3809         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
3810         (remote_fileio_func_isatty, remote_fileio_func_system): Add
3811         remote_target parameter.
3812         (remote_fio_func_map) <func>: Add remote_target parameter.
3813         (do_remote_fileio_request, remote_fileio_request):
3814         * remote-fileio.h (remote_fileio_request):
3815         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
3816         remote_target parameter.
3817         (remote_notif_process, handle_notification): Adjust to pass down
3818         the remote.
3819         (remote_notif_state_allocate): Add remote_target parameter.  Save
3820         it.
3821         * remote-notif.h (struct remote_target): Forward declare.
3822         (struct notif_client) <parse, ack, can_get_pending_events>: Add
3823         remote_target parameter.
3824         (struct remote_notif_state) <remote>: New field.
3825         (remote_notif_ack, remote_notif_parse): Add remote_target
3826         parameter.
3827         (remote_notif_state_allocate, remote_notif_state_allocate): Add
3828         remote_target parameter.
3829         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
3830         (threads_listing_context, rmt_thread_action, protocol_feature)
3831         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
3832         (packet_result, struct threads_listing_context, remote_state):
3833         Move definitions and declarations higher up.
3834         (remote_target) <~remote_target>: Declare.
3835         (remote_download_command_source, remote_file_put, remote_file_get)
3836         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
3837         (remote_hostio_pread_vFile, remote_hostio_send_command)
3838         (remote_hostio_set_filesystem, remote_hostio_open)
3839         (remote_hostio_close, remote_hostio_unlink, remote_state)
3840         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
3841         (get_memory_write_packet_size, get_memory_read_packet_size)
3842         (append_pending_thread_resumptions, remote_detach_1)
3843         (append_resumption, remote_resume_with_vcont)
3844         (add_current_inferior_and_thread, wait_ns, wait_as)
3845         (process_stop_reply, remote_notice_new_inferior)
3846         (process_initial_stop_replies, remote_add_thread)
3847         (btrace_sync_conf, remote_btrace_maybe_reopen)
3848         (remove_new_fork_children, kill_new_fork_children)
3849         (discard_pending_stop_replies, stop_reply_queue_length)
3850         (check_pending_events_prevent_wildcard_vcont)
3851         (discard_pending_stop_replies_in_queue, stop_reply)
3852         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
3853         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
3854         (remote_interrupt_as, remote_interrupt_ns)
3855         (remote_get_noisy_reply, remote_query_attached)
3856         (remote_add_inferior, remote_current_thread, get_current_thread)
3857         (set_thread, set_general_thread, set_continue_thread)
3858         (set_general_process, write_ptid)
3859         (remote_unpack_thread_info_response, remote_get_threadinfo)
3860         (parse_threadlist_response, remote_get_threadlist)
3861         (remote_threadlist_iterator, remote_get_threads_with_ql)
3862         (remote_get_threads_with_qxfer)
3863         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
3864         (get_offsets, remote_check_symbols, remote_supported_packet)
3865         (remote_query_supported, remote_packet_size)
3866         (remote_serial_quit_handler, remote_detach_pid)
3867         (remote_vcont_probe, remote_resume_with_hc)
3868         (send_interrupt_sequence, interrupt_query)
3869         (remote_notif_get_pending_events, fetch_register_using_p)
3870         (send_g_packet, process_g_packet, fetch_registers_using_g)
3871         (store_register_using_P, store_registers_using_G)
3872         (set_remote_traceframe, check_binary_download)
3873         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
3874         (remote_xfer_live_readonly_partial, remote_read_bytes)
3875         (remote_send_printf, remote_flash_write, readchar)
3876         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
3877         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
3878         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
3879         (extended_remote_disable_randomization, extended_remote_run)
3880         (send_environment_packet, extended_remote_environment_support)
3881         (extended_remote_set_inferior_cwd, remote_write_qxfer)
3882         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
3883         (packet_command): Now methods of ...
3884         (remote_target): ... this class.
3885         (m_remote_state) <remote_target>: New field.
3886         (struct remote_state) <stop_reply_queue,
3887         remote_async_inferior_event_token, wait_forever_enabled_p>: New
3888         fields.
3889         (remote_state::remote_state): Allocate stop_reply_queue.
3890         (remote_state): Delete global.
3891         (get_remote_state_raw): Delete.
3892         (remote_target::get_remote_state): Allocate m_remote_state on
3893         demand.
3894         (get_current_remote_target): New.
3895         (remote_ops, extended_remote_ops): Delete.
3896         (wait_forever_enabled_p, remote_async_inferior_event_token):
3897         Delete, moved to struct remote_state.
3898         (remote_target::close): Delete self.  Destruction bits split to
3899         ...
3900         (remote_target::~remote_target): ... this.
3901         (show_memory_packet_size): Adjust to use
3902         get_current_remote_target.
3903         (struct protocol_feature) <func>: Add remote_target parameter.
3904         All callers adjusted.
3905         (curr_quit_handler_target): New.
3906         (remote_serial_quit_handler): Reimplement.
3907         (remote_target::open_1): Adjust to use get_current_remote_target.
3908         Heap-allocate remote_target/extended_remote_target instances.
3909         (vcont_builder::vcont_builder): Add remote_target parameter, and
3910         save it in m_remote.  All callers adjusted.
3911         (vcont_builder::m_remote): New field.
3912         (vcont_builder::restart, vcont_builder::flush)
3913         (vcont_builder::push_action): Use it.
3914         (remote_target::commit_resume): Use it.
3915         (struct queue_iter_param) <remote>: New field.
3916         (remote_target::remove_new_fork_children): Fill in 'remote' field.
3917         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
3918         (check_pending_event_prevents_wildcard_vcont_callback)
3919         (remote_target::check_pending_events_prevent_wildcard_vcont)
3920         (remote_target::discard_pending_stop_replies)
3921         (remote_target::discard_pending_stop_replies_in_queue)
3922         (remote_target::remote_notif_remove_queued_reply): Fill in
3923         'remote' field.
3924         (remote_notif_get_pending_events): New.
3925         (remote_target::readchar, remote_target::remote_serial_write):
3926         Save/restore curr_quit_handler_target.
3927         (putpkt): New.
3928         (kill_new_fork_children): Fill in 'remote' field.
3929         (packet_command): Use get_current_remote_target, defer to
3930         remote_target method of same name.
3931         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
3932         parameter, and save it in m_remote.  All callers adjusted.
3933         (scoped_remote_fd::release): Use m_remote.
3934         (scoped_remote_fd::m_remote): New field.
3935         (remote_file_put, remote_file_get, remote_file_delete): Use
3936         get_current_remote_target, defer to remote_target method of same
3937         name.
3938         (remote_btrace_reset): Add remote_state paremeter.  Update all
3939         callers.
3940         (remote_async_inferior_event_handler). Pass down 'data'.
3941         (remote_new_objfile): Use get_current_remote_target.
3942         (remote_target::vcont_r_supported): New.
3943         (set_range_stepping): Use get_current_remote_target and
3944         remote_target::vcont_r_supported.
3945         (_initialize_remote): Don't allocate 'remote_state' and
3946         'stop_reply_queue' globals.
3947         * remote.h (struct remote_target): Forward declare.
3948         (getpkt, putpkt, remote_notif_get_pending_events): Add
3949         'remote_target' parameter.
3950
3951 2018-05-22  Pedro Alves  <palves@redhat.com>
3952
3953         * remote.c (vcont_builder): Now a class.  Make all data members
3954         private.
3955         (vcont_builder) <vcont_builder, restart, flush, push_action>:
3956         Declare methods.
3957         (vcont_builder_restart): Rename to ...
3958         (vcont_builder::restart): ... this.
3959         (vcont_builder_flush): Rename to ...
3960         (vcont_builder::flush): ... this.
3961         (vcont_builder_push_action): Rename to ...
3962         (vcont_builder::push_action): ... this.
3963         (remote_target::commit_resume): Adjust.
3964
3965 2018-05-22  Pedro Alves  <palves@redhat.com>
3966
3967         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
3968         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
3969         (get_fixed_memory_packet_size): New.
3970         (get_memory_packet_size): Use it.
3971         (set_memory_packet_size): Don't override the config size with
3972         DEFAULT_MAX_MEMORY_PACKET_SIZE.
3973         (show_memory_packet_size): Use get_fixed_memory_packet_size.
3974         Don't refer to get_memory_packet_size if not connected to a remote
3975         target.  Show "(default)" if configured size is 0.
3976
3977 2018-05-22  Pedro Alves  <palves@redhat.com>
3978
3979         * remote.c (remote_target::mourn_inferior): Move
3980         discard_pending_stop_replies call here from ...
3981         (_initialize_remote): ... here.
3982
3983 2018-05-22  Pedro Alves  <palves@redhat.com>
3984
3985         * remote.c (compare_section_command): Remove set_general_process
3986         call.
3987
3988 2018-05-22  Pedro Alves  <palves@redhat.com>
3989
3990         * remote.c (struct packet_reg, struct remote_arch_state):
3991         Move higher up in the file.
3992         (remote_state) <m_arch_states>: Store remote_arch_state values
3993         instead of remote_arch_state pointers.
3994         (remote_state::get_remote_arch_state): Adjust.
3995
3996 2018-05-22  Pedro Alves  <palves@redhat.com>
3997
3998         * remote.c: Include <unordered_map>.
3999         (remote_state): Now a class.
4000         (remote_state) <get_remote_arch_state>: Declare method.
4001         <get_remote_arch_state>: New field.
4002         (remote_arch_state) <remote_arch_state>: Declare ctor.
4003         <regs>: Now a unique_ptr.
4004         (remote_gdbarch_data_handle): Delete.
4005         (get_remote_arch_state): Delete.
4006         (remote_state::get_remote_arch_state): New.
4007         (get_remote_state): Adjust to call remote_state's
4008         get_remote_arch_state method.
4009         (init_remote_state): Delete, bits factored out to ...
4010         (remote_arch_state::remote_arch_state): ... this new method.
4011         (get_remote_packet_size, get_memory_packet_size)
4012         (process_g_packet, remote_target::fetch_registers)
4013         (remote_target::prepare_to_store, store_registers_using_G)
4014         (remote_target::store_registers, remote_target::get_trace_status):
4015         Adjust to call remote_state's method.
4016         (_initialize_remote): Remove reference to
4017         remote_gdbarch_data_handle.
4018
4019 2018-05-22  Pedro Alves  <palves@redhat.com>
4020
4021         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
4022         pread>: New method declarations.
4023         (remote_target::open_1): Adjust.
4024         (readahead_cache_invalidate): Rename to ...
4025         (readahead_cache::invalidate): ... this, and adjust to be a class
4026         method.
4027         (readahead_cache_invalidate_fd): Rename to ...
4028         (readahead_cache::invalidate_fd): ... this, and adjust to be a
4029         class method.
4030         (remote_hostio_pwrite): Adjust.
4031         (remote_hostio_pread_from_cache): Rename to ...
4032         (readahead_cache::pread): ... this, and adjust to be a class
4033         method.
4034         (remote_hostio_close): Adjust.
4035
4036 2018-05-22  Pedro Alves  <palves@redhat.com>
4037
4038         * remote.c (remote_hostio_close_cleanup): Delete.
4039         (class scoped_remote_fd): New.
4040         (remote_file_put, remote_file_get): Use it.
4041
4042 2018-05-22  Pedro Alves  <palves@redhat.com>
4043
4044         (struct vCont_action_support): Use bool and initialize all fields.
4045         (struct readahead_cache): Initialize all fields.
4046         (remote_state): Use bool and initialize all fields.
4047         (remote_state::remote_state, remote_state::~remote_state): New.
4048         (new_remote_state): Delete.
4049         (_initialize_remote): Use new to allocate remote_state.
4050
4051 2018-05-22  Pedro Alves  <palves@redhat.com>
4052             張俊芝  <zjz@zjz.name>
4053
4054         PR gdb/22973
4055         * c-exp.y: Include "c-support.h".
4056         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4057         of tolower.  Use c_ident_is_alpha to scan names.
4058         * c-lang.c: Include "c-support.h".
4059         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4060         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4061         * c-support.h: New file, with bits factored out from ...
4062         * cp-name-parser.y: ... this file.
4063         Include "c-support.h".
4064         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4065         c-support.h and renamed.
4066         (symbol_end, yylex): Adjust.
4067
4068 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4069
4070         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4071         parameter type to CORE_ADDR.
4072         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4073         parameter type in declaration to CORE_ADDR.
4074         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4075         target_auxv_search to get AT_HWCAP and use the result to get the
4076         target description.
4077         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4078         to CORE_ADDR. Remove the cast of the return value to unsigned
4079         long. Fix error predicate of target_auxv_search.
4080         (ppc_linux_nat_target::read_description): Change the type of the
4081         hwcap variable to CORE_ADDR.
4082
4083 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4084
4085         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4086         if the size of fpscr is larger than 32 bits.
4087
4088 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4089
4090         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4091         (ppc32_linux_vsxregmap): New global.
4092         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4093         regcache_supply_regset, and regcache_collect_regset.
4094         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4095         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4096         (fetch_vsx_register, store_vsx_register): Remove.
4097         (fetch_vsx_registers): Add regno parameter. Get regset using
4098         ppc_linux_vsxregset. Use regset to supply registers.
4099         (store_vsx_registers): Add regno parameter. Get regset using
4100         ppc_linux_vsxregset. Use regset to collect registers.
4101         (fetch_register): Call fetch_vsx_registers instead of
4102         fetch_vsx_register.
4103         (store_register): Call store_vsx_registers instead of
4104         store_vsx_register.
4105         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4106         new regno parameter.
4107         (store_ppc_registers): Call store_vsx_registers with -1 for the
4108         new regno parameter.
4109         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4110         (ppc_collect_vsxregset): Remove.
4111
4112 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4113
4114         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4115         offset fields.
4116         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4117         for vector register offset fields.
4118         (ppc64_fbsd_reg_offsets): Likewise.
4119         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4120         to vector register offset fields.
4121         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4122         to vector register offset fields.
4123         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4124         vector register offset fields.
4125         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4126         initializers for vector register offset fields.
4127         (rs6000_aix64_reg_offsets): Likewise.
4128         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4129         (ppc_supply_vrregset): Remove.
4130         (ppc_collect_vrregset): Remove.
4131         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4132         (ppc_linux_vrregset) : New function.
4133         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4134         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4135         (ppc32_linux_vrregset): Remove.
4136         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4137         and use result instead of ppc32_linux_vrregset.
4138         (ppc32_linux_reg_offsets): Remove initializers for vector register
4139         offset fields.
4140         (ppc64_linux_reg_offsets): Likewise.
4141         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4142         * ppc-linux-nat.c: Include regset.h.
4143         (gdb_vrregset_t): Adjust comment to account for little-endian
4144         mode.
4145         (supply_vrregset, fill_vrregset): Remove.
4146         (fetch_altivec_register, store_altivec_register): Remove.
4147         (fetch_altivec_registers): Add regno parameter. Get regset using
4148         ppc_linux_vrregset. Use regset to supply registers.
4149         (store_altivec_registers): Add regno parameter. Get regset using
4150         ppc_linux_vrregset. Use regset to collect registers.
4151         (fetch_register): Call fetch_altivec_registers instead of
4152         fetch_altivec_register.
4153         (store_register): Call store_altivec_registers instead of
4154         store_altivec_register.
4155         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4156         the new regno parameter.
4157         (store_ppc_registers): Call store_altivec_registers with -1 for
4158         the new regno parameter.
4159
4160 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4161
4162         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4163         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4164         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4165         (gdb_vrregset_t): Change array type size to
4166         PPC_LINUX_SIZEOF_VRREGSET.
4167         (gdb_vsxregset_t): Change array type size to
4168         PPC_LINUX_SIZEOF_VSXREGSET.
4169         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4170         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4171         PPC_LINUX_SIZEOF_VSXREGSET.
4172
4173 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4174
4175         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4176         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4177         nat/ppc-linux.c.
4178         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4179         ppc_linux_target_wordsize with tid.
4180         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4181         wordsize with tid.
4182         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4183         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4184         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4185         tid parameter. Remove static specifier.
4186         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4187         (ppc_linux_target_wordsize): New declaration.
4188
4189 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4190
4191         * arch/ppc-linux-common.c: New file.
4192         * arch/ppc-linux-common.h: New file.
4193         * arch/ppc-linux-tdesc.h: New file.
4194         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4195         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4196         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4197         arch/ppc-linux-tdesc.h.
4198         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4199         arch/ppc-linux-tdesc.h.
4200         (ppc_linux_nat_target::read_description): Remove target
4201         description matching code. Fill a ppc_linux_features struct and
4202         call ppc_linux_match_description with it. Move comment about ISA
4203         2.05 to ppc-linux-common.c.
4204         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4205         arch/ppc-linux-tdesc.h.
4206         (ppc_linux_core_read_description): Remove target description
4207         matching code. Fill a ppc_linux_features struct and call
4208         ppc_linux_match_description with it.
4209         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4210         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4211         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4212         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4213         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4214         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4215         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4216         (tdesc_powerpc_e500l): Remove.
4217
4218 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4219
4220         * ada-lang.c (catch_assert_command): Pass empty string instead
4221         of NULL for excep_string argument.
4222
4223 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4224
4225         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4226         the width of the requested register exceeds the width of the
4227         `ptrace' data type.
4228
4229 2018-05-21  Tom Tromey  <tom@tromey.com>
4230
4231         * printcmd.c (output_command): Remove.
4232         (output_command_const): Rename to output_command.
4233         * valprint.h (output_command): Rename from output_command_const.
4234         * tracepoint.c (trace_dump_actions): Call output_command.
4235
4236 2018-05-21  Tom Tromey  <tom@tromey.com>
4237
4238         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4239         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4240         * ada-lang.h (create_ada_exception_catchpoint): Update.
4241         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4242         std::string.
4243         (create_excep_cond_exprs, ~ada_catchpoint)
4244         (should_stop_exception, print_one_exception)
4245         (print_mention_exception, print_recreate_exception): Update.
4246         (ada_get_next_arg): Remove.
4247         (catch_ada_exception_command_split): Use std::string.  Change type
4248         of "excep_string", "cond_string".
4249         (catch_ada_exception_command): Update.
4250         (create_ada_exception_catchpoint): Change type of excep_string.
4251         (ada_exception_sal): Remove excep_string parameter.
4252         (~ada_catchpoint): Remove.
4253
4254 2018-05-21  Tom Tromey  <tom@tromey.com>
4255
4256         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4257         cleanup.
4258
4259 2018-05-21  Tom Tromey  <tom@tromey.com>
4260
4261         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4262         Return unique_xmalloc_ptr.
4263         (print_it_exception): Update.
4264
4265 2018-05-21  Tom Tromey  <tom@tromey.com>
4266
4267         * tracepoint.c (trace_dump_actions): Use std::string.
4268
4269 2018-05-21  Tom Tromey  <tom@tromey.com>
4270
4271         * symfile.c (reread_symbols): Use std::string for original_name.
4272
4273 2018-05-21  Tom Tromey  <tom@tromey.com>
4274
4275         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4276         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4277         constructor.
4278
4279 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4280
4281         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4282         instance to...
4283         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4284         * objfiles.c (get_objfile_bfd_data): Allocate
4285         objfile_per_bfd_storage with obstack_new when allocating on
4286         obstack.
4287
4288 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4289
4290         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4291         OBSTACK_ZALLOC.
4292         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4293         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4294         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4295         (add_pending): Likewise.
4296         (parse_symbol): Likewise.
4297         (parse_partial_symbols): Likewise.
4298         (psymtab_to_symtab_1): Likewise.
4299         (new_psymtab): Likewise.
4300         (elfmdebug_build_psymtabs): Likewise.
4301         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4302         * objfiles.c (get_objfile_bfd_data): Likewise.
4303         (objfile_register_static_link): Likewise.
4304         * psymtab.c (allocate_psymtab): Likewise.
4305         * stabsread.c (read_member_functions): Likewise.
4306         * xcoffread.c (xcoff_end_psymtab): Likewise.
4307
4308 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4309
4310         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4311         compiler supports std::is_trivially_constructible.
4312         * common/poison.h: Include obstack.h.
4313         (IsMallocable): Define to is_trivially_constructible if the
4314         compiler supports it, define to true_type otherwise.
4315         (xobnew): New.
4316         (XOBNEW): Redefine.
4317         (xobnewvec): New.
4318         (XOBNEWVEC): Redefine.
4319         * gdb_obstack.h (obstack_zalloc): New.
4320         (OBSTACK_ZALLOC): Redefine.
4321         (obstack_calloc): New.
4322         (OBSTACK_CALLOC): Redefine.
4323         (obstack_new): New.
4324         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4325         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4326         gdbarch.c.
4327         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4328         obstack_calloc/obstack_zalloc.
4329         (gdbarch_obstack_zalloc): Remove.
4330         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4331
4332 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4333
4334         * stack.c (backtrace_command_1): Remove useless variable int i.
4335
4336 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4337
4338         * stack.c (print_frame_info): Fix comment.
4339
4340 2018-05-18  Tom Tromey  <tom@tromey.com>
4341
4342         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4343         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4344         (~dwarf2_per_objfile): Update
4345         (dwarf2_get_dwz_file): Use new.
4346         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4347         unique_ptr.
4348
4349 2018-05-18  Tom Tromey  <tom@tromey.com>
4350
4351         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4352         unique_ptr.
4353         * dwarf2read.c (struct dwp_file): Add constructor and
4354         initializers.
4355         (open_and_init_dwp_file): Return a unique_ptr.
4356         (dwarf2_per_objfile, create_dwp_hash_table)
4357         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4358         (lookup_dwo_unit_in_dwp): Update.
4359         (open_and_init_dwp_file, get_dwp_file): Update.
4360
4361 2018-05-18  Tom Tromey  <tom@tromey.com>
4362
4363         * dwarf2read.c (dwarf2_per_objfile): Update.
4364         (struct mapped_index): Add initializers.
4365         (dwarf2_read_index): Use new.
4366         (dw2_symtab_iter_init): Update.
4367         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4368         unique_ptr.
4369
4370 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4371
4372         * dwarf2read.c (mapped_index) <total_size>: Remove.
4373
4374 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4375
4376         * unittests/format_pieces-selftests.c (test_format_specifier):
4377         Add ARI comments.
4378
4379 2018-05-18  Tom Tromey  <tom@tromey.com>
4380
4381         * c-typeprint.c (maybe_print_hole): New function.
4382         (c_print_type_struct_field_offset): Update.
4383         (c_type_print_base_struct_union): Call maybe_print_hole.
4384
4385 2018-05-17  Keith Seitz  <keiths@redhat.com>
4386
4387         * breakpoint.c (build_bpstat_chain): New function, moved from
4388         bpstat_stop_status.
4389         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4390         If no stop chain is passed, call build_bpstat_chain to build it.
4391         * breakpoint.h (build_bpstat_chain): Declare.
4392         (bpstat_stop_status): Move documentation here from breakpoint.c.
4393         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4394         build the stop chain and pass it to skip_inline_frames.
4395         Pass this stop chain to bpstat_stop_status.
4396         * inline-frame.c: Include breakpoint.h.
4397         (stopped_by_user_bp_inline_frame): New function.
4398         (skip_inline_frames): Add parameter `stop_chain'.
4399         Move documention to inline-frame.h.
4400         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4401         whether the frame should be elided.
4402         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4403         Add moved documentation and update for new parameter.
4404
4405 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4406
4407         PR cli/14975
4408         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4409         unittests/format_pieces-selftests.c.
4410         * common/format.h (format_piece) <operator==>: New.
4411         (format_pieces) <operator[]>: Remove.
4412         * common/format.c (format_pieces::format_pieces): Handle \e.
4413         * unittests/format_pieces-selftests.c: New.
4414
4415 2018-05-17  Tom Tromey  <tom@tromey.com>
4416
4417         PR symtab/23010:
4418         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
4419         (dw2_instantiate_symtab): Add skip_partial parameter.
4420         (dw2_find_last_source_symtab, dw2_map_expand_apply)
4421         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
4422         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
4423         (dw2_expand_symtabs_matching_one)
4424         (dw2_find_pc_sect_compunit_symtab)
4425         (dw2_debug_names_lookup_symbol)
4426         (dw2_debug_names_expand_symtabs_for_function): Update.
4427         (init_cutu_and_read_dies): Add skip_partial parameter.
4428         (process_psymtab_comp_unit, build_type_psymtabs_1)
4429         (process_skeletonless_type_unit, load_partial_comp_unit)
4430         (psymtab_to_symtab_1): Update.
4431         (load_full_comp_unit): Add skip_partial parameter.
4432         (process_imported_unit_die, dwarf2_read_addr_index)
4433         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
4434         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
4435         (read_signatured_type): Update.
4436
4437 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4438
4439         * value.c (release_value): Remove unused variable.
4440         (record_latest_value): Likewise.
4441         (access_value_history): Likewise.
4442         (preserve_values): Likewise.
4443
4444 2018-05-17  Tom Tromey  <tom@tromey.com>
4445
4446         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
4447         Initialize.
4448
4449 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
4450
4451         PR gdb/22286
4452         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
4453         Also handle registers whose width is not a multiple of
4454         PTRACE_TYPE_RET.
4455         (linux_nat_trad_target::store_register): Likewise.
4456
4457 2018-05-16  Tom Tromey  <tom@tromey.com>
4458
4459         * gdbcore.h (core_bfd): Redefine.
4460         * corelow.c (core_target::close): Update.
4461         (core_target_open): Update.
4462         * progspace.h (struct program_space) <cbfd>: Now a
4463         gdb_bfd_ref_ptr.
4464
4465 2018-05-16  Tom Tromey  <tom@tromey.com>
4466
4467         PR cli/19551:
4468         * symfile-add-flags.h (enum symfile_add_flags)
4469         <SYMFILE_NOT_FILENAME>: New constant.
4470         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
4471         objfile name from BFD.
4472         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
4473         * minidebug.c (find_separate_debug_file_in_section): Put
4474         ".gnu_debugdata" into BFD's file name.
4475
4476 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
4477
4478         * regcache.c (regcache_read_ftype, regcache_write_ftype):
4479         Remove.
4480
4481 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
4482
4483         PR binutils/21446
4484         * aarch64-tdep.c (aarch64_analyze_prologue,
4485         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
4486         Indicate not interested in errors.
4487
4488 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4489
4490         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
4491         Supply the MIPS_ZERO_REGNUM register.
4492
4493 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4494
4495         * mips-tdep.c (mask_address_var): Make variable static.
4496
4497 2018-05-14  Tom Tromey  <tom@tromey.com>
4498
4499         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
4500
4501 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
4502
4503         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
4504         FXSAVE_ADDR for the mxcsr register.
4505
4506 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
4507
4508         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
4509
4510 2018-05-11  Pedro Alves  <palves@redhat.com>
4511
4512         * corelow.c (core_target) <core_target>: No longer inline.
4513         Initialize m_core_gdbarch, m_core_vec and build the section table
4514         here.
4515         <~core_target>: New.
4516         <core_gdbarch, get_core_register_section>: New methods.
4517         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
4518         factored out from ...
4519         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
4520         (core_ops): Delete.
4521         (sniff_core_bfd): Add gdbarch parameter.
4522         (core_close): Delete, merged into ...
4523         (core_target::close): ... here.  Delete self.
4524         (core_close_cleanup): Delete.
4525         (core_target_open): Allocate a core_target on the heap.  Use a
4526         unique_ptr instead of a cleanup.  Bits moved into the core_target
4527         ctor.  Adjust to use core_target methods instead of globals.
4528         (get_core_register_section): Rename to ...
4529         (core_target::get_core_register_section): ... this and adjust.
4530         (struct get_core_registers_cb_data): New.
4531         (get_core_registers_cb): Use it.  Use bool.
4532         (core_target::fetch_registers, core_target::files_info)
4533         (core_target::xfer_partial, core_target::read_description)
4534         (core_target::pid_to, core_target::thread_name): Adjust to
4535         reference class fields instead of globals.
4536         * target.h (struct target_ops_deleter, target_ops_up): New.
4537
4538 2018-05-11  Pedro Alves  <palves@redhat.com>
4539
4540         * corefile.c (core_file_command): Move to corelow.c.
4541         * corelow.c (the_core_target): Delete.
4542         (core_file_command): Moved from corefile.c.  Check exec_bfd
4543         instead of the_core_target.  Use target_detach instead of calling
4544         into the_core_target directly.
4545         (maybe_say_no_core_file_now): New.
4546         (core_target::detach): Use it.
4547         (_initialize_corelow): Remove references to the_core_target.
4548         * gdbcore.h (the_core_target): Delete.
4549
4550 2018-05-11  Tom Tromey  <tromey@redhat.com>
4551             Pedro Alves  <palves@redhat.com>
4552
4553         * corefile.c (core_bfd): Remove.
4554         * gdbcore.h (core_bfd): Now a macro.
4555         * progspace.h (struct program_space) <cbfd>: New field.
4556
4557 2018-05-11  Tom Tromey  <tom@tromey.com>
4558
4559         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
4560         gdb::def_vector.
4561
4562 2018-05-10  Tom Tromey  <tom@tromey.com>
4563
4564         * configure: Rebuild.
4565         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
4566
4567 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
4568
4569         PR server/23158:
4570         * regformats/regdat.sh: Adjust script, following the addition
4571         of the new expedite_regs parameter to init_target_desc.
4572
4573 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
4574     
4575         PR gdb/23127
4576         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
4577         set_gdbarch_significant_addr_bit.
4578         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
4579         set_gdbarch_significant_addr_bit.
4580         * utils.c (address_significant): Update to sign extend addr.
4581
4582 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
4583
4584         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
4585         (xtensa_linux_init_abi): Limit tdep->num_regs by
4586         tdep->num_nopriv_regs.
4587         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
4588         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
4589         not initialized.
4590
4591 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
4592
4593         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
4594
4595 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
4596
4597         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
4598         (I387_MXCSR_INIT_VAL): New constant.
4599         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
4600         buffer if it was supplied by the inferior.
4601         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
4602         (i387_xsave_get_clear_bv): New function.
4603         (i387_supply_xsave): Only read x87 control registers from the
4604         xsave buffer if the feature is enabled, and the state will have
4605         been written, otherwise, provide a suitable default.
4606         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
4607         including x87 control registers.  Update control registers if they
4608         have changed from the default value, and mark features as enabled
4609         as required.
4610         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
4611
4612 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
4613
4614         * spu-tdep.c (info_spu_event_command): Fix output formatting.
4615
4616 2018-05-07  Tom Tromey  <tom@tromey.com>
4617
4618         * configure: Rebuild.
4619         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
4620
4621 2018-05-07  Tom Tromey  <tom@tromey.com>
4622
4623         PR tdep/20362:
4624         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
4625         bit.  Use correct value for VDIV.
4626
4627 2018-05-04  Tom Tromey  <tom@tromey.com>
4628
4629         * configure: Rebuild.
4630         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
4631
4632 2018-05-04  Tom Tromey  <tom@tromey.com>
4633
4634         * linux-record.c (record_linux_system_call) <case
4635         RECORD_SYS_RECVFROM>: Add "break".
4636
4637 2018-05-04  Tom Tromey  <tom@tromey.com>
4638
4639         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
4640         Add missing "break".
4641         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
4642         Add missing "break".
4643
4644 2018-05-04  Tom Tromey  <tom@tromey.com>
4645
4646         * rs6000-tdep.c (ppc_process_record_op4)
4647         (ppc_process_record_op63): Add fall-through comment.
4648
4649 2018-05-04  Tom Tromey  <tom@tromey.com>
4650
4651         * i386-tdep.c (i386_process_record): Add fall-through comment.
4652
4653 2018-05-04  Tom Tromey  <tom@tromey.com>
4654
4655         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
4656         comment.
4657
4658 2018-05-04  Tom Tromey  <tom@tromey.com>
4659
4660         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
4661         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
4662         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
4663         comment.
4664         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
4665         comment.
4666         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
4667         comment.
4668
4669 2018-05-04  Tom Tromey  <tom@tromey.com>
4670
4671         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
4672
4673 2018-05-04  Tom Tromey  <tom@tromey.com>
4674
4675         * s390-tdep.c (s390_process_record): Fix fall-through comments.
4676         * xcoffread.c (scan_xcoff_symtab): Move comment later.
4677         * symfile.c (section_is_mapped): Fix fall-through comment.
4678         * stabsread.c (define_symbol, read_member_functions): Fix
4679         fall-through comment.
4680         * s390-linux-tdep.c (s390_process_record): Fix fall-through
4681         comment.
4682         * remote.c (remote_wait_as): Fix fall-through comment.
4683         * p-exp.y (yylex): Fix fall-through comment.
4684         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
4685         comment.
4686         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
4687         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
4688         * jv-exp.y (yylex): Fix fall-through comment.
4689         * go-exp.y (lex_one_token): Fix fall-through comment.
4690         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
4691         fall-through comment.
4692         * f-exp.y (yylex): Fix fall-through comment.
4693         * dwarf2read.c (process_die): Fix fall-through comments.
4694         * dbxread.c (process_one_symbol): Fix fall-through comment.
4695         * d-exp.y (lex_one_token): Fix fall-through comment.
4696         * cp-name-parser.y (yylex): Fix fall-through comment.
4697         * coffread.c (coff_symtab_read): Fix fall-through comment.
4698         * c-exp.y (lex_one_token): Fix fall-through comment.
4699         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
4700         comment.
4701         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
4702         comment.
4703
4704 2018-05-04  Tom Tromey  <tom@tromey.com>
4705
4706         PR python/22730:
4707         * NEWS: Mention gdb.execute change.
4708         * gdbcmd.h (execute_control_command): Don't declare.
4709         * python/python.c (execute_gdb_command): Use read_command_lines_1,
4710         execute_control_commands, execute_control_commands_to_string.
4711         * cli/cli-script.h (execute_control_commands)
4712         (execute_control_commands_to_string): Declare.
4713         (execute_control_command): Add from_tty parameter.
4714         * cli/cli-script.c (execute_control_commands)
4715         (execute_control_commands_to_string): New functions.
4716         (execute_user_command): Use execute_control_commands.
4717         (execute_control_command_1): Add "from_tty" parameter.  Update.
4718         (execute_control_command): Likewise.
4719
4720 2018-05-04  Tom Tromey  <tom@tromey.com>
4721
4722         PR python/22731:
4723         * NEWS: Mention that breakpoint commands are writable.
4724         * python/py-breakpoint.c (bppy_set_commands): New function.
4725         (breakpoint_object_getset) <"commands">: Use it.
4726
4727 2018-05-04  Tom Tromey  <tom@tromey.com>
4728
4729         * tracepoint.c (actions_command): Update.
4730         * mi/mi-cmd-break.c (mi_command_line_array)
4731         (mi_command_line_array_cnt, mi_command_line_array_ptr)
4732         (mi_read_next_line): Remove.
4733         (mi_cmd_break_commands): Update.
4734         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
4735         function_view.
4736         * cli/cli-script.c (get_command_line): Update.
4737         (process_next_line): Use function_view.  Constify.
4738         (recurse_read_control_structure, read_command_lines)
4739         (read_command_lines_1): Change argument types to function_view.
4740         (do_define_command, document_command): Update.
4741         * breakpoint.h (check_tracepoint_command): Don't declare.
4742         * breakpoint.c (check_tracepoint_command): Remove.
4743         (commands_command_1, create_tracepoint_from_upload): Update.
4744
4745 2018-05-04  Tom Tromey  <tom@tromey.com>
4746
4747         PR gdb/11750:
4748         * cli/cli-script.h (enum command_control_type) <define_control>:
4749         New constant.
4750         * cli/cli-script.c (multi_line_command_p): Handle define_control.
4751         (build_command_line, execute_control_command_1)
4752         (process_next_line): Likewise.
4753         (do_define_command): New function, extracted from define_command.
4754         (define_command): Use it.
4755
4756 2018-05-04  Tom Tromey  <tom@tromey.com>
4757
4758         * tracepoint.c (actions_command): Update.
4759         * cli/cli-script.h (read_command_lines): Update.
4760         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
4761         (MAX_TMPBUF): Remove define.
4762         (define_command): Use string_printf.
4763         (document_command): Likewise.
4764         * breakpoint.c (commands_command_1): Update.
4765
4766 2018-05-04  Tom Tromey  <tom@tromey.com>
4767
4768         * top.c (execute_command): Update.
4769         * cli/cli-script.h (print_command_lines): Now varargs.
4770         * cli/cli-script.c (print_command_lines): Now varargs.
4771         (execute_control_command_1) <case while_control, case if_control>:
4772         Update.
4773
4774 2018-05-04  Tom Tromey  <tom@tromey.com>
4775
4776         * tracepoint.c (all_tracepoint_actions): Rename from
4777         all_tracepoint_actions_and_cleanup.  Change return type.
4778         (actions_command, encode_actions_1, encode_actions)
4779         (trace_dump_actions, tdump_command): Update.
4780         * remote.c (remote_download_command_source): Update.
4781         * python/python.c (gdbpy_eval_from_control_command)
4782         (python_command, python_interactive_command): Update.
4783         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
4784         * guile/guile.c (guile_command)
4785         (gdbscm_eval_from_control_command, guile_command): Update.
4786         * compile/compile.c (compile_code_command)
4787         (compile_print_command, compile_to_object): Update.
4788         * cli/cli-script.h (struct command_lines_deleter): New.
4789         (counted_command_line): New typedef.
4790         (struct command_line): Add constructor, destructor.
4791         <body_list>: Remove.
4792         <body_list_0, body_list_1>: New members.
4793         (command_line_up): Remove typedef.
4794         (read_command_lines, read_command_lines_1, get_command_line):
4795         Update.
4796         (copy_command_lines): Don't declare.
4797         * cli/cli-script.c (build_command_line): Use "new".
4798         (get_command_line): Return counted_command_line.
4799         (print_command_lines, execute_user_command)
4800         (execute_control_command_1, while_command, if_command): Update.
4801         (realloc_body_list): Remove.
4802         (process_next_line, recurse_read_control_structure): Update.
4803         (read_command_lines, read_command_lines_1): Return counted_command_line.
4804         (free_command_lines): Use "delete".
4805         (copy_command_lines): Remove.
4806         (define_command, document_command, show_user_1): Update.
4807         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
4808         a counted_command_line.
4809         * breakpoint.h (counted_command_line): Remove typedef.
4810         (breakpoint_set_commands): Update.
4811         * breakpoint.c (check_no_tracepoint_commands)
4812         (validate_commands_for_breakpoint): Update.
4813         (breakpoint_set_commands): Change commands to be a
4814         counted_command_line.
4815         (commands_command_1, update_dprintf_command_list)
4816         (create_tracepoint_from_upload): Update.
4817
4818 2018-05-04  Tom Tromey  <tom@tromey.com>
4819
4820         * cli/cli-decode.h (cmd_list_element): New constructor.
4821         (~cmd_list_element): New destructor.
4822         (struct cmd_list_element): Add initializers.
4823         * cli/cli-decode.c (do_add_cmd): Use "new".
4824         (delete_cmd): Use "delete".
4825
4826 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
4827             Pedro Alves <palves@redhat.com>
4828
4829         PR breakpoints/19806 and support for PR external/20207.
4830         * NEWS: Mention Aarch64 watchpoint improvements.
4831         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
4832         watchpoints and PR external/20207 watchpoints.
4833         * nat/aarch64-linux-hw-point.c
4834         (kernel_supports_any_contiguous_range): New.
4835         (aarch64_watchpoint_offset): New.
4836         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
4837         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
4838         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
4839         (aarch64_align_watchpoint): New parameters aligned_offset_p and
4840         next_addr_orig_p.  Support PR external/20207 watchpoints.
4841         (aarch64_downgrade_regs): New.
4842         (aarch64_dr_state_insert_one_point): New parameters offset and
4843         addr_orig.
4844         (aarch64_dr_state_remove_one_point): Likewise.
4845         (aarch64_handle_breakpoint): Update caller.
4846         (aarch64_handle_aligned_watchpoint): Likewise.
4847         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
4848         aligned_offset.
4849         (aarch64_linux_set_debug_regs): Remove const from state.  Call
4850         aarch64_downgrade_regs.
4851         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
4852         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
4853         (DR_CONTROL_MASK): ... this.
4854         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
4855         (unsigned int aarch64_watchpoint_offset): New prototype.
4856         (aarch64_linux_set_debug_regs): Remove const from state.
4857         * utils.c (align_up, align_down): Move to ...
4858         * common/common-utils.c (align_up, align_down): ... here.
4859         * utils.h (align_up, align_down): Move to ...
4860         * common/common-utils.h (align_up, align_down): ... here.
4861
4862 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
4863
4864         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
4865         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
4866         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
4867         Re-implement to match the ABI as summarized in GCC's
4868         gcc/config/sparc/sparc.c.  All callers updated.
4869         (sparc32_store_arguments): Remove assertion.
4870
4871 2018-05-04  Tom Tromey  <tom@tromey.com>
4872
4873         * printcmd.c: Don't include tui.h.
4874         (decode_format): Use skip_spaces.
4875
4876 2018-05-04  Tom Tromey  <tom@tromey.com>
4877
4878         PR gdb/22619:
4879         * printcmd.c (last_count): New global.
4880         (x_command): Use saved count when repeating.
4881
4882 2018-05-04  Tom Tromey  <tom@tromey.com>
4883
4884         * nto-procfs.c (do_closedir_cleanup): Remove.
4885         (procfs_pidlist): Use gdb_dir_up.
4886         * procfs.c (do_closedir_cleanup): Remove.
4887         (proc_update_threads): Use gdb_dir_up.
4888         * common/filestuff.h (struct gdb_dir_deleter): New.
4889         (gdb_dir_up): New typedef.
4890
4891 2018-05-04  Tom Tromey  <tom@tromey.com>
4892
4893         * ada-lang.c (print_mention_exception): Use std::string.
4894
4895 2018-05-04  Tom Tromey  <tom@tromey.com>
4896
4897         * ada-lang.c (create_excep_cond_exprs): Update.
4898         (ada_exception_catchpoint_cond_string): Use std::string.
4899
4900 2018-05-04  Tom Tromey  <tom@tromey.com>
4901
4902         * ada-lang.c (xget_renaming_scope): Return std::string.
4903         (old_renaming_is_invisible): Update.
4904
4905 2018-05-04  Tom Tromey  <tom@tromey.com>
4906
4907         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
4908         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
4909
4910 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
4911
4912         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
4913
4914 2018-05-04  Tom Tromey  <tom@tromey.com>
4915
4916         * remote.c (remote_query_supported_append): Change type.
4917         (remote_check_symbols): Update.
4918
4919 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
4920
4921         PR gdb/11420
4922         * configure.ac: Prepend libpython.
4923         * python/python-config.py: Likewise.
4924         * configure: Regenerate.
4925
4926 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
4927
4928         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
4929
4930 2018-05-03  Pedro Alves  <palves@redhat.com>
4931
4932         * s390-linux-nat.c
4933         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
4934         override.  Write 'true' instead of '1'.
4935         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
4936         declaration.
4937
4938 2018-05-02  Pedro Alves  <palves@redhat.com>
4939
4940         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
4941         add_inf_child_target.
4942         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
4943         add_inf_child_target.
4944         * aix-thread.c (aix_thread_target_info): New.
4945         (aix_thread_target) <shortname, longname, doc>: Delete.
4946         <info>: New.
4947         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
4948         add_inf_child_target.
4949         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
4950         add_inf_child_target.
4951         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
4952         add_inf_child_target.
4953         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
4954         add_inf_child_target.
4955         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
4956         add_inf_child_target.
4957         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
4958         add_inf_child_target.
4959         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
4960         add_inf_child_target.
4961         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
4962         add_inf_child_target.
4963         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
4964         add_inf_child_target.
4965         * bfd-target.c (target_bfd_target_info): New.
4966         (target_bfd) <shortname, longname, doc>: Delete.
4967         <info>: New.
4968         * bsd-kvm.c (bsd_kvm_target_info): New.
4969         (bsd_kvm_target) <shortname, longname, doc>: Delete.
4970         <info>: New.
4971         (bsd_kvm_target::open): Rename to ...
4972         (bsd_kvm_target_open): ... this.  Adjust.
4973         * bsd-uthread.c (bsd_uthread_target_info): New.
4974         (bsd_uthread_target) <shortname, longname, doc>: Delete.
4975         <info>: New.
4976         * corefile.c (core_file_command): Adjust.
4977         * corelow.c (core_target_info): New.
4978         (core_target) <shortname, longname, doc>: Delete.
4979         <info>: New.
4980         (core_target::open): Rename to ...
4981         (core_target_open): ... this.  Adjust.
4982         * ctf.c (ctf_target_info): New.
4983         (ctf_target) <shortname, longname, doc>: Delete.
4984         <info>: New.
4985         (ctf_target::open): Rename to ...
4986         (ctf_target_open): ... this.
4987         (_initialize_ctf): Adjust.
4988         * exec.c (exec_target_info): New.
4989         (exec_target) <shortname, longname, doc>: Delete.
4990         <info>: New.
4991         (exec_target::open): Rename to ...
4992         (exec_target_open): ... this.
4993         * gdbcore.h (core_target_open): Declare.
4994         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
4995         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
4996         add_inf_child_target.
4997         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
4998         add_inf_child_target.
4999         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
5000         add_inf_child_target.
5001         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
5002         add_inf_child_target.
5003         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
5004         add_inf_child_target.
5005         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
5006         add_inf_child_target.
5007         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
5008         add_inf_child_target.
5009         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
5010         add_inf_child_target.
5011         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
5012         add_inf_child_target.
5013         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
5014         add_inf_child_target.
5015         * inf-child.c (inf_child_target_info): New.
5016         (inf_child_target::info): New.
5017         (inf_child_open_target): Remove 'target' parameter.  Use
5018         get_native_target instead.
5019         (inf_child_target::open): Delete.
5020         (add_inf_child_target): New.
5021         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
5022         Delete.
5023         <info>: New.
5024         (add_inf_child_target): Declare.
5025         (inf_child_open_target): Declare.
5026         * linux-thread-db.c (thread_db_target_info): New.
5027         (thread_db_target) <shortname, longname, doc>: Delete.
5028         <info>: New.
5029         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
5030         add_inf_child_target.
5031         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
5032         add_inf_child_target.
5033         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
5034         add_inf_child_target.
5035         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5036         add_inf_child_target.
5037         * make-target-delegates (print_class): Adjust.
5038         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5039         add_inf_child_target.
5040         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5041         add_inf_child_target.
5042         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5043         add_inf_child_target.
5044         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5045         add_inf_child_target.
5046         * nto-procfs.c (nto_native_target_info): New.
5047         (nto_procfs_target_native) <shortname, longname, doc>:
5048         Delete.
5049         <info>: New.
5050         (nto_procfs_target_info): New.
5051         (nto_procfs_target_procfs) <shortname, longname, doc>:
5052         Delete.
5053         <info>: New.
5054         (init_procfs_targets): Adjust.
5055         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5056         add_inf_child_target.
5057         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5058         add_inf_child_target.
5059         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5060         add_inf_child_target.
5061         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5062         add_inf_child_target.
5063         * ravenscar-thread.c (ravenscar_target_info): New.
5064         (ravenscar_thread_target) <shortname, longname, doc>:
5065         Delete.
5066         <info>: New.
5067         * record-btrace.c (record_btrace_target_info):
5068         (record_btrace_target) <shortname, longname, doc>: Delete.
5069         <info>: New.
5070         (record_btrace_target::open): Rename to ...
5071         (record_btrace_target_open): ... this.  Adjust.
5072         * record-full.c (record_longname, record_doc): New.
5073         (record_full_base_target) <shortname, longname, doc>: Delete.
5074         <info>: New.
5075         (record_full_target_info): New.
5076         (record_full_target): <shortname>: Delete.
5077         <info>: New.
5078         (record_full_core_open_1, record_full_open_1): Update comments.
5079         (record_full_base_target::open): Rename to ...
5080         (record_full_open): ... this.
5081         (cmd_record_full_restore): Update.
5082         (_initialize_record_full): Update.
5083         * remote-sim.c (remote_sim_target_info): New.
5084         (gdbsim_target) <shortname, longname, doc>: Delete.
5085         <info>: New.
5086         (gdbsim_target::open): Rename to ...
5087         (gdbsim_target_open): ... this.
5088         (_initialize_remote_sim): Adjust.
5089         * remote.c (remote_doc): New.
5090         (remote_target_info): New.
5091         (remote_target) <shortname, longname, doc>: Delete.
5092         <info>: New.
5093         (extended_remote_target_info): New.
5094         (extended_remote_target) <shortname, longname, doc>: Delete.
5095         <info>: New.
5096         (remote_target::open_1): Make static.  Adjust.
5097         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5098         * s390-linux-nat.c (_initialize_s390_nat): Use
5099         add_inf_child_target.
5100         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5101         add_inf_child_target.
5102         * sol-thread.c (thread_db_target_info): New.
5103         (sol_thread_target) <shortname, longname, doc>: Delete.
5104         <info>: New.
5105         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5106         add_inf_child_target.
5107         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5108         add_inf_child_target.
5109         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5110         add_inf_child_target.
5111         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5112         add_inf_child_target.
5113         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5114         add_inf_child_target.
5115         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5116         add_inf_child_target.
5117         * spu-linux-nat.c (_initialize_spu_nat): Use
5118         add_inf_child_target.
5119         * spu-multiarch.c (spu_multiarch_target_info): New.
5120         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5121         <info>: New.
5122         * target-delegates.c: Regenerate.
5123         * target.c: Include <unordered_map>.
5124         (target_ops_p): Delete.
5125         (DEF_VEC_P(target_ops_p)): Delete.
5126         (target_factories): New.
5127         (test_target_info): New.
5128         (test_target_ops::info): New.
5129         (open_target): Adjust to use target_factories.
5130         (add_target_with_completer): Rename to ...
5131         (add_target): ... this.  Change prototype.  Register target_info
5132         and open callback in target_factories.  Register target_info in
5133         command context instead of target_ops.
5134         (add_target): Delete old implementation.
5135         (add_deprecated_target_alias): Change prototype.  Adjust.
5136         (the_native_target): New.
5137         (set_native_target, get_native_target): New.
5138         (find_default_run_target): Use the_native_target.
5139         (find_attach_target, find_run_target): Simplify.
5140         (target_ops::open): Delete.
5141         (dummy_target_info): New.
5142         (dummy_target::shortname, dummy_target::longname)
5143         (dummy_target::doc): Delete.
5144         (dummy_target::info): New.
5145         (debug_target::shortname, debug_target::longname)
5146         (debug_target::doc): Delete.
5147         (debug_target::info): New.
5148         * target.h (struct target_info): New.
5149         (target_ops::~target_ops): Add comment.
5150         (target_ops::info): New.
5151         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5152         longer virtual.  Implement in terms of target_info.
5153         (set_native_target, get_native_target): Declare.
5154         (target_open_ftype): New.
5155         (add_target, add_target_with_completer)
5156         (add_deprecated_target_alias): Change prototype.
5157         (test_target) <shortname, longname, doc>: Delete.
5158         <info>: New.
5159         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5160         add_inf_child_target.
5161         * tracefile-tfile.c (tfile_target_info): New.
5162         (tfile_target) <shortname, longname, doc>: Delete.
5163         <info>: New.
5164         (tfile_target::open): Rename to ...
5165         (tfile_target_open): ... this.
5166         (_initialize_tracefile_tfile): Adjust.
5167         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5168         add_inf_child_target.
5169         * windows-nat.c (_initialize_windows_nat): Use
5170         add_inf_child_target.
5171         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5172         add_inf_child_target.
5173
5174 2018-05-02  Pedro Alves  <palves@redhat.com>
5175
5176         * linux-nat.h (linux_nat_target) <low_new_thread,
5177         low_delete_thread, low_new_fork, low_forget_process,
5178         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5179         New virtual methods.
5180         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5181         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5182         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5183         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5184         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5185         Delete.
5186         * linux-fork.c (delete_fork): Adjust to call low method.
5187         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5188         (linux_nat_new_fork, linux_nat_forget_process_hook)
5189         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5190         (linux_nat_status_is_event):
5191         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5192         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5193         to call low method.
5194         (sigtrap_is_event): Rename to ...
5195         (linux_nat_target::low_status_is_event): ... this.
5196         (linux_nat_set_status_is_event): Delete.
5197         (save_stop_reason, linux_nat_wait_1)
5198         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5199         low methods.
5200         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5201         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5202         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5203         (linux_nat_set_prepare_to_resume): Delete.
5204         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5205         low virtual methods.
5206         * amd64-linux-nat.c: Likewise.
5207         * arm-linux-nat.c: Likewise.
5208         * i386-linux-nat.c: Likewise.
5209         * ia64-linux-nat.c: Likewise.
5210         * mips-linux-nat.c: Likewise.
5211         * ppc-linux-nat.c: Likewise.
5212         * s390-linux-nat.c: Likewise.
5213         * sparc64-linux-nat.c: Likewise.
5214         * x86-linux-nat.c: Likewise.
5215         * x86-linux-nat.h: Include "nat/x86-linux.h".
5216         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5217         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5218         Override methods.
5219
5220 2018-05-02  Pedro Alves  <palves@redhat.com>
5221
5222         * target.h (target_ops)
5223         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5224         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5225         stopped_by_watchpoint, have_continuable_watchpoint,
5226         stopped_data_address, watchpoint_addr_within_range,
5227         can_accel_watchpoint_condition, can_run, thread_alive,
5228         has_all_memory, has_memory, has_stack, has_registers,
5229         has_execution, can_async_p, is_async_p, supports_non_stop,
5230         always_non_stop_p, can_execute_reverse, supports_multi_process,
5231         supports_enable_disable_tracepoint,
5232         supports_disable_randomization, supports_string_tracing,
5233         supports_evaluation_of_breakpoint_conditions,
5234         can_run_breakpoint_commands, filesystem_is_local,
5235         can_download_tracepoint, get_trace_state_variable_value,
5236         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5237         record_is_replaying, record_will_replay,
5238         augmented_libraries_svr4_read>: Adjust to return bool.
5239         * aarch64-linux-nat.c: All implementations adjusted.
5240         * aix-thread.c: All implementations adjusted.
5241         * arm-linux-nat.c: All implementations adjusted.
5242         * breakpoint.c: All implementations adjusted.
5243         * bsd-kvm.c: All implementations adjusted.
5244         * bsd-uthread.c: All implementations adjusted.
5245         * corelow.c: All implementations adjusted.
5246         * ctf.c: All implementations adjusted.
5247         * darwin-nat.c: All implementations adjusted.
5248         * darwin-nat.h: All implementations adjusted.
5249         * exec.c: All implementations adjusted.
5250         * fbsd-nat.c: All implementations adjusted.
5251         * fbsd-nat.h: All implementations adjusted.
5252         * gnu-nat.c: All implementations adjusted.
5253         * gnu-nat.h: All implementations adjusted.
5254         * go32-nat.c: All implementations adjusted.
5255         * ia64-linux-nat.c: All implementations adjusted.
5256         * inf-child.c: All implementations adjusted.
5257         * inf-child.h: All implementations adjusted.
5258         * inf-ptrace.c: All implementations adjusted.
5259         * inf-ptrace.h: All implementations adjusted.
5260         * linux-nat.c: All implementations adjusted.
5261         * linux-nat.h: All implementations adjusted.
5262         * mips-linux-nat.c: All implementations adjusted.
5263         * nto-procfs.c: All implementations adjusted.
5264         * ppc-linux-nat.c: All implementations adjusted.
5265         * procfs.c: All implementations adjusted.
5266         * ravenscar-thread.c: All implementations adjusted.
5267         * record-btrace.c: All implementations adjusted.
5268         * record-full.c: All implementations adjusted.
5269         * remote-sim.c: All implementations adjusted.
5270         * remote.c: All implementations adjusted.
5271         * s390-linux-nat.c: All implementations adjusted.
5272         * sol-thread.c: All implementations adjusted.
5273         * spu-multiarch.c: All implementations adjusted.
5274         * target-delegates.c: All implementations adjusted.
5275         * target.c: All implementations adjusted.
5276         * target.h: All implementations adjusted.
5277         * tracefile-tfile.c: All implementations adjusted.
5278         * tracefile.c: All implementations adjusted.
5279         * tracefile.h: All implementations adjusted.
5280         * windows-nat.c: All implementations adjusted.
5281         * x86-linux-nat.h: All implementations adjusted.
5282         * x86-nat.h: All implementations adjusted.
5283
5284 2018-05-02  Pedro Alves  <palves@redhat.com>
5285
5286         * make-target-delegates (scan_target_h): Don't trim lines here.
5287         Replace sequences of tabs and/or whitespace with a single
5288         whitespace.
5289         (top level, parsing methods): Trim each line before processing it
5290         here.
5291
5292 2018-05-02  Pedro Alves  <palves@redhat.com>
5293             John Baldwin  <jhb@freebsd.org>
5294
5295         * target.h (enum strata) <debug_stratum>: New.
5296         (struct target_ops) <all delegation methods>: Replace by C++
5297         virtual methods, and drop "to_" prefix.  All references updated
5298         throughout.
5299         <to_shortname, to_longname, to_doc, to_data,
5300         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5301         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5302         virtual methods.  All references updated throughout.
5303         <can_attach, supports_terminal_ours, can_create_inferior,
5304         get_thread_control_capabilities, attach_no_wait>: New
5305         virtual methods.
5306         <insert_breakpoint, remove_breakpoint>: Now
5307         TARGET_DEFAULT_NORETURN methods.
5308         <info_proc>: Now returns bool.
5309         <to_magic>: Delete.
5310         (OPS_MAGIC): Delete.
5311         (current_target): Delete.  All references replaced by references
5312         to ...
5313         (target_stack): ... this.  New.
5314         (target_shortname, target_longname): Adjust.
5315         (target_can_run): Now a function declaration.
5316         (default_child_has_all_memory, default_child_has_memory)
5317         (default_child_has_stack, default_child_has_registers)
5318         (default_child_has_execution): Remove target_ops parameter.
5319         (complete_target_initialization): Delete.
5320         (memory_breakpoint_target): New template class.
5321         (test_target_ops): Refactor as a C++ class with virtual methods.
5322         * make-target-delegates (NAME_PART): Tighten.
5323         (POINTER_PART, CP_SYMBOL): New.
5324         (SIMPLE_RETURN_PART): Reimplement.
5325         (VEC_RETURN_PART): Expect less.
5326         (RETURN_PART, VIRTUAL_PART): New.
5327         (METHOD): Adjust to C++ virtual methods.
5328         (scan_target_h): Remove reference to C99.
5329         (dname): Output "target_ops::" prefix.
5330         (write_function_header): Adjust to output a C++ class method.
5331         (write_declaration): New.
5332         (write_delegator): Adjust to output a C++ class method.
5333         (tdname): Output "dummy_target::" prefix.
5334         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5335         method.
5336         (tdefault_names, debug_names): Delete.
5337         (return_types, tdefaults, styles, argtypes_array): New.
5338         (top level): All methods are delegators.
5339         (print_class): New.
5340         (top level): Print dummy_target and debug_target classes.
5341         * target-delegates.c: Regenerate.
5342         * target-debug.h (target_debug_print_enum_info_proc_what)
5343         (target_debug_print_thread_control_capabilities)
5344         (target_debug_print_thread_info_p): New.
5345         * target.c (dummy_target): Delete.
5346         (the_dummy_target, the_debug_target): New.
5347         (target_stack): Now extern.
5348         (set_targetdebug): Push/unpush debug target.
5349         (default_child_has_all_memory, default_child_has_memory)
5350         (default_child_has_stack, default_child_has_registers)
5351         (default_child_has_execution): Remove target_ops parameter.
5352         (complete_target_initialization): Delete.
5353         (add_target_with_completer): No longer call
5354         complete_target_initialization.
5355         (target_supports_terminal_ours): Use regular delegation.
5356         (update_current_target): Delete.
5357         (push_target): No longer check magic number.  Don't call
5358         update_current_target.
5359         (unpush_target): Don't call update_current_target.
5360         (target_is_pushed): No longer check magic number.
5361         (target_require_runnable): Skip for all stratums over
5362         process_stratum.
5363         (target_ops::info_proc): New.
5364         (target_info_proc): Use find_target_at and
5365         find_default_run_target.
5366         (target_supports_disable_randomization): Use regular delegation.
5367         (target_get_osdata): Use find_target_at.
5368         (target_ops::open, target_ops::close, target_ops::can_attach)
5369         (target_ops::attach, target_ops::can_create_inferior)
5370         (target_ops::create_inferior, target_ops::can_run)
5371         (target_can_run): New.
5372         (default_fileio_target): Use regular delegation.
5373         (target_ops::fileio_open, target_ops::fileio_pwrite)
5374         (target_ops::fileio_pread, target_ops::fileio_fstat)
5375         (target_ops::fileio_close, target_ops::fileio_unlink)
5376         (target_ops::fileio_readlink): New.
5377         (target_fileio_open_1, target_fileio_unlink)
5378         (target_fileio_readlink): Always call the target method.  Handle
5379         FILEIO_ENOSYS.
5380         (return_zero, return_zero_has_execution): Delete.
5381         (init_dummy_target): Delete.
5382         (dummy_target::dummy_target, dummy_target::shortname)
5383         (dummy_target::longname, dummy_target::doc)
5384         (debug_target::debug_target, debug_target::shortname)
5385         (debug_target::longname, debug_target::doc): New.
5386         (target_supports_delete_record): Use regular delegation.
5387         (setup_target_debug): Delete.
5388         (maintenance_print_target_stack): Skip debug_stratum.
5389         (initialize_targets): Instantiate the_dummy_target and
5390         the_debug_target.
5391         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5392         use target_stack.
5393         (target_auxv_search, fprint_target_auxv): Adjust.
5394         (info_auxv_command): Adjust to use target_stack.
5395         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5396         * exceptions.c (print_flush): Handle a NULL target_stack.
5397         * regcache.c (target_ops_no_register): Refactor as class with
5398         virtual methods.
5399
5400         * exec.c (exec_target): New class.
5401         (exec_ops): Now an exec_target.
5402         (exec_open, exec_close_1, exec_get_section_table)
5403         (exec_xfer_partial, exec_files_info, exec_has_memory)
5404         (exec_make_note_section): Refactor as exec_target methods.
5405         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5406         Delete.
5407         (exec_target::find_memory_regions): New.
5408         (_initialize_exec): Don't call init_exec_ops.
5409         * gdbcore.h (exec_file_clear): Delete.
5410
5411         * corefile.c (core_target): Delete.
5412         (core_file_command): Adjust.
5413         * corelow.c (core_target): New class.
5414         (the_core_target): New.
5415         (core_close): Remove target_ops parameter.
5416         (core_close_cleanup): Adjust.
5417         (core_target::close): New.
5418         (core_open, core_detach, get_core_registers, core_files_info)
5419         (core_xfer_partial, core_thread_alive, core_read_description)
5420         (core_pid_to_str, core_thread_name, core_has_memory)
5421         (core_has_stack, core_has_registers, core_info_proc): Rework as
5422         core_target methods.
5423         (ignore, core_remove_breakpoint, init_core_ops): Delete.
5424         (_initialize_corelow): Initialize the_core_target.
5425         * gdbcore.h (core_target): Delete.
5426         (the_core_target): New.
5427
5428         * ctf.c: (ctf_target): New class.
5429         (ctf_ops): Now a ctf_target.
5430         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
5431         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
5432         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
5433         methods.
5434         (init_ctf_ops): Delete.
5435         (_initialize_ctf): Don't call it.
5436         * tracefile-tfile.c (tfile_target): New class.
5437         (tfile_ops): Now a tfile_target.
5438         (tfile_open, tfile_close, tfile_files_info)
5439         (tfile_get_tracepoint_status, tfile_trace_find)
5440         (tfile_fetch_registers, tfile_xfer_partial)
5441         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
5442         Refactor as tfile_target methods.
5443         (tfile_xfer_partial_features): Remove target_ops parameter.
5444         (init_tfile_ops): Delete.
5445         (_initialize_tracefile_tfile): Don't call it.
5446         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
5447         (tracefile_has_stack, tracefile_has_registers)
5448         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
5449         tracefile_target methods.
5450         (init_tracefile_ops): Delete.
5451         (tracefile_target::tracefile_target): New.
5452         * tracefile.h: Include "target.h".
5453         (tracefile_target): New class.
5454         (init_tracefile_ops): Delete.
5455
5456         * spu-multiarch.c (spu_multiarch_target): New class.
5457         (spu_ops): Now a spu_multiarch_target.
5458         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
5459         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
5460         (spu_search_memory, spu_mourn_inferior): Refactor as
5461         spu_multiarch_target methods.
5462         (init_spu_ops): Delete.
5463         (_initialize_spu_multiarch): Remove references to init_spu_ops,
5464         complete_target_initialization.
5465
5466         * ravenscar-thread.c (ravenscar_thread_target): New class.
5467         (ravenscar_ops): Now a ravenscar_thread_target.
5468         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
5469         (ravenscar_thread_alive, ravenscar_pid_to_str)
5470         (ravenscar_fetch_registers, ravenscar_store_registers)
5471         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
5472         (ravenscar_stopped_by_hw_breakpoint)
5473         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
5474         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
5475         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
5476         methods.
5477         (init_ravenscar_thread_ops): Delete.
5478         (_initialize_ravenscar): Remove references to
5479         init_ravenscar_thread_ops and complete_target_initialization.
5480
5481         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
5482         (bsd_uthread_target): New class.
5483         (bsd_uthread_ops): Now a bsd_uthread_target.
5484         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
5485         (bsd_uthread_close, bsd_uthread_mourn_inferior)
5486         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
5487         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
5488         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
5489         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
5490         (bsd_uthread_target): Delete function.
5491         (_initialize_bsd_uthread): Remove reference to
5492         complete_target_initialization.
5493
5494         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
5495         (target_bfd): ... this new class.
5496         (target_bfd_xfer_partial, target_bfd_get_section_table)
5497         (target_bfd_close): Refactor as target_bfd methods.
5498         (target_bfd::~target_bfd): New.
5499         (target_bfd_reopen): Adjust.
5500         (target_bfd::close): New.
5501
5502         * record-btrace.c (record_btrace_target): New class.
5503         (record_btrace_ops): Now a record_btrace_target.
5504         (record_btrace_open, record_btrace_stop_recording)
5505         (record_btrace_disconnect, record_btrace_close)
5506         (record_btrace_async, record_btrace_info)
5507         (record_btrace_insn_history, record_btrace_insn_history_range)
5508         (record_btrace_insn_history_from, record_btrace_call_history)
5509         (record_btrace_call_history_range)
5510         (record_btrace_call_history_from, record_btrace_record_method)
5511         (record_btrace_is_replaying, record_btrace_will_replay)
5512         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
5513         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
5514         (record_btrace_store_registers, record_btrace_prepare_to_store)
5515         (record_btrace_to_get_unwinder)
5516         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
5517         (record_btrace_commit_resume, record_btrace_wait)
5518         (record_btrace_stop, record_btrace_can_execute_reverse)
5519         (record_btrace_stopped_by_sw_breakpoint)
5520         (record_btrace_supports_stopped_by_sw_breakpoint)
5521         (record_btrace_stopped_by_hw_breakpoint)
5522         (record_btrace_supports_stopped_by_hw_breakpoint)
5523         (record_btrace_update_thread_list, record_btrace_thread_alive)
5524         (record_btrace_goto_begin, record_btrace_goto_end)
5525         (record_btrace_goto, record_btrace_stop_replaying_all)
5526         (record_btrace_execution_direction)
5527         (record_btrace_prepare_to_generate_core)
5528         (record_btrace_done_generating_core): Refactor as
5529         record_btrace_target methods.
5530         (init_record_btrace_ops): Delete.
5531         (_initialize_record_btrace): Remove reference to
5532         init_record_btrace_ops.
5533         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
5534         the execution_direction global.
5535         (record_full_base_target, record_full_target)
5536         (record_full_core_target): New classes.
5537         (record_full_ops): Now a record_full_target.
5538         (record_full_core_ops): Now a record_full_core_target.
5539         (record_full_target::detach, record_full_target::disconnect)
5540         (record_full_core_target::disconnect)
5541         (record_full_target::mourn_inferior, record_full_target::kill):
5542         New.
5543         (record_full_open, record_full_close, record_full_async): Refactor
5544         as methods of the record_full_base_target class.
5545         (record_full_resume, record_full_commit_resume): Refactor
5546         as methods of the record_full_target class.
5547         (record_full_wait, record_full_stopped_by_watchpoint)
5548         (record_full_stopped_data_address)
5549         (record_full_stopped_by_sw_breakpoint)
5550         (record_full_supports_stopped_by_sw_breakpoint)
5551         (record_full_stopped_by_hw_breakpoint)
5552         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
5553         methods of the record_full_base_target class.
5554         (record_full_store_registers, record_full_xfer_partial)
5555         (record_full_insert_breakpoint, record_full_remove_breakpoint):
5556         Refactor as methods of the record_full_target class.
5557         (record_full_can_execute_reverse, record_full_get_bookmark)
5558         (record_full_goto_bookmark, record_full_execution_direction)
5559         (record_full_record_method, record_full_info, record_full_delete)
5560         (record_full_is_replaying, record_full_will_replay)
5561         (record_full_goto_begin, record_full_goto_end, record_full_goto)
5562         (record_full_stop_replaying): Refactor as methods of the
5563         record_full_base_target class.
5564         (record_full_core_resume, record_full_core_kill)
5565         (record_full_core_fetch_registers)
5566         (record_full_core_prepare_to_store)
5567         (record_full_core_store_registers, record_full_core_xfer_partial)
5568         (record_full_core_insert_breakpoint)
5569         (record_full_core_remove_breakpoint)
5570         (record_full_core_has_execution): Refactor
5571         as methods of the record_full_core_target class.
5572         (record_full_base_target::supports_delete_record): New.
5573         (init_record_full_ops): Delete.
5574         (init_record_full_core_ops): Delete.
5575         (record_full_save): Refactor as method of the
5576         record_full_base_target class.
5577         (_initialize_record_full): Remove references to
5578         init_record_full_ops and init_record_full_core_ops.
5579
5580         * remote.c (remote_target, extended_remote_target): New classes.
5581         (remote_ops): Now a remote_target.
5582         (extended_remote_ops): Now an extended_remote_target.
5583         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
5584         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
5585         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
5586         (remote_pass_signals, remote_set_syscall_catchpoint)
5587         (remote_program_signals, )
5588         (remote_thread_always_alive): Remove target_ops parameter.
5589         (remote_thread_alive, remote_thread_name)
5590         (remote_update_thread_list, remote_threads_extra_info)
5591         (remote_static_tracepoint_marker_at)
5592         (remote_static_tracepoint_markers_by_strid)
5593         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
5594         (remote_open): Refactor as methods of remote_target.
5595         (extended_remote_open, extended_remote_detach)
5596         (extended_remote_attach, extended_remote_post_attach):
5597         (extended_remote_supports_disable_randomization)
5598         (extended_remote_create_inferior): : Refactor as method of
5599         extended_remote_target.
5600         (remote_set_permissions, remote_open_1, remote_detach)
5601         (remote_follow_fork, remote_follow_exec, remote_disconnect)
5602         (remote_resume, remote_commit_resume, remote_stop)
5603         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
5604         (remote_terminal_ours, remote_wait, remote_fetch_registers)
5605         (remote_prepare_to_store, remote_store_registers)
5606         (remote_flash_erase, remote_flash_done, remote_files_info)
5607         (remote_kill, remote_mourn, remote_insert_breakpoint)
5608         (remote_remove_breakpoint, remote_insert_watchpoint)
5609         (remote_watchpoint_addr_within_range)
5610         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
5611         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
5612         (remote_supports_stopped_by_sw_breakpoint)
5613         (remote_stopped_by_hw_breakpoint)
5614         (remote_supports_stopped_by_hw_breakpoint)
5615         (remote_stopped_by_watchpoint, remote_stopped_data_address)
5616         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
5617         (remote_verify_memory): Refactor as methods of remote_target.
5618         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
5619         parameter.
5620         (remote_xfer_partial, remote_get_memory_xfer_limit)
5621         (remote_search_memory, remote_rcmd, remote_memory_map)
5622         (remote_pid_to_str, remote_get_thread_local_address)
5623         (remote_get_tib_address, remote_read_description): Refactor as
5624         methods of remote_target.
5625         (remote_target::fileio_open, remote_target::fileio_pwrite)
5626         (remote_target::fileio_pread, remote_target::fileio_close): New.
5627         (remote_hostio_readlink, remote_hostio_fstat)
5628         (remote_filesystem_is_local, remote_can_execute_reverse)
5629         (remote_supports_non_stop, remote_supports_disable_randomization)
5630         (remote_supports_multi_process, remote_supports_cond_breakpoints)
5631         (remote_supports_enable_disable_tracepoint)
5632         (remote_supports_string_tracing)
5633         (remote_can_run_breakpoint_commands, remote_trace_init)
5634         (remote_download_tracepoint, remote_can_download_tracepoint)
5635         (remote_download_trace_state_variable, remote_enable_tracepoint)
5636         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
5637         (remote_trace_start, remote_get_trace_status)
5638         (remote_get_tracepoint_status, remote_trace_stop)
5639         (remote_trace_find, remote_get_trace_state_variable_value)
5640         (remote_save_trace_data, remote_get_raw_trace_data)
5641         (remote_set_disconnected_tracing, remote_core_of_thread)
5642         (remote_set_circular_trace_buffer, remote_traceframe_info)
5643         (remote_get_min_fast_tracepoint_insn_len)
5644         (remote_set_trace_buffer_size, remote_set_trace_notes)
5645         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
5646         (remote_disable_btrace, remote_teardown_btrace)
5647         (remote_read_btrace, remote_btrace_conf)
5648         (remote_augmented_libraries_svr4_read, remote_load)
5649         (remote_pid_to_exec_file, remote_can_do_single_step)
5650         (remote_execution_direction, remote_thread_handle_to_thread_info):
5651         Refactor as methods of remote_target.
5652         (init_remote_ops, init_extended_remote_ops): Delete.
5653         (remote_can_async_p, remote_is_async_p, remote_async)
5654         (remote_thread_events, remote_upload_tracepoints)
5655         (remote_upload_trace_state_variables): Refactor as methods of
5656         remote_target.
5657         (_initialize_remote): Remove references to init_remote_ops and
5658         init_extended_remote_ops.
5659
5660         * remote-sim.c (gdbsim_target): New class.
5661         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
5662         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
5663         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
5664         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
5665         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
5666         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
5667         Refactor as methods of gdbsim_target.
5668         (gdbsim_ops): Now a gdbsim_target.
5669         (init_gdbsim_ops): Delete.
5670         (gdbsim_cntrl_c): Adjust.
5671         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
5672
5673         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
5674         (the_amd64_linux_nat_target): New.
5675         (amd64_linux_fetch_inferior_registers)
5676         (amd64_linux_store_inferior_registers): Refactor as methods of
5677         amd64_linux_nat_target.
5678         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
5679         * i386-linux-nat.c: Don't include "linux-nat.h".
5680         (i386_linux_nat_target): New class.
5681         (the_i386_linux_nat_target): New.
5682         (i386_linux_fetch_inferior_registers)
5683         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
5684         as methods of i386_linux_nat_target.
5685         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
5686         * inf-child.c (inf_child_ops): Delete.
5687         (inf_child_fetch_inferior_registers)
5688         (inf_child_store_inferior_registers): Delete.
5689         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
5690         methods of inf_child_target.
5691         (inf_child_target::supports_terminal_ours)
5692         (inf_child_target::terminal_init)
5693         (inf_child_target::terminal_inferior)
5694         (inf_child_target::terminal_ours_for_output)
5695         (inf_child_target::terminal_ours, inf_child_target::interrupt)
5696         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
5697         New.
5698         (inf_child_open, inf_child_disconnect, inf_child_close)
5699         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
5700         (inf_child_post_startup_inferior, inf_child_can_run)
5701         (inf_child_pid_to_exec_file): Refactor as methods of
5702         inf_child_target.
5703         (inf_child_follow_fork): Delete.
5704         (inf_child_target::can_create_inferior)
5705         (inf_child_target::can_attach): New.
5706         (inf_child_target::has_all_memory, inf_child_target::has_memory)
5707         (inf_child_target::has_stack, inf_child_target::has_registers)
5708         (inf_child_target::has_execution): New.
5709         (inf_child_fileio_open, inf_child_fileio_pwrite)
5710         (inf_child_fileio_pread, inf_child_fileio_fstat)
5711         (inf_child_fileio_close, inf_child_fileio_unlink)
5712         (inf_child_fileio_readlink, inf_child_use_agent)
5713         (inf_child_can_use_agent): Refactor as methods of
5714         inf_child_target.
5715         (return_zero, inf_child_target): Delete.
5716         (inf_child_target::inf_child_target): New.
5717         * inf-child.h: Include "target.h".
5718         (inf_child_target): Delete function prototype.
5719         (inf_child_target): New class.
5720         (inf_child_open_target, inf_child_mourn_inferior)
5721         (inf_child_maybe_unpush_target): Delete.
5722         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
5723         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
5724         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
5725         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
5726         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
5727         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
5728         (inf_ptrace_wait, inf_ptrace_xfer_partial)
5729         (inf_ptrace_thread_alive, inf_ptrace_files_info)
5730         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
5731         methods of inf_ptrace_target.
5732         (inf_ptrace_target): Delete function.
5733         * inf-ptrace.h: Include "inf-child.h".
5734         (inf_ptrace_target): Delete function declaration.
5735         (inf_ptrace_target): New class.
5736         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
5737         * linux-nat.c (linux_target): New.
5738         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
5739         (linux_nat_target::~linux_nat_target): New.
5740         (linux_child_post_attach, linux_child_post_startup_inferior)
5741         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
5742         (linux_child_remove_fork_catchpoint)
5743         (linux_child_insert_vfork_catchpoint)
5744         (linux_child_remove_vfork_catchpoint)
5745         (linux_child_insert_exec_catchpoint)
5746         (linux_child_remove_exec_catchpoint)
5747         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
5748         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
5749         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
5750         (linux_nat_stopped_data_address)
5751         (linux_nat_stopped_by_sw_breakpoint)
5752         (linux_nat_supports_stopped_by_sw_breakpoint)
5753         (linux_nat_stopped_by_hw_breakpoint)
5754         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
5755         (linux_nat_kill, linux_nat_mourn_inferior)
5756         (linux_nat_xfer_partial, linux_nat_thread_alive)
5757         (linux_nat_update_thread_list, linux_nat_pid_to_str)
5758         (linux_nat_thread_name, linux_child_pid_to_exec_file)
5759         (linux_child_static_tracepoint_markers_by_strid)
5760         (linux_nat_is_async_p, linux_nat_can_async_p)
5761         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
5762         (linux_nat_supports_multi_process)
5763         (linux_nat_supports_disable_randomization, linux_nat_async)
5764         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
5765         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
5766         (linux_nat_fileio_open, linux_nat_fileio_readlink)
5767         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
5768         methods of linux_nat_target.
5769         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
5770         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
5771         parameter.
5772         (check_stopped_by_watchpoint): Adjust.
5773         (linux_xfer_partial): Delete.
5774         (linux_target_install_ops, linux_target, linux_nat_add_target):
5775         Delete.
5776         (linux_nat_target::linux_nat_target): New.
5777         * linux-nat.h: Include "inf-ptrace.h".
5778         (linux_nat_target): New.
5779         (linux_target, linux_target_install_ops, linux_nat_add_target):
5780         Delete function declarations.
5781         (linux_target): Declare global.
5782         * linux-thread-db.c (thread_db_target): New.
5783         (thread_db_target::thread_db_target): New.
5784         (thread_db_ops): Delete.
5785         (the_thread_db_target): New.
5786         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
5787         (thread_db_update_thread_list, thread_db_pid_to_str)
5788         (thread_db_extra_thread_info)
5789         (thread_db_thread_handle_to_thread_info)
5790         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
5791         (thread_db_resume): Refactor as methods of thread_db_target.
5792         (init_thread_db_ops): Delete.
5793         (_initialize_thread_db): Remove reference to init_thread_db_ops.
5794         * x86-linux-nat.c: Don't include "linux-nat.h".
5795         (super_post_startup_inferior): Delete.
5796         (x86_linux_nat_target::~x86_linux_nat_target): New.
5797         (x86_linux_child_post_startup_inferior)
5798         (x86_linux_read_description, x86_linux_enable_btrace)
5799         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
5800         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
5801         methods of x86_linux_nat_target.
5802         (x86_linux_create_target): Delete.  Bits folded ...
5803         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
5804         pointer.
5805         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
5806         (x86_linux_nat_target): New class.
5807         (x86_linux_create_target): Delete.
5808         (x86_linux_add_target): Now takes a linux_nat_target pointer.
5809         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
5810         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
5811         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
5812         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
5813         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
5814         make extern.
5815         (x86_use_watchpoints): Delete.
5816         * x86-nat.h: Include "breakpoint.h" and "target.h".
5817         (x86_use_watchpoints): Delete.
5818         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
5819         (x86_stopped_by_watchpoint, x86_stopped_data_address)
5820         (x86_insert_watchpoint, x86_remove_watchpoint)
5821         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
5822         (x86_stopped_by_hw_breakpoint): New declarations.
5823         (x86_nat_target): New template class.
5824
5825         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
5826         (the_ppc_linux_nat_target): New.
5827         (ppc_linux_fetch_inferior_registers)
5828         (ppc_linux_can_use_hw_breakpoint)
5829         (ppc_linux_region_ok_for_hw_watchpoint)
5830         (ppc_linux_ranged_break_num_registers)
5831         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
5832         (ppc_linux_insert_mask_watchpoint)
5833         (ppc_linux_remove_mask_watchpoint)
5834         (ppc_linux_can_accel_watchpoint_condition)
5835         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
5836         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
5837         (ppc_linux_watchpoint_addr_within_range)
5838         (ppc_linux_masked_watch_num_registers)
5839         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
5840         (ppc_linux_read_description): Refactor as methods of
5841         ppc_linux_nat_target.
5842         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
5843
5844         * procfs.c (procfs_xfer_partial): Delete forward declaration.
5845         (procfs_target): New class.
5846         (the_procfs_target): New.
5847         (procfs_target): Delete function.
5848         (procfs_auxv_parse, procfs_attach, procfs_detach)
5849         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
5850         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
5851         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
5852         (procfs_create_inferior, procfs_update_thread_list)
5853         (procfs_thread_alive, procfs_pid_to_str)
5854         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
5855         (procfs_stopped_data_address, procfs_insert_watchpoint)
5856         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
5857         (proc_find_memory_regions, procfs_info_proc)
5858         (procfs_make_note_section): Refactor as methods of procfs_target.
5859         (_initialize_procfs): Adjust.
5860         * sol-thread.c (sol_thread_target): New class.
5861         (sol_thread_ops): Now a sol_thread_target.
5862         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
5863         (sol_thread_fetch_registers, sol_thread_store_registers)
5864         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
5865         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
5866         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
5867         (init_sol_thread_ops): Delete.
5868         (_initialize_sol_thread): Adjust.  Remove references to
5869         init_sol_thread_ops and complete_target_initialization.
5870
5871         * windows-nat.c (windows_nat_target): New class.
5872         (windows_fetch_inferior_registers)
5873         (windows_store_inferior_registers, windows_resume, windows_wait)
5874         (windows_attach, windows_detach, windows_pid_to_exec_file)
5875         (windows_files_info, windows_create_inferior)
5876         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
5877         (windows_close, windows_pid_to_str, windows_xfer_partial)
5878         (windows_get_tib_address, windows_get_ada_task_ptid)
5879         (windows_thread_name, windows_thread_alive): Refactor as
5880         windows_nat_target methods.
5881         (do_initial_windows_stuff): Adjust.
5882         (windows_target): Delete function.
5883         (_initialize_windows_nat): Adjust.
5884
5885         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
5886         (darwin_mourn_inferior, darwin_kill_inferior)
5887         (darwin_create_inferior, darwin_attach, darwin_detach)
5888         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
5889         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
5890         (darwin_supports_multi_process): Refactor as darwin_nat_target
5891         methods.
5892         (darwin_resume_to, darwin_files_info): Delete.
5893         (_initialize_darwin_inferior): Rename to ...
5894         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
5895         * darwin-nat.h: Include "inf-child.h".
5896         (darwin_nat_target): New class.
5897         (darwin_complete_target): Delete.
5898         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
5899         (darwin_target): New.
5900         (i386_darwin_fetch_inferior_registers)
5901         (i386_darwin_store_inferior_registers): Refactor as methods of
5902         darwin_nat_target.
5903         (darwin_complete_target): Delete, with ...
5904         (_initialize_i386_darwin_nat): ... bits factored out here.
5905
5906         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
5907         (the_alpha_linux_nat_target): New.
5908         (alpha_linux_register_u_offset): Refactor as
5909         alpha_linux_nat_target method.
5910         (_initialize_alpha_linux_nat): Adjust.
5911         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
5912         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
5913         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
5914         methods of linux_nat_trad_target.
5915         (linux_trad_target): Delete.
5916         * linux-nat-trad.h (linux_trad_target): Delete function.
5917         (linux_nat_trad_target): New class.
5918         * mips-linux-nat.c (mips_linux_nat_target): New class.
5919         (super_fetch_registers, super_store_registers, super_close):
5920         Delete.
5921         (the_mips_linux_nat_target): New.
5922         (mips64_linux_regsets_fetch_registers)
5923         (mips64_linux_regsets_store_registers)
5924         (mips64_linux_fetch_registers, mips64_linux_store_registers)
5925         (mips_linux_register_u_offset, mips_linux_read_description)
5926         (mips_linux_can_use_hw_breakpoint)
5927         (mips_linux_stopped_by_watchpoint)
5928         (mips_linux_stopped_data_address)
5929         (mips_linux_region_ok_for_hw_watchpoint)
5930         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
5931         (mips_linux_close): Refactor as methods of mips_linux_nat.
5932         (_initialize_mips_linux_nat): Adjust to C++ification.
5933
5934         * aix-thread.c (aix_thread_target): New class.
5935         (aix_thread_ops): Now an aix_thread_target.
5936         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
5937         (aix_thread_fetch_registers, aix_thread_store_registers)
5938         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
5939         (aix_thread_thread_alive, aix_thread_pid_to_str)
5940         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
5941         Refactor as methods of aix_thread_target.
5942         (init_aix_thread_ops): Delete.
5943         (_initialize_aix_thread): Remove references to init_aix_thread_ops
5944         and complete_target_initialization.
5945         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
5946         (rs6000_nat_target): New class.
5947         (the_rs6000_nat_target): New.
5948         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
5949         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
5950         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
5951         (super_create_inferior): Delete.
5952         (_initialize_rs6000_nat): Adjust to C++ification.
5953
5954         * arm-linux-nat.c (arm_linux_nat_target): New class.
5955         (the_arm_linux_nat_target): New.
5956         (arm_linux_fetch_inferior_registers)
5957         (arm_linux_store_inferior_registers, arm_linux_read_description)
5958         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
5959         (arm_linux_remove_hw_breakpoint)
5960         (arm_linux_region_ok_for_hw_watchpoint)
5961         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
5962         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
5963         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
5964         arm_linux_nat_target.
5965         (_initialize_arm_linux_nat): Adjust to C++ification.
5966
5967         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
5968         (the_aarch64_linux_nat_target): New.
5969         (aarch64_linux_fetch_inferior_registers)
5970         (aarch64_linux_store_inferior_registers)
5971         (aarch64_linux_child_post_startup_inferior)
5972         (aarch64_linux_read_description)
5973         (aarch64_linux_can_use_hw_breakpoint)
5974         (aarch64_linux_insert_hw_breakpoint)
5975         (aarch64_linux_remove_hw_breakpoint)
5976         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
5977         (aarch64_linux_region_ok_for_hw_watchpoint)
5978         (aarch64_linux_stopped_data_address)
5979         (aarch64_linux_stopped_by_watchpoint)
5980         (aarch64_linux_watchpoint_addr_within_range)
5981         (aarch64_linux_can_do_single_step): Refactor as methods of
5982         aarch64_linux_nat_target.
5983         (super_post_startup_inferior): Delete.
5984         (_initialize_aarch64_linux_nat): Adjust to C++ification.
5985
5986         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
5987         (the_hppa_linux_nat_target): New.
5988         (hppa_linux_fetch_inferior_registers)
5989         (hppa_linux_store_inferior_registers): Refactor as methods of
5990         hppa_linux_nat_target.
5991         (_initialize_hppa_linux_nat): Adjust to C++ification.
5992
5993         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
5994         (the_ia64_linux_nat_target): New.
5995         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
5996         (ia64_linux_stopped_data_address)
5997         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
5998         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
5999         ia64_linux_nat_target methods.
6000         (super_xfer_partial): Delete.
6001         (_initialize_ia64_linux_nat): Adjust to C++ification.
6002
6003         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
6004         (the_m32r_linux_nat_target): New.
6005         (m32r_linux_fetch_inferior_registers)
6006         (m32r_linux_store_inferior_registers): Refactor as
6007         m32r_linux_nat_target methods.
6008         (_initialize_m32r_linux_nat): Adjust to C++ification.
6009
6010         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
6011         (the_m68k_linux_nat_target): New.
6012         (m68k_linux_fetch_inferior_registers)
6013         (m68k_linux_store_inferior_registers): Refactor as
6014         m68k_linux_nat_target methods.
6015         (_initialize_m68k_linux_nat): Adjust to C++ification.
6016
6017         * s390-linux-nat.c (s390_linux_nat_target): New class.
6018         (the_s390_linux_nat_target): New.
6019         (s390_linux_fetch_inferior_registers)
6020         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
6021         (s390_insert_watchpoint, s390_remove_watchpoint)
6022         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
6023         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
6024         (s390_auxv_parse, s390_read_description): Refactor as methods of
6025         s390_linux_nat_target.
6026         (_initialize_s390_nat): Adjust to C++ification.
6027
6028         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
6029         (the_sparc_linux_nat_target): New.
6030         (_initialize_sparc_linux_nat): Adjust to C++ification.
6031         * sparc-nat.c (sparc_fetch_inferior_registers)
6032         (sparc_store_inferior_registers): Remove target_ops parameter.
6033         * sparc-nat.h (sparc_fetch_inferior_registers)
6034         (sparc_store_inferior_registers): Remove target_ops parameter.
6035         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6036         (the_sparc64_linux_nat_target): New.
6037         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6038
6039         * spu-linux-nat.c (spu_linux_nat_target): New class.
6040         (the_spu_linux_nat_target): New.
6041         (spu_child_post_startup_inferior, spu_child_post_attach)
6042         (spu_child_wait, spu_fetch_inferior_registers)
6043         (spu_store_inferior_registers, spu_xfer_partial)
6044         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6045         methods.
6046         (_initialize_spu_nat): Adjust to C++ification.
6047
6048         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6049         (the_tilegx_linux_nat_target): New.
6050         (fetch_inferior_registers, store_inferior_registers):
6051         Refactor as methods.
6052         (_initialize_tile_linux_nat): Adjust to C++ification.
6053
6054         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6055         (the_xtensa_linux_nat_target): New.
6056         (xtensa_linux_fetch_inferior_registers)
6057         (xtensa_linux_store_inferior_registers): Refactor as
6058         xtensa_linux_nat_target methods.
6059         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6060
6061         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6062         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6063         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6064         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6065         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6066         (fbsd_stopped_by_sw_breakpoint)
6067         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6068         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6069         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6070         (fbsd_post_startup_inferior, fbsd_post_attach)
6071         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6072         (fbsd_set_syscall_catchpoint)
6073         (super_xfer_partial, super_resume, super_wait)
6074         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6075         (fbsd_handle_debug_trap): Remove target_ops parameter.
6076         (fbsd_nat_add_target): Delete.
6077         * fbsd-nat.h: Include "inf-ptrace.h".
6078         (fbsd_nat_add_target): Delete.
6079         (USE_SIGTRAP_SIGINFO): Define.
6080         (fbsd_nat_target): New class.
6081
6082         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6083         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6084         (amd64bsd_target): Delete.
6085         * amd64-bsd-nat.h: New file.
6086         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6087         "x86-bsd-nat.h".
6088         (amd64_fbsd_nat_target): New class.
6089         (the_amd64_fbsd_nat_target): New.
6090         (amd64fbsd_read_description): Refactor as method of
6091         amd64_fbsd_nat_target.
6092         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6093         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6094         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6095         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6096         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6097         (i386bsd_target): Delete.
6098         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6099         (i386bsd_fetch_inferior_registers)
6100         (i386bsd_store_inferior_registers): Declare.
6101         (i386_bsd_nat_target): New class.
6102         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6103         (the_i386_fbsd_nat_target): New.
6104         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6105         i386_fbsd_nat_target methods.
6106         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6107         (_initialize_i386fbsd_nat): Adjust to C++ification.
6108         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6109         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6110         (_initialize_x86_bsd_nat): Adjust to C++ification.
6111         * x86-bsd-nat.h: Include "x86-nat.h".
6112         (x86bsd_target): Delete declaration.
6113         (x86bsd_nat_target): New class.
6114
6115         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6116         (the_aarch64_fbsd_nat_target): New.
6117         (aarch64_fbsd_fetch_inferior_registers)
6118         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6119         aarch64_fbsd_nat_target.
6120         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6121         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6122         (the_alpha_bsd_nat_target): New.
6123         (alphabsd_fetch_inferior_registers)
6124         (alphabsd_store_inferior_registers): Refactor as
6125         alpha_bsd_nat_target methods.
6126         (_initialize_alphabsd_nat): Refactor as methods of
6127         alpha_bsd_nat_target.
6128         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6129         (the_amd64_nbsd_nat_target): New.
6130         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6131         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6132         (the_amd64_obsd_nat_target): New.
6133         (_initialize_amd64obsd_nat): Adjust to C++ification.
6134         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6135         (the_arm_fbsd_nat_target): New.
6136         (arm_fbsd_fetch_inferior_registers)
6137         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6138         (_initialize_arm_fbsd_nat): Refactor as methods of
6139         arm_fbsd_nat_target.
6140         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6141         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6142         (the_arm_netbsd_nat_target): New.
6143         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6144         arm_netbsd_nat_target.
6145         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6146         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6147         (the_hppa_nbsd_nat_target): New.
6148         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6149         hppa_nbsd_nat_target methods.
6150         (_initialize_hppanbsd_nat): Adjust to C++ification.
6151         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6152         (the_hppa_obsd_nat_target): New.
6153         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6154         methods of hppa_obsd_nat_target.
6155         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6156         add_target.
6157         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6158         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6159         add_target.
6160         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6161         (_initialize_i386obsd_nat): Use add_target.
6162         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6163         (the_m68k_bsd_nat_target): New.
6164         (m68kbsd_fetch_inferior_registers)
6165         (m68kbsd_store_inferior_registers): Refactor as methods of
6166         m68k_bsd_nat_target.
6167         (_initialize_m68kbsd_nat): Adjust to C++ification.
6168         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6169         (the_mips_fbsd_nat_target): New.
6170         (mips_fbsd_fetch_inferior_registers)
6171         (mips_fbsd_store_inferior_registers): Refactor as methods of
6172         mips_fbsd_nat_target.
6173         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6174         add_target.
6175         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6176         (the_mips_nbsd_nat_target): New.
6177         (mipsnbsd_fetch_inferior_registers)
6178         (mipsnbsd_store_inferior_registers): Refactor as methods of
6179         mips_nbsd_nat_target.
6180         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6181         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6182         (the_mips64_obsd_nat_target): New.
6183         (mips64obsd_fetch_inferior_registers)
6184         (mips64obsd_store_inferior_registers): Refactor as methods of
6185         mips64_obsd_nat_target.
6186         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6187         add_target.
6188         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6189         nbsd_nat_target.
6190         * nbsd-nat.h: Include "inf-ptrace.h".
6191         (nbsd_nat_target): New class.
6192         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6193         (obsd_wait): Refactor as methods of obsd_nat_target.
6194         (obsd_add_target): Delete.
6195         * obsd-nat.h: Include "inf-ptrace.h".
6196         (obsd_nat_target): New class.
6197         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6198         (the_ppc_fbsd_nat_target): New.
6199         (ppcfbsd_fetch_inferior_registers)
6200         (ppcfbsd_store_inferior_registers): Refactor as methods of
6201         ppc_fbsd_nat_target.
6202         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6203         add_target.
6204         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6205         (the_ppc_nbsd_nat_target): New.
6206         (ppcnbsd_fetch_inferior_registers)
6207         (ppcnbsd_store_inferior_registers): Refactor as methods of
6208         ppc_nbsd_nat_target.
6209         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6210         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6211         (the_ppc_obsd_nat_target): New.
6212         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6213         methods of ppc_obsd_nat_target.
6214         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6215         add_target.
6216         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6217         (the_sh_nbsd_nat_target): New.
6218         (shnbsd_fetch_inferior_registers)
6219         (shnbsd_store_inferior_registers): Refactor as methods of
6220         sh_nbsd_nat_target.
6221         (_initialize_shnbsd_nat): Adjust to C++ification.
6222         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6223         (inf_ptrace_xfer_partial): Delete.
6224         (sparc_xfer_partial, sparc_target): Delete.
6225         * sparc-nat.h (sparc_fetch_inferior_registers)
6226         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6227         (sparc_target): Delete function declaration.
6228         (sparc_target): New template class.
6229         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6230         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6231         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6232         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6233         add_target.
6234         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6235         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6236         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6237         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6238         add_target.
6239         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6240         (the_vax_bsd_nat_target): New.
6241         (vaxbsd_fetch_inferior_registers)
6242         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6243         methods.
6244         (_initialize_vaxbsd_nat): Adjust to C++ification.
6245
6246         * bsd-kvm.c (bsd_kvm_target): New class.
6247         (bsd_kvm_ops): Now a bsd_kvm_target.
6248         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6249         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6250         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6251         bsd_kvm_target.
6252         (bsd_kvm_return_one): Delete.
6253         (bsd_kvm_add_target): Adjust to C++ification.
6254
6255         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6256         (nto_procfs_target_procfs): New classes.
6257         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6258         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6259         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6260         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6261         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6262         (procfs_remove_hw_breakpoint, procfs_resume)
6263         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6264         (procfs_kill_inferior, procfs_store_registers)
6265         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6266         as methods of nto_procfs_target.
6267         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6268         (nto_native_ops): Delete.
6269         (procfs_open, procfs_native_open): Delete.
6270         (nto_native_ops): Now an nto_procfs_target_native.
6271         (init_procfs_targets): Adjust to C++ification.
6272         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6273         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6274         Refactor as methods of nto_procfs_target.
6275
6276         * go32-nat.c (go32_nat_target): New class.
6277         (the_go32_nat_target): New.
6278         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6279         (go32_store_registers, go32_xfer_partial, go32_files_info)
6280         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6281         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6282         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6283         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6284         (go32_target): Delete.
6285         (_initialize_go32_nat): Adjust to C++ification.
6286
6287         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6288         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6289         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6290         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6291         gnu_nat_target.
6292         (gnu_target): Delete.
6293         * gnu-nat.h (gnu_target): Delete.
6294         (gnu_nat_target): New class.
6295         * i386-gnu-nat.c (gnu_base_target): New.
6296         (i386_gnu_nat_target): New class.
6297         (the_i386_gnu_nat_target): New.
6298         (_initialize_i386gnu_nat): Adjust to C++ification.
6299
6300 2018-05-02  Pedro Alves  <palves@redhat.com>
6301
6302         * bfd-target.c (target_bfd_xclose): Rename to ...
6303         (target_bfd_close): ... this.
6304         (target_bfd_reopen): Adjust.
6305         * target.c (target_close): Remove references to to_xclose.
6306         * target.h (target_ops::to_xclose): Delete.
6307         (target_ops::to_close): Update comments.
6308
6309 2018-05-02  Pedro Alves  <palves@redhat.com>
6310
6311         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6312         "linux-nat.h".
6313         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6314         * inf-ptrace.c (inf_ptrace_register_u_offset)
6315         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6316         (inf_ptrace_store_register, inf_ptrace_store_registers)
6317         (inf_ptrace_trad_target): Move to ...
6318         * linux-nat-trad.c: ... this new file.
6319         * linux-nat-trad.h: New file.
6320         * linux-nat.c (linux_target_install_ops): Make extern.
6321         (linux_trad_target): Delete.
6322         * linux-nat.h (linux_trad_target): Delete declaration.
6323         (linux_target_install_ops): Declare.
6324         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6325         "linux-nat.h".
6326
6327 2018-05-02  Pedro Alves  <palves@redhat.com>
6328
6329         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6330         procfs_target/add_target here.
6331         * procfs.c (procfs_target): Make static.
6332         (_initialize_procfs): Call add_target here.
6333         * procfs.h (struct target_ops): Remove forward declaration.
6334         (procfs_target): Remove declaration.
6335         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6336
6337 2018-05-02  Pedro Alves  <palves@redhat.com>
6338
6339         * procfs.c (procfs_stopped_by_watchpoint)
6340         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6341         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6342         Forward declare.
6343         (procfs_use_watchpoints): Delete, move contents...
6344         (procfs_target): ... here.
6345         * procfs.h (procfs_use_watchpoints): Delete declaration.
6346         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6347         procfs_use_watchpoints.
6348         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6349         procfs_use_watchpoints.
6350
6351 2018-05-02  Tom Tromey  <tom@tromey.com>
6352
6353         PR python/20084:
6354         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6355         and var_zuinteger_unlimited.
6356         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6357         and PARAM_ZUINTEGER_UNLIMITED.
6358         (set_parameter_value): Handle var_zuinteger and
6359         var_zuinteger_unlimited.
6360         (add_setshow_generic): Likewise.
6361         (parmpy_init): Likewise.
6362
6363 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6364
6365         PR rust/23124
6366         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6367         pointer is not null before dereferencing it.
6368
6369 2018-04-30  Tom Tromey  <tom@tromey.com>
6370
6371         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6372         is_mi_like_p.
6373
6374 2018-04-30  Tom Tromey  <tom@tromey.com>
6375
6376         * breakpoint.c (mention): Remove use of is_mi_like_p.
6377         (print_mention_ranged_breakpoint): Likewise.
6378         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6379         of is_mi_like_p.
6380
6381 2018-04-30  Tom Tromey  <tom@tromey.com>
6382
6383         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6384
6385 2018-04-30  Tom Tromey  <tom@tromey.com>
6386
6387         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6388         (info_spu_event_command): Remove some uses of is_mi_like_p.
6389
6390 2018-04-30  Tom Tromey  <tom@tromey.com>
6391
6392         * python/py-framefilter.c (py_print_single_arg)
6393         (enumerate_locals, py_print_args, py_print_frame): Remove some
6394         uses of is_mi_like_p.
6395
6396 2018-04-30  Tom Tromey  <tom@tromey.com>
6397
6398         * ui-out.c: Update.
6399         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6400         * ui-out.h (ui_out::is_mi_like_p): Now const.
6401         (ui_out::do_is_mi_like_p): Now const.
6402         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6403
6404 2018-04-30  Tom Tromey  <tom@tromey.com>
6405
6406         * varobj.c (varobj_set_visualizer): Use new_reference.
6407         * python/python.c (gdbpy_decode_line): Use new_reference.
6408         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6409         new_reference.
6410
6411 2018-04-30  Tom Tromey  <tom@tromey.com>
6412
6413         * varobj.c (install_new_value): Use new_reference.
6414         * value.h (value_incref): Return void.  Swap intro comment with
6415         value_decref.
6416         * value.c (set_value_parent): Use new_reference.
6417         (value_incref): Return void.  Update intro comment.
6418         (release_value): Use new_reference.
6419         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
6420
6421 2018-04-30  Tom Tromey  <tom@tromey.com>
6422
6423         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
6424         * gdb_bfd.h (new_bfd_ref): Remove.
6425         (gdb_bfd_open): Update comment.
6426         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
6427         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
6428         (gdb_bfd_fdopenr): Use new_reference.
6429         * exec.c (exec_file_attach): Use new_reference.
6430
6431 2018-04-30  Tom Tromey  <tom@tromey.com>
6432
6433         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
6434         method.
6435
6436 2018-04-30  Tom Tromey  <tom@tromey.com>
6437
6438         * jit.c (jit_read_code_entry): Use type_align.
6439         * i386-tdep.c (i386_gdbarch_init): Don't call
6440         set_gdbarch_long_long_align_bit.
6441         * gdbarch.sh: Remove long_long_align_bit.
6442         * gdbarch.c, gdbarch.h: Rebuild.
6443         * arc-tdep.c (arc_type_align): New function.
6444         (arc_gdbarch_init): Use arc_type_align.  Don't call
6445         set_gdbarch_long_long_align_bit.
6446
6447 2018-04-30  Tom Tromey  <tom@tromey.com>
6448
6449         * rust-lang.c (rust_type_alignment): Remove.
6450         (rust_composite_type): Use type_align.
6451
6452 2018-04-30  Tom Tromey  <tom@tromey.com>
6453
6454         * NEWS: Mention Type.align.
6455         * python/py-type.c (typy_get_alignof): New function.
6456         (type_object_getset): Add "alignof".
6457
6458 2018-04-30  Tom Tromey  <tom@tromey.com>
6459
6460         PR exp/17095:
6461         * NEWS: Update.
6462         * std-operator.def (UNOP_ALIGNOF): New operator.
6463         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
6464         New.
6465         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
6466         * c-lang.c (c_op_print_tab): Add alignof.
6467         * c-exp.y (ALIGNOF): New token.
6468         (exp): Add "ALIGNOF" production.
6469         (ident_tokens): Add _Alignof and alignof.
6470
6471 2018-04-30  Tom Tromey  <tom@tromey.com>
6472
6473         * i386-tdep.c (i386_type_align): New function.
6474         (i386_gdbarch_init): Update.
6475         * gdbarch.sh (type_align): New method.
6476         * gdbarch.c, gdbarch.h: Rebuild.
6477         * arch-utils.h (default_type_align): Declare.
6478         * arch-utils.c (default_type_align): New function.
6479         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
6480         (struct type) <align_log2>: New field.
6481         <instance_flags>: Now a bitfield.
6482         (TYPE_RAW_ALIGN): New macro.
6483         (type_align, type_raw_align, set_type_align): Declare.
6484         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
6485         functions.
6486         * dwarf2read.c (quirk_rust_enum): Set type alignment.
6487         (get_alignment, maybe_set_alignment): New functions.
6488         (read_structure_type, read_enumeration_type, read_array_type)
6489         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
6490         (read_subrange_type, read_base_type): Set type alignment.
6491
6492 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
6493
6494         * dwarf2read.c (read_index_from_section): Use bool.
6495
6496 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
6497
6498         PR gdb/22950
6499         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
6500         with #ifdef.
6501
6502 2018-04-29  John Reiser  <jreiser@BitWagon.com>
6503
6504         PR build/22873
6505         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
6506         last step, and do it atomically.
6507
6508 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
6509
6510         * compile/compile-c-types.c (convert_int, convert_float):
6511         Update for C FE v1.
6512
6513 2018-04-27  Tom Tromey  <tom@tromey.com>
6514
6515         PR rust/22545:
6516         * rust-lang.c (rust_inclusive_range_type_p): New function.
6517         (rust_range): Handle inclusive ranges.
6518         (rust_compute_range): Likewise.
6519         * rust-exp.y (struct rust_op) <inclusive>: New field.
6520         (DOTDOTEQ): New constant.
6521         (range_expr): Add "..=" productions.
6522         (operator_tokens): Add "..=" token.
6523         (ast_range): Add "inclusive" parameter.
6524         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
6525         ranges.
6526         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
6527         bounds values.
6528         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
6529         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
6530         Update comments.
6531         * expprint.c (print_subexp_standard): Handle new bounds values.
6532         (dump_subexp_body_standard): Likewise.
6533
6534 2018-04-27  Tom Tromey  <tom@tromey.com>
6535
6536         * configure: Rebuild.
6537         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
6538         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
6539         "OVERRIDE".
6540         (class symbol_needs_eval_context): Likewise.
6541         * dwarf2read.c (mock_mapped_index::symbol_name_count)
6542         (mock_mapped_index::symbol_name_at): Use "override".  Remove
6543         "virtual".
6544         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
6545         "override".
6546         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
6547         * aarch64-tdep.c (instruction_reader::read): Use "override".
6548         (instruction_reader_test::read): Likewise.
6549         * arm-tdep.c (instruction_reader::read): Use "override".
6550         (instruction_reader_thumb::read): Likewise.
6551
6552 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
6553
6554         PR remote/9665
6555         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
6556         instead of remote_send.
6557         (remote_send): Remove.
6558
6559 2018-04-26  Pedro Alves  <palves@redhat.com>
6560
6561         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
6562         find_function_start_sal instead of find_pc_line.
6563
6564 2018-04-26  Pedro Alves  <palves@redhat.com>
6565
6566         * breakpoint.c (set_breakpoint_location_function): Handle
6567         mst_data_gnu_ifunc.
6568         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
6569         * elfread.c (elf_symtab_read): Give data symbols with
6570         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
6571         (elf_rel_plt_read): Update comment.
6572         * linespec.c (convert_linespec_to_sals): Handle
6573         mst_data_gnu_ifunc.
6574         (minsym_found): Handle mst_data_gnu_ifunc.
6575         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
6576         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
6577         * parse.c (find_minsym_type_and_address): Handle
6578         mst_data_gnu_ifunc.
6579         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
6580         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
6581         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
6582         comment.
6583         <mst_data_gnu_ifunc>: New enumerator.
6584
6585 2018-04-26  Pedro Alves  <palves@redhat.com>
6586
6587         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
6588         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
6589         'want_trampoline' parameter by a lookup_msym_prefer parameter.
6590         Handle it.
6591         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
6592         (lookup_minimal_symbol_by_pc): Adjust.
6593         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
6594         (lookup_solib_trampoline_symbol_by_pc): Adjust.
6595         * minsyms.h (lookup_msym_prefer): New enum.
6596         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6597         parameter by a lookup_msym_prefer parameter.
6598
6599 2018-04-26  Pedro Alves  <palves@redhat.com>
6600
6601         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
6602         ends in "@plt" instead of looking at the symbol's section.
6603
6604 2018-04-26  Pedro Alves  <palves@redhat.com>
6605
6606         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
6607         all references.
6608         (find_pc_partial_function_gnu_ifunc): Rename to ...
6609         (find_pc_partial_function): ... this, and remove references to
6610         'is_gnu_ifunc_p'.
6611         (find_pc_partial_function): Delete old implementation.
6612         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
6613
6614 2018-04-26  Pedro Alves  <palves@redhat.com>
6615
6616         * linespec.c (struct bound_minimal_symbol_search_key): New.
6617         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
6618         skip first line if we found a GNU ifunc minimal symbol by name.
6619         (compare_msymbols): Change parameters to work with a destructured
6620         lhs minsym.
6621         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
6622         functions.
6623
6624 2018-04-26  Pedro Alves  <palves@redhat.com>
6625
6626         * breakpoint.c (set_breakpoint_location_function): Don't resolve
6627         ifunc targets here.  Instead, if we have an ifunc minsym, use its
6628         address/name.
6629         (add_location_to_breakpoint): Store the minsym and the objfile in
6630         the breakpoint location.
6631         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
6632         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
6633         Record the minsym in the sal.
6634         * symtab.h (symtab_and_line) <msymbol>: New field.
6635
6636 2018-04-26  Pedro Alves  <palves@redhat.com>
6637
6638         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
6639         unless we actually resolved the ifunc.
6640
6641 2018-04-26  Pedro Alves  <palves@redhat.com>
6642
6643         * c-exp.y (variable production): Prefer ifunc minsyms over
6644         regular function symbols.
6645         * symtab.c (find_gnu_ifunc): New function.
6646         * minsyms.h (lookup_msym_prefer): New enum.
6647         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6648         parameter by a lookup_msym_prefer parameter.
6649         * symtab.h (find_gnu_ifunc): New declaration.
6650
6651 2018-04-26  Pedro Alves  <palves@redhat.com>
6652
6653         * blockframe.c (find_gnu_ifunc_target_type): New function.
6654         (find_function_type): New.
6655         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
6656         return a value with a memory address.
6657         (eval_call): For calls to GNU ifunc functions, try to find the
6658         type of the target function from the type that the resolver
6659         returns.
6660         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
6661         symbols.
6662         * infcall.c (find_function_return_type): Delete.
6663         (find_function_addr): Add 'function_type' parameter.  For calls to
6664         GNU ifunc functions, try to find the type of the target function
6665         from the type that the resolver returns, and return it via
6666         FUNCTION_TYPE.
6667         (call_function_by_hand_dummy): Adjust to use the function type
6668         returned by find_function_addr.
6669         (find_function_addr): Add 'function_type' parameter and move
6670         description here.
6671         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
6672         declarations.
6673
6674 2018-04-26  Pedro Alves  <palves@redhat.com>
6675
6676         * c-exp.y (variable production): Skip finding an alias for ifunc
6677         symbols.
6678
6679 2018-04-26  Pedro Alves  <palves@redhat.com>
6680
6681         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
6682
6683 2018-04-25  Pedro Alves  <palves@redhat.com>
6684
6685         * infcmd.c (kill_command): Print the pid as string, not the whole
6686         thread's ptid.  Add comment.  s/has been killed/killed/ in output
6687         message.
6688         * remote.c (remote_detach_1): Print the pid as string, not the
6689         whole thread's ptid.
6690
6691 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
6692             Sergio Durigan Junior  <sergiodj@redhat.com>
6693             Pedro Alves  <palves@redhat.com>
6694
6695         * infcmd.c (kill_command): Print message when inferior has
6696         been killed.
6697         * inferior.c (print_inferior_events): Remove 'static'.  Set as
6698         '1'.
6699         (add_inferior): Improve message printed when
6700         'print_inferior_events' is on.
6701         (exit_inferior): Remove message printed when
6702         'print_inferior_events' is on.
6703         (detach_inferior): Improve message printed when
6704         'print_inferior_events' is on.
6705         (initialize_inferiors): Use 'add_inferior_silent' to set
6706         'current_inferior_'.
6707         * inferior.h (print_inferior_events): Declare here as
6708         'extern'.
6709         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
6710         '[Detaching...]' messages when 'print_inferior_events' is on.
6711         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
6712         as prefix/suffix for messages.  Remove periods.  Fix erroneous
6713         'Detaching after fork from child...', replace it by '... from
6714         parent...'.
6715         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
6716         prefix/suffix when printing 'Detaching...' messages.  Print
6717         them when 'print_inferior_events' is on.
6718         * remote.c (remote_detach_1): Print message when detaching
6719         from inferior and '!is_fork_parent'.
6720
6721 2018-04-24  Tom Tromey  <tom@tromey.com>
6722
6723         * cli-out.h: Reindent.
6724
6725 2018-04-24  Tom Tromey  <tom@tromey.com>
6726
6727         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
6728         (cli_ui_out::do_field_string): Use fputs_filtered.
6729         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
6730
6731 2018-04-23  Tom Tromey  <tom@tromey.com>
6732
6733         * guile/scm-frame.c (gdbscm_frame_read_var): Use
6734         gdb::unique_xmalloc_ptr.
6735
6736 2018-04-23  Tom Tromey  <tom@tromey.com>
6737
6738         * configure: Rebuild.
6739
6740 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
6741
6742         PR gdb/23095
6743         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
6744         prepare_for_testing.  Set normal_bp to r_debug_state if target
6745         is bsd.
6746
6747 2018-04-21  Pedro Alves  <palves@redhat.com>
6748             Rajendra SY  <rajendra.sy@gmail.com>
6749
6750         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
6751         * remote.c (extended_remote_attach): In all-stop mode, mark the
6752         thread as executing.
6753
6754 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6755
6756         * thread.c (thread_apply_all_command): Fix comment.
6757         (thread_command): Fix comment.
6758
6759 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
6760
6761         * common/tdesc.h (tdesc_create_feature): Remove xml filename
6762         parameter.
6763         * features/aarch64-core.c (create_feature_aarch64_core):
6764         Regenerate.
6765         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
6766         Likewise.
6767         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
6768         Likewise.
6769         * features/i386/32bit-avx512.c
6770         (create_feature_i386_32bit_avx512): Likewise.
6771         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
6772         Likewise.
6773         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
6774         Likewise.
6775         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
6776         Likewise.
6777         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
6778         Likewise.
6779         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
6780         Likewise.
6781         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
6782         Likewise.
6783         * features/i386/64bit-avx512.c
6784         (create_feature_i386_64bit_avx512): Likewise.
6785         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
6786         Likewise.
6787         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
6788         Likewise.
6789         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
6790         Likewise.
6791         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
6792         Likewise.
6793         * features/i386/64bit-segments.c
6794         (create_feature_i386_64bit_segments): Likewise.
6795         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
6796         Likewise.
6797         * features/i386/x32-core.c
6798         (create_feature_i386_x32_core): Likewise.
6799         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
6800         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
6801         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
6802         * target-descriptions.c: In generated code, don't pass xml
6803         filename.
6804
6805 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6806
6807         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
6808         (print_xml_feature::visit_post): Likewise.
6809         (print_xml_feature::visit): Likewise.
6810         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
6811         (print_xml_feature): Add new class.
6812         * regformats/regdat.sh: Null xmltarget on feature targets.
6813         * target-descriptions.c (struct target_desc): Add xmltarget.
6814         (maintenance_check_tdesc_xml_convert): Add unittest function.
6815         (tdesc_get_features_xml): Add function to get xml.
6816         (maintenance_check_xml_descriptions): Test xml generation.
6817         * xml-tdesc.c (string_read_description_xml): Add function.
6818         * xml-tdesc.h (string_read_description_xml): Add declaration.
6819
6820 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6821
6822         * features/Makefile: Add feature marker to targets with new style
6823         target descriptions.
6824         * regformats/aarch64.dat: Regenerate.
6825         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
6826         * regformats/i386/amd64-avx-linux.dat: Likewise.
6827         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
6828         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
6829         * regformats/i386/amd64-linux.dat: Likewise.
6830         * regformats/i386/amd64-mpx-linux.dat: Likewise.
6831         * regformats/i386/amd64.dat: Likewise.
6832         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
6833         * regformats/i386/i386-avx-linux.dat: Likewise.
6834         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
6835         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
6836         * regformats/i386/i386-linux.dat: Likewise.
6837         * regformats/i386/i386-mmx-linux.dat: Likewise.
6838         * regformats/i386/i386-mpx-linux.dat: Likewise.
6839         * regformats/i386/i386.dat: Likewise.
6840         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
6841         * regformats/i386/x32-avx-linux.dat: Likewise.
6842         * regformats/i386/x32-linux.dat: Likewise.
6843         * regformats/tic6x-c62x-linux.dat: Likewise.
6844         * regformats/tic6x-c64x-linux.dat: Likewise.
6845         * regformats/tic6x-c64xp-linux.dat: Likewise.
6846         * regformats/regdat.sh: Parse feature marker.
6847
6848 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6849
6850         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
6851         (tdesc_osabi_name): Likewise.
6852         * target-descriptions.c (tdesc_architecture_name): Add new
6853         function.
6854         (tdesc_osabi_name): Likewise.
6855
6856 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6857
6858         * common/tdesc.c (tdesc_predefined_type): Move to here.
6859         (tdesc_named_type): Likewise.
6860         (tdesc_create_vector): Likewise.
6861         (tdesc_create_struct): Likewise.
6862         (tdesc_set_struct_size): Likewise.
6863         (tdesc_create_union): Likewise.
6864         (tdesc_create_flags): Likewise.
6865         (tdesc_create_enum): Likewise.
6866         (tdesc_add_field): Likewise.
6867         (tdesc_add_typed_bitfield): Likewise.
6868         (tdesc_add_bitfield): Likewise.
6869         (tdesc_add_flag): Likewise.
6870         (tdesc_add_enum_value): Likewise.
6871         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
6872         (struct tdesc_type_vector): Likewise.
6873         (struct tdesc_type_field): Likewise.
6874         (struct tdesc_type_with_fields): Likewise.
6875         (tdesc_create_enum): Add declaration.
6876         (tdesc_add_typed_bitfield): Likewise.
6877         (tdesc_add_enum_value): Likewise.
6878         * target-descriptions.c (tdesc_type_field): Move from here.
6879         (tdesc_type_builtin): Likewise.
6880         (tdesc_type_vector): Likewise.
6881         (tdesc_type_with_fields): Likewise.
6882         (tdesc_predefined_types): Likewise.
6883         (tdesc_named_type): Likewise.
6884         (tdesc_create_vector): Likewise.
6885         (tdesc_create_struct): Likewise.
6886         (tdesc_set_struct_size): Likewise.
6887         (tdesc_create_union): Likewise.
6888         (tdesc_create_flags): Likewise.
6889         (tdesc_create_enum): Likewise.
6890         (tdesc_add_field): Likewise.
6891         (tdesc_add_typed_bitfield): Likewise.
6892         (tdesc_add_bitfield): Likewise.
6893         (tdesc_add_flag): Likewise.
6894         (tdesc_add_enum_value): Likewise.
6895         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
6896         (tdesc_add_typed_bitfield): Likewise.
6897         (tdesc_add_enum_value): Likewise.
6898
6899 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6900
6901         * common/tdesc.c (tdesc_feature::accept): Move to here.
6902         (tdesc_feature::operator==): Likewise.
6903         (tdesc_create_reg): Likewise.
6904         * common/tdesc.h (tdesc_type_kind): Likewise.
6905         (struct tdesc_type): Likewise.
6906         (struct tdesc_feature): Likewise.
6907         * regformats/regdat.sh: Create a feature.
6908         * target-descriptions.c (tdesc_type_kind): Move from here.
6909         (tdesc_type): Likewise.
6910         (tdesc_type_up): Likewise.
6911         (tdesc_feature): Likewise.
6912         (tdesc_create_reg): Likewise.
6913
6914 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6915
6916         * Makefile.in: Add arch/tdesc.c
6917         * common/tdesc.c: New file.
6918         * common/tdesc.h (tdesc_element_visitor): Move to here.
6919         (tdesc_element): Likewise.
6920         (tdesc_reg): Likewise.
6921         (tdesc_reg_up): Likewise.
6922         * regformats/regdef.h (reg): Add offset to constructors.
6923         * target-descriptions.c (tdesc_element_visitor): Move from here.
6924         (tdesc_element): Likewise.
6925         (tdesc_reg): Likewise.
6926         (tdesc_reg_up): Likewise.
6927
6928 2018-04-17  Tom Tromey  <tom@tromey.com>
6929
6930         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
6931         discriminant field.
6932
6933 2018-04-17  Tom Tromey  <tom@tromey.com>
6934
6935         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
6936
6937 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6938
6939         * symtab.c (print_symbol_info): Skip printing filename and line
6940         number when `last' is NULL.
6941         (symtab_symbol_info): Use empty string instead of NULL for first
6942         invocation of print_symbol_info.
6943         (rbreak_command): Pass NULL to `last' parameter of
6944         print_symbol_info.
6945
6946 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
6947
6948         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
6949         instead of nullptr.
6950
6951 2018-04-16  Pedro Alves  <palves@redhat.com>
6952
6953         * MAINTAINERS (sh): Remove.
6954         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
6955         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
6956         (ALLDEPFILES): Remove sh64-tdep.c.
6957         * NEWS: Mentions that support for SH-5/SH64 is removed.
6958         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
6959         (sh*-*-openbsd*): Ditto.
6960         (sh64-*-elf*): Remove.
6961         (sh*): Remove.
6962         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
6963         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
6964         * sh-tdep.c: No longer include "sh64-tdep.h".
6965         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
6966         * sh64-tdep.c, sh64-tdep.h: Remove files.
6967
6968 2018-04-16  Pedro Alves  <palves@redhat.com>
6969
6970         * MAINTAINERS: Remove m88k.
6971         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
6972         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
6973         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
6974         * NEWS: Mention that support for m88k was removed.
6975         * configure.host (m88*-*-*): Remove support.
6976         * configure.nat (m88k-*-*): Remove support.
6977         * configure.tgt (m88*-*-openbsd*): Remove.
6978         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
6979
6980 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
6981
6982         * configure.tgt (x86_tobjs): New variable.
6983         (amd64_tobjs, i386_tobjs): Use it.
6984
6985 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6986
6987         * symtab.c (print_symbol_info): Precede the symbol definition by
6988         the line number when available.
6989         * NEWS: Advertise this enhancement.
6990
6991 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6992
6993         * NEWS (New options): announce set/show record btrace cpu.
6994         * btrace.c: Include record-btrace.h.
6995         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
6996         the vendor is unknown.
6997         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
6998         Maybe overwrite the btrace configuration's cpu.
6999         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
7000         (btrace_fetch): Add cpu parameter.  Update callers.
7001         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
7002         Maybe overwrite the btrace configuration's cpu.  Skip enabling
7003         errata workarounds if the vendor is unknown.
7004         * python/py-record-btrace.c: Include record-btrace.h.
7005         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
7006         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
7007         * record-btrace.c (record_btrace_cpu_state_kind): New.
7008         (record_btrace_cpu): New.
7009         (set_record_btrace_cpu_cmdlist): New.
7010         (record_btrace_get_cpu): New.
7011         (require_btrace_thread, record_btrace_info)
7012         (record_btrace_resume_thread): Call record_btrace_get_cpu.
7013         (cmd_set_record_btrace_cpu_none): New.
7014         (cmd_set_record_btrace_cpu_auto): New.
7015         (cmd_set_record_btrace_cpu): New.
7016         (cmd_show_record_btrace_cpu): New.
7017         (_initialize_record_btrace): Initialize set/show record btrace cpu
7018         commands.
7019         * record-btrace.h (record_btrace_get_cpu): New.
7020
7021 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7022
7023         * record.c (set_record_command): Fix typo in message.
7024
7025 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7026
7027         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
7028
7029 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7030
7031         * infrun.c (process_event_stop_test): Call
7032         gdbarch_in_indirect_branch_thunk.
7033         * gdbarch.sh (in_indirect_branch_thunk): New.
7034         * gdbarch.c: Regenerated.
7035         * gdbarch.h: Regenerated.
7036         * x86-tdep.h: New.
7037         * x86-tdep.c: New.
7038         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7039         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7040         (ALLDEPFILES): Add x86-tdep.c.
7041         * arch-utils.h (default_in_indirect_branch_thunk): New.
7042         * arch-utils.c (default_in_indirect_branch_thunk): New.
7043         * i386-tdep: Include x86-tdep.h.
7044         (i386_in_indirect_branch_thunk): New.
7045         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7046         function.
7047         * amd64-tdep: Include x86-tdep.h.
7048         (amd64_in_indirect_branch_thunk): New.
7049         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7050
7051 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7052
7053         PR gdb/23053
7054         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7055         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7056         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7057         regression.
7058
7059 2018-04-12  Tom Tromey  <tom@tromey.com>
7060
7061         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7062         (rust_evaluate_subexp): Likewise.
7063
7064 2018-04-12  Pedro Alves  <palves@redhat.com>
7065
7066         * procfs.c (procfs_detach): Make forward declaration's prototype
7067         match definition's protototype.
7068         (proc_get_LDT_entry): Remove stale do_cleanups call.
7069
7070 2018-04-12  Pedro Alves  <palves@redhat.com>
7071
7072         * target.h (target_ops::to_has_exited): Delete.
7073         (target_has_exited): Delete.
7074         * target-delegates.c: Regenerate.
7075
7076 2018-04-11  Pedro Alves  <palves@redhat.com>
7077
7078         * target.c (fileio_fh_t::t): Add comment.
7079         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7080         (target_fileio_close): Handle a NULL target.
7081         (invalidate_fileio_fh): New.
7082         (target_close): Call it.
7083         * remote.c (remote_hostio_send_command): No longer check whether
7084         remote_desc is open.
7085
7086 2018-04-11  Pedro Alves  <palves@redhat.com>
7087
7088         * target.c (fileio_fh_t): Make it a named struct instead of a
7089         typedef.
7090         (fileio_fh_t::is_closed): New method.
7091         (DEF_VEC_O (fileio_fh_t)): Remove.
7092         (fileio_fhandles): Now a std::vector.
7093         (is_closed_fileio_fh): Delete.
7094         (acquire_fileio_fd): Adjust.  Rename parameters.
7095         (release_fileio_fd): Adjust.
7096         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7097         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7098         (target_fileio_close): Adjust.
7099
7100 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7101
7102         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7103         index.
7104
7105 2018-04-10  Pedro Alves  <palves@redhat.com>
7106
7107         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7108         (scoped_finish_thread_state): New class.
7109         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7110         cleanup.
7111         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7112         (fetch_inferior_event, normal_stop): Likewise.
7113         * thread.c (finish_thread_state_cleanup): Delete.
7114
7115 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7116             Pedro Alves  <palves@redhat.com>
7117
7118         * value.c: Include "selftest.h" and "common/array-view.h".
7119         (struct range) <operator ==>: New.
7120         (test_ranges_contain): New.
7121         (check_ranges_vector): New.
7122         (test_insert_into_bit_range_vector): New.
7123         (_initialize_values): Register selftests.
7124         * common/array-view.h (operator==, operator!=): New.
7125
7126 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7127
7128         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7129         an iterator.
7130         * inline-frame.c: Include <algorithm>.
7131         (struct inline_state): Add constructor.
7132         (inline_state_s): Remove.
7133         (DEF_VEC_O(inline_state_s)): Remove.
7134         (inline_states): Change type to std::vector.
7135         (find_inline_frame_state): Adjust to std::vector.
7136         (allocate_inline_frame_state): Remove.
7137         (clear_inline_frame_state): Adjust to std::vector.
7138         (skip_inline_frames): Adjust to std::vector.
7139
7140 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7141
7142         * tracepoint.h (struct trace_state_variable): Add constructor.
7143         <name>: Change type to std::string.
7144         * tracepoint.c (tsv_s): Remove.
7145         (DEF_VEC_O(tsv_s)): Remove.
7146         (tvariables): Change to std::vector.
7147         (create_trace_state_variable): Adjust to std::vector.
7148         (find_trace_state_variable): Likewise.
7149         (find_trace_state_variable_by_number): Likewise.
7150         (delete_trace_state_variable): Likewise.
7151         (trace_variable_command): Adjust to std::string.
7152         (delete_trace_variable_command): Likewise.
7153         (tvariables_info_1): Adjust to std::vector.
7154         (save_trace_state_variables): Likewise.
7155         (start_tracing): Likewise.
7156         (merge_uploaded_trace_state_variables): Adjust to std::vector
7157         and std::string.
7158         * target.h (struct target_ops)
7159         <to_download_trace_state_variable>: Pass reference to
7160         trace_state_variable.
7161         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7162         * target-delegates.c: Re-generate.
7163         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7164         (mi_tsv_deleted): Likewise.
7165         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7166         * remote.c (remote_download_trace_state_variable): Change
7167         pointer to reference and adjust.
7168         * make-target-delegates (parse_argtypes): Handle references.
7169         (write_function_header): Likewise.
7170         (munge_type): Likewise.
7171
7172 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7173
7174         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7175         string_view-selftests.c.
7176         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7177         testsuite.
7178         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7179         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7180         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7181         * unittests/basic_string_view/element_access/char/1.cc:
7182         Likewise.
7183         * unittests/basic_string_view/element_access/char/empty.cc:
7184         Likewise.
7185         * unittests/basic_string_view/element_access/char/front_back.cc:
7186         Likewise.
7187         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7188         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7189         Likewise.
7190         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7191         Likewise.
7192         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7193         Likewise.
7194         * unittests/basic_string_view/operations/compare/char/1.cc:
7195         Likewise.
7196         * unittests/basic_string_view/operations/compare/char/13650.cc:
7197         Likewise.
7198         * unittests/basic_string_view/operations/copy/char/1.cc:
7199         Likewise.
7200         * unittests/basic_string_view/operations/data/char/1.cc:
7201         Likewise.
7202         * unittests/basic_string_view/operations/find/char/1.cc:
7203         Likewise.
7204         * unittests/basic_string_view/operations/find/char/2.cc:
7205         Likewise.
7206         * unittests/basic_string_view/operations/find/char/3.cc:
7207         Likewise.
7208         * unittests/basic_string_view/operations/find/char/4.cc:
7209         Likewise.
7210         * unittests/basic_string_view/operations/rfind/char/1.cc:
7211         Likewise.
7212         * unittests/basic_string_view/operations/rfind/char/2.cc:
7213         Likewise.
7214         * unittests/basic_string_view/operations/rfind/char/3.cc:
7215         Likewise.
7216         * unittests/basic_string_view/operations/substr/char/1.cc:
7217         Likewise.
7218         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7219         * unittests/string_view-selftests.c: New file.
7220
7221 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7222
7223         * unittests/basic_string_view/capacity/1.cc: New file.
7224         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7225         * unittests/basic_string_view/cons/char/1.cc: New file.
7226         * unittests/basic_string_view/cons/char/2.cc: New file.
7227         * unittests/basic_string_view/cons/char/3.cc: New file.
7228         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7229         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7230         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7231         * unittests/basic_string_view/element_access/char/1.cc: New file.
7232         * unittests/basic_string_view/element_access/char/2.cc: New file.
7233         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7234         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7235         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7236         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7237         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7238         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7239         * unittests/basic_string_view/include.cc: New file.
7240         * unittests/basic_string_view/inserters/char/1.cc: New file.
7241         * unittests/basic_string_view/inserters/char/2.cc: New file.
7242         * unittests/basic_string_view/inserters/char/3.cc: New file.
7243         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7244         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7245         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7246         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7247         * unittests/basic_string_view/literals/types.cc: New file.
7248         * unittests/basic_string_view/literals/values.cc: New file.
7249         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7250         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7251         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7252         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7253         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7254         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7255         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7256         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7257         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7258         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7259         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7260         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7261         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7262         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7263         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7264         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7265         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7266         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7267         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7268         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7269         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7270         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7271         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7272         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7273         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7274         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7275         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7276         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7277         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7278         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7279         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7280         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7281         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7282         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7283         * unittests/basic_string_view/operators/char/2.cc: New file.
7284         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7285         * unittests/basic_string_view/range_access/char/1.cc: New file.
7286         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7287         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7288         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7289         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7290         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7291         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7292         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7293         * unittests/basic_string_view/typedefs.cc: New file.
7294         * unittests/basic_string_view/types/1.cc: New file.
7295
7296 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7297
7298         * common/gdb_string_view.h: Remove libstdc++ implementation
7299         details, adjust to gdb reality.
7300         * common/gdb_string_view.tcc: Likewise.
7301         * cli/cli-script.c (struct string_view): Remove.
7302         (user_args) <m_args>: Change element type to gdb::string_view.
7303         (user_args::insert_args): Adjust.
7304
7305 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7306
7307         * common/gdb_string_view.h: New file.
7308         * common/gdb_string_view.tcc: New file.
7309
7310 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7311
7312         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7313         * configure: Re-generate.
7314
7315 2018-04-09  Pedro Alves  <palves@redhat.com>
7316
7317         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7318         (set_target_gdbarch): Call
7319         gdb::observers::architecture_changed.notify instead of
7320         observer_notify_architecture_changed.
7321
7322 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7323
7324         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7325         (do_restore_current_traceframe_cleanup): Remove.
7326         (restore_current_traceframe_cleanup_dtor): Remove.
7327         (make_cleanup_restore_current_traceframe): Remove.
7328         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7329         New.
7330         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7331         * infrun.c (fetch_inferior_event): Use
7332         scoped_restore_current_traceframe.
7333
7334 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7335
7336         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7337         Remove.
7338         <n_allocated_type_units>: Remove.
7339         <all_type_units>: Change to std::vector.
7340         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7341         to std::vector change.
7342         (dwarf2_per_objfile::get_cutu): Likewise.
7343         (dwarf2_per_objfile::get_tu): Likewise.
7344         (create_signatured_type_table_from_index): Likewise.
7345         (create_signatured_type_table_from_debug_names): Likewise.
7346         (dw2_symtab_iter_next): Likewise.
7347         (dw2_print_stats): Likewise.
7348         (dw2_expand_all_symtabs): Likewise.
7349         (dw2_expand_marked_cus): Likewise.
7350         (dw2_debug_names_iterator::next): Likewise.
7351         (dwarf2_initialize_objfile): Likewise.
7352         (add_signatured_type_cu_to_table): Likewise.
7353         (create_all_type_units): Likewise.
7354         (add_type_unit): Likewise.
7355         (struct tu_abbrev_offset): Add constructor.
7356         (build_type_psymtabs_1): Adjust to std::vector change.
7357         (print_tu_stats): Likewise.
7358         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7359         (write_debug_names): Likewise.
7360
7361 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7362
7363         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7364         Make an std::vector.
7365         <n_comp_units>: Remove.
7366         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7367         to std::vector change.
7368         (dwarf2_per_objfile::get_cutu): Likewise.
7369         (dwarf2_per_objfile::get_cu): Likewise.
7370         (create_cus_from_index): Likewise.
7371         (create_addrmap_from_index): Likewise.
7372         (create_addrmap_from_aranges): Likewise.
7373         (dwarf2_read_index): Likewise.
7374         (dw2_find_last_source_symtab): Likewise.
7375         (dw2_map_symtabs_matching_filename): Likewise.
7376         (dw2_symtab_iter_next): Likewise.
7377         (dw2_print_stats): Likewise.
7378         (dw2_expand_all_symtabs): Likewise.
7379         (dw2_expand_symtabs_with_fullname): Likewise.
7380         (dw2_expand_marked_cus): Likewise.
7381         (dw2_map_symbol_filenames): Likewise.
7382         (create_cus_from_debug_names): Likewise.
7383         (dwarf2_read_debug_names): Likewise.
7384         (dw2_debug_names_iterator::next): Likewise.
7385         (dwarf2_initialize_objfile): Likewise.
7386         (set_partial_user): Likewise.
7387         (dwarf2_build_psymtabs_hard): Likewise.
7388         (read_comp_units_from_section): Remove arguments, adjust to
7389         std::vector change.
7390         (create_all_comp_units): Adjust to std::vector and
7391         read_comp_units_from_section changes.
7392         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7393         change.
7394         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7395         (psyms_seen_size): Likewise.
7396         (write_gdbindex): Likewise.
7397         (write_debug_names): Likewise.
7398
7399 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7400
7401         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7402         with dwarf2_per_objfile.
7403         (create_cus_from_index): Likewise.
7404         (create_signatured_type_table_from_index): Likewise.
7405         (dwarf2_read_index): Likewise.
7406         (dwarf2_initialize_objfile): Likewise.
7407         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7408         per_cu rather than get_dwarf2_per_objfile.
7409
7410 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7411
7412         * dwarf2read.h (struct signatured_type): Forward declare.
7413         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7414         New methods.
7415         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
7416         (dw2_get_cutu): ...this.
7417         (dwarf2_per_objfile::get_cu): Rename from...
7418         (dw2_get_cu): ...this.
7419         (dwarf2_per_objfile::get_tu): New.
7420         (create_addrmap_from_index): Adjust.
7421         (create_addrmap_from_aranges): Adjust.
7422         (dw2_find_last_source_symtab): Adjust.
7423         (dw2_map_symtabs_matching_filename): Adjust.
7424         (dw2_symtab_iter_next): Adjust.
7425         (dw2_print_stats): Adjust.
7426         (dw2_expand_all_symtabs): Adjust.
7427         (dw2_expand_symtabs_with_fullname): Adjust.
7428         (dw2_expand_marked_cus): Adjust.
7429         (dw_expand_symtabs_matching_file_matcher): Adjust.
7430         (dw2_map_symbol_filenames): Adjust.
7431         (dw2_debug_names_iterator::next): Adjust.
7432         (dwarf2_initialize_objfile): Adjust.
7433         (set_partial_user): Adjust.
7434         (dwarf2_build_psymtabs_hard): Adjust.
7435
7436 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7437
7438         * dwarf2read.c (create_signatured_type_table_from_debug_names):
7439         Remove unused variables.
7440         (dw2_map_symtabs_matching_filename): Likewise.
7441         (dwarf2_record_block_ranges): Likewise.
7442         (dwarf2_read_addr_index): Likewise.
7443         (follow_die_offset): Likewise.
7444
7445 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7446
7447         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
7448         to symbol_file_add_main.
7449
7450 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7451
7452         PR mi/22299
7453         * mi/mi-console.c (do_fputc_async_safe): New.
7454         (mi_console_file::write_async_safe): New.
7455         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
7456         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
7457         New.
7458         * ui-file.c (ui_file::putstrn): Adjust call to
7459         fputstrn_unfiltered.
7460         * utils.c (printchar): Replace do_fputs and do_fprintf
7461         parameters by do_fputc.
7462         (fputstr_filtered): Adjust call to printchar.
7463         (fputstr_unfiltered): Likewise.
7464         (fputstrn_filtered): Likewise.
7465         (fputstrn_unfiltered): Add do_fputc parameter, pass to
7466         printchar.
7467         * utils.h (do_fputc_ftype): New typedef.
7468         (fputstrn_unfiltered): Add do_fputc parameter.
7469
7470 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7471
7472         * regformats/i386/i386-avx.dat: Remove.
7473
7474 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7475
7476         PR gdb/22979
7477         * amd64-tdep.c (amd64_none_init_abi): New function.
7478         (amd64_x32_none_init_abi): New function.
7479         (_initialize_amd64_tdep): Register handlers for x86-64 and
7480         x64_32 with GDB_OSABI_NONE.
7481         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
7482         GDB_OSABI_NONE osabi.
7483
7484 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7485
7486         PR gdb/22980
7487         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
7488         GDB_OSABI_NONE.
7489         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
7490         * osabi.c (gdb_osabi_names): Add "unknown" entry.
7491
7492 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7493
7494         * common/byte-vector.h (char_vector): New type.
7495         * target.h (target_read_alloc): Return
7496         gdb::optional<byte_vector>.
7497         (target_read_stralloc): Return gdb::optional<char_vector>.
7498         (target_get_osdata): Return gdb::optional<char_vector>.
7499         * target.c (target_read_alloc_1): Templatize.  Replacement
7500         manual memory management with vector.
7501         (target_read_alloc): Change return type, adjust.
7502         (target_read_stralloc): Change return type, adjust.
7503         (target_get_osdata): Change return type, adjust.
7504         * auxv.c (struct auxv_info) <length>: Remove.
7505         <data>: Change type to gdb::optional<byte_vector>.
7506         (auxv_inferior_data_cleanup): Free auxv_info with delete.
7507         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
7508         (target_auxv_search): Adjust.
7509         (fprint_target_auxv): Adjust.
7510         * avr-tdep.c (avr_io_reg_read_command): Adjust.
7511         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
7512         (linux_make_corefile_notes): Adjust.
7513         * osdata.c (get_osdata): Adjust.
7514         * remote.c (remote_get_threads_with_qxfer): Adjust.
7515         (remote_memory_map): Adjust.
7516         (remote_traceframe_info): Adjust.
7517         (btrace_read_config): Adjust.
7518         (remote_read_btrace): Adjust.
7519         (remote_pid_to_exec_file): Adjust.
7520         * solib-aix.c (solib_aix_get_library_list): Adjust.
7521         * solib-dsbt.c (decode_loadmap): Don't free buf.
7522         (dsbt_get_initial_loadmaps): Adjust.
7523         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
7524         * solib-target.c (solib_target_current_sos): Adjust.
7525         * tracepoint.c (sdata_make_value): Adjust.
7526         * xml-support.c (xinclude_start_include): Adjust.
7527         (xml_fetch_content_from_file): Adjust.
7528         * xml-support.h (xml_fetch_another): Change return type.
7529         (xml_fetch_content_from_file): Change return type.
7530         * xml-syscall.c (xml_init_syscalls_info): Adjust.
7531         * xml-tdesc.c (file_read_description_xml): Adjust.
7532         (fetch_available_features_from_target): Change return type.
7533         (target_fetch_description_xml): Adjust.
7534         (target_read_description_xml): Adjust.
7535
7536 2018-04-06  Tom Tromey  <tom@tromey.com>
7537
7538         * value.c (~value): Update.
7539         (struct value) <contents>: Now unique_xmalloc_ptr.
7540         (value_contents_bits_eq, allocate_value_contents)
7541         (value_contents_raw, value_contents_all_raw)
7542         (value_contents_for_printing, value_contents_for_printing_const)
7543         (set_value_enclosing_type): Update.
7544
7545 2018-04-06  Tom Tromey  <tom@tromey.com>
7546
7547         * value.c (range_s): Remove typedef, VEC.
7548         (struct range): Add operator<.
7549         (range_lessthan): Remove.
7550         (ranges_contain): Change type.
7551         (~value): Update.
7552         (struct value) <unavailable, optimized_out>: Now std::vector.
7553         (value_entirely_available)
7554         (value_entirely_covered_by_range_vector)
7555         (value_entirely_unavailable, value_entirely_optimized_out):
7556         Update.
7557         (insert_into_bit_range_vector): Change argument type.
7558         (find_first_range_overlap): Likewise.
7559         (struct ranges_and_idx, value_contents_bits_eq)
7560         (require_not_optimized_out, require_available): Update.
7561         (ranges_copy_adjusted): Change argument types.
7562         (value_optimized_out, value_copy, value_fetch_lazy): Update.
7563
7564 2018-04-06  Tom Tromey  <tom@tromey.com>
7565
7566         * value.c (~value): Update.
7567         (struct value) <parent>: Now a value_ref_ptr.
7568         (value_parent, set_value_parent, value_address, value_copy):
7569         Update.
7570
7571 2018-04-06  Tom Tromey  <tom@tromey.com>
7572
7573         * value.c (struct value): Add constructor, destructor, and member
7574         initializers.
7575         (allocate_value_lazy, value_decref): Update.
7576
7577 2018-04-06  Tom Tromey  <tom@tromey.com>
7578
7579         * value.c (struct value) <released, next>: Remove.
7580         (all_values): Now a std::vector.
7581         (allocate_value_lazy): Update.
7582         (value_next): Remove.
7583         (value_mark, value_free_to_mark, release_value)
7584         (value_release_to_mark): Update.
7585
7586 2018-04-06  Tom Tromey  <tom@tromey.com>
7587
7588         * value.h (fetch_subexp_value, value_release_to_mark): Update.
7589         (free_value_chain): Remove.
7590         * value.c (free_value_chain): Remove.
7591         (value_release_to_mark): Return a std::vector.
7592         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
7593         std::vector.
7594         (check_condition): Update.
7595         * eval.c (fetch_subexp_value): Change "val_chain" to a
7596         std::vector.
7597         * breakpoint.c (update_watchpoint): Update.
7598         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
7599
7600 2018-04-06  Tom Tromey  <tom@tromey.com>
7601
7602         * value.h (free_all_values): Remove.
7603         * value.c (free_all_values): Remove.
7604
7605 2018-04-06  Tom Tromey  <tom@tromey.com>
7606
7607         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
7608         (value_history_chain, value_history_count): Remove.
7609         (value_history): New global.
7610         (record_latest_value, access_value_history, show_values)
7611         (preserve_values): Update.
7612
7613 2018-04-06  Tom Tromey  <tom@tromey.com>
7614
7615         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
7616         * varobj.c (varobj_set_display_format, varobj_set_value)
7617         (install_default_visualizer, construct_visualizer)
7618         (install_new_value, ~varobj, varobj_get_value_type)
7619         (my_value_of_variable, varobj_editable_p): Update.
7620         * c-varobj.c (c_describe_child, c_value_of_variable)
7621         (cplus_number_of_children, cplus_describe_child): Update.
7622         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
7623         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
7624         (ada_value_of_variable, ada_value_is_changeable_p): Update.
7625
7626 2018-04-06  Tom Tromey  <tom@tromey.com>
7627
7628         * printcmd.c (last_examine_address): Change type to
7629         value_ref_ptr.
7630         (do_examine, x_command): Update.
7631
7632 2018-04-06  Tom Tromey  <tom@tromey.com>
7633
7634         * value.c (release_value): Update.
7635         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
7636         (struct bpstats) <val>: Now a value_ref_ptr.
7637         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7638         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7639         (~watchpoint, print_it_watchpoint, watch_command_1)
7640         (invalidate_bp_value_on_memory_change): Update.
7641
7642 2018-04-06  Tom Tromey  <tom@tromey.com>
7643
7644         * varobj.c (varobj_clear_saved_item)
7645         (update_dynamic_varobj_children, install_new_value, ~varobj):
7646         Update.
7647         * value.h (value_incref): Move declaration earlier.
7648         (value_decref): Rename from value_free.
7649         (struct value_ref_policy): New.
7650         (value_ref_ptr): New typedef.
7651         (struct value_deleter): Remove.
7652         (gdb_value_up): Remove typedef.
7653         (release_value): Change return type.
7654         (release_value_or_incref): Remove.
7655         * value.c (set_value_parent): Update.
7656         (value_incref): Change return type.
7657         (value_decref): Rename from value_free.
7658         (value_free_to_mark, free_all_values, free_value_chain): Update.
7659         (release_value): Return value_ref_ptr.
7660         (release_value_or_incref): Remove.
7661         (record_latest_value, set_internalvar, clear_internalvar):
7662         Update.
7663         * stack.c (info_frame_command): Don't call value_free.
7664         * python/py-value.c (valpy_dealloc, valpy_new)
7665         (value_to_value_object): Update.
7666         * printcmd.c (do_examine): Update.
7667         * opencl-lang.c (lval_func_free_closure): Update.
7668         * mi/mi-main.c (register_changed_p): Don't call value_free.
7669         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
7670         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
7671         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
7672         value_free.
7673         * guile/scm-value.c (vlscm_free_value_smob)
7674         (vlscm_scm_from_value): Update.
7675         * frame.c (frame_register_unwind, frame_unwind_register_signed)
7676         (frame_unwind_register_unsigned, get_frame_register_bytes)
7677         (put_frame_register_bytes): Don't call value_free.
7678         * findvar.c (address_from_register): Don't call value_free.
7679         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
7680         * dwarf2loc.c (entry_data_value_free_closure)
7681         (value_of_dwarf_reg_entry, free_pieced_value_closure)
7682         (dwarf2_evaluate_loc_desc_full): Update.
7683         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7684         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7685         (~watchpoint, watch_command_1)
7686         (invalidate_bp_value_on_memory_change): Update.
7687         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
7688
7689 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
7690
7691         PR gdb/23022
7692         * warning.m4: Add -Wno-error=deprecated-register.
7693         * configure: Re-generate.
7694
7695 2018-04-05  Tom Tromey  <tom@tromey.com>
7696
7697         * linespec.h: Remove include of "vec.h".
7698
7699 2018-04-05  Tom Tromey  <tom@tromey.com>
7700
7701         * linespec.c (typep): Remove typedef.
7702         (find_methods, find_superclass_methods): Take a std::vector.
7703         (find_method): Use std::vector.
7704
7705 2018-04-05  Tom Tromey  <tom@tromey.com>
7706
7707         * utils.c (compare_strings): Remove.
7708         * utils.h (compare_strings): Remove.
7709         * objc-lang.h (find_imps): Update.
7710         * objc-lang.c (find_methods): Take a std::vector.
7711         (uniquify_strings, find_imps): Likewise.
7712         * linespec.c (find_methods): Take a std::vector.
7713         (decode_objc): Use std::vector.
7714         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
7715         a std::vector.
7716         (find_method, find_function_symbols): Use std::vector.
7717
7718 2018-04-05  Tom Tromey  <tom@tromey.com>
7719
7720         * completer.c (completion_tracker::completion_tracker): Remove
7721         cast.
7722         (completion_tracker::discard_completions): Likewise.
7723         * breakpoint.c (ambiguous_names_p): Remove cast.
7724         * ada-lang.c (_initialize_ada_language): Remove cast.
7725         * utils.h (streq): Update.
7726         (streq_hash): Add new declaration.
7727         * utils.c (streq): Return bool.
7728         (streq_hash): New function.
7729
7730 2018-04-05  Tom Tromey  <tom@tromey.com>
7731
7732         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
7733         Remove a string copy.
7734
7735 2018-04-05  Tom Tromey  <tom@tromey.com>
7736
7737         * linespec.c (filter_results): Use std::vector.
7738         (decode_line_2, decode_line_full): Update.
7739
7740 2018-04-05  Tom Tromey  <tom@tromey.com>
7741
7742         * linespec.c (canonical_to_fullform): Return std::string.
7743         (filter_results): Update.
7744         (struct decode_line_2_item): Add constructor.
7745         <fullform, displayform>: Now std::string.
7746         (decode_line_2_compare_items): Now a std::sort comparator.
7747         (decode_line_2): Update.
7748
7749 2018-04-05  Tom Tromey  <tom@tromey.com>
7750
7751         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
7752         (unexpected_linespec_error): Update.
7753         (linespec_parse_basic, parse_linespec): Update.
7754
7755 2018-04-05  Tom Tromey  <tom@tromey.com>
7756
7757         * linespec.c (linespec_parse_basic): Reindent.
7758
7759 2018-04-05  Tom Tromey  <tom@tromey.com>
7760
7761         * minsyms.h (iterate_over_minimal_symbols): Update.
7762         * minsyms.c (iterate_over_minimal_symbols): Take a
7763         gdb::function_view.
7764         * linespec.c (struct collect_minsyms): Remove.
7765         (compare_msyms): Now a std::sort comparator.
7766         (add_minsym): Add parameters.
7767         (search_minsyms_for_name): Update.  Use std::vector.
7768
7769 2018-04-03  Tom Tromey  <tom@tromey.com>
7770
7771         * mipsread.c (read_alphacoff_dynamic_symtab): Use
7772         gdb::byte_vector.
7773
7774 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7775
7776         * MAINTAINERS (Write After Approval): Add Weimin Pan.
7777
7778 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7779
7780         PR gdb/16959
7781         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
7782         printing static type.
7783
7784 2018-04-01  Tom Tromey  <tom@tromey.com>
7785
7786         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
7787         (rs6000_xfer_shared_libraries): Update.
7788
7789 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
7790
7791         * common/gdb_vecs.h (char_ptr): Remove.
7792         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
7793
7794 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7795
7796         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
7797         with std::vector.
7798         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
7799
7800 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7801
7802         * tracepoint.h (struct uploaded_tp): Initialize fields.
7803         <actions, step_actions, cmd_strings>: Change type to
7804         std::vector<char *>.
7805         * tracepoint.c (get_uploaded_tp): Allocate with new.
7806         (free_uploaded_tps): Free with delete.
7807         (parse_tracepoint_definition): Adjust to std::vector change.
7808         * breakpoint.c (read_uploaded_action): Likewise.
7809         (create_tracepoint_from_upload): Likewise.
7810         * ctf.c (ctf_write_uploaded_tp): Likewise.
7811         (SET_ARRAY_FIELD): Likewise.
7812         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
7813
7814 2018-03-30  Tom Tromey  <tom@tromey.com>
7815
7816         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
7817         std::unique_ptr.
7818         (svr4_keep_data_in_core): Update.
7819         (svr4_read_so_list): Update.
7820
7821 2018-03-30  Tom Tromey  <tom@tromey.com>
7822
7823         * windows-nat.c (handle_output_debug_string, handle_exception):
7824         Update.
7825         * target.h (target_read_string): Update.
7826         * target.c (target_read_string): Change "string" to
7827         unique_xmalloc_ptr.
7828         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
7829         Update.
7830         * solib-frv.c (frv_current_sos): Update.
7831         * solib-dsbt.c (dsbt_current_sos): Update.
7832         * solib-darwin.c (darwin_current_sos): Update.
7833         * linux-thread-db.c (inferior_has_bug): Update.
7834         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
7835         Update.  Remove alloca.
7836         * ada-lang.c (ada_main_name): Update.
7837
7838 2018-03-30  Tom Tromey  <tom@tromey.com>
7839
7840         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
7841         (struct dwo_file_deleter): New.
7842         (dwo_file_up): New typedef.
7843         (open_and_init_dwo_file): Use dwo_file_up.
7844         (free_dwo_file_cleanup): Remove.
7845
7846 2018-03-30  Tom Tromey  <tom@tromey.com>
7847
7848         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
7849         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
7850
7851 2018-03-30  Tom Tromey  <tom@tromey.com>
7852
7853         * dwarf2read.c (class free_cached_comp_units): New class.
7854         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
7855         (free_cached_comp_units): Remove function.
7856
7857 2018-03-30  Tom Tromey  <tom@tromey.com>
7858
7859         * utils.h (make_cleanup_unpush_target): Remove.
7860         * inf-ptrace.c (struct target_unpusher): New.
7861         (target_unpush_up) New typedef.
7862         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
7863         target_unpush_up.
7864         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
7865
7866 2018-03-27  Tom Tromey  <tom@tromey.com>
7867
7868         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
7869
7870 2018-03-27  Pedro Alves  <palves@redhat.com>
7871             Tom Tromey  <tom@tromey.com>
7872
7873         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
7874         destructor.  Now a class.
7875         (gdb_readline_wrapper_cleanup): Remove function.
7876         (gdb_readline_wrapper): Remove cleanups.
7877
7878 2018-03-27  Tom Tromey  <tom@tromey.com>
7879
7880         * typeprint.h (struct type_print_options) <local_typedefs,
7881         global_typedefs>: Remove "struct" keyword.
7882         (class typedef_hash_table): New class.
7883         (recursively_update_typedef_hash, add_template_parameters)
7884         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
7885         (find_typedef_in_hash): Don't declare.
7886         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
7887         (typedef_hash_table::recursively_update): Rename from
7888         recursively_update_typedef_hash.  Now a member.
7889         (typedef_hash_table::add_template_parameters): Rename from
7890         add_template_parameters.  Now a member.
7891         (typedef_hash_table::typedef_hash_table): Now a constructor;
7892         rename from create_typedef_hash.
7893         (typedef_hash_table::~typedef_hash_table): Now a destructor;
7894         rename from free_typedef_hash.
7895         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
7896         (do_free_global_table): Remove.
7897         (typedef_hash_table::typedef_hash_table): New constructor; renamed
7898         from copy_type_recursive.
7899         (create_global_typedef_table): Remove.
7900         (typedef_hash_table::find_global_typedef): Now a member of
7901         typedef_hash_table.
7902         (typedef_hash_table::find_typedef): Rename from
7903         find_typedef_in_hash; now a member.
7904         (whatis_exp): Update.
7905         * extension.h (struct ext_lang_type_printers): Add constructor and
7906         destructor.
7907         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
7908         declare.
7909         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
7910         Now a constructor; rename from start_ext_lang_type_printers.
7911         (ext_lang_type_printers): Now a destructor; rename from
7912         free_ext_lang_type_printers.
7913         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
7914         Update.
7915         (c_type_print_base_struct_union): Update.  Remove cleanups.
7916
7917 2018-03-27  Tom Tromey  <tom@tromey.com>
7918
7919         * dwarf-index-write.c: Include <cmath>.
7920
7921 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7922
7923         * NEWS: Add entry describing new "set|show varsize-limit" command.
7924         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
7925         command.
7926         * printcmd.c (_initialize_printcmd): Add "set var" alias of
7927         "set variable".
7928
7929 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
7930
7931         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
7932         dwarf-index-write.c
7933         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
7934         * dwarf-index-common.c: New file.
7935         * dwarf-index-common.h: New file.
7936         * dwarf-index-write.c: New file.
7937         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
7938         (struct dwarf2_section_info): Move from here.
7939         (dwarf2_section_info_def): Likewise.
7940         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
7941         (offset_type): Likewise.
7942         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
7943         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
7944         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
7945         (byte_swap): Likewise.
7946         (MAYBE_SWAP): Likewise.
7947         (dwarf2_per_cu_ptr): Likewise.
7948         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
7949         (struct tu_stats): Likewise.
7950         (struct dwarf2_per_objfile): Likewise.
7951         (struct dwarf2_per_cu_data): Likewise.
7952         (struct signatured_type): Likewise.
7953         (sig_type_ptr): Likewise.
7954         (DEF_VEC_P (sig_type_ptr)): Likewise.
7955         (INDEX4_SUFFIX): Likewise.
7956         (INDEX5_SUFFIX): Likewise.
7957         (DEBUG_STR_SUFFIX): Likewise.
7958         (dwarf2_read_section): Make non-static.
7959         (mapped_index_string_hash): Move from here.
7960         (dwarf5_djb_hash): Likewise.
7961         (file_write): Likewise.
7962         (class data_buf): Likewise.
7963         (struct symtab_index_entry): Likewise.
7964         (struct mapped_symtab): Likewise.
7965         (find_slot): Likewise.
7966         (hash_expand): Likewise.
7967         (add_index_entry): Likewise.
7968         (uniquify_cu_indices): Likewise.
7969         (class c_str_view): Likewise.
7970         (class c_str_view_hasher): Likewise.
7971         (class vector_hasher): Likewise.
7972         (write_hash_table): Likewise.
7973         (psym_index_map): Likewise.
7974         (struct addrmap_index_data): Likewise.
7975         (add_address_entry): Likewise.
7976         (add_address_entry_worker): Likewise.
7977         (write_address_map): Likewise.
7978         (symbol_kind): Likewise.
7979         (write_psymbols): Likewise.
7980         (struct signatured_type_index_data): Likewise.
7981         (write_one_signatured_type): Likewise.
7982         (recursively_count_psymbols): Likewise.
7983         (recursively_write_psymbols): Likewise.
7984         (class debug_names): Likewise.
7985         (check_dwarf64_offsets): Likewise.
7986         (psyms_seen_size): Likewise.
7987         (write_gdbindex): Likewise.
7988         (write_debug_names): Likewise.
7989         (assert_file_size): Likewise.
7990         (write_psymtabs_to_index): Likewise.
7991         (save_gdb_index_command): Likewise.
7992         (_initialize_dwarf2_read): Don't register the "save gdb-index"
7993         command.
7994         * dwarf2read.h: New file.
7995
7996 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7997
7998         PR gdb/22670
7999         * dwarf2read.c (dwarf2_physname): Do not return the demangled
8000         symbol name if the CU's language stores symbol names in linkage
8001         format.
8002         * language.h (struct language_defn)
8003         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
8004         all instances of this struct.
8005
8006 2018-03-26  Tom Tromey  <tom@tromey.com>
8007
8008         * stack.c (backtrace_command_1): Remove verbose code.
8009
8010 2018-03-26  Tom Tromey  <tom@tromey.com>
8011
8012         * python/py-framefilter.c (py_print_type): Don't catch
8013         exceptions.  Return void.
8014         (py_print_value): Likewise.
8015         (py_print_single_arg): Likewise.
8016         (enumerate_args): Don't catch exceptions.
8017         (py_print_args): Likewise.
8018         (py_print_frame): Likewise.
8019         (gdbpy_apply_frame_filter): Catch exceptions here.
8020
8021 2018-03-26  Tom Tromey  <tom@tromey.com>
8022
8023         * stack.c (_initialize_stack): Remove trailing newlines from help
8024         text.  Add "Usage" line to "backtrace" help.
8025
8026 2018-03-26  Tom Tromey  <tom@tromey.com>
8027
8028         PR python/16486:
8029         * python/py-framefilter.c (py_print_args): Call wrap_hint.
8030
8031 2018-03-26  Tom Tromey  <tom@tromey.com>
8032
8033         * python/py-framefilter.c (py_print_single_arg): Return
8034         EXT_LANG_BT_ERROR from catch.
8035
8036 2018-03-26  Tom Tromey  <tom@tromey.com>
8037
8038         PR backtrace/15584:
8039         * stack.c (backtrace_command_1): Move some code into no-filters
8040         "if".
8041
8042 2018-03-26  Tom Tromey  <tom@tromey.com>
8043
8044         * python/py-framefilter.c (throw_quit_or_print_exception): New
8045         function.
8046         (gdbpy_apply_frame_filter): Use it.
8047
8048 2018-03-26  Tom Tromey  <tom@tromey.com>
8049
8050         PR cli/17716:
8051         * python/py-framefilter.c (py_print_type, py_print_value)
8052         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8053         RETURN_MASK_ERROR.
8054
8055 2018-03-26  Tom Tromey  <tom@tromey.com>
8056
8057         * python/py-framefilter.c (enumerate_args): Use
8058         gdb::unique_xmalloc_ptr.
8059
8060 2018-03-26  Tom Tromey  <tom@tromey.com>
8061
8062         * python/py-framefilter.c (py_print_frame): Return
8063         EXT_LANG_BT_OK.
8064         (gdbpy_apply_frame_filter): Update comment.
8065         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8066         Remove.
8067         <EXT_LANG_BT_NO_FILTERS>: Change value.
8068
8069 2018-03-26  Tom Tromey  <tom@tromey.com>
8070
8071         PR backtrace/15582:
8072         * stack.c (backtrace_command): Parse "hide" argument.
8073         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8074         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8075         constant.
8076
8077 2018-03-26  Tom Tromey  <tom@tromey.com>
8078
8079         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8080         add "flags".
8081         (backtrace_command): Remove "fulltrace", add "flags".
8082
8083 2018-03-26  Tom Tromey  <tom@tromey.com>
8084
8085         * stack.c (backtrace_command): Rewrite command line parsing.
8086
8087 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8088
8089         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8090
8091 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8092
8093         * filename-seen-cache.h: Add include guard.
8094
8095 2018-03-26  Keith Seitz  <keiths@redhat.com>
8096
8097         * symfile.c (place_section): Remove "struct" from section_addr_info
8098         in comment.
8099         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8100         "struct" keyword from section_addr_info.
8101
8102 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8103
8104         * regformats/regdef.h (reg): Add constructors.
8105
8106 2018-03-25  Pedro Alves  <palves@redhat.com>
8107
8108         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8109         if then/else bodies in var_func_name extraction.
8110
8111 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8112
8113         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8114         lookup_minimal_symbol() to find symbol entry.
8115         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8116
8117 2018-03-23  Keith Seitz  <keiths@redhat.com>
8118
8119         PR c++/22968
8120         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8121         nested type definitions for C++, too.
8122
8123 2018-03-23  Tom Tromey  <tom@tromey.com>
8124
8125         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8126         a typedef.
8127         (macho_register_oso): Remove.
8128         (macho_symtab_read): Take a std::vector.
8129         (oso_el_compare_name): Now a std::sort comparator.
8130         (macho_symfile_read_all_oso): Take a std::vector.
8131         (macho_symfile_read): Use std::vector.  Remove cleanups.
8132
8133 2018-03-22  Tom Tromey  <tom@tromey.com>
8134
8135         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8136         (record_full_goto_bookmark): Use std::string.
8137
8138 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8139
8140         PR tdep/18295
8141         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8142         a single mask.
8143
8144 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8145
8146         * rs6000-tdep.c (store_insn_p): New function.
8147         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8148         and cr_reg to their unshifted values. Use store_insn_p to
8149         match LR saves using either R1 or fdata->alloca_reg. Use
8150         store_insn_p to match CR saves. Set alloca_reg_offset
8151         when alloca_reg and framep are set. Remove lr_reg shift
8152         when assigning to fdata->lr_register.
8153
8154 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8155
8156         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8157         command line args instead of emitting a warning.
8158
8159 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8160
8161         * tracepoint.h (struct static_tracepoint_marker): Initialize
8162         fields, define default constructor, move constructor and move
8163         assignment, disable the rest.
8164         <str_id, extra>: Make std::string.
8165         (release_static_tracepoint_marker): Remove.
8166         (free_current_marker): Remove.
8167         * tracepoint.c (free_current_marker): Remove.
8168         (parse_static_tracepoint_marker_definition): Adjust to
8169         std::string, use new hex2str overload.
8170         (release_static_tracepoint_marker): Remove.
8171         (print_one_static_tracepoint_marker): Get marker by reference
8172         and adjust to std::string.
8173         (info_static_tracepoint_markers_command): Adjust to std::vector
8174         changes
8175         * target.h (static_tracepoint_marker_p): Remove typedef.
8176         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8177         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8178         bool.
8179         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8180         * target-debug.h
8181         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8182         (target_debug_print_std_vector_static_tracepoint_marker): New.
8183         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8184         to...
8185         (target_debug_print_static_tracepoint_marker_p): ... this.
8186         * target-delegates.c: Re-generate.
8187         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8188         Make std::string.
8189         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8190         (decode_static_tracepoint_spec): Adjust to std::vector.
8191         (tracepoint_print_one_detail): Adjust to std::string.
8192         (strace_marker_decode_location): Adjust to std::string.
8193         (update_static_tracepoint): Adjust to std::string, remove call
8194         to release_static_tracepoint_marker.
8195         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8196         Adjust to std::vector.
8197         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8198         (remote_static_tracepoint_markers_by_strid): Adjust to
8199         std::vector.
8200         * common/rsp-low.h (hex2str): New overload with explicit count
8201         of bytes.
8202         * common/rsp-low.c (hex2str): New overload with explicit count
8203         of bytes.
8204         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8205         (_initialize_rsp_low_selftests): Add test_hex2str test.
8206         * unittests/tracepoint-selftests.c
8207         (test_parse_static_tracepoint_marker_definition): Adjust to
8208         std::string.
8209
8210 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8211
8212         * tracepoint.c (parse_static_tracepoint_marker_definition):
8213         Consider case where the definition is followed by more
8214         definitions.
8215         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8216         tracepoint-selftests.c.
8217         * unittests/tracepoint-selftests.c: New.
8218
8219 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8220
8221         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8222         Carvalho.
8223
8224 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8225
8226         * symtab.c (find_pc_sect_line): fixed indentation.
8227
8228 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8229
8230         * symtab.c (find_pc_sect_line): now uses binary search.
8231
8232 2018-03-19  Tom Tromey  <tom@tromey.com>
8233
8234         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8235         "IDENT" production.
8236
8237 2018-03-19  Pedro Alves  <palves@redhat.com>
8238             Tom Tromey  <tom@tromey.com>
8239
8240         * unittests/observable-selftests.c: New file.
8241         * common/observable.h: New file.
8242         * observable.h: New file.
8243         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8244         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8245         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8246         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8247         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8248         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8249         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8250         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8251         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8252         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8253         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8254         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8255         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8256         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8257         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8258         tui/tui-interp.c, valops.c: Update all users.
8259         * tui/tui-hooks.c (tui_bp_created_observer)
8260         (tui_bp_deleted_observer, tui_bp_modified_observer)
8261         (tui_inferior_exit_observer, tui_before_prompt_observer)
8262         (tui_normal_stop_observer, tui_register_changed_observer):
8263         Remove.
8264         (tui_observers_token): New global.
8265         (attach_or_detach, tui_attach_detach_observers): New functions.
8266         (tui_install_hooks, tui_remove_hooks): Use
8267         tui_attach_detach_observers.
8268         * record-btrace.c (record_btrace_thread_observer): Remove.
8269         (record_btrace_thread_observer_token): New global.
8270         * observer.sh: Remove.
8271         * observer.c: Rename to observable.c.
8272         * observable.c (namespace gdb_observers): Define new objects.
8273         (observer_debug): Move into gdb_observers namespace.
8274         (struct observer, struct observer_list, xalloc_observer_list_node)
8275         (xfree_observer_list_node, generic_observer_attach)
8276         (generic_observer_detach, generic_observer_notify): Remove.
8277         (_initialize_observer): Update.
8278         Don't include observer.inc.
8279         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8280         (clean mostlyclean): Likewise.
8281         (observer.h, observer.inc): Remove targets.
8282         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8283         (COMMON_SFILES): Use observable.c, not observer.c.
8284         * .gitignore: Remove observer.h.
8285
8286 2018-03-18  Tom Tromey  <tom@tromey.com>
8287
8288         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8289         gdb::def_vector.
8290         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8291
8292 2018-03-17  Tom Tromey  <tom@tromey.com>
8293
8294         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8295
8296 2018-03-17  Tom Tromey  <tom@tromey.com>
8297
8298         * target.c (class scoped_target_fd): New.
8299         (target_fileio_close_cleanup): Remove.
8300         (target_fileio_read_alloc_1): Use scoped_target_fd.
8301
8302 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8303
8304         * silent-rules.mk: New.
8305         * Makefile.in: Include silent-rules.mk
8306         (srcdir, VPATH, top_srcdir): Move up.
8307         (COMPILE): Add ECHO_CXX.
8308         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8309         (init.c): Add ECHO_INIT_C.
8310         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8311         (version.c): Add ECHO_GEN.
8312         (printcmd.o): Add ECHO_CXX.
8313         (target-float.o): Add ECHO_CXX.
8314         (ada-exp.o): Add ECHO_CXX.
8315         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8316         (insight$(EXEEXT)): Add ECHO_CXXLD.
8317         * gnulib/configure.ac: Add AM_SILENT_RULES.
8318         * gnulib/aclocal.m4: Re-generate.
8319         * gnulib/configure: Re-generate.
8320         * gnulib/import/Makefile.in: Re-generate.
8321
8322 2018-03-16  Tom Tromey  <tom@tromey.com>
8323
8324         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8325         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8326         * utils.c (do_free_section_addr_info)
8327         (make_cleanup_free_section_addr_info): Remove.
8328         * symfile.h (struct other_sections): Add constructor.
8329         (struct section_addr_info): Remove.
8330         (section_addr_info): New typedef.
8331         (struct sym_fns) <sym_offsets>: Change type of parameter.
8332         (build_section_addr_info_from_objfile)
8333         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8334         (default_symfile_offsets, symbol_file_add)
8335         (symbol_file_add_from_bfd)
8336         (build_section_addr_info_from_section_table): Update.
8337         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8338         * symfile.c (alloc_section_addr_info): Remove.
8339         (build_section_addr_info_from_section_table): Change return type.
8340         Update.
8341         (build_section_addr_info_from_bfd)
8342         (build_section_addr_info_from_objfile): Likewise.
8343         (free_section_addr_info): Remove.
8344         (relative_addr_info_to_section_offsets): Change type of "addrs".
8345         (addrs_section_compar): Now a std::sort comparator.
8346         (addrs_section_sort): Change return type.
8347         (addr_info_make_relative): Change type of "addrs".  Update.
8348         (default_symfile_offsets, syms_from_objfile_1)
8349         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8350         (symbol_file_add_separate): Update.
8351         (symbol_file_add): Change type of "addrs".  Update.
8352         (add_symbol_file_command): Update.  Remove cleanups.
8353         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8354         cleanups.
8355         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8356         * solib.c (solib_read_symbols): Update.
8357         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8358         * machoread.c (macho_symfile_offsets): Update.
8359         * jit.c (jit_bfd_try_read_symtab): Update.
8360
8361 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8362
8363         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8364         unittests/utils-selftests.c.
8365         * unittests/utils-selftests.c: New file.
8366
8367 2018-03-14  Tom Tromey  <tom@tromey.com>
8368
8369         PR cli/14977:
8370         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8371         for NULL.
8372
8373 2018-03-14  Tom Tromey  <tom@tromey.com>
8374
8375         PR cli/19918:
8376         * printcmd.c (printf_pointer): Allow "-" in format.
8377
8378 2018-03-14  Tom Tromey  <tom@tromey.com>
8379
8380         * printcmd.c (_initialize_printcmd): Add usage to printf.
8381
8382 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8383
8384         * MAINTAINERS: Update my email address.
8385
8386 2018-03-13  Tom Tromey  <tom@tromey.com>
8387
8388         * machoread.c (macho_check_dsym): Change filenamep to a
8389         std::string*.
8390         (macho_symfile_read): Update.
8391         * symfile.c (load_command): Use std::string.
8392
8393 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8394
8395         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8396         to error message string.
8397         (riscv_register_name): Use xsnprintf instead of sprintf.
8398         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8399         internal_error.
8400         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8401         error.
8402         (riscv_push_dummy_call): Likewise.
8403
8404 2018-03-12  Tom Tromey  <tom@tromey.com>
8405
8406         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8407         Use gdb::byte_vector.
8408         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8409
8410 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8411
8412         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8413         parameter type to readable_regcache.
8414         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
8415         the declaration.
8416
8417 2018-03-11  Tom Tromey  <tom@tromey.com>
8418
8419         * dwarf2read.c (struct nextfield): Add initializers.
8420         (struct nextfnfield): Remove.
8421         (struct fnfieldlist): Add initializers.  Remove "length" and
8422         "head", use std::vector.
8423         (struct decl_field_list): Remove.
8424         (struct field_info): Add initializers.
8425         <fields, baseclasses>: Now std::vector.
8426         <nbaseclasses, nfnfields, typedef_field_list_count,
8427         nested_types_list_count>: Remove.
8428         (dwarf2_add_field, dwarf2_add_type_defn)
8429         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
8430         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
8431         (process_structure_scope): Update.
8432
8433 2018-03-11  Tom Tromey  <tom@tromey.com>
8434
8435         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
8436         for use by std::sort.
8437         (build_type_psymtabs_1): Use std::vector.
8438
8439 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
8440
8441         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
8442         and LIBMPFR in the printed configuration.
8443
8444 2018-03-08  Tom Tromey  <tom@tromey.com>
8445
8446         * source.c (get_filename_and_charpos): Use scoped_fd.
8447         * nto-procfs.c (procfs_open_1): Use scoped_fd.
8448         (procfs_pidlist): Likewise.
8449         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
8450         (iterate_over_mappings): Likewise.
8451
8452 2018-03-08  Tom Tromey  <tom@tromey.com>
8453
8454         * infcall.c (struct call_return_meta_info)
8455         <stack_temporaries_enabled>: Remove.
8456         (get_call_return_value, call_function_by_hand_dummy): Update.
8457         * thread.c (disable_thread_stack_temporaries): Remove.
8458         (enable_thread_stack_temporaries): Remove.
8459         (thread_stack_temporaries_enabled_p): Return bool.
8460         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
8461         (get_last_thread_stack_temporary): Update.
8462         * eval.c (evaluate_subexp): Update.
8463         * gdbthread.h (class enable_thread_stack_temporaries): Now a
8464         class, not a function.
8465         (value_ptr, value_vec): Remove typedefs.
8466         (class thread_info) <stack_temporaries_enabled>: Now bool.
8467         <stack_temporaries>: Now a std::vector.
8468         (thread_stack_temporaries_enabled_p)
8469         (value_in_thread_stack_temporaries): Return bool.
8470
8471 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
8472
8473         * remote.c (putpkt_binary): Fix omitted bytes reporting.
8474         (getpkt_or_notif_sane_1): Likewise.
8475
8476 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8477
8478         * build-id.c (build_id_to_debug_bfd): Use std::string.
8479
8480 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8481
8482         * build-id.c (find_separate_debug_file_by_buildid): Return
8483         std::string.
8484         * build-id.h (find_separate_debug_file_by_buildid): Return
8485         std::string.
8486         * coffread.c (coff_symfile_read): Adjust to std::string.
8487         * elfread.c (elf_symfile_read): Adjust to std::string.
8488         * symfile.c (separate_debug_file_exists): Change parameter to
8489         std::string.
8490         (find_separate_debug_file): Return std::string.
8491         (find_separate_debug_file_by_debuglink): Return std::string.
8492         * symfile.h (find_separate_debug_file_by_debuglink): Return
8493         std::string.
8494
8495 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8496
8497         * common/xml-utils.c (xml_escape_text): Move code to...
8498         (xml_escape_text_append): ... this new function.
8499         * common/xml-utils.h (xml_escape_text_append): New declaration.
8500         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
8501         New function.
8502         (_initialize_xml_utils): register test_xml_escape_text_append as
8503         a selftest.
8504
8505 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
8506
8507         * defs.h: Remove MAX_REGISTER_SIZE.
8508         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
8509         asserts.
8510         * python/py-unwind.c (pyuw_sniffer): Likewise.
8511
8512 2018-03-07  Tom Tromey  <tom@tromey.com>
8513
8514         * linux-tdep.c (linux_info_proc): Update.
8515         * target.h (struct target_ops) <to_fileio_readlink>: Return
8516         optional<string>.
8517         (target_fileio_readlink): Return optional<string>.
8518         * remote.c (remote_hostio_readlink): Return optional<string>.
8519         * inf-child.c (inf_child_fileio_readlink): Return
8520         optional<string>.
8521         * target.c (target_fileio_readlink): Return optional<string>.
8522
8523 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
8524
8525         * regcache.c (cooked_read_test): Add riscv to the list of
8526         architectures that have a save_reggroup.
8527
8528 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8529
8530         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
8531         value is not a dynamic class object.
8532
8533 2018-03-06  Tom Tromey  <tom@tromey.com>
8534
8535         * rust-exp.y: Formatting fixes.
8536
8537 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8538
8539         * riscv-tdep.c (riscv_register_name): Remove target description
8540         support.
8541         (riscv_gdbarch_init): Remove target description check.
8542
8543 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8544
8545         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
8546         comment.
8547         * riscv-tdep.h: Likewise.
8548
8549 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8550
8551         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
8552         (riscv_pseudo_register_write): Delete.
8553         (riscv_gdbarch_init): Remove all use of pseudo registers.
8554
8555 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8556
8557         * record-btrace.c (btrace_print_lines): Replace cleanup
8558         parameter with RAII equivalents.
8559         (btrace_insn_history): Replace cleanup with RAII equivalents.
8560         * ui-out.h (make_cleanup_ui_out_list_begin_end,
8561         make_cleanup_ui_out_tuple_begin_end): Remove.
8562         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
8563         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
8564         make_cleanup_ui_out_list_begin_end): Remove.
8565
8566 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8567
8568         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
8569         parameter types to std::vector.  Use bool.
8570         (record_btrace_wait): Replace VEC(tp_t) with
8571         std::vector<thread_info *>.
8572         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
8573
8574 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8575
8576         * record-btrace.c (record_btrace_disable_callback): Remove.
8577         (struct scoped_btrace_disable): New.
8578         (record_btrace_open): Use scoped_btrace_disable.
8579
8580 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8581
8582         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
8583         reading values from registers.
8584
8585 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8586
8587         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
8588         where appropriate.
8589
8590 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8591
8592         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
8593         change parameter type.  Use GDB's print functions, and use
8594         core_addr_to_string where appropriate.
8595         (riscv_push_dummy_call): Use core_addr_to_string where
8596         appropriate, update call to riscv_print_arg_location, and reindent
8597         a few lines.
8598         (riscv_return_value): Update call to riscv_print_arg_location.
8599
8600 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8601             Tim Newsome <tim@sifive.com>
8602             Albert Ou <a0u@eecs.berkeley.edu>
8603             Darius Rad <darius@bluespec.com>
8604
8605         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
8606         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
8607         (ALLDEPFILES): Add riscv-tdep.c
8608         * configure.tgt: Add riscv support.
8609         * riscv-tdep.c: New file.
8610         * riscv-tdep.h: New file.
8611         * NEWS: Mention new target.
8612         * MAINTAINERS: Add entry for riscv.
8613
8614 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8615
8616         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
8617         fields within aggregates.
8618
8619 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
8620
8621         * record-btrace.c (btrace_print_lines): Change type of flags to
8622         gdb_disassembly_flags.
8623
8624 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8625
8626         * fbsd-nat.c: Include "inf-ptrace.h".
8627         (USE_SIGTRAP_SIGINFO): Conditionally define.
8628         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
8629         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
8630         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
8631         function.
8632         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
8633         Likewise.
8634         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
8635         Likewise.
8636         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
8637         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
8638         "supports_stopped_by_hw_breakpoint" target methods.
8639
8640 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8641
8642         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
8643         * fbsd-nat.c (debug_fbsd_nat): New variable.
8644         (show_fbsd_nat_debug): New function.
8645         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
8646         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
8647
8648 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8649
8650         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
8651         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
8652         prototype.
8653         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
8654         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
8655         method.
8656
8657 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8658
8659         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
8660         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
8661
8662 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8663
8664         * charset.c (struct charset_vector): New.
8665         (charsets): Change type to charset_vector.
8666         (find_charset_names): Adjust.
8667         (add_one): Adjust.
8668         (_initialize_charset): Adjust.
8669
8670 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8671
8672         * progspace.h (struct program_space) <deleted_solibs>: Change
8673         type to std::vector<std::string>.
8674         * progspace.c (clear_program_space_solib_cache): Adjust.
8675         * breakpoint.c (print_solib_event): Adjust.
8676         (check_status_catch_solib): Adjust.
8677         * solib.c (update_solib_list): Adjust.
8678         * ui-out.h (class ui_out) <field_string>: New overload.
8679         * ui-out.c (ui_out::field_string): New overload.
8680
8681 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8682
8683         * progspace.h (struct program_space): Add constructor and
8684         destructor, initialize fields.
8685         (add_program_space): Remove.
8686         * progspace.c (add_program_space): Rename to...
8687         (program_space::program_space): ... this.
8688         (release_program_space): Rename to...
8689         (program_space::~program_space): ... this.
8690         (delete_program_space): Use delete to delete program_space.
8691         (initialize_progspace): Use new to allocate program_space.
8692         * inferior.c (add_inferior_with_spaces): Likewise.
8693         (clone_inferior_command): Likewise.
8694         * infrun.c (follow_fork_inferior): Likewise.
8695         (handle_vfork_child_exec_or_exit): Likewise.
8696
8697 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8698
8699         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
8700         (delim_string_to_char_ptr_vec): Return std::vector of
8701         gdb::unique_xmalloc_ptr.
8702         (dirnames_to_char_ptr_vec_append): Take std::vector of
8703         gdb::unique_xmalloc_ptr.
8704         (dirnames_to_char_ptr_vec): Return std::vector of
8705         gdb::unique_xmalloc_ptr.
8706         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
8707         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
8708         (delim_string_to_char_ptr_vec): Return an std::vector of
8709         gdb::unique_xmalloc_ptr, adjust the code.
8710         (dirnames_to_char_ptr_vec_append): Take an std::vector of
8711         gdb::unique_xmalloc_ptr, adjust the code.
8712         (dirnames_to_char_ptr_vec): Return an std::vector of
8713         gdb::unique_xmalloc_ptr, adjust the code.
8714         * auto-load.c (auto_load_safe_path_vec): Change type to
8715         std::vector of gdb::unique_xmalloc_ptr.
8716         (auto_load_expand_dir_vars): Return an std::vector of
8717         gdb::unique_xmalloc_ptr, adjust the code.
8718         (auto_load_safe_path_vec_update): Adjust.
8719         (filename_is_in_auto_load_safe_path_vec): Adjust.
8720         (auto_load_objfile_script_1): Adjust.
8721         * build-id.c (build_id_to_debug_bfd): Adjust.
8722         * linux-thread-db.c (thread_db_load_search): Adjust.
8723         * source.c (add_path): Adjust.
8724         (openp): Adjust.
8725         * symfile.c (find_separate_debug_file): Adjust.
8726         * utils.c (do_free_char_ptr_vec): Remove.
8727         (make_cleanup_free_char_ptr_vec): Remove.
8728
8729 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
8730
8731         PR gdb/22907
8732         * common/pathstuff.c: Conditionally include "<windows.h>".
8733
8734 2018-03-01  Georg Sauthoff  <mail@georg.so>
8735
8736         PR gdb/22888
8737         * gcore.in: Quote variables and switch interpreter to bash.
8738
8739 2018-03-01  Tom Tromey  <tom@tromey.com>
8740
8741         * dwarf2read.c (alloc_discriminant_info): Fix default_index
8742         assertion.  Add assertion for discriminant_index.
8743         (quirk_rust_enum): Use correct base type name in univariant case.
8744
8745 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
8746
8747         * record.c (get_call_history_modifiers): Return a
8748         record_print_flags.
8749         (cmd_record_call_history): Adjust.
8750         * record-btrace.c (record_btrace_call_history): Adjust.
8751         (record_btrace_call_history_range): Adjust.
8752         (record_btrace_call_history_from): Adjust.
8753         * target-debug.h (target_debug_print_record_print_flags): New.
8754         * target-delegates.c: Re-generate.
8755         * target.c (target_call_history): Change flags type.
8756         (target_call_history_from): Likewise.
8757         (target_call_history_range): Likewise.
8758         * target.h (struct target_ops) <target_call_history>: Likewise.
8759         (target_call_history_from): Likewise.
8760         (target_call_history_range): Likewise.
8761
8762 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8763             Simon Marchi  <simon.marchi@polymtl.ca>
8764
8765         * common/common-utils.c: Include "sys/stat.h".
8766         (is_regular_file): Move here from "source.c"; change return
8767         type to "bool".
8768         * common/common-utils.h (is_regular_file): New prototype.
8769         * common/pathstuff.c (contains_dir_separator): New function.
8770         * common/pathstuff.h (contains_dir_separator): New prototype.
8771         * source.c: Don't include "sys/stat.h".
8772         (is_regular_file): Move to "common/common-utils.c".
8773
8774 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8775
8776         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
8777         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
8778         * auto-load.c: Include "common/pathstuff.h".
8779         * common/common-def.h (current_directory): Move here.
8780         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
8781         function.
8782         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
8783         prototype.
8784         * common/pathstuff.c: New file.
8785         * common/pathstuff.h: New file.
8786         * compile/compile.c: Include "common/pathstuff.h".
8787         * defs.h (current_directory): Move to "common/common-defs.h".
8788         * dwarf2read.c: Include "common/pathstuff.h".
8789         * exec.c: Likewise.
8790         * guile/scm-safe-call.c: Likewise.
8791         * linux-thread-db.c: Likewise.
8792         * main.c: Likewise.
8793         * nto-tdep.c: Likewise.
8794         * objfiles.c: Likewise.
8795         * source.c: Likewise.
8796         * symtab.c: Likewise.
8797         * utils.c: Include "common/pathstuff.h".
8798         (gdb_realpath): Move to "common/pathstuff.c".
8799         (gdb_realpath_keepfile): Likewise.
8800         (gdb_abspath): Likewise.
8801         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
8802         (gdb_realpath_keepfile): Likewise.
8803         (gdb_abspath): Likewise.
8804
8805 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
8806
8807         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
8808         wildcard process pid for super_resume for kernels with a
8809         specific bug.
8810
8811 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
8812
8813         * compile/compile.c (get_args): Add additional comments
8814         explaining function.
8815
8816 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
8817             Tom Tromey  <tom@tromey.com>
8818
8819         * target.h (memory_write_request_s): Remove typedef.  Don't define
8820         VEC.
8821         (target_write_memory_blocks): Change argument to std::vector.
8822         (struct memory_write_request): Add constructor.
8823         * target-memory.c (compare_block_starting_address): Return bool.
8824         Change argument types.
8825         (claim_memory): Change arguments to use std::vector.
8826         (split_regular_and_flash_blocks, blocks_to_erase)
8827         (compute_garbled_blocks): Likewise.
8828         (cleanup_request_data, cleanup_write_requests_vector): Remove.
8829         (target_write_memory_blocks): Change argument to std::vector.
8830         * symfile.c (struct load_section_data): Add constructor and
8831         destructor.  Use std::vector for "requests".
8832         (struct load_progress_data): Add initializers.
8833         (load_section_callback): Update.  Use "new".
8834         (clear_memory_write_data): Remove.
8835         (generic_load): Update.
8836
8837 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
8838
8839         * arch/aarch64.h: Use common/tdesc.h.
8840
8841 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8842
8843         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
8844         architecture with a 64-bit ABI.
8845
8846 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8847
8848         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
8849         ahead of target description loading.
8850
8851 2018-02-26  Tom Tromey  <tom@tromey.com>
8852
8853         * stack.c (backtrace_command_1): Update.
8854         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
8855         of "flags".
8856         * python/py-framefilter.c (py_print_frame)
8857         (gdbpy_apply_frame_filter): Change type of "flags".
8858         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
8859         of "flags".
8860         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
8861         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
8862         * extension.h (enum frame_filter_flag): Rename from
8863         frame_filter_flags.
8864         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
8865         (apply_ext_lang_frame_filter): Change type of "flags".
8866         * extension.c (apply_ext_lang_frame_filter): Change type of
8867         "flags".
8868         * extension-priv.h (struct extension_language_ops)
8869         <apply_frame_filter>: Change type of "flags".
8870
8871 2018-02-26  Tom Tromey  <tom@tromey.com>
8872
8873         PR python/16497:
8874         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
8875         off-by-one in py_end computation.
8876         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
8877         PRINT_MORE_FRAMES.
8878         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
8879         constant.
8880
8881 2018-02-26  Tom Tromey  <tom@tromey.com>
8882
8883         * dwarf2read.c (struct variant_field): New.
8884         (struct nextfield) <variant>: New field.
8885         (dwarf2_add_field): Handle DW_TAG_variant_part.
8886         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
8887         discriminated union.
8888         (read_structure_type): Handle DW_TAG_variant_part.
8889         (handle_struct_member_die): New function, extracted from
8890         process_structure_scope.  Handle DW_TAG_variant.
8891         (process_structure_scope): Handle discriminated unions.  Call
8892         handle_struct_member_die.
8893
8894 2018-02-26  Tom Tromey  <tom@tromey.com>
8895
8896         * rust-lang.h (rust_last_path_segment): Declare.
8897         * rust-lang.c (rust_last_path_segment): Now public.  Change
8898         contract.
8899         (struct disr_info): Remove.
8900         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
8901         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
8902         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
8903         (rust_enum_p, rust_enum_variant): New function.
8904         (rust_underscore_fields): Remove "offset" parameter.
8905         (rust_print_enum): New function.
8906         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
8907         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
8908         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
8909         enums.
8910         (rust_internal_print_type): New function, from rust_print_type.
8911         Remove enum code.
8912         (rust_print_type): Call rust_internal_print_type.
8913         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
8914         Update enum handling.
8915         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
8916         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
8917         (rust_union_quirks): New functions.
8918         (process_full_comp_unit, process_full_type_unit): Call
8919         rust_union_quirks.
8920         (process_structure_scope): Update rust_unions if necessary.
8921
8922 2018-02-26  Tom Tromey  <tom@tromey.com>
8923
8924         * value.h (value_union_variant): Declare.
8925         * valops.c (value_union_variant): New function.
8926         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
8927         (struct discriminant_info): New.
8928         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
8929         enumerator.
8930         (struct main_type) <flag_discriminated_union>: New field.
8931
8932 2018-02-26  Tom Tromey  <tom@tromey.com>
8933
8934         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8935         unittests/unpack-selftests.c.
8936         * unittests/unpack-selftests.c: New file.
8937         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
8938
8939 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8940
8941         * dwarf2read.c (struct partial_die_info) <read>: New method.
8942         (read_partial_die): Remove the declaration.
8943         (load_partial_dies): Update.
8944         (partial_die_info::partial_die_info):
8945         (read_partial_die): Change it to partial_die_info::read.
8946
8947 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8948
8949         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
8950         (fixup_partial_die): Remove declaration.
8951         (scan_partial_symbols): Update.
8952         (partial_die_parent_scope): Likewise.
8953         (partial_die_full_name): Likewise.
8954         (fixup_partial_die): Change it to partial_die_info::fixup.
8955
8956 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8957
8958         * dwarf2read.c (read_partial_die): Update the declaration.
8959         (load_partial_dies): Caller update.
8960         (read_partial_die): Remove one argument abbrev_len.
8961
8962 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8963
8964         * dwarf2read.c (struct partial_die_info): Add ctor, delete
8965         assignment operator.
8966         (load_partial_dies): Use ctor and copy ctor.
8967         (read_partial_die): Update.
8968         (dwarf2_cu::find_partial_die): Use ctor.
8969
8970 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8971
8972         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
8973         (find_partial_die_in_comp_unit): Change it to
8974         dwarf2_cu::find_partial_die.
8975         (find_partial_die): Update.
8976
8977 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8978
8979         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
8980         is NULL.
8981
8982 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8983
8984         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
8985
8986 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
8987
8988         * arch/amd64.h: Use common/tdesc.h.
8989         * arch/i386.c: Likewise.
8990         * arch/i386.h: Likewise.
8991         * arch/tic6x.c: Likewise.
8992         * arch/tdesc.h: Move file from here...
8993         * common/tdesc.h: ...to here.
8994         * features/aarch64-core.c: Regenerate.
8995         * features/aarch64-fpu.c: Regenerate.
8996         * features/i386/32bit-avx.c: Regenerate.
8997         * features/i386/32bit-avx512.c: Regenerate.
8998         * features/i386/32bit-core.c: Regenerate.
8999         * features/i386/32bit-linux.c: Regenerate.
9000         * features/i386/32bit-mpx.c: Regenerate.
9001         * features/i386/32bit-pkeys.c: Regenerate.
9002         * features/i386/32bit-sse.c: Regenerate.
9003         * features/i386/64bit-avx.c: Regenerate.
9004         * features/i386/64bit-avx512.c: Regenerate.
9005         * features/i386/64bit-core.c: Regenerate.
9006         * features/i386/64bit-linux.c: Regenerate.
9007         * features/i386/64bit-mpx.c: Regenerate.
9008         * features/i386/64bit-pkeys.c: Regenerate.
9009         * features/i386/64bit-segments.c: Regenerate.
9010         * features/i386/64bit-sse.c: Regenerate.
9011         * features/i386/x32-core.c: Regenerate.
9012         * features/tic6x-c6xp.c: Regenerate.
9013         * features/tic6x-core.c: Regenerate.
9014         * features/tic6x-gp.c: Regenerate.
9015         * target-descriptions.c: Use common/tdesc.h.
9016         * target-descriptions.h: Likewise.
9017
9018 2018-02-24  Tom Tromey  <tom@tromey.com>
9019
9020         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
9021         (try_thread_db_load_from_dir, thread_db_load_search): Use
9022         std::string.
9023         (info_auto_load_libthread_db_compare): Return bool.  Change
9024         argument types.
9025         (info_auto_load_libthread_db): Use std::vector, std::string.
9026         Remove cleanups.
9027
9028 2018-02-24  Tom Tromey  <tom@tromey.com>
9029
9030         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
9031         std::string.
9032         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
9033         std::string*.
9034         * gdbarch.c: Rebuild.
9035         * gdbarch.h: Rebuild.
9036         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9037         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9038         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9039         std::string*.
9040
9041 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9042
9043         * gdbtypes.h (sect_offset): Change type to uint64_t.
9044         (sect_offset_str): New function.
9045         * dwarf2read.c (create_addrmap_from_aranges): Use
9046         sect_offset_str.
9047         (error_check_comp_unit_head): Likewise.
9048         (create_debug_type_hash_table): Likewise.
9049         (read_cutu_die_from_dwo): Likewise.
9050         (init_cutu_and_read_dies): Likewise.
9051         (init_cutu_and_read_dies_no_follow): Likewise.
9052         (process_psymtab_comp_unit_reader): Likewise.
9053         (partial_die_parent_scope): Likewise.
9054         (peek_die_abbrev): Likewise.
9055         (process_queue): Likewise.
9056         (dwarf2_physname): Likewise.
9057         (read_namespace_alias): Likewise.
9058         (read_import_statement): Likewise.
9059         (create_dwo_cu_reader): Likewise.
9060         (create_cus_hash_table): Likewise.
9061         (lookup_dwo_cutu): Likewise.
9062         (inherit_abstract_dies): Likewise.
9063         (read_func_scope): Likewise.
9064         (read_call_site_scope): Likewise.
9065         (dwarf2_add_member_fn): Likewise.
9066         (read_common_block): Likewise.
9067         (read_module_type): Likewise.
9068         (read_typedef): Likewise.
9069         (read_subrange_type): Likewise.
9070         (load_partial_dies): Likewise.
9071         (read_partial_die): Likewise.
9072         (find_partial_die): Likewise.
9073         (read_str_index): Likewise.
9074         (dwarf2_string_attr): Likewise.
9075         (build_error_marker_type): Likewise.
9076         (lookup_die_type): Likewise.
9077         (dump_die_shallow): Likewise.
9078         (follow_die_ref): Likewise.
9079         (dwarf2_fetch_die_loc_sect_off): Likewise.
9080         (dwarf2_fetch_constant_bytes): Likewise.
9081         (follow_die_sig): Likewise.
9082         (get_signatured_type): Likewise.
9083         (get_DW_AT_signature_type): Likewise.
9084         (dwarf2_find_containing_comp_unit): Likewise.
9085         (set_die_type): Likewise.
9086
9087 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9088
9089         * arch/aarch64.c: Include "common-defs.h".
9090         * arch/amd64.c: Likewise.
9091         * arch/i386.c: Likewise.
9092
9093 2018-02-21  Tom Tromey  <tom@tromey.com>
9094
9095         * value.h: (extract_field_op): Update.
9096         * eval.c (extract_field_op): Return a const char *.
9097         * expression.h (parse_expression_for_completion): Update.
9098         * completer.c (complete_expression): Update.
9099         (add_struct_fields): Make fieldname const.
9100         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9101         (mark_completion_tag, parse_exp_in_context_1): Update.
9102         (parse_expression_for_completion): Change "name" to
9103         unique_xmalloc_ptr*.
9104
9105 2018-02-21  Tom Tromey  <tom@tromey.com>
9106
9107         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9108
9109 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9110
9111         * avr-tdep.c (avr_read_pc): Change parameter type to
9112         readable_regcache.
9113         * gdbarch.sh (read_pc): Likewise.
9114         * gdbarch.c: Re-generated.
9115         * gdbarch.h: Re-generated.
9116         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9117         readable_regcache.
9118         * ia64-tdep.c (ia64_read_pc): Likewise.
9119         * mips-tdep.c (mips_read_pc): Likewise.
9120         * spu-tdep.c (spu_read_pc): Likewise.
9121
9122 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9123
9124         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9125         * regcache-dump.c: New file.
9126         * regcache.c: Move register_dump to regcache-dump.c.
9127         (maintenance_print_registers): Likewise.
9128         (maintenance_print_raw_registers): Likewise.
9129         (maintenance_print_cooked_registers): Likewise.
9130         (maintenance_print_register_groups): Likewise.
9131         (maintenance_print_remote_registers): Likewise.
9132         (_initialize_regcache): Likewise.
9133         * regcache.h (register_dump): Moved from regcache.c.
9134
9135 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9136
9137         * regcache.c (regcache::regcache): Update.
9138         (regcache::invalidate): Move it to detached_regcache::invalidate.
9139         (get_thread_arch_aspace_regcache): Update.
9140         (regcache::raw_update): Update.
9141         (regcache::cooked_read): Remove some code.
9142         (regcache::cooked_read_value): Likewise.
9143         (regcache::raw_write): Remove assert on m_readonly_p.
9144         (regcache::raw_supply_integer): Move it to
9145         detached_regcache::raw_supply_integer.
9146         (regcache::raw_supply_zeroed): Likewise.
9147         * regcache.h (detached_regcache) <raw_supply_integer>: New
9148         declaration.
9149         <raw_supply_zeroed, invalidate>: Likewise.
9150         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9151         <invalidate>: Likewise.
9152         <m_readonly_p>: Removed.
9153
9154 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9155
9156         * infcmd.c (get_return_value): Let stop_regs point to
9157         get_current_regcache.
9158         * regcache.c (regcache::regcache): Remove.
9159         (register_dump_reg_buffer): New class.
9160         (regcache_print): Adjust.
9161         * regcache.h (regcache): Remove constructors.
9162
9163 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9164
9165         * regcache.c (class register_dump): New class.
9166         (register_dump_regcache, register_dump_none): New class.
9167         (register_dump_remote, register_dump_groups): New class.
9168         (regcache_print): Update.
9169         * regcache.h (regcache_dump_what): Move it to regcache.c.
9170         (regcache) <dump>: Remove.
9171
9172 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9173
9174         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9175          reg_buffer_rw *.
9176         (jit_unwind_reg_set_impl): Call raw_supply.
9177         (jit_frame_sniffer): Use reg_buffer_rw.
9178         * record-full.c (record_full_core_regbuf): Change its type.
9179         (record_full_core_open_1): Use reg_buffer_rw.
9180         (record_full_close): Likewise.
9181         (record_full_core_fetch_registers): Use regcache->raw_supply.
9182         (record_full_core_store_registers): Likewise.
9183         * regcache.c (regcache::get_register_status): Move it to
9184         reg_buffer.
9185         (regcache_raw_set_cached_value): Remove.
9186         (regcache::raw_set_cached_value): Remove.
9187         (regcache::raw_write): Call raw_supply.
9188         (regcache::raw_supply): Move it to reg_buffer_rw.
9189         * regcache.h (regcache_raw_set_cached_value): Remove.
9190         (reg_buffer_rw): New class.
9191
9192 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9193
9194         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9195         readonly_detached_regcache.
9196         (dummy_frame_prev_register): Use regcache->cooked_read.
9197         * frame.c (frame_save_as_regcache): Change return type.
9198         (frame_pop): Update.
9199         * frame.h (frame_save_as_regcache): Update declaration.
9200         * inferior.h (get_infcall_suspend_state_regcache): Update
9201         declaration.
9202         * infrun.c (infcall_suspend_state) <registers>: use
9203         readonly_detached_regcache.
9204         (save_infcall_suspend_state): Don't use regcache_dup.
9205         (get_infcall_suspend_state_regcache): Change return type.
9206         * linux-fork.c (struct fork_info) <savedregs>: Change to
9207         readonly_detached_regcache.
9208         <pc>: New field.
9209         (fork_save_infrun_state): Don't use regcache_dup.
9210         (info_checkpoints_command): Adjust.
9211         * mi/mi-main.c (register_changed_p): Update declaration.
9212         (mi_cmd_data_list_changed_registers): Use
9213         readonly_detached_regcache.
9214         (register_changed_p): Change parameter type to
9215         readonly_detached_regcache.
9216         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9217         readonly_detached_regcache.
9218         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9219         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9220         New.
9221         (regcache::save): Move it to reg_buffer.
9222         (regcache::restore): Change parameter type.
9223         (regcache_dup): Remove.
9224         * regcache.h (reg_buffer) <save>: New method.
9225         (readonly_detached_regcache): New class.
9226         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9227         readonly_detached_regcache.
9228         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9229
9230 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9231
9232         * frame.c (frame_save_as_regcache): Use regcache method save.
9233         (frame_pop): Use regcache method restore.
9234         * infrun.c (restore_infcall_suspend_state): Likewise.
9235         * linux-fork.c (fork_load_infrun_state): Likewise.
9236         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9237         save.
9238         * regcache.c (regcache_save): Remove.
9239         (regcache::restore): More asserts.
9240         (regcache_cpy): Remove.
9241         * regcache.h (regcache_save): Remove the declaration.
9242         (regcache::restore): Move from private to public.
9243         Remove the friend declaration of regcache_cpy.
9244         (regcache_cpy): Remove declaration.
9245
9246 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9247
9248         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9249         parameter type to 'readable_regcache *'.
9250         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9251         * arm-tdep.c (arm_neon_quad_read): Likewise.
9252         (arm_pseudo_read): Likewise.
9253         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9254         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9255         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9256         * gdbarch.c: Re-generated.
9257         * gdbarch.h: Re-generated.
9258         * gdbarch.sh (pseudo_register_read): Change parameter type to
9259         'readable_regcache *'.
9260         (pseudo_register_read_value): Likewise.
9261         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9262         (h8300_pseudo_register_read): Likewise.
9263         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9264         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9265         (i386_pseudo_register_read_into_value): Likewise.
9266         (i386_pseudo_register_read_value): Likewise.
9267         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9268         declaration.
9269         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9270         * m32c-tdep.c (m32c_raw_read): Likewise.
9271         (m32c_read_flg): Likewise.
9272         (m32c_banked_register): Likewise.
9273         (m32c_banked_read): Likewise.
9274         (m32c_sb_read): Likewise.
9275         (m32c_part_read): Likewise.
9276         (m32c_cat_read): Likewise.
9277         (m32c_r3r2r1r0_read): Likewise.
9278         (m32c_pseudo_register_read): Likewise.
9279         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9280         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9281         (mep_pseudo_cr64_read): Likewise.
9282         (mep_pseudo_register_read): Likewise.
9283         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9284         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9285         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9286         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9287         (regcache::cooked_read): Likewise.
9288         (regcache::cooked_read_value): Likewise.
9289         (regcache_cooked_read_signed):
9290         (regcache::cooked_read): Likewise.
9291         * regcache.h (readable_regcache): New class.
9292         (regcache): Inherit readable_regcache.  Move some methods to
9293         readable_regcache.
9294         * rl78-tdep.c (rl78_pseudo_register_read): Change
9295         parameter type to 'readable_regcache *'.
9296         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9297         (e500_pseudo_register_read): Change parameter type to
9298         'readable_regcache *'.
9299         (dfp_pseudo_register_read): Likewise.
9300         (vsx_pseudo_register_read): Likewise.
9301         (efpr_pseudo_register_read): Likewise.
9302         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9303         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9304         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9305         (sh64_pseudo_register_read): Likewise.
9306         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9307         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9308         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9309         (spu_pseudo_register_read): Likewise.
9310         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9311         (xtensa_pseudo_register_read): Likewise.
9312
9313 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9314
9315         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9316         (regcache::arch): Move it to reg_buffer::arch.
9317         (regcache::register_buffer): Likewise.
9318         (regcache::assert_regnum): Likewise.
9319         (regcache::num_raw_registers): Likewise.
9320         * regcache.h (reg_buffer): New class.
9321         (regcache): Inherit reg_buffer.
9322
9323 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9324
9325         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9326         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9327
9328 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9329
9330         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9331
9332 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9333
9334         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9335         (SFILES): Remove common/*.c files.
9336         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9337         * common/common.host: Add common reference.
9338         * configure.ac: Likewise.
9339         * configure: Regenerate.
9340
9341 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9342
9343         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9344         (block_initialize_namespace): Use new.
9345         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9346         (dwarf2_free_objfile): Use delete.
9347         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9348         (copy_type_recursive): Use new.
9349         * gdb_obstack.h (allocate_on_obstack): New.
9350
9351 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9352
9353         PR gdb/22849
9354         * inferior.c (exit_inferior_1): Reset inf->control.
9355
9356 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9357
9358         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9359         declaration.
9360
9361 2018-02-14  Pedro Alves  <palves@redhat.com>
9362
9363         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9364         frame_cleanup_after_sniffer on exception.
9365
9366 2018-02-14  Tom Tromey  <tom@tromey.com>
9367
9368         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9369         const.
9370         (solib_bfd_open): Make pathname const.
9371         * solib.c (solib_bfd_open): Make pathname const.
9372         * solib-spu.c (spu_bfd_fopen): Make name const.
9373         (spu_bfd_open): Make pathname const.
9374         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9375         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9376
9377 2018-02-14  Tom Tromey  <tom@tromey.com>
9378
9379         * symfile.c (symfile_bfd_open): Update.
9380         * source.h (openp, source_full_path_of, find_and_open_source):
9381         Change argument type to unique_xmalloc_ptr.
9382         * source.c (openp): Take a unique_xmalloc_ptr.
9383         (source_full_path_of, find_and_open_source): Likewise.
9384         (open_source_file, symtab_to_fullname): Update.
9385         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9386         unique_xmalloc_ptr.
9387         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9388         (exec_file_find): Update.
9389         * psymtab.c (psymtab_to_fullname): Update.
9390         * nto-tdep.h (nto_find_and_open_solib): Update.
9391         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9392         unique_xmalloc_ptr.
9393         * exec.c (exec_file_attach): Update.
9394         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9395         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9396
9397 2018-02-14  Tom Tromey  <tom@tromey.com>
9398
9399         * solib.c: Include source.h.
9400         * nto-tdep.c: Include source.h.
9401         * mi/mi-cmd-env.c: Include source.h.
9402         * infcmd.c: Include source.h.
9403         * exec.c: Include source.h.
9404         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9405         (add_path, directory_switch, source_path, init_source_path): Move
9406         declarations...
9407         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9408         (add_path, directory_switch, source_path, init_source_path):
9409         ...here.
9410
9411 2018-02-14  Tom Tromey  <tom@tromey.com>
9412
9413         * solist.h (exec_file_find, solib_find): Return
9414         unique_xmalloc_ptr.
9415         (solib_bfd_fopen): Take a const char *.
9416         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
9417         (exec_file_find, solib_find): Likewise.
9418         (solib_bfd_fopen): Do not take ownership of "pathname".
9419         (solib_bfd_open): Use unique_xmalloc_ptr.
9420         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
9421         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
9422         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
9423         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
9424
9425 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
9426
9427         * ada-lang.c (name_match_type_from_name): Remove reference to
9428         ada_name_for_lookup in function's documentation.
9429         * ada-lang.h (ada_name_for_lookup): Delete declaration.
9430
9431 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9432
9433         * defs.h (enum openp_flags): New enum.
9434         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
9435         Move to enum openp_flags.
9436         (openp_flags): New enum flags.
9437         (openp): Change parameter type to openp_flags.
9438         * source.c (openp): Change parameter type to openp_flags.
9439         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
9440         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
9441
9442 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9443
9444         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
9445         per-command.
9446
9447 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9448
9449         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
9450         into...
9451         (class dwarf2_queue_guard): ...the destructor of this new class.
9452         (dw2_do_instantiate_symtab): Create instance of the new class
9453         dwarf2_queue_guard, remove cleanup.
9454
9455 2018-02-09  Tom Tromey  <tom@tromey.com>
9456
9457         * source.c (find_source_lines): Don't reference past the end of
9458         the vector.
9459
9460 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9461
9462         * remote.c (remote_btrace_maybe_reopen): Change error message.
9463         * btrace.c (btrace_enable): Likewise.
9464         (parse_xml_btrace): Likewise.
9465         (parse_xml_btrace_conf): Likewise.
9466
9467 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9468
9469         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
9470         (linux_enable_pt, linux_enable_bts): Call
9471         diagnose_perf_event_open_fail.
9472
9473 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9474
9475         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
9476         Remove parameter and change return type.  Update callers.  Move it.
9477         (linux_enable_bts, linux_enable_pt): Improve error message.
9478         (linux_enable_pt): Remove zero buffer size check.
9479         (linux_enable_btrace): Improve error messages.  Remove NULL return
9480         check.
9481
9482 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9483
9484         * btrace.c (btrace_enable): Remove target_supports_btrace call.
9485         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
9486         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
9487         (linux_supports_pt, linux_supports_btrace): Remove.
9488         (linux_enable_bts): Call cpu_supports_bts.
9489         * nat/linux-btrace.h (linux_supports_btrace): Remove.
9490         * remote.c (remote_supports_btrace): Remove.
9491         (init_remote_ops): Remove remote_supports_btrace.
9492         * target-delegates.c: Regenerated.
9493         * target.c (target_supports_btrace): Remove.
9494         * target.h (target_ops) <to_supports_btrace>: Remove
9495         (target_supports_btrace): Remove.
9496         * x86-linux-nat.c (x86_linux_create_target): Remove
9497         linux_supports_btrace.
9498
9499 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9500
9501         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
9502         btrace failed.
9503         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
9504         exception and use message in own exception.
9505
9506 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9507
9508         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
9509         (perf_event_pt_event_type): Use gdb_file_up.
9510         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
9511         scoped_fd, and scoped_mmap.
9512
9513 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9514
9515         * common/scoped_mmap.h: New.
9516         * unittests/scoped_mmap-selftest.c: New.
9517         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9518         unittests/scoped_mmap-selftest.c.
9519
9520 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9521
9522         * common/scoped_fd.h: New.
9523         * unittests/scoped_fd-selftest.c: New.
9524         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9525         unittests/scoped_fd-selftest.c.
9526
9527 2018-02-09  Tom Tromey  <tom@tromey.com>
9528
9529         * auto-load.c (auto_load_section_scripts): Use
9530         gdb::unique_xmalloc_ptr.
9531
9532 2018-02-09  Tom Tromey  <tom@tromey.com>
9533
9534         * auto-load.c (execute_script_contents): Use std::string.
9535
9536 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
9537
9538         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
9539         Python function, rather than a new command.
9540
9541 2018-02-08  Tom Tromey  <tom@tromey.com>
9542
9543         * solib.c (solib_find_1): Use std::string.
9544         (solib_bfd_fopen): Use unique_xmalloc_ptr.
9545
9546 2018-02-08  Tom Tromey  <tom@tromey.com>
9547
9548         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
9549
9550 2018-02-08  Tom Tromey  <tom@tromey.com>
9551
9552         * source.c (find_source_lines): Use gdb::def_vector.
9553
9554 2018-02-08  Tom Tromey  <tom@tromey.com>
9555
9556         * macrocmd.c (struct temporary_macro_definition): New.
9557         (macro_define_command): Use temporary_macro_definition.  Remove
9558         cleanups.
9559         (free_macro_definition_ptr): Remove.
9560
9561 2018-02-08  Tom Tromey  <tom@tromey.com>
9562
9563         * macroexp.c (maybe_expand): Use std::string.
9564
9565 2018-02-08  Tom Tromey  <tom@tromey.com>
9566
9567         * macroexp.c (struct macro_buffer): Add initializers for some
9568         members.
9569         (init_buffer, init_shared_buffer, free_buffer)
9570         (free_buffer_return_text): Remove.
9571         (macro_buffer): New constructors.
9572         (~macro_buffer): New destructor.
9573         (macro_buffer::set_shared): New method.
9574         (macro_buffer::resize_buffer, macro_buffer::appendc)
9575         (macro_buffer::appendmem): Now methods, not free functions.
9576         (set_token, append_tokens_without_splicing, stringify)
9577         (macro_stringify): Update.
9578         (gather_arguments): Change return type.  Remove argc_p argument,
9579         add args_ptr argument.  Use std::vector.
9580         (substitute_args): Remove argc argument.  Accept std::vector.
9581         (expand): Update.  Use std::vector.
9582         (scan, macro_expand, macro_expand_next): Update.
9583
9584 2018-02-08  Tom Tromey  <tom@tromey.com>
9585
9586         * symtab.c (default_collect_symbol_completion_matches_break_on):
9587         Use unique_xmalloc_ptr.
9588         * macroscope.h: (sal_macro_scope, user_macro_scope)
9589         (default_macro_scope): Return unique_xmalloc_ptr.
9590         * macroscope.c (sal_macro_scope, user_macro_scope)
9591         (default_macro_scope): Return unique_xmalloc_ptr.
9592         * macroexp.h (macro_expand, macro_expand_once): Return
9593         unique_xmalloc_ptr.
9594         * macroexp.c (macro_expand, macro_expand_once): Return
9595         unique_xmalloc_ptr.
9596         * macrocmd.c (macro_expand_command, macro_expand_once_command)
9597         (info_macro_command, info_macros_command): Use
9598         unique_xmalloc_ptr.
9599         * compile/compile-c-support.c (write_macro_definitions): Use
9600         unique_xmalloc_ptr.
9601         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
9602
9603 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
9604
9605         * value.c (value_static_field): Assign field type instead of
9606         containing type when returning an optimized out value.
9607
9608 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9609
9610         * ft32-tdep.c (ft32_read_pc): Remove.
9611         (ft32_write_pc): Remove.
9612         (ft32_gdbarch_init): Update.
9613         * m32r-tdep.c (m32r_read_pc): Remove.
9614         (m32r_gdbarch_init): Update.
9615         * mep-tdep.c (mep_read_pc): Remove.
9616         (mep_gdbarch_init): Update.
9617         * microblaze-tdep.c (microblaze_write_pc): Remove.
9618         (microblaze_gdbarch_init): Update.
9619         * mn10300-tdep.c (mn10300_read_pc): Remove.
9620         (mn10300_write_pc): Remove.
9621         (mn10300_gdbarch_init): Update.
9622         * moxie-tdep.c (moxie_read_pc): Remove.
9623         (moxie_write_pc): Remove.
9624         (moxie_gdbarch_init): Update.
9625
9626 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9627
9628         * expprint.c (print_subexp_standard): Handle
9629         OP_F77_UNDETERMINED_ARGLIST.
9630         (dump_subexp_body_standard): Likewise.
9631
9632 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
9633
9634         * target-descriptions.c (tdesc_element_visitor) Add empty
9635         implementations.
9636         (tdesc_type): Move make_gdb_type from here.
9637         (tdesc_type_builtin): Likewise.
9638         (tdesc_type_vector): Likewise.
9639         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
9640         (make_gdb_type_struct): Move from tdesc_type_with_fields.
9641         (make_gdb_type_union): Likewise.
9642         (make_gdb_type_flags): Likewise.
9643         (make_gdb_type_enum): Likewise.
9644         (make_gdb_type): New function.
9645         (tdesc_register_type): Use static make_gdb_type.
9646
9647 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
9648
9649         * infcmd.c (default_print_one_register_info): Align natural-format
9650         column values consistently one under another.
9651         (pad_to_column): New function.
9652
9653 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
9654
9655         * dwarf2read.c (dwarf2_physname): Move commment.
9656
9657 2018-02-01  Leszek Swirski  <leszeks@google.com>
9658
9659         * varobj.c (varobj_formatted_print_options): Allow recursive
9660         pretty printing if pretty printing is enabled.
9661
9662 2018-02-01  Leszek Swirski  <leszeks@google.com>
9663
9664         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
9665         names after a structop as a filename.
9666
9667 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9668
9669         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
9670         (arm_record_coproc_data_proc): Likewise.
9671
9672 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9673
9674         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
9675
9676 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
9677
9678         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
9679         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
9680
9681 2018-01-31  Pedro Alves  <palves@redhat.com>
9682
9683         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
9684         * inflow.c (child_terminal_save_inferior): Wrap reference to
9685         tcgetpgrp in HAVE_TERMIOS_H.
9686         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
9687         _WIN32.
9688         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
9689         always iterate over all inferiors.
9690         (gdbsim_cntrl_c): Adjust.
9691         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
9692
9693 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9694
9695         * gdbtypes.c (lookup_array_range_type): Make sure the array's
9696         index type is objfile-owned if the element type is as well.
9697
9698 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9699
9700         GDB 8.1 released.
9701
9702 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9703
9704         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
9705         "features/s390x-linux64.c".
9706         (_initialize_s390_linux_tdep): Remove initialization of tdescs
9707         s390_linux32 and s390x_linux64.
9708         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
9709         default tdesc.
9710         * s390-tdep.c: Include "features/s390-linux32.c" and
9711         "features/s390x-linux64.c".
9712         (s390_tdesc_valid): Add check for tdesc_has_registers.
9713         (s390_gdbarch_init): Make sure there is always a valid tdesc.
9714         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
9715         tdesc_s390x_linux64.
9716         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
9717         tdesc_s390x_linux64 to...
9718         * s390-tdep.h: ...here.
9719
9720 2018-01-30  Pedro Alves  <palves@redhat.com>
9721
9722         PR gdb/13211
9723         * config.in, configure: Regenerate.
9724         * configure.ac: Check for getpgid.
9725         * go32-nat.c (go32_pass_ctrlc): New.
9726         (go32_target): Install it.
9727         * inf-child.c (inf_child_target): Install
9728         child_terminal_save_inferior, child_pass_ctrlc and
9729         child_interrupt.
9730         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
9731         (inf_ptrace_target): No longer install it.
9732         * infcmd.c (interrupt_target_1): Adjust.
9733         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
9734         (child_interrupt): Declare.
9735         (inferior::terminal_state): New.
9736         * inflow.c (struct terminal_info): Update comments.
9737         (inferior_process_group): Delete.
9738         (terminal_is_ours): Delete.
9739         (gdb_tty_state): New.
9740         (child_terminal_init): Adjust.
9741         (is_gdb_terminal, sharing_input_terminal_1)
9742         (sharing_input_terminal): New functions.
9743         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
9744         Set the process's actual process group in the foreground if
9745         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
9746         mark terminal as the inferior's if not sharing GDB's terminal.
9747         Don't check attach_flag.
9748         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
9749         pass down a target_terminal_state.
9750         (child_terminal_save_inferior): New, factored out from ...
9751         (child_terminal_ours_1): ... this.  Handle
9752         target_terminal_state::is_ours_for_output.
9753         (child_interrupt, child_pass_ctrlc): New.
9754         (inflow_inferior_exit): Clear the inferior's terminal_state.
9755         (copy_terminal_info): Copy the inferior's terminal state.
9756         (_initialize_inflow): Remove reference to terminal_is_ours.
9757         * inflow.h (inferior_process_group): Delete.
9758         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
9759         * procfs.c (procfs_target): Don't install procfs_interrupt.
9760         (procfs_interrupt): Delete.
9761         * remote.c (remote_serial_quit_handler): Adjust.
9762         (remote_interrupt): Remove ptid parameter.  Adjust.
9763         * target-delegates.c: Regenerate.
9764         * target.c: Include "terminal.h".
9765         (target_terminal::terminal_state): Rename to ...
9766         (target_terminal::m_terminal_state): ... this.
9767         (target_terminal::init): Adjust.
9768         (target_terminal::inferior): Adjust to per-inferior
9769         terminal_state.
9770         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
9771         (target_terminal::ours, target_terminal::ours_for_output): Use
9772         target_terminal_is_ours_kind.
9773         (target_interrupt): Remove ptid parameter.  Adjust.
9774         (default_target_pass_ctrlc): Adjust.
9775         * target.h (target_ops::to_terminal_save_inferior): New field.
9776         (target_ops::to_interrupt): Remove ptid_t parameter.
9777         (target_interrupt): Remove ptid_t parameter.  Update comment.
9778         (target_pass_ctrlc): Update comment.
9779         * target/target.h (target_terminal_state): New scoped enum,
9780         factored out of ...
9781         (target_terminal::terminal_state): ... here.
9782         (target_terminal::inferior): Update comments.
9783         (target_terminal::restore_inferior): New.
9784         (target_terminal::is_inferior, target_terminal::is_ours)
9785         (target_terminal::is_ours_for_output): Adjust.
9786         (target_terminal::scoped_restore_terminal_state): Adjust to
9787         rename, and call restore_inferior() instead of inferior().
9788         (target_terminal::scoped_restore_terminal_state::m_state): Change
9789         type.
9790         (target_terminal::terminal_state): Rename to ...
9791         (target_terminal::m_terminal_state): ... this and change type.
9792
9793 2018-01-30  Pedro Alves  <palves@redhat.com>
9794
9795         * linux-nat.c (wait_for_signal): New function.
9796         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
9797         directly.
9798         (async_terminal_is_ours)
9799         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
9800         (linux_nat_add_target): Don't override
9801         to_terminal_inferior/to_terminal_ours.
9802
9803 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
9804
9805         * remote.c (remote_follow_fork): Don't call "detach_inferior".
9806
9807 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
9808
9809         * dwarf2read.c (free_dwo_files): Add forward-declaration.
9810         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
9811         dwarf2_per_objfile_free here.
9812         (dwarf2_per_objfile_free): Remove.
9813         (_initialize_dwarf2_read): Don't register
9814         dwarf2_per_objfile_free as a registry cleanup.
9815
9816 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9817
9818         Avoid compilation errors in MinGW native builds
9819
9820         The error is triggered by including python-internal.h, and the
9821         error message is:
9822
9823              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
9824                       from build-gnulib/import/math.h:27,
9825                       from d:/usr/Python26/include/pyport.h:235,
9826                       from d:/usr/Python26/include/Python.h:58,
9827                       from python/python-internal.h:94,
9828                       from python/py-arch.c:24:
9829              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
9830         using ::hypot;
9831                 ^~~~~
9832
9833         This happens because Python headers define 'hypot' to expand t
9834         '_hypot' in the Windows builds.
9835         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
9836         'hypoth'.  This avoids a compilation error.
9837
9838 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9839
9840         * MAINTAINERS (Write After Approval): Fix ordering.
9841
9842 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9843
9844         * MAINTAINERS (Write After Approval): Add Alan Hayward.
9845
9846 2018-01-26  Alan Modra  <amodra@gmail.com>
9847
9848         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
9849         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
9850         Remove nop.  Make const.  Comment.
9851         (powerpc32_plt_stub_so_2): New.
9852         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
9853         Correct count.  Update uses.
9854         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
9855         Move common code reading PLT entry word.  Correct
9856         powerpc32_plt_stub PLT address calculation.
9857         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
9858         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
9859         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
9860         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
9861         (ppc64_standard_linkage8): Likewise.
9862         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
9863         Correct insns description.
9864         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
9865
9866 2018-01-24  Pedro Alves  <palves@redhat.com>
9867
9868         GCC PR libstdc++/83906
9869         * gdbtypes.c (operator==(const dynamic_prop &,
9870         const dynamic_prop &)): New.
9871         (operator==(const range_bounds &, const range_bounds &)): New.
9872         (check_types_equal): Use them instead of memcmp.
9873         * gdbtypes.h (operator==(const dynamic_prop &,
9874         const dynamic_prop &)): Declare.
9875         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
9876         (operator==(const range_bounds &, const range_bounds &)): Declare.
9877         (operator!=(const range_bounds &, const range_bounds &)): Declare.
9878
9879 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9880
9881         * s390-linux-tdep.c (s390_record_address_mask)
9882         (s390_record_calc_disp_common, s390_record_calc_disp)
9883         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9884         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9885         (s390_process_record): Move to s390-tdep.c.
9886         (s390_linux_init_abi_any): Adjust.
9887         * s390-tdep.c (s390_record_address_mask)
9888         (s390_record_calc_disp_common, s390_record_calc_disp)
9889         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9890         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9891         (s390_process_record): Moved from s390-linux-tdep.c
9892         (s390_gdbarch_init): Adjust.
9893
9894 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9895
9896         * s390-linux-nat.c (s390-tdep.h): New include.
9897         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
9898         (HFILES_NO_SRCDIR): Add s390-tdep.h.
9899         (ALLDEPFILES): Add s390-tdep.c.
9900         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
9901         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
9902         * s390-tdep.h: ...this.  New file.
9903         * s390-linux-tdep.c (s390-tdep.h): New include.
9904         (_initialize_s390_tdep): Rename to...
9905         (_initialize_s390_linux_tdep): ...this and adjust.
9906         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
9907         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
9908         s390-tdep.h.
9909         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
9910         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
9911         (s390_is_partial_instruction, s390_software_single_step)
9912         (is_non_branch_ril, s390_displaced_step_copy_insn)
9913         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
9914         (s390_prologue_data, s390_addr, s390_store, s390_load)
9915         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
9916         (s390_register_call_saved, s390_guess_tracepoint_registers)
9917         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
9918         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
9919         (s390_pseudo_register_name, s390_pseudo_register_type)
9920         (s390_pseudo_register_read, s390_pseudo_register_write)
9921         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
9922         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
9923         (s390_addr_bits_remove, s390_address_class_type_flags)
9924         (s390_address_class_type_flags_to_name)
9925         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
9926         (s390_function_arg_float, s390_function_arg_vector)
9927         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
9928         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
9929         (s390_frame_align, s390_register_return_value, s390_return_value)
9930         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
9931         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
9932         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
9933         (s390_trad_frame_prev_register, s390_unwind_cache)
9934         (s390_prologue_frame_unwind_cache)
9935         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
9936         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
9937         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
9938         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
9939         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
9940         (s390_frame_base_address, s390_local_base_address)
9941         (s390_frame_base, s390_gcc_target_options)
9942         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
9943         (s390_validate_reg_range, s390_tdesc_valid)
9944         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
9945         * s390-tdep.c: ...this.  New file.
9946
9947 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9948
9949         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
9950         (s390_process_record, s390_gdbarch_tdep_alloc)
9951         (s390_linux_init_abi_any): Use/set new hook.
9952
9953 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9954
9955         * s390-linux-tdep.c (osabi.h): New include.
9956         (s390_linux_init_abi_31, s390_linux_init_abi_64)
9957         (s390_linux_init_abi_any): New functions.
9958         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
9959
9960 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9961
9962         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
9963         tdesc_has_registers check
9964
9965 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9966
9967         * s390-linux-tdep.c (s390_tdesc_valid): New function.
9968         (s390_validate_reg_range): New macro.
9969         (s390_gdbarch_init): Adjust.
9970
9971 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9972
9973         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
9974         (s390_gdbarch_tdep_alloc): Adjust.
9975         (s390_gdbarch_init): Adjust.
9976
9977 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9978
9979         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
9980         <have_tdb>: Change type to bool.
9981         (s390_gdbarch_tdep_alloc): Adjust.
9982         (s390_gdbarch_init): Adjust.
9983
9984 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9985
9986         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
9987         (gdbarch_tdep) <have_upper, have_vx>: New fields.
9988         (s390_gdbarch_tdep_alloc): New function.
9989         (s390_gdbarch_init): Allocate tdep at start and use its fields
9990         instead of separate variables.
9991
9992 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9993
9994         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
9995         when looking for cached gdbarch and add comment for remaining.
9996
9997 2018-01-22  Pedro Alves  <palves@redhat.com>
9998             Sergio Durigan Junior  <sergiodj@redhat.com>
9999
10000         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
10001         case.
10002
10003 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
10004
10005         * MAINTAINERS: Update my company e-mail address.
10006
10007 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10008
10009         * regcache.c (cooked_write_test): New function.
10010         (_initialize_regcache): Register the test.
10011
10012 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10013
10014         * ia64-tdep.c (ia64_pseudo_register_read): Call
10015         regcache->cooked_read instead of regcache_cooked_read_unsigned.
10016         * m32c-tdep.c (m32c_cat_read): Likewise.
10017         (m32c_r3r2r1r0_read): Likewise.
10018         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10019         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10020
10021 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10022
10023         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
10024         method raw_read instead of regcache_raw_read.
10025         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10026         * arm-tdep.c (arm_neon_quad_read): Likewise.
10027         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10028         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10029         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10030         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
10031         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10032         (i386_pseudo_register_read_into_value): Likewise.
10033         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10034         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10035         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10036         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10037         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10038         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10039         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10040         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10041         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10042
10043 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10044
10045         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10046         * configure.tgt: Remove target mt.
10047         * mt-tdep.c: Remove.
10048         * regcache.c (cooked_read_test): Remove the check for mt.
10049
10050 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10051
10052         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10053         instead of gdbarch_pseudo_register_read_value.
10054
10055 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10056
10057         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10058         language is Ada.
10059
10060 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10061
10062         * linespec.c (create_sals_line_offset): Remove code that preserved
10063         the symtab_and_line's line number.
10064
10065 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10066
10067         * varobj.c (varobj_create): Don't set valid_block when creating a
10068         floating varobj.
10069
10070 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10071
10072         * varobj.c (varobj_create): Remove out of date comment.
10073
10074 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10075
10076         PR mi/20395
10077         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10078         updating innermost block.
10079         * parse.c (innermost_block_tracker::update): Take extra type
10080         parameter, and check types match before updating innermost block.
10081         (write_dollar_variable): Update innermost block for registers.
10082         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10083         (innermost_block_tracker::innermost_block_tracker): Initialise
10084         m_types member.
10085         (innermost_block_tracker::reset): Take type parameter.
10086         (innermost_block_tracker::update): Take type parameter, and pass
10087         type through as needed.
10088         (innermost_block_tracker::m_types): New member.
10089         * varobj.c (varobj_create): Pass type when reseting innermost
10090         block.
10091
10092 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10093
10094         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10095         * ada-lang.c (resolve_subexp): Likewise.
10096         * breakpoint.c (set_breakpoint_condition) Likewise.
10097         (watch_command_1) Likewise.
10098         * c-exp.y (variable): Likewise.
10099         * d-exp.y (PrimaryExpression): Likewise.
10100         * f-exp.y (variable): Likewise.
10101         * go-exp.y (variable): Likewise.
10102         * m2-exp.y (variable): Likewise.
10103         * objfiles.c (objfile::~objfile): Likewise.
10104         * p-exp.y (variable): Likewise.
10105         * parse.c (innermost_block): Change type.
10106         * parser-defs.h (class innermost_block_tracker): New.
10107         (innermost_block): Change to innermost_block_tracker.
10108         * printcmd.c (display_command): Switch to innermost_block API.
10109         (do_one_display): Likewise.
10110         * rust-exp.y (do_one_display): Likewise.
10111         * symfile.c (clear_symtab_users): Likewise.
10112         * varobj.c (varobj_create): Switch to innermost_block API, replace
10113         use of innermost_block with block stored on varobj object.
10114
10115 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10116
10117         * expression.h (innermost_block): Remove declaration.
10118         * varobj.c: Add 'parser-defs.h' include.
10119
10120 2018-01-19  Tom Tromey  <tom@tromey.com>
10121
10122         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10123         symbols in the static and global blocks.
10124
10125 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10126
10127         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10128         gdb_ptrace.h, and move including gdb_wait.h ...
10129         * nat/linux-ptrace.h: ... to here.
10130
10131 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10132
10133         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10134         inf_ptrace_detach_success.
10135         (inf_ptrace_detach_success): Add inferior parameter, use it
10136         instead of inferior_ptid, pass it to detach_inferior.
10137         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10138         parameter.
10139         * inferior.c (detach_inferior): Add overload that takes an
10140         inferior object.
10141         * inferior.h (detach_inferior): Likewise.
10142         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10143         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10144         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10145
10146 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10147
10148         * target.h (struct target_ops) <to_detach>: Add inferior
10149         parameter.
10150         (target_detach): Likewise.
10151         * target.c (dispose_inferior): Pass inferior down.
10152         (target_detach): Pass inferior down.  Assert that it is equal to
10153         the current inferior.
10154         * aix-thread.c (aix_thread_detach): Pass inferior down.
10155         * corefile.c (core_file_command): Pass current_inferior() down.
10156         * corelow.c (core_detach): Add inferior parameter.
10157         * darwin-nat.c (darwin_detach): Likewise.
10158         * gnu-nat.c (gnu_detach): Likewise.
10159         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10160         * infcmd.c (detach_command): Pass current_inferior() down to
10161         target_detach.
10162         * infrun.c (follow_fork_inferior): Pass parent_inf to
10163         target_detach.
10164         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10165         target_detach.
10166         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10167         * linux-thread-db.c (thread_db_detach): Likewise.
10168         * nto-procfs.c (procfs_detach): Likewise.
10169         * procfs.c (procfs_detach): Likewise.
10170         * record.c (record_detach): Likewise.
10171         * record.h (struct inferior): Forward-declare.
10172         (record_detach): Add inferior parameter.
10173         * remote-sim.c (gdbsim_detach): Likewise.
10174         * remote.c (remote_detach_1): Likewise.
10175         (remote_detach): Likewise.
10176         (extended_remote_detach): Likewise.
10177         * sol-thread.c (sol_thread_detach): Likewise.
10178         * target-debug.h (target_debug_print_inferior_p): New macro.
10179         * target-delegates.c: Re-generate.
10180         * top.c (kill_or_detach): Pass inferior down to target_detach.
10181         * windows-nat.c (windows_detach): Add inferior parameter.
10182
10183 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10184
10185         * target.h (struct target_ops) <to_detach>: Remove args
10186         parameter.
10187         (target_detach): Likewise.
10188         * target.c (dispose_inferior): Adjust.
10189         (target_detach): Remove args parameter, adjust.
10190         * aix-thread.c (aix_thread_detach): Adjust.
10191         * corefile.c (core_file_command): Adjust.
10192         * corelow.c (core_detach): Adjust.
10193         * darwin-nat.c (darwin_detach): Adjust.
10194         * gnu-nat.c (gnu_detach): Adjust.
10195         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10196         * infcmd.c (detach_command): Adjust
10197         * infrun.c (follow_fork_inferior): Adjust.
10198         (handle_vfork_child_exec_or_exit): Adjust.
10199         * linux-fork.c (linux_fork_detach): Remove args parameter.
10200         * linux-fork.h (linux_fork_detach): Likewise.
10201         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10202         * linux-thread-db.c (thread_db_detach): Likewise.
10203         * nto-procfs.c (procfs_detach): Likewise.
10204         * procfs.c (procfs_detach): Likewise.
10205         (do_detach): Remove signo parameter.
10206         * record.c (record_detach): Remove args parameter.
10207         * record.h (record_detach): Likewise.
10208         * remote-sim.c (gdbsim_detach): Likewise.
10209         * remote.c (remote_detach_1): Likewise.
10210         (remote_detach): Likewise.
10211         (extended_remote_detach): Likewise.
10212         * sol-thread.c (sol_thread_detach): Likewise.
10213         * target-delegates.c: Re-generate.
10214         * top.c (struct qt_args) <args>: Remove field.
10215         (kill_or_detach): Don't pass args.
10216         (quit_force): Don't set args.
10217         * windows-nat.c (windows_detach): Remove args parameter.
10218
10219 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10220
10221         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10222         (arm_linux_init_abi): Install it.
10223
10224 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10225
10226         * osabi.c (gdb_osabi_names): Extend the regexp for
10227         arm-linux-gnueabihf.
10228
10229 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10230
10231         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10232         m_abbrevs.
10233         (abbrev_table::add_abbrev): Update.
10234         (abbrev_table::lookup_abbrev): Update.
10235
10236 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10237
10238         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10239
10240 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10241
10242         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10243         to "std::string".
10244
10245 2018-01-17  Tom Tromey  <tom@tromey.com>
10246
10247         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10248
10249 2018-01-17  Tom Tromey  <tom@tromey.com>
10250
10251         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10252         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10253         (create_array_type_with_stride): Update.
10254         * dwarf2read.c (set_die_type): Update.
10255
10256 2018-01-17  Tom Tromey  <tom@tromey.com>
10257
10258         * dwarf2read.c (delayed_method_info): Remove typedef.
10259         (dwarf2_cu::method_info): Now a std::vector.
10260         (add_to_method_list): Update.
10261         (free_delayed_list): Remove.
10262         (compute_delayed_physnames): Update.
10263         (process_full_comp_unit, process_full_type_unit): Clear the method
10264         list.  Remove cleanups.
10265         (psymtab_include_file_name): Add name_holder parameter.  Use
10266         unique_xmalloc_ptr.
10267         (dwarf_decode_lines): Update.
10268
10269 2018-01-17  Tom Tromey  <tom@tromey.com>
10270             Simon Marchi  <simon.marchi@ericsson.com>
10271
10272         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10273         (dwarf2_per_objfile::free_cached_comp_units)
10274         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10275         (init_cutu_and_read_dies_no_follow): Update.
10276         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10277         (dwarf2_cu::~dwarf2_cu): New.
10278         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10279         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10280
10281 2018-01-17  Tom Tromey  <tom@tromey.com>
10282             Simon Marchi  <simon.marchi@ericsson.com>
10283
10284         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10285         (struct die_reader_specs) <abbrev_table>: New member.
10286         (struct abbrev_table): Add constructor.
10287         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10288         <abbrev_obstack>: Now an auto_obstack.
10289         (abbrev_table_up): New typedef.
10290         (init_cu_die_reader): Add abbrev_table parameter.
10291         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10292         Add result_dwo_abbrev_table.
10293         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10294         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10295         Update.
10296         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10297         parameter.
10298         (skip_children): Update.
10299         (abbrev_table::alloc_abbrev): Rename from
10300         abbrev_table_alloc_abbrev.
10301         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10302         (abbrev_table::lookup_abbrev): Rename from
10303         abbrev_table_lookup_abbrev.
10304         (abbrev_table_read_table): Return abbrev_table_up.
10305         (abbrev_table_free, abbrev_table_free_cleanup)
10306         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10307         (load_partial_dies): Update.
10308
10309 2018-01-17  Tom Tromey  <tom@tromey.com>
10310
10311         * dwarf2read.c (dwarf2_compute_name): Update comment.
10312         (read_func_scope, read_variable): Update.
10313         (new_symbol): Remove.
10314         (new_symbol_full): Rename to new_symbol.
10315
10316 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10317
10318         PR gdb/16577
10319         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10320         a warning instead of throwing an error, set section size to 0 and return
10321         NULL.
10322         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10323
10324 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10325
10326         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10327         std::string.
10328         (linux_ptrace_attach_fail_reason_string): Likewise.
10329         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10330         Likewise.
10331         (linux_ptrace_attach_fail_reason_string): Likewise.
10332         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10333
10334 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10335
10336         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10337
10338 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10339
10340         PR gdb/21559
10341         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10342         checking for fs_base/gs_base fields in struct user_regs_struct.
10343         * configure: Regenerate.
10344
10345 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10346
10347         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10348         function.
10349         (aarch64_linux_init_abi): Install it to gdbarch hook
10350         gcc_target_options.
10351
10352 2018-01-15  Pedro Alves  <palves@redhat.com>
10353
10354         * common/signals-state-save-restore.c
10355         (save_original_signals_state): Fix typos.
10356
10357 2017-01-12  Tom Tromey  <tom@tromey.com>
10358             Sergio Durigan Junior  <sergiodj@redhat.com>
10359
10360         * Makefile.in (install-only): Install gdb-add-index.
10361
10362 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10363
10364         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10365
10366 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10367
10368         * infrun.c (keep_going_pass_signal): Clear step-over info when
10369         insert_breakpoints fails.
10370
10371 2018-01-11  Pedro Alves  <palves@redhat.com>
10372
10373         PR gdb/22583
10374         * infrun.c (resume): Rename to ...
10375         (resume_1): ... this.
10376         (resume): Reimplement as wrapper around resume_1.
10377
10378 2018-01-11  Pedro Alves  <palves@redhat.com>
10379
10380         PR remote/22597
10381         * remote.c (remote_parse_stop_reply): Default to the last-set
10382         general thread instead of to 'magic_null_ptid'.
10383
10384 2018-01-10  Pedro Alves  <palves@redhat.com>
10385
10386         * language.h (language_get_symbol_name_matcher): Rename ...
10387         (get_symbol_name_matcher): ... this.
10388         * language.c (language_get_symbol_name_matcher): Ditto.
10389         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10390         callers adjusted.
10391
10392 2018-01-10  Pedro Alves  <palves@redhat.com>
10393
10394         PR gdb/22670
10395         * dwarf2read.c
10396         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10397         Adjust to use language_get_symbol_name_matcher instead of
10398         language_defn::la_get_symbol_name_matcher.
10399         * language.c (language_get_symbol_name_matcher): If in Ada mode
10400         and the lookup name is a verbatim match, return Ada's matcher.
10401         * language.h (language_get_symbol_name_matcher): Adjust comment.
10402         (ada_lookup_name_info::verbatim_p):: New method.
10403
10404 2018-01-10  Pedro Alves  <palves@redhat.com>
10405
10406         PR gdb/22670
10407         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10408         minsym's language is language_auto or language_cplus, pass down
10409         language_ada instead.
10410         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10411
10412 2018-01-10  Pedro Alves  <palves@redhat.com>
10413
10414         PR gdb/22670
10415         * minsyms.c (linkage_name_str): New function.
10416         (iterate_over_minimal_symbols): Use it.
10417
10418 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10419
10420         * NEWS: Document that 'info proc' now works on FreeBSD.
10421
10422 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10423
10424         * configure.ac: Check for kinfo_getfile in libutil.
10425         * configure: Regenerate.
10426         * config.in: Regenerate.
10427         * fbsd-nat.c: Include "fbsd-tdep.h".
10428         (fbsd_fetch_cmdline): New.
10429         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
10430         rather than calling error.
10431         (fbsd_info_proc): New.
10432         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
10433         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
10434         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
10435
10436 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10437
10438         * fbsd-nat.c (struct free_deleter): Remove.
10439         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
10440
10441 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10442
10443         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
10444         NULL for an empty pathname.
10445
10446 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10447
10448         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
10449         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
10450         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
10451         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
10452         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
10453         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
10454         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
10455         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
10456         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
10457         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
10458         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
10459         (fbsd_core_fetch_timeval, fbsd_print_sigset)
10460         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
10461         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
10462         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
10463
10464 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
10465
10466         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
10467         (gnu_xfer_auxv): New function.
10468         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
10469         TARGET_OBJECT_AUXV.
10470
10471 2018-01-08  Yao Qi  <yao.qi@linaro.org>
10472             Simon Marchi  <simon.marchi@ericsson.com>
10473
10474         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
10475         common/selftest.c.
10476         (COMMON_OBS): Remove selftest.o.
10477         * configure.ac: Append selftest-arch.c and common/selftest.c to
10478         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
10479         * configure: Re-generated.
10480         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
10481         GDB_SELF_TEST.
10482         (maintenance_info_selftests): Likewise.
10483
10484 2018-01-08  Xavier Roirand  <roirand@adacore.com>
10485
10486         * ada-valprint.c (val_print_packed_array_elements): Use
10487         proper number of elements when printing an array indexed
10488         by an enumeration type.
10489
10490 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10491
10492         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
10493         (dw2_get_file_names_reader): Adjust.
10494         (lookup_dwo_signatured_type): Adjust.
10495         (lookup_dwp_signatured_type): Adjust.
10496         (lookup_signatured_type): Adjust.
10497         (create_type_unit_group): Adjust.
10498         (get_type_unit_group): Adjust.
10499         (process_psymtab_comp_unit_reader): Adjust.
10500         (build_type_psymtabs_reader): Adjust.
10501         (scan_partial_symbols): Adjust.
10502         (add_partial_symbol): Adjust.
10503         (add_partial_subprogram): Adjust.
10504         (peek_die_abbrev): Adjust.
10505         (fixup_go_packaging): Adjust.
10506         (process_imported_unit_die): Adjust.
10507         (dwarf2_compute_name): Adjust.
10508         (dwarf2_physname): Adjust.
10509         (read_import_statement): Adjust.
10510         (handle_DW_AT_stmt_list): Adjust.
10511         (read_file_scope): Adjust.
10512         (read_func_scope): Adjust.
10513         (read_lexical_block_scope): Adjust.
10514         (read_call_site_scope): Adjust.
10515         (read_variable): Adjust.
10516         (dwarf2_rnglists_process): Adjust.
10517         (dwarf2_ranges_process): Adjust.
10518         (dwarf2_ranges_read): Adjust.
10519         (dwarf2_get_pc_bounds): Adjust.
10520         (dwarf2_record_block_ranges): Adjust.
10521         (dwarf2_add_field): Adjust.
10522         (dwarf2_add_member_fn): Adjust.
10523         (read_structure_type): Adjust.
10524         (process_structure_scope): Adjust.
10525         (read_enumeration_type): Adjust.
10526         (read_array_type): Adjust.
10527         (mark_common_block_symbol_computed): Adjust.
10528         (read_common_block): Adjust.
10529         (read_namespace_type): Adjust.
10530         (read_namespace): Adjust.
10531         (read_module_type): Adjust.
10532         (read_tag_pointer_type): Adjust.
10533         (read_tag_ptr_to_member_type): Adjust.
10534         (read_tag_string_type): Adjust.
10535         (read_subroutine_type): Adjust.
10536         (read_typedef): Adjust.
10537         (read_base_type): Adjust.
10538         (attr_to_dynamic_prop): Adjust.
10539         (read_subrange_type): Adjust.
10540         (read_unspecified_type): Adjust.
10541         (dwarf2_read_abbrevs): Adjust.
10542         (load_partial_dies): Adjust.
10543         (read_partial_die): Adjust.
10544         (find_partial_die): Adjust.
10545         (guess_partial_die_structure_name): Adjust.
10546         (fixup_partial_die): Adjust.
10547         (read_attribute_value): Adjust.
10548         (read_addr_index): Adjust.
10549         (read_addr_index_from_leb128): Adjust.
10550         (read_str_index): Adjust.
10551         (dwarf2_string_attr): Adjust.
10552         (get_debug_line_section): Adjust.
10553         (dwarf_decode_line_header): Adjust.
10554         (lnp_state_machine::check_line_address): Adjust.
10555         (dwarf_decode_lines_1): Adjust.
10556         (dwarf_decode_lines): Adjust.
10557         (dwarf2_start_symtab): Adjust.
10558         (var_decode_location): Adjust.
10559         (new_symbol_full): Adjust.
10560         (dwarf2_const_value_data): Adjust.
10561         (dwarf2_const_value_attr): Adjust.
10562         (dwarf2_const_value): Adjust.
10563         (die_type): Adjust.
10564         (die_containing_type): Adjust.
10565         (build_error_marker_type): Adjust.
10566         (lookup_die_type): Adjust.
10567         (guess_full_die_structure_name): Adjust.
10568         (anonymous_struct_prefix): Adjust.
10569         (determine_prefix): Adjust.
10570         (dwarf2_name): Adjust.
10571         (follow_die_ref_or_sig): Adjust.
10572         (follow_die_offset): Adjust.
10573         (follow_die_ref): Adjust.
10574         (follow_die_sig_1): Adjust.
10575         (follow_die_sig): Adjust.
10576         (get_signatured_type): Adjust.
10577         (get_DW_AT_signature_type): Adjust.
10578         (decode_locdesc): Adjust.
10579         (dwarf_decode_macros): Adjust.
10580         (cu_debug_loc_section): Adjust.
10581         (fill_in_loclist_baton): Adjust.
10582         (dwarf2_symbol_mark_computed): Adjust.
10583         (init_one_comp_unit): Don't assign
10584         dwarf2_cu::dwarf2_per_objfile.
10585         (set_die_type): Adjust.
10586
10587 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10588
10589         * dwarf2read.c (struct mapped_debug_names): Add constructor.
10590         <dwarf2_per_objfile>: New field.
10591         (dwarf2_per_objfile): Remove global.
10592         (get_dwarf2_per_objfile): New function.
10593         (set_dwarf2_per_objfile): New function.
10594         (dwarf2_build_psymtabs_hard): Change objfile parameter to
10595         dwarf2_per_objfile.
10596         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10597         (read_abbrev_offset): Likewise.
10598         (read_indirect_string): Likewise.
10599         (read_indirect_line_string): Likewise.
10600         (read_indirect_string_at_offset): Likewise.
10601         (read_indirect_string_from_dwz): Likewise.
10602         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10603         dwarf2_per_objfile.
10604         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10605         (create_all_comp_units): Change objfile parameter to
10606         dwarf2_per_objfile.
10607         (create_all_type_units): Likewise.
10608         (process_queue): Add dwarf2_per_objfile parameter.
10609         (read_and_check_comp_unit_head): Likewise.
10610         (lookup_dwo_unit_in_dwp): Likewise.
10611         (get_dwp_file): Likewise.
10612         (process_cu_includes): Likewise.
10613         (struct free_dwo_file_cleanup_data): New struct.
10614         (dwarf2_has_info): Use get_dwarf2_per_objfile and
10615         set_dwarf2_per_objfile.
10616         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
10617         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
10618         context, adjust calls.
10619         (dw2_instantiate_symtab): Likewise.
10620         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
10621         (dw2_get_cu): Likewise.
10622         (create_cu_from_index_list): Change objfile parameter to
10623         dwarf2_per_objfile.
10624         (create_cus_from_index_list): Get dwarf2_per_objfile from
10625         context, adjust calls.
10626         (create_cus_from_index): Likewise.
10627         (create_signatured_type_table_from_index): Change objfile
10628         parameter to dwarf2_per_objfile.
10629         (create_signatured_type_table_from_debug_names): Change objfile
10630         parameter to dwarf2_per_objfile.
10631         (create_addrmap_from_index): Likewise.
10632         (create_addrmap_from_aranges): Likewise.
10633         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
10634         (dw2_setup): Remove.
10635         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
10636         context.
10637         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
10638         get_dwarf2_per_objfile.
10639         (dw2_forget_cached_source_info): Likewise.
10640         (dw2_map_symtabs_matching_filename): Likewise.
10641         (struct dw2_symtab_iterator) <index>: Remove.
10642         <dwarf2_per_objfile>: New field.
10643         (dw2_symtab_iter_init): Replace index parameter with
10644         dwarf2_per_objfile.
10645         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
10646         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
10647         (dw2_print_stats): Likewise.
10648         (dw2_dump): Likewise.
10649         (dw2_expand_symtabs_for_function): Likewise.
10650         (dw2_expand_all_symtabs): Likewise.
10651         (dw2_expand_symtabs_with_fullname): Likewise.
10652         (dw2_expand_marked_cus): Replace index and objfile parameters
10653         with dwarf2_per_objfile.
10654         (dw_expand_symtabs_matching_file_matcher): Add
10655         dwarf2_per_objfile parameter and adjust calls.
10656         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
10657         adjust calls.
10658         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
10659         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
10660         adjust calls.
10661         (create_cus_from_debug_names_list): Replace objfile parameter
10662         with dwarf2_per_objfile and adjust calls.
10663         (create_cus_from_debug_names): Likewise.
10664         (dwarf2_read_debug_names): Likewise.
10665         (mapped_debug_names::namei_to_name): Adjust call.
10666         (dw2_debug_names_iterator::next): Likewise.
10667         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
10668         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
10669         (dw2_debug_names_dump): Likewise.
10670         (dw2_debug_names_expand_symtabs_for_function): Likewise.
10671         (dw2_debug_names_expand_symtabs_matching): Likewise.
10672         (dwarf2_initialize_objfile): Likewise.
10673         (dwarf2_build_psymtabs): Likewise.
10674         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
10675         this_cu.
10676         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
10677         (read_and_check_comp_unit_head): Likewise.
10678         (read_abbrev_offset): Likewise.
10679         (create_debug_type_hash_table): Likewise.
10680         (create_debug_types_hash_table): Likewise.
10681         (create_all_type_units): Replace objfile parameter with
10682         dwarf2_per_objfile.
10683         (add_type_unit): Add dwarf2_per_objfile parameter.
10684         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
10685         with dwarf2_per_objfile.
10686         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
10687         (lookup_dwp_signatured_type): Likewise.
10688         (lookup_signatured_type): Likewise.
10689         (read_cutu_die_from_dwo): Likewise.
10690         (init_tu_and_read_dwo_dies): Likewise.
10691         (init_cutu_and_read_dies): Likewise.
10692         (init_cutu_and_read_dies_no_follow): Likewise.
10693         (allocate_type_unit_groups_table): Add objfile parameter.
10694         (create_type_unit_group): Use dwarf2_per_objfile from cu.
10695         (get_type_unit_group): Likewise.
10696         (process_psymtab_comp_unit): Update call.
10697         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
10698         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
10699         (print_tu_stats): Likewise.
10700         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
10701         in void* parameter.
10702         (build_type_psymtabs): Change objfile parameter to
10703         dwarf2_per_objfile.
10704         (process_skeletonless_type_unit): Use dwarf2_per_objfile
10705         passed in void* parameter.
10706         (process_skeletonless_type_units): Change objfile parameter to
10707         dwarf2_per_objfile.
10708         (set_partial_user): Likewise.
10709         (dwarf2_build_psymtabs_hard): Likewise.
10710         (read_comp_units_from_section): Likewise.
10711         (create_all_comp_units): Likewise.
10712         (scan_partial_symbols): Update calls.
10713         (add_partial_symbol): Likewise.
10714         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
10715         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
10716         (process_queue): Add dwarf2_per_objfile parameter.
10717         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
10718         (compute_compunit_symtab_includes): Likewise.
10719         (process_cu_includes): Add dwarf2_per_objfile parameter.
10720         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
10721         (process_full_type_unit): Likewise.
10722         (process_imported_unit_die): Update call.
10723         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
10724         (read_file_scope): Likewise.
10725         (allocate_dwo_file_hash_table): Add objfile parameter.
10726         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
10727         (create_cus_hash_table): Likewise.
10728         (create_dwp_hash_table): Likewise.
10729         (create_dwo_unit_in_dwp_v1): Likewise.
10730         (create_dwp_v2_section): Likewise.
10731         (create_dwo_unit_in_dwp_v2): Likewise.
10732         (lookup_dwo_unit_in_dwp): Likewise.
10733         (try_open_dwop_file): Likewise.
10734         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
10735         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
10736         cleanup to include a reference to dwarf2_per_objfile.
10737         (open_dwp_file): Add dwarf2_per_objfile parameter.
10738         (open_and_init_dwp_file): Likewise.
10739         (get_dwp_file): Likewise.
10740         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
10741         (queue_and_load_all_dwo_tus): Update call.
10742         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
10743         data.
10744         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
10745         (dwarf2_ranges_process): Likewise.
10746         (dwarf2_get_pc_bounds): Likewise.
10747         (mark_common_block_symbol_computed): Likewise.
10748         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10749         (dwarf2_read_abbrevs): Update call.
10750         (read_partial_die): Use dwarf2_per_objfile from cu.
10751         (find_partial_die): Likewise.
10752         (fixup_partial_die): Likewise.
10753         (read_attribute_value): Likewise.
10754         (read_indirect_string_at_offset_from): Add objfile parameter.
10755         (read_indirect_string_at_offset): Add dwarf2_per_objfile
10756         parameter.
10757         (read_indirect_string_from_dwz): Add objfile parameter.
10758         (read_indirect_string): Add objfile parameter.
10759         (read_addr_index_1): Add dwarf2_per_objfile parameter.
10760         (read_addr_index): Use dwarf2_per_objfile from cu.
10761         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
10762         call dw2_setup.
10763         (read_str_index): Use dwarf2_per_objfile from cu.
10764         (get_debug_line_section): Likewise.
10765         (read_formatted_entries): Add dwarf2_per_objfile parameter.
10766         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
10767         (new_symbol_full): Use dwarf2_per_objfile from cu.
10768         (build_error_marker_type): Likewise.
10769         (lookup_die_type): Likewise.
10770         (determine_prefix): Likewise.
10771         (follow_die_offset): Likewise.
10772         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
10773         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
10774         (dwarf2_fetch_die_type_sect_off): Likewise.
10775         (dwarf2_get_die_type): Likewise.
10776         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
10777         (get_signatured_type): Likewise.
10778         (get_DW_AT_signature_type): Likewise.
10779         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
10780         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
10781         (cu_debug_loc_section): Likewise.
10782         (fill_in_loclist_baton): Likewise.
10783         (dwarf2_symbol_mark_computed): Likewise.
10784         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10785         dwarf2_per_objfile.
10786         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
10787         parameter.
10788         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10789         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
10790         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
10791         (set_die_type): Use dwarf2_free_objfile from cu.
10792         (get_die_type_at_offset): Likewise.
10793         (dwarf2_per_objfile_free): Don't assign global variable.
10794         (debug_names) <constructor>: Add dwarf2_per_objfile
10795         parameter, update m_debugstrlookup construction.
10796         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
10797         parameter.
10798         <m_dwarf2_per_objfile>: New field.
10799         <lookup>: Use m_dwarf2_per_objfile.
10800         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
10801         (psyms_seen_size): Likewise.
10802         (write_gdbindex): Replace objfile parameter with
10803         dwarf2_per_objfile.
10804         (write_debug_names): Likewise.
10805         (write_psymtabs_to_index): Likewise.
10806         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
10807         calls.
10808
10809 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10810
10811         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
10812         <dwarf2_per_objfile>: New field.
10813         (struct dwarf2_per_cu_data) <objfile>: Remove.
10814         <dwarf2_per_objfile>: New field.
10815         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
10816         of objfile.
10817         (create_signatured_type_table_from_index): Likewise.
10818         (create_debug_type_hash_table): Likewise.
10819         (fill_in_sig_entry_from_dwo_entry): Likewise.
10820         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
10821         (create_type_unit_group): Assign dwarf2_per_objfile instead of
10822         objfile.
10823         (create_partial_symtab): Access objfile through
10824         dwarf2_per_objfile.
10825         (process_psymtab_comp_unit_reader): Likewise.
10826         (read_comp_units_from_section): Likewise.
10827         (scan_partial_symbols): Likewise.
10828         (add_partial_symbol): Likewise.
10829         (add_partial_subprogram): Likewise.
10830         (peek_die_abbrev): Likewise.
10831         (fixup_go_packaging): Likewise.
10832         (process_full_comp_unit): Likewise.
10833         (process_full_type_unit): Likewise.
10834         (process_imported_unit_die): Likewise.
10835         (dwarf2_compute_name): Likewise.
10836         (dwarf2_physname): Likewise.
10837         (read_import_statement): Likewise.
10838         (create_cus_hash_table): Assign dwarf2_physname instead of
10839         objfile.
10840         (read_func_scope): Access objfile through dwarf2_per_objfile.
10841         (read_lexical_block_scope): Likewise.
10842         (read_call_site_scope): Likewise.
10843         (read_variable): Likewise.
10844         (dwarf2_rnglists_process): Likewise.
10845         (dwarf2_ranges_process): Likewise.
10846         (dwarf2_ranges_read): Likewise.
10847         (dwarf2_record_block_ranges): Likewise.
10848         (dwarf2_add_field): Likewise.
10849         (dwarf2_add_member_fn): Likewise.
10850         (read_structure_type): Likewise.
10851         (process_structure_scope): Likewise.
10852         (read_enumeration_type): Likewise.
10853         (read_array_type): Likewise.
10854         (read_common_block): Likewise.
10855         (read_namespace_type): Likewise.
10856         (read_namespace): Likewise.
10857         (read_module_type): Likewise.
10858         (read_tag_pointer_type): Likewise.
10859         (read_tag_ptr_to_member_type): Likewise.
10860         (read_tag_string_type): Likewise.
10861         (read_subroutine_type): Likewise.
10862         (read_typedef): Likewise.
10863         (read_base_type): Likewise.
10864         (attr_to_dynamic_prop): Likewise.
10865         (read_subrange_type): Likewise.
10866         (read_unspecified_type): Likewise.
10867         (load_partial_dies): Likewise.
10868         (read_partial_die): Likewise.
10869         (find_partial_die): Likewise.
10870         (guess_partial_die_structure_name): Likewise.
10871         (fixup_partial_die): Likewise.
10872         (read_attribute_value): Likewise.
10873         (read_addr_index_from_leb128): Likewise.
10874         (dwarf2_read_addr_index): Likewise.
10875         (dwarf2_string_attr): Likewise.
10876         (lnp_state_machine::check_line_address): Likewise.
10877         (dwarf_decode_lines_1): Likewise.
10878         (dwarf_decode_lines): Likewise.
10879         (dwarf2_start_symtab): Likewise.
10880         (var_decode_location): Likewise.
10881         (new_symbol_full): Likewise.
10882         (dwarf2_const_value_data): Likewise.
10883         (dwarf2_const_value_attr): Likewise.
10884         (dwarf2_const_value): Likewise.
10885         (die_type): Likewise.
10886         (die_containing_type): Likewise.
10887         (lookup_die_type): Likewise.
10888         (guess_full_die_structure_name): Likewise.
10889         (anonymous_struct_prefix): Likewise.
10890         (dwarf2_name): Likewise.
10891         (follow_die_ref_or_sig): Likewise.
10892         (follow_die_offset): Likewise.
10893         (follow_die_ref): Likewise.
10894         (dwarf2_fetch_die_loc_sect_off): Likewise.
10895         (dwarf2_fetch_constant_bytes): Likewise.
10896         (dwarf2_fetch_die_type_sect_off): Likewise.
10897         (dwarf2_get_die_type): Likewise.
10898         (follow_die_sig): Likewise.
10899         (decode_locdesc): Likewise.
10900         (dwarf2_per_cu_objfile): Likewise.
10901         (dwarf2_per_cu_text_offset): Likewise.
10902         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
10903         objfile.
10904         (set_die_type): Access objfile through
10905         dwarf2_per_objfile.
10906
10907 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10908
10909         * valprint.c (converted_character_d): Remove typedef.
10910         (DEF_VEC_O (converted_character_d)): Remove.
10911         (count_next_character): Use std::vector.
10912         (print_converted_chars_to_obstack): Likewise.
10913         (generic_printstr): Likewise.
10914
10915 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10916
10917         * xml-support.h (struct gdb_xml_value): Add constructor.
10918         <value>: Change type to unique_xmalloc_ptr.
10919         (gdb_xml_value_s): Remove typedef.
10920         (DEF_VEC_O (gdb_xml_value_s)): Remove.
10921         (gdb_xml_element_start_handler): Change parameter type to
10922         std::vector.
10923         (xml_find_attribute): Likewise.
10924         * xml-support.c (xml_find_attribute): Change parameter type to
10925         std::vector and adjust.
10926         (gdb_xml_values_cleanup): Remove.
10927         (gdb_xml_parser::start_element): Adjust to std::vector.
10928         (xinclude_start_include): Change paraeter type to std::vector
10929         and adjust.
10930         * btrace.c (check_xml_btrace_version): Likewise.
10931         (parse_xml_btrace_block): Likewise.
10932         (parse_xml_btrace_pt_config_cpu): Likewise.
10933         (parse_xml_btrace_pt): Likewise.
10934         (parse_xml_btrace_conf_bts): Likewise.
10935         (parse_xml_btrace_conf_pt): Likewise.
10936         * memory-map.c (memory_map_start_memory): Likewise.
10937         (memory_map_start_property): Likewise.
10938         * osdata.c (osdata_start_osdata): Likewise.
10939         (osdata_start_item): Likewise.
10940         (osdata_start_column): Likewise.
10941         * remote.c (start_thread): Likewise.
10942         * solib-aix.c (library_list_start_library): Likewise.
10943         (library_list_start_list): Likewise.
10944         * solib-svr4.c (library_list_start_library): Likewise.
10945         (svr4_library_list_start_list): Likewise.
10946         * solib-target.c (library_list_start_segment): Likewise.
10947         (library_list_start_section): Likewise.
10948         (library_list_start_library): Likewise.
10949         (library_list_start_list): Likewise.
10950         * tracepoint.c (traceframe_info_start_memory): Likewise.
10951         (traceframe_info_start_tvar): Likewise.
10952         * xml-syscall.c (syscall_start_syscall): Likewise.
10953         * xml-tdesc.c (tdesc_start_target): Likewise.
10954         (tdesc_start_feature): Likewise.
10955         (tdesc_start_reg): Likewise.
10956         (tdesc_start_union): Likewise.
10957         (tdesc_start_struct): Likewise.
10958         (tdesc_start_flags): Likewise.
10959         (tdesc_start_enum): Likewise.
10960         (tdesc_start_field): Likewise.
10961         (tdesc_start_enum_value): Likewise.
10962         (tdesc_start_vector): Likewise.
10963
10964 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10965
10966         * extension.h (struct xmethod_worker) <clone>: Remove.
10967         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
10968         Remove.
10969         (python_xmethod_worker::clone): Remove.
10970         * valops.c (find_overload_match): Use std::move instead of
10971         clone.
10972
10973 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10974
10975         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
10976         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
10977         <free_xmethod_worker_data>: Remove.
10978         <get_matching_xmethod_workers>: Chance VEC to std::vector.
10979         <get_xmethod_arg_types>: Remove.
10980         <get_xmethod_result_type>: Remove.
10981         <invoke_xmethod>: Remove.
10982         * extension.c (new_xmethod_worker): Remove.
10983         (clone_xmethod_worker): Remove.
10984         (get_matching_xmethod_workers): Return void, pass std::vector by
10985         pointer.
10986         (get_xmethod_arg_types): Rename to...
10987         (xmethod_worker::get_arg_types): ... this, and adjust.
10988         (get_xmethod_result_type): Rename to...
10989         (xmethod_worker::get_result_type): ... this, and adjust.
10990         (invoke_xmethod): Remove.
10991         (free_xmethod_worker): Remove.
10992         (free_xmethod_worker_vec): Remove.
10993         * extension.h (enum ext_lang_rc): Move here from
10994         extension-priv.h.
10995         (struct xmethod_worker): Add constructor and destructor.
10996         <data>: Remove.
10997         <value>: Remove.
10998         <invoke, clone, do_get_result_type, do_get_arg_types>: New
10999         virtual pure methods.
11000         <get_arg_types, get_result_type>: New methods.
11001         (xmethod_worker_ptr): Remove typedef.
11002         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
11003         (xmethod_worker_vec): Remove typedef.
11004         (xmethod_worker_up): New typedef.
11005         (invoke_xmethod): Remove.
11006         (clone_xmethod_worker): Remove.
11007         (free_xmethod_worker): Remove.
11008         (free_xmethod_worker_vec): Remove.
11009         (get_xmethod_arg_types): Remove.
11010         (get_xmethod_result_type): Remove.
11011         * valops.c (find_method_list): Use std::vector, don't use
11012         intermediate vector.
11013         (value_find_oload_method_list): Use std::vector.
11014         (find_overload_match): Use std::vector.
11015         (find_oload_champ): Use std::vector.
11016         * value.c (value_free): Use operator delete.
11017         (value_of_xmethod): Rename to...
11018         (value_from_xmethod): ... this.  Don't assign
11019         xmethod_worker::value, take rvalue-reference.
11020         (result_type_of_xmethod): Adjust.
11021         (call_xmethod): Adjust.
11022         * value.h: Include extension.h.
11023         (struct xmethod_worker): Don't forward-declare.
11024         (value_of_xmethod): Rename to...
11025         (value_from_xmethod): ... this, take rvalue-reference.
11026         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
11027         (struct python_xmethod_worker): ... this, add constructor and
11028         destructor.
11029         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
11030         (gdbpy_free_xmethod_worker_data): Rename to...
11031         (python_xmethod_worker::~python_xmethod_worker): ... this and
11032         adjust.
11033         (gdbpy_clone_xmethod_worker_data): Rename to...
11034         (python_xmethod_worker::clone): ... this and adjust.
11035         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11036         temporary vector.
11037         (gdbpy_get_xmethod_arg_types): Rename to...
11038         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11039         (gdbpy_get_xmethod_result_type): Rename to...
11040         (python_xmethod_worker::do_get_result_type): ... this and
11041         adjust.
11042         (gdbpy_invoke_xmethod): Rename to...
11043         (python_xmethod_worker::invoke): ... this and adjust.
11044         (new_python_xmethod_worker): Rename to...
11045         (python_xmethod_worker::python_xmethod_worker): ... this and
11046         adjust.
11047         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11048         Remove.
11049         (gdbpy_free_xmethod_worker_data): Remove.
11050         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11051         (gdbpy_get_xmethod_arg_types): Remove.
11052         (gdbpy_get_xmethod_result_type): Remove.
11053         (gdbpy_invoke_xmethod): Remove.
11054         * python/python.c (python_extension_ops): Remove obsolete
11055         callbacks.
11056
11057 2018-01-05  Pedro Alves  <palves@redhat.com>
11058
11059         PR gdb/18653
11060         * common/signals-state-save-restore.c
11061         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11062         find a custom handler preinstalled, instead of internal erroring.
11063         But only warn if !quiet.
11064         * common/signals-state-save-restore.h
11065         (save_original_signals_state): New parameter 'quiet'.
11066         * main.c (captured_main_1): Move save_original_signals_state call
11067         after option handling, and pass QUIET.
11068
11069 2018-01-05  Pedro Alves  <palves@redhat.com>
11070
11071         * spu-tdep.c (spu_catch_start): Pass
11072         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11073
11074 2018-01-05  Pedro Alves  <palves@redhat.com>
11075
11076         PR gdb/22670
11077         * ada-lang.c (literal_symbol_name_matcher): New function.
11078         (ada_get_symbol_name_matcher): Use it for
11079         symbol_name_match_type::SEARCH_NAME.
11080         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11081         it down instead of assuming symbol_name_match_type::FULL.
11082         * block.h (block_lookup_symbol): New parameter 'match_type'.
11083         * c-valprint.c (print_unpacked_pointer): Use
11084         lookup_symbol_search_name instead of lookup_symbol.
11085         * compile/compile-object-load.c (get_out_value_type): Pass down
11086         symbol_name_match_type::SEARCH_NAME.
11087         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11088         symbol_name_match_type::FULL.
11089         * cp-support.c (cp_get_symbol_name_matcher): Handle
11090         symbol_name_match_type::SEARCH_NAME.
11091         * infrun.c (insert_exception_resume_breakpoint): Use
11092         lookup_symbol_search_name.
11093         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11094         * psymtab.c (maintenance_check_psymtabs): Use
11095         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11096         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11097         SYMBOL_SEARCH_NAME.
11098         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11099         if symbol_name_match_type::SEARCH_NAME.
11100         (lookup_symbol_in_language): Pass down
11101         symbol_name_match_type::FULL.
11102         (lookup_symbol_search_name): New.
11103         (lookup_language_this): Pass down
11104         symbol_name_match_type::SEARCH_NAME.
11105         (lookup_symbol_aux, lookup_local_symbol): New parameter
11106         'match_type'.  Pass it down.
11107         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11108         (lookup_symbol_search_name): New declaration.
11109         (lookup_symbol_in_block): New 'match_type' parameter.
11110
11111 2018-01-05  Pedro Alves  <palves@redhat.com>
11112
11113         PR gdb/22670
11114         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11115         ada_lookup_symbol.
11116         (ada_lookup_symbol): Reimplement in terms of
11117         ada_lookup_symbol_list, bits factored out from
11118         ada_lookup_encoded_symbol.
11119
11120 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11121
11122         * ada-exp.y (write_object_renaming): When subscripting an array
11123         using a symbol as the index, pass the block in call to
11124         ada_lookup_encoded_symbol when looking that symbol up.
11125
11126 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11127
11128         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11129         TYPE_INDEX_TYPE.
11130
11131 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11132
11133         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11134         the case where VALUE_LVAL (val0) is not lval_memory.
11135
11136 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11137
11138         * ada-valprint.c (print_optional_low_bound): Handle
11139         character-indexed array printing like boolean-indexed array
11140         printing.
11141
11142 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11143
11144         * NEWS: Create a new section for the next release branch.
11145         Rename the section of the current branch, now that it has
11146         been cut.
11147
11148 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11149
11150         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11151         * version.in: Bump version to 8.1.50.DATE-git.
11152
11153 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11154
11155         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11156         Add field.
11157         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11158         Add field.
11159         (default_exception_support_info) <catch_handlers_sym>: Add field.
11160         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11161         (ada_exception_name_addr_1): Add "catch handlers" handling.
11162         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11163         Update all callers.
11164         (create_excep_cond_exprs) <ex>: Add parameter.
11165         (re_set_exception): Update create_excep_cond_exprs call.
11166         (print_it_exception, print_one_exception, print_mention_exception)
11167         (print_recreate_exception): Add "catch handler" handling.
11168         (allocate_location_catch_handlers, re_set_catch_handlers)
11169         (check_status_catch_handlers, print_it_catch_handlers)
11170         (print_one_catch_handlers, print_mention_catch_handlers)
11171         (print_recreate_catch_handlers): New function.
11172         (catch_handlers_breakpoint_ops): New variable.
11173         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11174         Add parameter.  Add "catch handler" handling.
11175         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11176         Add "catch handler" handling.
11177         (ada_exception_catchpoint_cond_string): Add "catch handler"
11178         handling.
11179         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11180         call.
11181         (catch_ada_handlers_command): New function.
11182         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11183         operations structure.
11184         (_initialize_ada_language): Add "catch handlers" command entry.
11185         * NEWS: Document "catch handlers" feature.
11186
11187 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11188
11189         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11190         account when creating the array type of the slice.
11191         (ada_value_slice): Likewise.
11192
11193 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11194
11195         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11196         New enum value.
11197         (create_array_type_with_stride): Add byte_stride_prop parameter.
11198         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11199         New parameter.  Update all callers in this file.
11200         (array_type_has_dynamic_stride): New function.
11201         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11202         of arrays with dynamic byte strides.
11203         * dwarf2read.c (read_array_type): Add support for dynamic
11204         DW_AT_byte_stride attributes.
11205
11206 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11207
11208         * dwarf2read.c (read_unspecified_type): Treat
11209         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11210
11211 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11212
11213         Update copyright year range in all GDB files.
11214
11215 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11216
11217         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11218         and gdb/testsuite/gdb.base/step-line.c.
11219
11220 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11221
11222         * copyright.py (main): Dump the contents of
11223         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11224         even if BY_HAND is empty.
11225
11226 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11227
11228         * top.c (print_gdb_version): Update Copyright year in version
11229         message.
11230
11231 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11232
11233         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11234
11235 For older changes see ChangeLog-2017.
11236 \f
11237 Local Variables:
11238 mode: change-log
11239 left-margin: 8
11240 fill-column: 74
11241 version-control: never
11242 coding: utf-8
11243 End: