Fix kill issue leading to zombie process on MacOS Sierra
[external/binutils.git] / gdb / ChangeLog
1 2018-08-02  Xavier Roirand  <roirand@adacore.com>
2
3         PR gdb/22629:
4         * darwin-nat.c (darwin_kill_inferior): Fix handling of
5         kill inferior.
6
7 2018-08-02  Tom Tromey  <tom@tromey.com>
8
9         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
10         (darwin_suspend_inferior, darwin_resume_inferior)
11         (darwin_decode_notify_message, darwin_resume_inferior_threads)
12         (darwin_check_new_threads): Check result of get_darwin_inferior.
13
14 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
15
16         GDB 8.1.1 released.
17
18 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
19
20         * varobj.c (varobj_get_path_expr_parent): Report an error if
21         parent is a dynamic varobj.
22
23 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
24
25         * gnulib/aclocal.m4: Re-generate.
26         * gnulib/config.in: Re-generate.
27         * gnulib/configure: Re-generate.
28         * gnulib/import/Makefile.in: Re-generate.
29         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
30         * gnulib/import/m4/onceonly.m4: Re-generate.
31
32 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
33
34         * target-descriptions.c (struct xml_test_tdesc): New.
35         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
36         (record_xml_tdesc): Update.
37         (maintenance_check_xml_descriptions): Update.
38         * target-descriptions.h (record_xml_tdesc): Update comment.
39
40 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
41
42         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
43         checking array bounds are defined.
44
45 2018-07-30  Tom Tromey  <tom@tromey.com>
46
47         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
48         irreflexivity violation.
49
50 2018-07-30  Tom Tromey  <tom@tromey.com>
51
52         * cli/cli-decode.c (lookup_cmd): Remove lint code.
53         * value.c (unpack_long): Remove lint code.
54         * valops.c (value_ind): Remove lint code.
55         * valarith.c (value_x_binop, value_x_unop, value_equal)
56         (value_pos): Remove lint code.
57
58 2018-07-28  Tom de Vries  <tdevries@suse.de>
59
60         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
61         with undefined upper bound as <optimized out>.
62
63 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
64
65         * gcore.in: Rename variable "name" to "prefix".  Expand
66         "usage" text.
67
68 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
69
70         * windows-nat.c (windows_nat_target::create_inferior): Update to
71         call close() in global namespace.
72
73 2018-07-26  Tom Tromey  <tom@tromey.com>
74
75         * dwarf-index-write.c (add_address_entry): Don't add objfile
76         offsets.
77         * dbxread.c (find_stab_function): Rename from
78         find_stab_function_addr.  Return a bound_minimal_symbol.
79         (read_dbx_symtab): Use raw_text_low, raw_text_high.
80         Don't add objfile offsets.
81         (end_psymtab): Use raw_text_low, raw_text_high,
82         MSYMBOL_VALUE_RAW_ADDRESS.
83         (read_ofile_symtab): Update.
84         (process_one_symbol): Update.
85         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
86         offsets.
87         (dw2_relocate): Remove.
88         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
89         searching addrmap.
90         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
91         Update.
92         (process_psymtab_comp_unit_reader, add_partial_symbol)
93         (add_partial_subprogram, dwarf2_ranges_read): Update.
94         (load_partial_dies): Update.
95         (add_address_entry): Don't add objfile offsets.
96         (dwarf2_build_include_psymtabs): Update.
97         (create_addrmap_from_aranges): Don't add objfile offsets.
98         (dw2_find_pc_sect_compunit_symtab): Update.
99         * mdebugread.c (parse_symbol): Don't add objfile offsets.
100         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
101         Update.
102         (parse_partial_symbols): Don't add objfile offsets.  Use
103         raw_text_low, raw_text_high.  Update.
104         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
105         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
106         or call 'relocate' quick function.  Clear psymbol_map.
107         * psympriv.h (struct partial_symbol) <address>: Add section
108         offset.
109         <set_unrelocated_address>: Rename from set_address.
110         <raw_text_low, raw_text_high>: New methods.
111         <text_low, text_high>: Add objfile parameter.
112         (add_psymbol_to_bcache): Add 'section' parameter.  Call
113         set_unrelocated_address.
114         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
115         (find_pc_psymbol): Update.
116         (fixup_psymbol_section, relocate_psymtabs): Remove.
117         (dump_psymtab, psym_functions): Update.
118         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
119         parameter.
120         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
121         (start_psymtab_common): Update.
122         * symfile-debug.c (debug_qf_relocate): Remove.
123         (debug_sym_quick_functions): Update.
124         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
125         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
126         Update.
127
128 2018-07-26  Tom Tromey  <tromey@redhat.com>
129
130         * dbxread.c (end_psymtab): Use text_high_valid and
131         text_low_valid.
132         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
133         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
134         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
135         Update comment.
136         <text_low_valid, text_high_valid>: New fields.
137         <set_text_low, set_text_high>: Update.
138         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
139
140 2018-07-26  Tom Tromey  <tom@tromey.com>
141
142         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
143         Update.
144         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
145         textlow and texthigh fields.
146         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
147         Update.
148         * mdebugread.c (parse_lines, parse_partial_symbols)
149         (psymtab_to_symtab_1): Update.
150         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
151         Rename fields.  Update comment.  Now private.
152         <text_low, text_high, set_text_low, set_text_high>: New methods.
153         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
154         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
155         (start_psymtab_common, maintenance_info_psymtabs)
156         (maintenance_check_psymtabs): Update.
157         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
158         texthigh fields.
159         (scan_xcoff_symtab): Update.
160
161 2018-07-26  Tom Tromey  <tromey@redhat.com>
162
163         * psympriv.h (struct partial_symbol) <unrelocated_address,
164         address, set_address>: New methods.
165         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
166         (fixup_psymbol_section, relocate_psymtabs): Update.
167         (print_partial_symbols): Add 'objfile' parameter.  Update.
168         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
169         Update.
170
171 2018-07-26  Tom Tromey  <tom@tromey.com>
172
173         * dwarf-index-write.c (write_psymbols, debug_names::insert)
174         (debug_names::write_psymbols): Update.
175         * psympriv.h (struct partial_symbol): Derive from
176         general_symbol_info.
177         <obj_section>: New method.
178         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
179         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
180         (find_pc_sect_psymbol, fixup_psymbol_section)
181         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
182         (print_partial_symbols, recursively_search_psymtabs)
183         (compare_psymbols, psymbol_hash, psymbol_compare)
184         (add_psymbol_to_bcache, maintenance_check_psymtabs)
185         (psymbol_name_matches, psym_fill_psymbol_map): Update.
186
187 2018-07-26  Tom Tromey  <tromey@redhat.com>
188
189         * dbxread.c (end_psymtab): Remove dead code.
190
191 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
192
193         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
194         DWARF unwinders are disabled.
195         * dwarf2-frame.c: Add dwarf2read.h include.
196         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
197         disabled.
198         (dwarf2_frame_unwinders_enabled_p): Define.
199         (show_dwarf_unwinders_enabled_p): New function.
200         (_initialize_dwarf2_frame): Register switch to control DWARF
201         unwinder use.
202         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
203         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
204         (show_dwarf_cmdlist): Remove static keyword.
205         * dwarf2read.h (set_dwarf_cmdlist): Declare.
206         (show_dwarf_cmdlist): Declare.
207         * NEWS: Document new feature.
208
209 2018-07-26  Tom de Vries  <tdevries@suse.de>
210
211         PR breakpoints/23366
212         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
213
214 2018-07-26  Tom de Vries  <tdevries@suse.de>
215
216         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
217         DW_AT_count can't be translated to a dynamic prop.
218
219 2018-07-25  Tom de Vries  <tdevries@suse.de>
220
221         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
222         try/catch.
223
224 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
225
226         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
227
228 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
229
230         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
231
232 2018-07-24  Keith Seitz  <keiths@redhat.comt
233
234         PR symtab/23010
235         * dwarf2read.c (dw2_add_symbol_to_list): New function.
236         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
237         instead of add_symbol_to_list.
238         (read_file_scope): Call prepare_one_comp_unit before reading
239         any other DIEs.
240
241 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
242
243         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
244
245 2018-07-24  Tom Tromey  <tom@tromey.com>
246
247         * utils.c (malloc, realloc, free): Don't declare.
248         * configure, config.in: Rebuild.
249         * configure.ac: Don't check for declarations of free, malloc, or
250         realloc.
251
252 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
253
254         * aarch64-linux-nat.c
255         (aarch64_linux_nat_target::stopped_data_address): Remove unused
256         variable.
257         * arm-linux-nat.c (fetch_regs): Likewise.
258         (store_regs): Likewise.
259         (fetch_vfp_regs): Likewise.
260         (store_vfp_regs): Likewise.
261         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
262         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
263         (arm_linux_nat_target::insert_watchpoint): Likewise.
264         (arm_linux_nat_target::remove_watchpoint): Likewise.
265         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
266         Likewise.
267         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
268         Likewise.
269         * ppc-linux-nat.c (fetch_register): Likewise.
270         (fetch_all_gp_regs): Likewise.
271         (fetch_ppc_registers): Likewise.
272         (store_all_gp_regs): Likewise.
273         (store_ppc_registers): Likewise.
274         (hwdebug_insert_point): Likewise.
275         (can_use_watchpoint_cond_accel): Likewise.
276         * remote-sim.c (gdb_os_write_stdout): Likewise.
277
278 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
279             Tom Tromey  <tom@tromey.com>
280
281         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
282         test for it.
283         * configure: Rebuild.
284
285 2018-07-22  Tom Tromey  <tom@tromey.com>
286
287         * regformats/regdat.sh: Define xmltarget_${name} inside
288         #ifndef IN_PROCESS_AGENT.
289
290 2018-07-22  Tom Tromey  <tom@tromey.com>
291
292         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
293
294 2018-07-22  Tom Tromey  <tom@tromey.com>
295
296         * symfile.c (reread_symbols): Notify iter, not objfile.
297
298 2018-07-22  Tom Tromey  <tom@tromey.com>
299
300         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
301         Use arch_ops.
302         (ravenscar_thread_target::prepare_to_store): Likewise.
303
304 2018-07-22  Tom Tromey  <tom@tromey.com>
305
306         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
307         unused variable.  Call value_fetch_lazy when needed.
308         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
309         Remove unused variable.  Call value_fetch_lazy when needed.
310
311 2018-07-22  Tom Tromey  <tom@tromey.com>
312
313         * m32c-tdep.c (mark_dma): Return void.
314         (make_regs): Remove unused declarations.
315
316 2018-07-22  Tom Tromey  <tom@tromey.com>
317
318         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
319         cmdscm_get_valid_command_smob_arg_unsafe for effect.
320         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
321         bkscm_get_valid_block_smob_arg_unsafe for effect.
322
323 2018-07-22  Tom Tromey  <tom@tromey.com>
324
325         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
326         value_type.
327
328 2018-07-22  Tom Tromey  <tom@tromey.com>
329
330         * windows-nat.c (saved_context): Conditionally define.
331         * remote.c (remote_target::remote_btrace_maybe_reopen):
332         Conditionally declare "warned".
333         * inflow.c (sigquit_ours): Conditionally define.
334         (new_tty): Move "tty" declaration inside #if.
335         * guile/guile.c (guile_datadir): Conditionally define.
336         * charset.c (set_be_le_names): Move some declarations inside #if.
337         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
338         #if.
339         (parse_xml_btrace_conf): Likewise.
340
341 2018-07-22  Tom Tromey  <tom@tromey.com>
342
343         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
344
345 2018-07-22  Tom Tromey  <tom@tromey.com>
346
347         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
348         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
349         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
350         * buildsym-legacy.c (get_macro_table): Remove unused variable.
351         * stack.c (frame_apply_level_command): Remove unused variable.
352         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
353         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
354         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
355         unused variable.
356         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
357         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
358         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
359         variable.
360         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
361         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
362         variable.
363         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
364         Remove unused variable.
365         * cli/cli-script.c (recurse_read_control_structure): Remove unused
366         variable.
367         * common/tdesc.c (print_xml_feature::visit): Remove unused
368         variable.
369         * compile/compile-object-load.c (store_regs): Remove unused
370         variables.
371         * complaints.c (clear_complaints): Remove unused variable.
372         * corelow.c (core_target_open): Remove unused variable.
373         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
374         variable.
375         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
376         variable.
377         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
378         variable.
379         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
380         variable.
381         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
382         variable.
383         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
384         variable.
385         * ia64-tdep.c (examine_prologue): Remove unused variable.
386         * infcall.c (run_inferior_call): Remove unused variable.
387         * inferior.c (exit_inferior): Remove unused variable.
388         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
389         * linespec.c (decode_line_2): Remove unused variable.
390         * linux-nat.c (super_close): Remove.
391         * linux-tdep.c (linux_info_proc): Remove unused variable.
392         * mi/mi-main.c (mi_execute_command): Remove unused variable.
393         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
394         Remove unused variable.
395         * parse.c (find_minsym_type_and_address): Remove unused variable.
396         * printcmd.c (info_symbol_command, printf_floating): Remove unused
397         variable.
398         * python/py-breakpoint.c (bppy_set_commands): Remove unused
399         variable.
400         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
401         variables.
402         * record-btrace.c (record_btrace_target::store_registers): Remove
403         unused variable.
404         (cmd_show_record_btrace_cpu): Remove unused variable.
405         * riscv-tdep.c (riscv_register_reggroup_p)
406         (riscv_push_dummy_call, riscv_return_value): Remove unused
407         variable.
408         * rust-exp.y (literal): Remove unused variable.
409         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
410         unused variable.
411         <STRUCTOP_ANONYMOUS>: Likewise.
412         * s390-linux-tdep.c (s390_linux_init_abi_31)
413         (s390_linux_init_abi_64): Remove unused variable.
414         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
415         (file_select_thread, net_windows_open, _initialize_ser_windows):
416         Remove unused variables.
417         * symtab.c (find_pc_sect_line): Remove unused variable.
418         * target-memory.c (compute_garbled_blocks): Remove unused
419         variable.
420         (target_write_memory_blocks): Remove unused variable.
421         * target.c (target_stack::unpush): Remove unused variables.
422         * tracepoint.c (start_tracing, all_tracepoint_actions)
423         (merge_uploaded_trace_state_variables)
424         (print_one_static_tracepoint_marker): Remove unused variable.
425         * unittests/basic_string_view/element_access/char/1.cc (test01):
426         Remove unused variable.
427         * windows-nat.c (windows_continue, windows_add_all_dlls)
428         (do_initial_windows_stuff, windows_nat_target::create_inferior):
429         Remove unused variables.
430
431 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
432
433         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
434         attr_profile in HAVE_ELF.
435         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
436         HAVE_ELF.
437
438 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
439
440         * frame.c (frame_register_unwind): Change parameter name.
441         (frame_unwind_register): Likewise.
442         (frame_unwind_register_value): Likewise.
443         (frame_unwind_register_signed): Likewise.
444         (frame_unwind_register_unsigned): Likewise.
445         * frame.h (frame_register_unwind): Likewise.
446         (frame_unwind_register): Likewise.
447         (frame_unwind_register_value): Likewise.
448         (frame_unwind_register_signed): Likewise.
449         (frame_unwind_register_unsigned): Likewise.
450         (frame_unwind_arch): Likewise.
451
452 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
453
454         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
455         ISA maintenance.
456
457 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
458
459         * mips-linux-nat.c (mips_linux_nat_target::read_description):
460         Call `get_ptrace_pid' rather than extracting the ptrace PID by
461         hand.
462
463 2018-07-20  Keith Seitz  <keiths@redhat.com>
464
465         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
466         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
467         m_compunit_symtab, m_language>: Add "m_" prefix.
468         Update all uses.
469         * buildsym.c: Update all uses.
470
471 2018-07-20  Tom Tromey  <tom@tromey.com>
472
473         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
474         * buildsym.h (record_line_ftype): Remove typedef.
475
476 2018-07-20  Tom Tromey  <tom@tromey.com>
477
478         * buildsym-legacy.h (augment_type_symtab): Don't declare.
479         (end_expandable_symtab): Likewise.
480         (end_symtab_get_static_block): Likewise.
481         (end_symtab_from_static_block): Likewise.
482         * buildsym-legacy.c (augment_type_symtab): Remove.
483         (end_expandable_symtab): Remove.
484         (end_symtab_get_static_block): Remove.
485         (end_symtab_from_static_block): Remove.
486
487 2018-07-20  Tom Tromey  <tom@tromey.com>
488
489         * dwarf2read.c: Include buildsym.h.
490         (struct dwarf2_cu) <builder>: New method.
491         (fixup_go_packaging): Update.
492         (process_full_comp_unit, process_full_type_unit): Update.  Don't
493         use scoped_free_pendings.
494         (using_directives): Add "cu" parameter, remove "language".
495         (read_import_statement, setup_type_unit_groups, )
496         (read_func_scope, read_lexical_block_scope)
497         (dwarf2_record_block_ranges, read_namespace): Update.
498         (lnp_state_machine::lnp_state_machine): Add cu parameter.
499         (lnp_state_machine::handle_end_sequence): Update.
500         (class lnp_state_machine) <m_cu>: New member.
501         <m_record_line_callback>: Remove.
502         <m_currently_recording_lines>: New member.
503         (lnp_state_machine::handle_set_file): Update.
504         (noop_record_line): Remove.
505         (dwarf_record_line_p): Add cu parameter.
506         (dwarf_record_line_1, dwarf_finish_line): Likewise.
507         (lnp_state_machine::record_line)
508         (lnp_state_machine::lnp_state_machine)
509         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
510         (dwarf_decode_lines): Update.
511         (dwarf2_start_subfile): Add cu parameter.
512         (dwarf2_start_symtab, new_symbol): Update.
513         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
514         Remove dwarf2_per_objfile parameter.
515         (dwarf_decode_macros): Update.
516
517 2018-07-20  Tom Tromey  <tom@tromey.com>
518
519         * stabsread.c (define_symbol): Update.
520         * buildsym-legacy.h (get_buildsym_compunit): Declare.
521         * dwarf2read.c (new_symbol): Update.
522         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
523         * cp-namespace.c: Include buildsym.h.
524         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
525         * buildsym-legacy.c (get_buildsym_compunit): New function.
526
527 2018-07-20  Tom Tromey  <tom@tromey.com>
528
529         * xcoffread.c: Include buildsym-legacy.h.
530         * windows-nat.c: Include buildsym-legacy.h.
531         * stabsread.c: Include buildsym-legacy.h.
532         * mdebugread.c: Include buildsym-legacy.h.
533         * buildsym-legacy.h: New file.
534         * buildsym-legacy.c: New file, from buildsym.c.
535         * go32-nat.c: Include buildsym-legacy.h.
536         * dwarf2read.c: Include buildsym-legacy.h.
537         * dbxread.c: Include buildsym-legacy.h.
538         * cp-namespace.c: Include buildsym-legacy.h.
539         * coffread.c: Include buildsym-legacy.h.
540         * buildsym.h: Move some contents to buildsym-legacy.h.
541         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
542         buildsym-legacy.c.
543         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
544
545 2018-07-20  Tom Tromey  <tom@tromey.com>
546
547         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
548         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
549         (buildsym_compunit::buildsym_compunit)
550         (buildsym_compunit::~buildsym_compunit)
551         (buildsym_compunit::get_macro_table): Define.
552
553 2018-07-20  Tom Tromey  <tom@tromey.com>
554
555         * buildsym.c (reset_symtab_globals): Remove.
556         (buildsym_compunit::end_symtab_from_static_block): Update.
557         (buildsym_compunit::augment_type_symtab): Update.
558         (end_symtab_from_static_block): Call free_buildsym_compunit.
559         (augment_type_symtab, end_symtab, end_expandable_symtab):
560         Likewise.
561
562 2018-07-20  Tom Tromey  <tom@tromey.com>
563
564         * arch-utils.c: Do not include buildsym.h.
565         * mipsread.c: Do not include buildsym.h.
566         * machoread.c: Do not include buildsym.h.
567         * elfread.c: Do not include buildsym.h.
568
569 2018-07-20  Tom Tromey  <tom@tromey.com>
570
571         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
572         initialization.
573         (buildsym_compunit): Add new constructor.
574         (struct buildsym_compunit) <get_last_source_file, finish_block,
575         record_block_range, start_subfile, patch_subfile_names,
576         push_subfile, pop_subfile, record_line, get_compunit_symtab,
577         set_last_source_start_addr, get_last_source_start_addr,
578         get_local_using_directives, set_local_using_directives,
579         get_global_using_directives, outermost_context_p,
580         get_current_context_stack, get_context_stack_depth,
581         get_current_subfile, get_local_symbols, get_file_symbols,
582         get_global_symbols, record_debugformat, record_producer,
583         push_context, pop_context, end_symtab_get_static_block,
584         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
585         New public methods.
586         <record_pending_block, finish_block_internal, make_blockvector,
587         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
588         private methods.
589         Update all users.
590
591 2018-05-22  Tom Tromey  <tom@tromey.com>
592
593         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
594         parameter.
595         (finish_block_internal): Update.
596
597 2018-07-20  Tom Tromey  <tom@tromey.com>
598
599         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
600         parameter.
601         (finish_block_internal): Update.
602
603 2018-07-20  Tom Tromey  <tom@tromey.com>
604
605         * buildsym.h (EXTERN): Don't define or undef.
606         * buildsym.c (EXTERN): Don't define.
607
608 2018-07-20  Tom Tromey  <tom@tromey.com>
609
610         * buildsym.c: Remove TODO comment.
611
612 2018-07-20  Tom Tromey  <tom@tromey.com>
613
614         * coffread.c (coff_symtab_read): Update.
615         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
616         (xcoff_new_init): Update.
617         * mipsread.c (mipscoff_new_init): Update.
618         * mdebugread.c (mdebug_build_psymtabs): Update.
619         * elfread.c (elf_new_init): Update.
620         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
621         Update.
622         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
623         (coffstab_build_psymtabs, elfstab_build_psymtabs)
624         (stabsect_build_psymtabs): Update.
625         * buildsym.h (buildsym_init): Don't declare.
626         * buildsym.c: Update comment.
627         (prepare_for_building): Remove.
628         (start_symtab, restart_symtab): Update.
629         (reset_symtab_globals): Update comment.
630         (buildsym_init): Remove.
631
632 2018-07-20  Tom Tromey  <tom@tromey.com>
633
634         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
635         * stabsread.c (patch_block_stabs, define_symbol, read_type)
636         (read_enum_type, common_block_start, common_block_end)
637         (cleanup_undefined_types_1, finish_global_stabs): Update.
638         * mdebugread.c (psymtab_to_symtab_1): Update.
639         * dwarf2read.c (fixup_go_packaging, read_func_scope)
640         (read_lexical_block_scope, new_symbol): Update.
641         * dbxread.c (process_one_symbol): Update.
642         * coffread.c (coff_symtab_read, process_coff_symbol)
643         (coff_read_enum_type): Update.
644         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
645         declare.
646         (get_local_symbols, get_file_symbols, get_global_symbols): New
647         functions.
648         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
649         m_global_symbols.
650         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
651         (~scoped_free_pendings): Update.
652         (finish_block, prepare_for_building, reset_symtab_globals)
653         (end_symtab_get_static_block, end_symtab_with_blockvector)
654         (augment_type_symtab, push_context): Update.
655         (get_local_symbols, get_file_symbols, get_global_symbols): New
656         functions.
657         (buildsym_init): Update.
658
659 2018-07-20  Tom Tromey  <tom@tromey.com>
660
661         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
662         (process_full_type_unit): Likewise.
663         (dwarf2_start_symtab): Set list_in_scope.
664
665 2018-07-20  Tom Tromey  <tom@tromey.com>
666
667         * dwarf2read.c (process_psymtab_comp_unit_reader)
668         (build_type_psymtabs_reader): Do not set list_in_scope.
669
670 2018-07-20  Tom Tromey  <tom@tromey.com>
671
672         * buildsym.c (free_pendings): Remove.
673         (add_symbol_to_list, scoped_free_pendings)
674         (finish_block_internal, buildsym_init): Update.
675
676 2018-07-20  Tom Tromey  <tom@tromey.com>
677
678         * xcoffread.c (read_xcoff_symtab): Update.
679         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
680         Update.
681         * dbxread.c (process_one_symbol): Update.
682         * coffread.c (coff_symtab_read): Update.
683         * buildsym.h (finish_block): Update.
684         * buildsym.c (finish_block): Remove "listhead" argument.
685         (end_symtab_get_static_block): Update.
686
687 2018-07-20  Tom Tromey  <tom@tromey.com>
688
689         * buildsym.h (class scoped_free_pendings): Remove constructor.
690         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
691         method.
692         <m_pending_block_obstack, m_pending_blocks>: New members.
693         (pending_block_obstack, pending_blocks): Remove.
694         (scoped_free_pendings::scoped_free_pendings): Default.
695         (~scoped_free_pendings): Update.
696         (free_pending_blocks): Remove.
697         (finish_block_internal, record_pending_block, make_blockvector)
698         (end_symtab_get_static_block, augment_type_symtab, push_context)
699         (buildsym_init): Update.
700
701 2018-07-20  Tom Tromey  <tom@tromey.com>
702
703         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
704         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
705         members.
706         (pending_addrmap, pending_addrmap_obstack)
707         (pending_addrmap_interesting): Remove.
708         (scoped_free_pendings, record_block_range, make_blockvector)
709         (prepare_for_building, reset_symtab_globals, buildsym_init):
710         Update.
711
712 2018-07-20  Tom Tromey  <tom@tromey.com>
713
714         * xcoffread.c (process_linenos): Update.
715         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
716         * mdebugread.c (psymtab_to_symtab_1): Update.
717         * dwarf2read.c (setup_type_unit_groups)
718         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
719         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
720         * dbxread.c (process_one_symbol): Update.
721         * coffread.c (coff_symtab_read, enter_linenos)
722         (process_coff_symbol): Update.
723         * buildsym.h (current_subfile): Don't declare.
724         (get_current_subfile): Declare.
725         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
726         member.
727         (start_subfile, free_buildsym_compunit, push_subfile)
728         (prepare_for_building, start_symtab): Update.
729         (get_current_subfile): New function.
730
731 2018-07-20  Tom Tromey  <tom@tromey.com>
732
733         * coffread.c (coff_symtab_read): Update.
734         * xcoffread.c (read_xcoff_symtab): Update.
735         * dwarf2read.c (new_symbol): Update.
736         (read_func_scope, read_lexical_block_scope): Update.
737         * dbxread.c (process_one_symbol): Update.
738         * buildsym.h (context_stack, context_stack_depth): Don't declare.
739         (outermost_context_p): Remove macro.
740         (outermost_context_p, get_current_context_stack)
741         (get_context_stack_depth): Declare.
742         (pop_context): Return struct context_stack.
743         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
744         member.
745         (context_stack_size): Remove.
746         (INITIAL_CONTEXT_STACK_SIZE): Remove.
747         (prepare_for_building, end_symtab_get_static_block)
748         (augment_type_symtab, push_context): Update.
749         (pop_context): Return struct context_stack.
750         (outermost_context_p, get_current_context_stack)
751         (get_context_stack_depth): New functions.
752         (buildsym_init): Update.
753
754 2018-07-20  Tom Tromey  <tom@tromey.com>
755
756         * rust-exp.y: Now a pure parser.  Update all rules.
757         (%union): Move earlier.
758         (current_parser, work_obstack): Remove globals.
759         (rust_parser, ~rust_parser): Update.
760         (class rust_parser) <copy_name, concat3, crate_name, super_name,
761         lex_character, lex_number, lex_string, lex_identifier,
762         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
763         convert_name, convert_params_to_expression,
764         convert_ast_to_expression, ast_basic_type, ast_operation,
765         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
766         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
767         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
768         ast_array_type, ast_slice_type, ast_reference_type,
769         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
770         (rust_parse): Update.
771         (rustyyerror, rustyylex): Add parser parameter.
772         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
773         (rust_lex_stringish_test, rust_lex_test_sequence)
774         (rust_lex_test_trailing_dot, rust_lex_test_completion)
775         (rust_lex_test_push_back, rust_lex_tests): Update.
776
777 2018-07-19  Pedro Alves  <palves@redhat.com>
778
779         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
780         gdb::unique_xmalloc_ptr.
781         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
782         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
783         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
784         copy-initialization.
785         * guile/scm-pretty-print.c (ppscm_print_children): Use
786         gdb::unique_xmalloc_ptr instead of cleanups.
787         (gdbscm_apply_val_pretty_printer): Remove cleanups.
788         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
789         gdb::unique_xmalloc_ptr.
790         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
791         Adjust to use gdb::unique_xmalloc_ptr.
792         * guile/scm-utils.c (extract_arg): Adjust.
793         * guile/scm-value.c (gdbscm_value_field): Adjust to use
794         gdb::unique_xmalloc_ptr instead of a cleanup.
795
796 2018-07-19  Tom Tromey  <tom@tromey.com>
797
798         * utils.c (do_value_free_to_mark)
799         (make_cleanup_value_free_to_mark): Remove.
800         * utils.h (make_cleanup_value_free_to_mark): Remove.
801
802 2018-07-19  Pedro Alves  <palves@redhat.com>
803
804         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
805         forwarding reference.
806
807 2018-07-18  Pedro Alves  <palves@redhat.com>
808
809         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
810         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
811         cleanup.
812
813 2018-07-18  Pedro Alves  <palves@redhat.com>
814
815         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
816         exceptions.
817         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
818         (gdbscm_wrap): New.
819         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
820         directly instead of a cleanup.
821         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
822         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
823         (vlscm_binop_gdbthrow): New, factored out from ...
824         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
825         (vlscm_rich_compare): Use gdbscm_wrap.
826         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
827         instead of a cleanup.
828         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
829         cleanup.
830         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
831         Use xfree directly instead of a cleanup.
832         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
833         Adjust to use gdbscm_wrap and scoped_value_mark.
834         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
835         (gdbscm_value_address, gdbscm_value_dereference)
836         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
837         scoped_value_mark.
838         (gdbscm_value_dynamic_type): Use scoped_value_mark.
839         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
840         scoped_value_mark.
841         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
842         gdbscm_wrap and scoped_value_mark.
843         (gdbscm_value_to_string): Use xfree directly instead of a
844         cleanup.  Move 'buffer' unique_ptr to TRY scope.
845         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
846         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
847         scoped_value_mark.
848         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
849         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
850         scoped_value_mark.
851         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
852         gdbscm_wrap.
853
854 2018-07-18  Tom de Vries  <tdevries@suse.de>
855
856         * findvar.c (default_read_var_value): Also resolve dynamic type for
857         LOC_OPTIMIZED_OUT vars.
858
859 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
860
861         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
862         decoding.
863
864 2018-07-17  Tom Tromey  <tom@tromey.com>
865
866         * guile/scm-param.c (pascm_set_func, pascm_show_func)
867         (compute_enum_list, pascm_set_param_value_x)
868         (gdbscm_parameter_value): Update.
869         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
870         (gdbscm_scm_to_host_string): Update.
871         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
872         Update.
873         * guile/scm-cmd.c (cmdscm_add_completion): Update.
874         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
875         * guile/scm-string.c (gdbscm_scm_to_string): Return
876         unique_xmalloc_ptr.
877         (gdbscm_scm_to_host_string): Likewise.
878
879 2018-07-17  Tom Tromey  <tom@tromey.com>
880
881         * guile/guile.c (gdbscm_eval_from_control_command): Update.
882         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
883         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
884         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
885         unique_xmalloc_ptr.
886
887 2018-07-17  Tom Tromey  <tom@tromey.com>
888
889         * guile/scm-param.c (pascm_signal_setshow_error): Update.
890         * guile/guile-internal.h (gdbscm_exception_message_to_string):
891         Update.
892         * guile/scm-cmd.c (cmdscm_function): Update.
893         * guile/scm-pretty-print.c
894         (ppscm_print_exception_unless_memory_error): Update.
895         * guile/scm-exception.c (gdbscm_exception_message_to_string):
896         Return unique_xmalloc_ptr.
897
898 2018-07-17  Tom Tromey  <tom@tromey.com>
899
900         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
901         Use string_printf.
902
903 2018-07-17  Jim Wilson  <jimw@sifive.com>
904
905         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
906         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
907         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
908         unecessary braces after EF_RISCV_RVC test.  Delete call to
909         set_gdbarch_decr_pc_after_break.
910
911         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
912         RISCV_LAST_FP_REGNUM + 1.
913         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
914
915 2018-07-17  Tom Tromey  <tom@tromey.com>
916
917         * configure.ac: Remove --disable-gdbcli.
918         * configure: Rebuild.
919         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
920         (SUBDIR_CLI_CFLAGS): Remove.
921         (SFILES): Use SUBDIR_CLI_SRCS.
922         (COMMON_OBS): Use SUBDIR_CLI_OBS.
923
924 2018-07-17  Tom Tromey  <tom@tromey.com>
925
926         PR gdb/18624:
927         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
928
929 2018-07-16  Jim Wilson  <jimw@sifive.com>
930
931         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
932
933 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
934
935         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
936         variable.
937         (libunwind_frame_sniffer): Likewise.
938         (libunwind_frame_prev_register): Likewise.
939         (libunwind_sigtramp_frame_sniffer): Likewise.
940         * ia64-tdep.c (ia64_access_reg): Likewise.
941         (ia64_access_rse_reg): Likewise.
942         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
943         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
944
945 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
946
947         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
948
949 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
950
951         * remote-sim.c (gdbsim_target::close,
952         gdbsim_target::mourn_inferior): Remove unused variables.
953
954 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
955
956         * ia64-tdep.c (ktab_buf): New global.
957         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
958         (get_kernel_table): Adjust.
959
960 2018-07-16  Tom Tromey  <tom@tromey.com>
961
962         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
963         * dwarf2read.c (using_directives, new_symbol): Use
964         outermost_context_p.
965         * dbxread.c (process_one_symbol): Use outermost_context_p.
966         * coffread.c (coff_symtab_read): Use outermost_context_p.
967
968 2018-07-16  Tom Tromey  <tom@tromey.com>
969
970         * dwarf2read.c (using_directives, read_func_scope)
971         (read_lexical_block_scope): Update.
972         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
973         * buildsym.h (local_using_directives, global_using_directives):
974         Don't declare.
975         (get_local_using_directives, set_local_using_directives)
976         (get_global_using_directives): Declare.
977         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
978         m_global_using_directives>: New members.
979         (finish_block_internal, prepare_for_building)
980         (reset_symtab_globals, end_symtab_get_static_block)
981         (push_context): Update.
982         (get_local_using_directives, set_local_using_directives)
983         (get_global_using_directives): New functions.
984         (buildsym_init): Update.
985
986 2018-07-16  Tom Tromey  <tom@tromey.com>
987
988         * xcoffread.c (xcoff_initial_scan): Don't call
989         free_pending_blocks.
990         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
991         * buildsym.h (class scoped_free_pendings): Add constructor.
992         (free_pending_blocks): Don't declare.
993         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
994         (free_pending_blocks): Now static.
995
996 2018-07-16  Tom Tromey  <tom@tromey.com>
997
998         * buildsym.h (push_subfile, pop_subfile): Update declarations.
999         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
1000         member.
1001         (struct subfile_stack): Remove.
1002         (subfile_stack): Remove.
1003         (push_subfile, pop_subfile, buildsym_init): Update.
1004
1005 2018-07-16  Tom Tromey  <tom@tromey.com>
1006
1007         * buildsym.c (push_subfile): Use gdb_assert.
1008         (pop_subfile): Use gdb_assert.
1009
1010 2018-07-16  Tom Tromey  <tom@tromey.com>
1011
1012         * buildsym.h (merge_symbol_lists): Remove.
1013         * buildsym.c (merge_symbol_lists): Remove.
1014
1015 2018-07-16  Tom Tromey  <tom@tromey.com>
1016
1017         * stabsread.c (scan_file_globals): Update comment.
1018         * stabsread.h (scan_file_globals): Move from buildsym.h.
1019         * buildsym.h (scan_file_globals): Move to stabsread.h.
1020
1021 2018-07-16  Tom Tromey  <tom@tromey.com>
1022
1023         * xcoffread.c (xcoff_new_init): Update.
1024         * mipsread.c (mipscoff_new_init): Update.
1025         * mdebugread.c (mdebug_build_psymtabs): Update.
1026         * elfread.c (elf_new_init): Update.
1027         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1028         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1029         * buildsym.h (buildsym_new_init): Don't declare.
1030         * buildsym.c (buildsym_new_init): Remove.
1031
1032 2018-07-16  Tom Tromey  <tom@tromey.com>
1033
1034         * stabsread.h (within_function): Move from buildsym.h.
1035         * stabsread.c (start_stabs): Clear within_function.
1036         * coffread.c (coff_start_symtab): Clear within_function.
1037         * buildsym.h (within_function): Move to stabsread.h.
1038         * buildsym.c (prepare_for_building): Update.
1039
1040 2018-07-16  Tom Tromey  <tom@tromey.com>
1041
1042         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1043         * dwarf2read.c (dwarf2_start_symtab): Don't set
1044         processing_gcc_compilation.
1045         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1046
1047 2018-07-16  Tom Tromey  <tom@tromey.com>
1048
1049         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1050         (next_symbol_text_func): Move from buildsym.h.
1051         * stabsread.c (hashname): Move from buildsym.c.
1052         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1053         (next_symbol_text_func, hashname): Move to stabsread.h.
1054         * buildsym.c: Don't include bcache.h
1055         (hashname): Move to stasbread.c.
1056
1057 2018-07-16  Tom Tromey  <tom@tromey.com>
1058
1059         * buildsym.h (context_stack_size): Don't declare.
1060         * buildsym.c (context_stack_size): New global.
1061
1062 2018-07-16  Tom Tromey  <tom@tromey.com>
1063
1064         * dbxread.c (processing_acc_compilation): New global.
1065         * buildsym.h (processing_acc_compilation): Don't declare.
1066
1067 2018-07-16  Tom Tromey  <tom@tromey.com>
1068
1069         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1070         * dbxread.c (read_ofile_symtab): Update.
1071         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1072         * buildsym.h (last_source_start_addr): Remove.
1073         (set_last_source_start_addr, get_last_source_start_addr):
1074         Declare.
1075         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1076         parameter.
1077         (struct buildsym_compunit) <m_last_source_start_addr>: New
1078         member.
1079         (prepare_for_building): Remove start_addr parameter.
1080         (start_symtab, restart_symtab, end_symtab_get_static_block)
1081         (end_symtab_with_blockvector): Update.
1082         (set_last_source_start_addr, get_last_source_start_addr): New
1083         functions.
1084
1085 2018-07-16  Tom Tromey  <tom@tromey.com>
1086
1087         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1088         member.
1089         (have_line_numbers): Remove.
1090         (record_line, prepare_for_building, end_symtab_get_static_block)
1091         (augment_type_symtab): Update.
1092
1093 2018-07-16  Tom Tromey  <tom@tromey.com>
1094
1095         * buildsym.c (~buildsym_compunit): Free the macro table.
1096         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1097         methods.
1098         <m_pending_macros>: New member.
1099         (pending_macros): Remove.
1100         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1101         (reset_symtab_globals, end_symtab_get_static_block)
1102         (end_symtab_with_blockvector, augment_type_symtab)
1103         (buildsym_init): Update.
1104
1105 2018-07-16  Tom Tromey  <tom@tromey.com>
1106
1107         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1108         parameter.
1109         (buildsym_compunit::set_last_source_file): New method.
1110         <m_last_source_file>: New member.
1111         (prepare_for_building): Remove "name" parameter.
1112         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1113         (last_source_file): Remove.
1114         (set_last_source_file, get_last_source_file): Update.
1115
1116 2018-07-16  Tom Tromey  <tom@tromey.com>
1117
1118         * buildsym.c (prepare_for_building): Add assert.
1119
1120 2018-07-16  Tom Tromey  <tom@tromey.com>
1121
1122         * buildsym.c (~buildsym_compunit): Update.
1123         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1124         (start_subfile, patch_subfile_names)
1125         (end_symtab_with_blockvector): Update.
1126
1127 2018-07-16  Tom Tromey  <tom@tromey.com>
1128
1129         * buildsym.c (struct buildsym_compunit): Add constructor,
1130         destructor, initializers.
1131         (start_buildsym_compunit): Remove.
1132         (free_buildsym_compunit): Use "delete".
1133         (start_symtab, restart_symtab): Use "new".
1134
1135 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1136
1137         * symfile.c (set_objfile_default_section_offset): Remove struct
1138         keyword.
1139
1140 2018-07-14  Stafford Horne  <shorne@gmail.com>
1141
1142         * (Responsible Maintainers): Add myself as or1k maintainer.
1143
1144 2018-07-13  Tom Tromey  <tom@tromey.com>
1145
1146         * symfile.c (set_objfile_default_section_offset): Use extra braces
1147         around initializer.
1148
1149 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1150
1151         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1152         non-branching basr.
1153
1154 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1155
1156         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1157         unittests/cli-utils-selftests.c
1158         * unittests/cli-utils-selftests.c: New file.
1159
1160 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1161
1162         * NEWS: Mention new commands. Mention change to 'thread apply'.
1163
1164 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1165
1166         * thread.c (thr_try_catch_cmd): New function.
1167         (thread_apply_all_command): Handle qcs flags.
1168         (thread_apply_command): Handle qcs flags.
1169         (taas_command): New function.
1170         (tfaas_command): New function.
1171         (_initialize_thread): Update to setup the new commands 'taas
1172         and 'tfaas'. Change doc string for 'thread apply'.
1173
1174 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1175
1176         * stack.c: (trailing_outermost_frame): New function, mostly
1177         extracted from backtrace_command_1.
1178         (leading_innermost_frame): New function.
1179         (backtrace_command_1): Update to call trailing_outermost_frame.
1180         (frame_apply_command_count): New function.
1181         (frame_apply_level_command): New function.
1182         (frame_apply_all_command): New function.
1183         (frame_apply_command): New function.
1184         (faas_command): New function.
1185         (frame_cmd_list): New variable.
1186         (_initialize_stack): Update to setup the new commands 'frame apply'
1187         and 'faas'.
1188
1189 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1190
1191         * cli-utils.c (number_or_range_parser::get_number): Only handle
1192         numbers or convenience var as numbers.
1193         (parse_flags): New function.
1194         (parse_flags_qcs): New function.
1195         (number_or_range_parser::finished): Ensure parsing end is detected
1196         before end of string.
1197         * cli-utils.h (parse_flags): New function.
1198         (parse_flags_qcs): New function.
1199         (number_or_range_parser): Remove m_finished bool.
1200         (number_or_range_parser::skip_range): Set m_in_range to false.
1201
1202 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1203
1204         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1205         on Windows.
1206
1207 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1208             Jan Kratochvil  <jan.kratochvil@redhat.com>
1209             Paul Fertser  <fercerpav@gmail.com>
1210             Tsutomu Seki  <sekiriki@gmail.com>
1211             Pedro Alves  <palves@redhat.com>
1212
1213         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1214         'unittests/parse-connection-spec-selftests.c'.
1215         (COMMON_SFILES): Add 'common/netstuff.c'.
1216         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1217         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1218         * common/netstuff.c: New file.
1219         * common/netstuff.h: New file.
1220         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1221         (wait_for_connect): Update comment.  New parameter
1222         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1223         Use 'sock' directly instead of 'scb->fd'.
1224         (try_connect): New function, with code from 'net_open'.
1225         (net_open): Rewrite main loop to deal with multiple
1226         sockets/addresses.  Handle IPv6-style hostnames; implement
1227         support for IPv6 connections.
1228         * unittests/parse-connection-spec-selftests.c: New file.
1229
1230 2018-07-11  Pedro Alves  <palves@redhat.com>
1231
1232         PR gdb/23377
1233         * remote.c (remote_target::remote_detach_pid): Call
1234         set_current_process.
1235
1236 2018-07-11  Pedro Alves  <palves@redhat.com>
1237
1238         * h8300-tdep.c (h8300_gdbarch_init): Remove
1239         set_gdbarch_ecoff_reg_to_regnum calls.
1240
1241 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1242
1243         PR c++/23373
1244         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1245         offsets/sizes for static members of a class/struct.
1246
1247 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1248
1249         * target-descriptions.c (tdesc_register_bitsize): Rename.
1250         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1251         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1252         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1253
1254 2018-07-10  Tom Tromey  <tom@tromey.com>
1255
1256         * breakpoint.c (moribund_locations): Now static and a
1257         std::vector.
1258         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1259         (build_bpstat_chain, update_global_location_list)
1260         (breakpoint_retire_moribund): Update.
1261         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1262         VEC.
1263
1264 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1265
1266         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1267         (riscv_register_reggroup_p): Use new function, remove unneeded
1268         parenthesis.
1269         (riscv_push_dummy_call): Extend assert to compare against xlen or
1270         flen based on register type.
1271
1272 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1273
1274         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1275
1276 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1277
1278         * remote.c (show_hardware_watchpoint_limit): New function.
1279         (show_hardware_watchpoint_length_limit): New function.
1280         (show_hardware_breakpoint_limit): New function.
1281         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1282         where appropriate, update help text.
1283
1284 2018-07-09  Tom Tromey  <tom@tromey.com>
1285
1286         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1287         (CLIBS): Don't mention NAT_CLIBS.
1288
1289 2018-07-09  Tom Tromey  <tom@tromey.com>
1290
1291         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1292         (LIBGDB_OBS, clean mostlyclean): Update.
1293         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1294
1295 2018-07-09  Tom Tromey  <tom@tromey.com>
1296
1297         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1298         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1299         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1300
1301 2018-07-09  Tom Tromey  <tom@tromey.com>
1302
1303         * Makefile.in (ALLDEPFILES): Remove exec.c.
1304         (COMMON_OBS): Remove exec.o.
1305         (COMMON_SFILES): Add exec.c.
1306
1307 2018-07-09  Tom Tromey  <tom@tromey.com>
1308
1309         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1310
1311 2018-07-09  Tom Tromey  <tom@tromey.com>
1312
1313         * Makefile.in (clean mostlyclean): Remove stamp-version.
1314         (version.c): Depend on stamp-version.
1315         (stamp-version): New rule, from version.c rule.
1316
1317 2018-07-09  Tom Tromey  <tom@tromey.com>
1318
1319         * Makefile.in (init.c): Depend on stamp-init.
1320         (stamp-init): New rule, from init.c rule.
1321         (clean mostlyclean): Remove stamp-init.
1322
1323 2018-07-09  Tom Tromey  <tom@tromey.com>
1324
1325         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1326         SUBDIR_GCC_COMPILE_SRCS.
1327
1328 2018-07-09  Tom Tromey  <tom@tromey.com>
1329
1330         * Makefile.in (init.c): Remove some unused sed rules.
1331
1332 2018-07-09  Tom Tromey  <tom@tromey.com>
1333
1334         * Makefile.in (TSOBS): Remove.
1335         (INIT_FILES): Update.
1336         (LIBGDB_OBS): Update.
1337         (COMMON_SFILES): Add inflow.c.
1338         (SFILES): Remove inflow.c.
1339
1340 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1341
1342         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1343
1344 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1345
1346         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1347         get_saveloc_name, is_signal_frame_name, step_name,
1348         init_remote_name, create_addr_space_name,
1349         destroy_addr_space_name, search_unwind_table_name,
1350         find_dyn_list_name): Constify.
1351
1352 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1353
1354         * darwin-nat.c (darwin_pthread_kill): New function.
1355         (darwin_resume_thread): Use darwin_pthread_kill.
1356
1357 2018-07-05  Tom de Vries  <tdevries@suse.de>
1358
1359         * macroexp.c (macro_buffer) <operator=>: New member function.
1360
1361 2018-07-04  Tom Tromey  <tom@tromey.com>
1362
1363         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1364
1365 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1366
1367         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1368         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1369         * maint.c: Likewise.
1370         * top.c: Likewise.
1371
1372 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1373
1374         * NEWS: Create a new section for the next release branch.
1375         Rename the section of the current branch, now that it has
1376         been cut.
1377
1378 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1379
1380         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1381         * version.in: Bump version to 8.2.50.DATE-git.
1382
1383 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1384             Pedro Alves  <palves@redhat.com>
1385
1386         * linux-nat.c (linux_init_ptrace): Rename to ...
1387         (linux_init_ptrace_procfs): ... this.  Call
1388         linux_proc_init_warnings.
1389         (linux_nat_target::post_attach)
1390         (linux_nat_target::post_startup_inferior): Adjust.
1391         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1392         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1393
1394 2018-07-04  Tom de Vries  <tdevries@suse.de>
1395
1396         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
1397         check ...
1398         (read_comp_unit_head): ... here.
1399
1400 2018-07-03  Tom Tromey  <tom@tromey.com>
1401
1402         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
1403         (stop_tracing, tstatus_command)
1404         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
1405         (print_one_static_tracepoint_marker): Update.
1406         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
1407         std::vector.
1408         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
1409         VEC.
1410         (all_tracepoints, static_tracepoints_here): Return std::vector.
1411
1412 2018-07-03  Tom Tromey  <tom@tromey.com>
1413
1414         * common/ptid.c (ptid_equal): Remove.
1415         * common/ptid.h (ptid_equal): Don't declare.
1416         * ada-tasks.c: Update.
1417         * breakpoint.c: Update.
1418         * common/agent.c: Update.
1419         * corelow.c: Update.
1420         * darwin-nat-info.c: Update.
1421         * darwin-nat.c: Update.
1422         * dcache.c: Update.
1423         * dtrace-probe.c: Update.
1424         * dummy-frame.c: Update.
1425         * fbsd-nat.c: Update.
1426         * frame.c: Update.
1427         * gdbthread.h: Update.
1428         * gnu-nat.c: Update.
1429         * go32-nat.c: Update.
1430         * inf-loop.c: Update.
1431         * inf-ptrace.c: Update.
1432         * infcall.c: Update.
1433         * infcmd.c: Update.
1434         * inflow.c: Update.
1435         * infrun.c: Update.
1436         * linux-fork.c: Update.
1437         * linux-nat.c: Update.
1438         * linux-thread-db.c: Update.
1439         * mi/mi-cmd-var.c: Update.
1440         * mi/mi-interp.c: Update.
1441         * mi/mi-main.c: Update.
1442         * nto-procfs.c: Update.
1443         * ppc-linux-tdep.c: Update.
1444         * procfs.c: Update.
1445         * python/py-inferior.c: Update.
1446         * python/py-record-btrace.c: Update.
1447         * python/py-record.c: Update.
1448         * ravenscar-thread.c: Update.
1449         * regcache.c: Update.
1450         * remote-sim.c: Update.
1451         * remote.c: Update.
1452         * sol-thread.c: Update.
1453         * solib.c: Update.
1454         * target.c: Update.
1455         * tui/tui-stack.c: Update.
1456         * varobj.c: Update.
1457         * windows-nat.c: Update.
1458         * windows-tdep.c: Update.
1459
1460 2018-07-03  Tom Tromey  <tom@tromey.com>
1461
1462         * common/ptid.c (ptid_match): Remove.
1463         * common/ptid.h (ptid_match): Don't declare.
1464         * fbsd-nat.c: Update.
1465         * infcmd.c: Update.
1466         * infrun.c: Update.
1467         * linux-nat.c: Update.
1468         * record-btrace.c: Update.
1469         * regcache.c: Update.
1470         * remote.c: Update.
1471
1472 2018-07-03  Tom Tromey  <tom@tromey.com>
1473
1474         * common/ptid.c (ptid_tid_p): Remove.
1475         * common/ptid.h (ptid_tid_p): Don't declare.
1476         * sol-thread.c: Update.
1477
1478 2018-07-03  Tom Tromey  <tom@tromey.com>
1479
1480         * common/ptid.c (ptid_lwp_p): Remove.
1481         * common/ptid.h (ptid_lwp_p): Don't declare.
1482         * fbsd-nat.c: Update.
1483         * linux-nat.c: Update.
1484         * nat/linux-procfs.c: Update.
1485         * nat/x86-linux-dregs.c: Update.
1486         * sol-thread.c: Update.
1487
1488 2018-07-03  Tom Tromey  <tom@tromey.com>
1489
1490         * common/ptid.c (ptid_is_pid): Remove.
1491         * common/ptid.h (ptid_is_pid): Don't declare.
1492         * infrun.c: Update.
1493         * linux-nat.c: Update.
1494         * mi/mi-interp.c: Update.
1495         * remote.c: Update.
1496         * thread.c: Update.
1497
1498 2018-07-03  Tom Tromey  <tom@tromey.com>
1499
1500         * common/ptid.c (ptid_get_tid): Remove.
1501         * common/ptid.h (ptid_get_tid): Don't declare.
1502         * ada-tasks.c: Update.
1503         * aix-thread.c: Update.
1504         * bsd-uthread.c: Update.
1505         * darwin-nat.c: Update.
1506         * fbsd-nat.c: Update.
1507         * i386-darwin-nat.c: Update.
1508         * infrun.c: Update.
1509         * linux-tdep.c: Update.
1510         * nto-procfs.c: Update.
1511         * ppc-ravenscar-thread.c: Update.
1512         * python/py-infthread.c: Update.
1513         * ravenscar-thread.c: Update.
1514         * sol-thread.c: Update.
1515         * sparc-ravenscar-thread.c: Update.
1516         * windows-nat.c: Update.
1517
1518 2018-07-03  Tom Tromey  <tom@tromey.com>
1519
1520         * common/ptid.c (ptid_get_lwp): Remove.
1521         * common/ptid.h (ptid_get_lwp): Don't declare.
1522         * aarch64-linux-nat.c: Update.
1523         * ada-tasks.c: Update.
1524         * aix-thread.c: Update.
1525         * amd64-linux-nat.c: Update.
1526         * arm-linux-nat.c: Update.
1527         * corelow.c: Update.
1528         * fbsd-nat.c: Update.
1529         * fbsd-tdep.c: Update.
1530         * gnu-nat.c: Update.
1531         * i386-cygwin-tdep.c: Update.
1532         * i386-gnu-nat.c: Update.
1533         * i386-linux-nat.c: Update.
1534         * ia64-linux-nat.c: Update.
1535         * inf-ptrace.c: Update.
1536         * infrun.c: Update.
1537         * linux-fork.c: Update.
1538         * linux-nat.c: Update.
1539         * linux-tdep.c: Update.
1540         * linux-thread-db.c: Update.
1541         * mips-linux-nat.c: Update.
1542         * nat/aarch64-linux-hw-point.c: Update.
1543         * nat/aarch64-linux.c: Update.
1544         * nat/linux-btrace.c: Update.
1545         * nat/linux-osdata.c: Update.
1546         * nat/linux-procfs.c: Update.
1547         * nat/x86-linux-dregs.c: Update.
1548         * obsd-nat.c: Update.
1549         * ppc-fbsd-nat.c: Update.
1550         * ppc-linux-nat.c: Update.
1551         * procfs.c: Update.
1552         * python/py-infthread.c: Update.
1553         * ravenscar-thread.c: Update.
1554         * remote.c: Update.
1555         * s390-linux-nat.c: Update.
1556         * sol-thread.c: Update.
1557         * sol2-tdep.c: Update.
1558         * spu-linux-nat.c: Update.
1559         * x86-linux-nat.c: Update.
1560         * xtensa-linux-nat.c: Update.
1561
1562 2018-07-03  Tom Tromey  <tom@tromey.com>
1563
1564         * common/ptid.c (ptid_get_pid): Remove.
1565         * common/ptid.h (ptid_get_pid): Don't declare.
1566         * aarch64-linux-nat.c: Update.
1567         * ada-lang.c: Update.
1568         * aix-thread.c: Update.
1569         * alpha-bsd-nat.c: Update.
1570         * amd64-fbsd-nat.c: Update.
1571         * amd64-linux-nat.c: Update.
1572         * arm-linux-nat.c: Update.
1573         * arm-nbsd-nat.c: Update.
1574         * auxv.c: Update.
1575         * break-catch-syscall.c: Update.
1576         * breakpoint.c: Update.
1577         * bsd-uthread.c: Update.
1578         * corelow.c: Update.
1579         * ctf.c: Update.
1580         * darwin-nat.c: Update.
1581         * fbsd-nat.c: Update.
1582         * fbsd-tdep.c: Update.
1583         * gcore.c: Update.
1584         * gnu-nat.c: Update.
1585         * hppa-nbsd-nat.c: Update.
1586         * hppa-obsd-nat.c: Update.
1587         * i386-fbsd-nat.c: Update.
1588         * ia64-linux-nat.c: Update.
1589         * inf-ptrace.c: Update.
1590         * infcmd.c: Update.
1591         * inferior.c: Update.
1592         * inferior.h: Update.
1593         * inflow.c: Update.
1594         * infrun.c: Update.
1595         * linux-fork.c: Update.
1596         * linux-nat.c: Update.
1597         * linux-tdep.c: Update.
1598         * linux-thread-db.c: Update.
1599         * m68k-bsd-nat.c: Update.
1600         * mi/mi-interp.c: Update.
1601         * mi/mi-main.c: Update.
1602         * mips-linux-nat.c: Update.
1603         * mips-nbsd-nat.c: Update.
1604         * mips64-obsd-nat.c: Update.
1605         * nat/aarch64-linux-hw-point.c: Update.
1606         * nat/aarch64-linux.c: Update.
1607         * nat/linux-btrace.c: Update.
1608         * nat/linux-osdata.c: Update.
1609         * nat/linux-procfs.c: Update.
1610         * nat/x86-linux-dregs.c: Update.
1611         * nto-procfs.c: Update.
1612         * obsd-nat.c: Update.
1613         * ppc-linux-nat.c: Update.
1614         * ppc-nbsd-nat.c: Update.
1615         * ppc-obsd-nat.c: Update.
1616         * proc-service.c: Update.
1617         * procfs.c: Update.
1618         * python/py-inferior.c: Update.
1619         * python/py-infthread.c: Update.
1620         * ravenscar-thread.c: Update.
1621         * record.c: Update.
1622         * remote-sim.c: Update.
1623         * remote.c: Update.
1624         * rs6000-nat.c: Update.
1625         * s390-linux-nat.c: Update.
1626         * sh-nbsd-nat.c: Update.
1627         * sol-thread.c: Update.
1628         * sparc-nat.c: Update.
1629         * sparc64-tdep.c: Update.
1630         * spu-linux-nat.c: Update.
1631         * spu-tdep.c: Update.
1632         * target-debug.h: Update.
1633         * target.c: Update.
1634         * thread.c: Update.
1635         * tid-parse.c: Update.
1636         * tracefile-tfile.c: Update.
1637         * vax-bsd-nat.c: Update.
1638         * windows-nat.c: Update.
1639         * x86-linux-nat.c: Update.
1640         * x86-nat.c: Update.
1641
1642 2018-07-03  Tom Tromey  <tom@tromey.com>
1643
1644         * common/ptid.c (pid_to_ptid): Remove.
1645         * common/ptid.h (pid_to_ptid): Don't declare.
1646         * aix-thread.c: Update.
1647         * arm-linux-nat.c: Update.
1648         * common/ptid.c: Update.
1649         * common/ptid.h: Update.
1650         * corelow.c: Update.
1651         * ctf.c: Update.
1652         * darwin-nat.c: Update.
1653         * fbsd-nat.c: Update.
1654         * fork-child.c: Update.
1655         * gnu-nat.c: Update.
1656         * go32-nat.c: Update.
1657         * inf-ptrace.c: Update.
1658         * infcmd.c: Update.
1659         * inferior.c: Update.
1660         * infrun.c: Update.
1661         * linux-fork.c: Update.
1662         * linux-nat.c: Update.
1663         * nat/aarch64-linux-hw-point.c: Update.
1664         * nat/fork-inferior.c: Update.
1665         * nat/x86-linux-dregs.c: Update.
1666         * nto-procfs.c: Update.
1667         * obsd-nat.c: Update.
1668         * procfs.c: Update.
1669         * progspace.c: Update.
1670         * remote.c: Update.
1671         * rs6000-nat.c: Update.
1672         * s390-linux-nat.c: Update.
1673         * sol-thread.c: Update.
1674         * spu-linux-nat.c: Update.
1675         * target.c: Update.
1676         * top.c: Update.
1677         * tracefile-tfile.c: Update.
1678         * windows-nat.c: Update.
1679
1680 2018-07-03  Tom Tromey  <tom@tromey.com>
1681
1682         * common/ptid.h (ptid_build): Don't declare.
1683         * common/ptid.c (ptid_build): Remove.
1684         * aix-thread.c: Update.
1685         * bsd-kvm.c: Update.
1686         * bsd-uthread.c: Update.
1687         * common/agent.c: Update.
1688         * common/ptid.c: Update.
1689         * common/ptid.h: Update.
1690         * corelow.c: Update.
1691         * darwin-nat.c: Update.
1692         * fbsd-nat.c: Update.
1693         * gnu-nat.c: Update.
1694         * linux-fork.c: Update.
1695         * linux-nat.c: Update.
1696         * linux-thread-db.c: Update.
1697         * nat/linux-osdata.c: Update.
1698         * nat/linux-procfs.c: Update.
1699         * nto-procfs.c: Update.
1700         * obsd-nat.c: Update.
1701         * proc-service.c: Update.
1702         * procfs.c: Update.
1703         * ravenscar-thread.c: Update.
1704         * remote-sim.c: Update.
1705         * remote.c: Update.
1706         * sol-thread.c: Update.
1707         * target.c: Update.
1708         * windows-nat.c: Update.
1709
1710 2018-07-03  Tom Tromey  <tom@tromey.com>
1711
1712         * infrun.c (follow_exec): Use exit_inferior_silent.
1713         * inferior.c (exit_inferior_num_silent): Remove.
1714         * inferior.h (exit_inferior_num_silent): Don't declare.
1715
1716 2018-07-03  Tom Tromey  <tom@tromey.com>
1717
1718         PR cli/23340:
1719         * darwin-nat.c (darwin_attach_pid): Reset inferior and
1720         inferior_ptid on error.
1721
1722 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
1723             Simon Marchi  <simon.marchi@polymtl.ca>
1724
1725         PR tdep/8282
1726         * disasm.h (gdb_disassembler): Add
1727         `m_disassembler_options_holder'. member
1728         * disasm.c (get_all_disassembler_options): New function.
1729         (gdb_disassembler::gdb_disassembler): Use it.
1730         (gdb_buffered_insn_length_init_dis): Likewise.
1731         (gdb_buffered_insn_length): Adjust accordingly.
1732         (set_disassembler_options): Handle options with arguments.
1733         (show_disassembler_options_sfunc): Likewise.  Add a leading new
1734         line if showing options with descriptions.
1735         (disassembler_options_completer): Adapt to using the
1736         `disasm_options_and_args_t' structure.
1737         * mips-tdep.c (mips_disassembler_options): New variable.
1738         (mips_disassembler_options_o32): Likewise.
1739         (mips_disassembler_options_n32): Likewise.
1740         (mips_disassembler_options_n64): Likewise.
1741         (gdb_print_insn_mips): Don't set `disassembler_options'.
1742         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
1743         functions.
1744         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
1745         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
1746         `gdbarch_disassembler_options_implicit' and
1747         `gdbarch_valid_disassembler_options'.
1748         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
1749         `disasm_options_and_args_t' structure.
1750         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
1751         method.
1752         (valid_disassembler_options): Switch from `disasm_options_t' to
1753         the `disasm_options_and_args_t' structure.
1754         * NEWS: Document `set disassembler-options' support for the MIPS
1755         target.
1756         * gdbarch.h: Regenerate.
1757         * gdbarch.c: Regenerate.
1758
1759 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1760
1761         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
1762
1763 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
1764
1765         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
1766         parameter in call to amd64_target_description.
1767         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
1768         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
1769         (amd64fbsd_init_abi): Likewise.
1770         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
1771         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
1772         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
1773         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
1774
1775 2018-06-29  Pedro Alves  <palves@redhat.com>
1776
1777         * gdb/amd64-tdep.h (amd64_create_target_description): Add
1778         "segments" parameter.
1779         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
1780         (_initialize_amd64_tdep): Update call to
1781         amd64_create_target_description.
1782         (amd64_target_description): Add "segments" parameter.  Adjust
1783         the implementation to use it.
1784         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
1785         call to amd64_create_target_description.
1786         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
1787         * gdb/arch/amd64.h (amd64_create_target_description): Add
1788         "segments" register.
1789         * gdb/arch/amd64.c (amd64_create_target_description): Add
1790         "segments" parameter.  Call create_feature_i386_64bit_segments
1791         only if SEGMENTS is true.
1792         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
1793         call to amd64_create_target_description.
1794
1795 2018-06-29  Pedro Alves  <palves@redhat.com>
1796
1797         * thread.c (thread_target_id_str): New, factored out from ...
1798         (print_thread_info_1): ... here.  Use it to compute the max
1799         "Target Id" column width.
1800
1801 2018-06-29  Pedro Alves  <palves@redhat.com>
1802
1803         * remote.c (remote_target::extra_thread_info): Delete
1804         'display_buf' and 'n' locals.  from the cache, regardless of
1805         packet mechanims is in use.  Use cache for qThreadExtra and qP
1806         methods too.
1807
1808 2018-06-29  Pedro Alves  <palves@redhat.com>
1809
1810         * blockframe.c (find_pc_sect_containing_function): New function.
1811         * breakpoint.c (print_breakpoint_location): Don't call
1812         find_pc_sect_function.
1813         * linespec.c (create_sals_line_offset): Record the location's
1814         symbol in the sal.
1815         * linespec.c (convert_address_location_to_sals): Fill in sal's
1816         symbol with find_pc_sect_containing_function.
1817         * symtab.c (find_function_start_sal): Rename to ...
1818         (find_function_start_sal_1): ... this.
1819         (find_function_start_sal): Reimplement as wrapper around
1820         find_function_start_sal_1, and use
1821         find_pc_sect_containing_function to fill in the sal's symbol.
1822         (find_function_start_sal(symbol*, bool)): Adjust.
1823         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
1824         comments.
1825         (find_pc_sect_containing_function): Declare.
1826
1827 2018-06-29  Pedro Alves  <palves@redhat.com>
1828
1829         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
1830         true if the the location has no symbol.
1831
1832 2018-06-28  Tom Tromey  <tom@tromey.com>
1833
1834         * NEWS: Mention --enable-codesign.
1835         * silent-rules.mk (ECHO_SIGN): New variable.
1836         * configure.ac: Add --enable-codesign.
1837         * configure: Rebuild.
1838         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
1839         (gdb$(EXEEXT)): Optionally invoke codesign.
1840
1841 2018-06-28  Pedro Alves  <palves@redhat.com>
1842
1843         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
1844         comments.
1845         (switch_to_thread_no_regs): Adjust comment.
1846         * infcmd.c (stop_pc): Delete.
1847         (post_create_inferior, info_program_command): Replace references
1848         to stop_pc with references to thread_info->suspend.stop_pc.
1849         * inferior.h (stop_pc): Delete declaration.
1850         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
1851         (handle_inferior_event_1, handle_signal_stop)
1852         (process_event_stop_test, keep_going_stepped_thread)
1853         (handle_step_into_function, handle_step_into_function_backward)
1854         (print_stop_location): Replace references to stop_pc with
1855         references to thread_info->suspend.stop_pc.
1856         (struct infcall_suspend_state) <stop_pc>: Delete field.
1857         (save_infcall_suspend_state, restore_infcall_suspend_state):
1858         Remove references to inf_stat->stop_pc.
1859         * linux-fork.c (fork_load_infrun_state): Likewise.
1860         * record-btrace.c (record_btrace_set_replay): Likewise.
1861         * record-full.c (record_full_goto_entry): Likewise.
1862         * remote.c (print_one_stopped_thread): Likewise.
1863         * target.c (target_resume): Extend comment.
1864         * thread.c (set_executing_thread): New.
1865         (set_executing): Use it.
1866         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
1867         Remove references to stop_pc.
1868
1869 2018-06-28  Pedro Alves  <palves@redhat.com>
1870
1871         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
1872         Moving fetching stop_pc until after ecs->event_thread is refreshed.
1873
1874 2018-06-28  Tom Tromey  <tom@tromey.com>
1875
1876         * coffread.c (coff_symfile_finish): Update.
1877         * xcoffread.c (xcoff_symfile_finish): Update.
1878         * elfread.c (elf_symfile_finish): Update.
1879         * symfile.h (dwarf2_free_objfile): Don't declare.
1880         * dwarf2read.c (_initialize_dwarf2_read): Use
1881         register_objfile_data_with_cleanup.
1882         (dwarf2_free_objfile): Now static.  Change signature.
1883
1884 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1885
1886         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
1887         option "-o" to add-symbol-file-load to add an offset to each
1888         section's load address.
1889         * symfile.c (set_objfile_default_section_offset): New function.
1890
1891 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1892
1893         * symfile.c (add_symbol_file_command): Make sure that sections
1894         with the same name are sorted in the same order.
1895
1896 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1897
1898         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
1899         require the second argument.  If omitted, load sections at the
1900         addresses specified in the file.
1901
1902 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1903
1904         * symfile.c (symbol_file_command, symbol_file_add_main_1)
1905         (_initialize_symfile): Add option "-o" to symbol-file to add an
1906         offset to each section of the symbol file.
1907
1908 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1909
1910         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
1911
1912 2018-06-27  Tom Tromey  <tom@tromey.com>
1913
1914         * stack.c (_initialize_stack): Update "func" help text.
1915
1916 2018-06-27  Tom Tromey  <tom@tromey.com>
1917
1918         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
1919         std::vector.
1920         (unwind_infopy_str, pyuw_create_unwind_info)
1921         (unwind_infopy_add_saved_register, pyuw_sniffer)
1922         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
1923         Update.
1924         (struct saved_reg): Add constructor.
1925         <value>: Now a gdbpy_ref<>.
1926
1927 2018-06-27  Tom Tromey  <tom@tromey.com>
1928
1929         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
1930
1931 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1932
1933         * gdb-gdb.py.in: Format using autopep8.
1934
1935 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1936
1937         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
1938         (type_lookup_function): Recognize CORE_ADDR values.
1939
1940 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1941
1942         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
1943         print tag_name.
1944
1945 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1946
1947         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
1948         <__lt__>: Add.
1949
1950 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1951
1952         * gdb-gdb.py: Move to...
1953         * gdb-gdb.py.in: ... here.
1954         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
1955         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
1956         dependencies.
1957         (distclean): Remove gdb-gdb.py when cleaning.
1958         (gdb-gdb.py, gdb-gdb.gdb): New rules.
1959         * configure: Re-generate.
1960
1961 2018-06-27  Pedro Alves  <palves@redhat.com>
1962
1963         * proc-service.c (get_ps_regcache): New.
1964         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
1965         (ps_lsetfpregs): Use it.
1966
1967 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
1968
1969         PR gdb/21695
1970         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
1971         (dwarf_decode_lines_1): Adjust.
1972
1973 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1974
1975         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
1976         override.
1977         <info_proc>: Likewise.
1978
1979 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
1980
1981         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
1982         to windows_fetch_one_register, and only handle the case of
1983         fetching one register.  Move the code that reloads the context
1984         and iterates over all registers if R is negative to...
1985         (windows_nat_target::fetch_registers): ... here.
1986         (do_windows_store_inferior_registers): Rename to
1987         windows_store_one_register, and only handle the case of storing
1988         one register.  Move the code that handles the case where r is
1989         negative to...
1990         (windows_nat_target::store_registers) ... here.
1991
1992 2018-06-26  Tom Tromey  <tom@tromey.com>
1993
1994         PR rust/22574:
1995         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
1996         * rust-lang.c (rust_print_struct_def): Add podata parameter.
1997         Update.
1998         (rust_internal_print_type): Add podata parameter.
1999         (rust_print_type): Update.
2000
2001 2018-06-26  Tom Tromey  <tom@tromey.com>
2002
2003         * typeprint.h (struct print_offset_data) <update, finish,
2004         maybe_print_hole>: New methods.
2005         <indentation>: New constant.
2006         * typeprint.c (print_offset_data::indentation): Define.
2007         (print_offset_data::maybe_print_hole, print_offset_data::update)
2008         (print_offset_data::finish): Move from c-typeprint.c and rename.
2009         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
2010         (print_spaces_filtered_with_print_options): Update.
2011         (c_print_type_union_field_offset, maybe_print_hole)
2012         (c_print_type_struct_field_offset): Move to typeprint.c and
2013         rename.
2014         (c_type_print_base_struct_union): Update.
2015
2016 2018-06-25  Pedro Alves  <palves@redhat.com>
2017
2018         * gdbthread.h (thread_info_ref, delete_thread)
2019         (delete_thread_silent, first_thread_of_inferior)
2020         (any_thread_of_inferior, switch_to_thread)
2021         (enable_thread_stack_temporaries)
2022         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2023         (get_last_thread_stack_temporary)
2024         (value_in_thread_stack_temporaries, can_access_registers_thread):
2025         Spell out "struct thread_info" instead of just "thread_info".
2026         * inferior.h (notice_new_inferior): Likewise.
2027
2028 2018-06-25  Pedro Alves  <palves@redhat.com>
2029
2030         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2031         pass thread_info pointer to delete_thread.
2032         (windows_nat_target::detach): Pass inferior pointer to
2033         detach_inferior.
2034         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2035         delete_thread.
2036         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2037         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2038         and pass a thread_info pointer to delete_thread.
2039         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2040         pass thread_info pointer to delete_thread.
2041         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2042         delete_thread_silent call.
2043         * procfs.c (procfs_target::detach): Pass inferior pointer to
2044         detach_inferior.
2045         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2046         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2047         delete_thread_silent call.
2048         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2049         pass thread_info pointer to delete_thread.
2050         (windows_nat_target::detach): Pass inferior pointer to
2051         delete_inferior.
2052
2053 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2054
2055         * regcache.c (readable_regcache::read_part): Fix asserts.
2056         (reg_buffer::raw_collect_part): New function.
2057         (regcache::write_part): Fix asserts.
2058         (reg_buffer::raw_supply_part): New function.
2059         (regcache::transfer_regset_register): New helper function.
2060         (regcache::transfer_regset): Call new functions.
2061         (regcache_supply_regset): Use gdb_byte*.
2062         (regcache::supply_regset): Likewise.
2063         (regcache_collect_regset): Likewise.
2064         (regcache::collect_regset): Likewise.
2065         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2066         (reg_buffer::raw_supply_part): Likewise.
2067         (regcache::transfer_regset_register): Likewise.
2068         (regcache::transfer_regset): Use gdb_byte*.
2069
2070 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2071
2072         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2073
2074 2018-06-21  Pedro Alves  <palves@redhat.com>
2075
2076         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2077         instead of a ptid_t.  All callers adjusted.
2078         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2079         adjusted.
2080         (print_ada_task_info, display_current_task_id, task_command_1):
2081         Adjust.
2082         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2083         inferior_thread.
2084         (breakpoint_kind): Adjust.
2085         (remove_breakpoints_pid): Rename to ...
2086         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2087         pointer.  All callers adjusted.
2088         (bpstat_clear_actions): Use inferior_thread.
2089         (get_bpstat_thread): New.
2090         (bpstat_do_actions): Use it.
2091         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2092         to take a thread_info pointer.  All callers adjusted.
2093         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2094         (breakpoint_re_set_thread): Use inferior_thread.
2095         * breakpoint.h (struct inferior): Forward declare.
2096         (bpstat_stop_status): Update.
2097         (remove_breakpoints_pid): Delete.
2098         (remove_breakpoints_inf): New.
2099         * bsd-uthread.c (bsd_uthread_target::wait)
2100         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2101         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2102         (maint_btrace_packet_history_cmd)
2103         (maint_btrace_clear_packet_history_cmd): Adjust.
2104         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2105         inferior_thread.
2106         * cli/cli-interp.c: Include "inferior.h".
2107         * common/refcounted-object.h (struct
2108         refcounted_object_ref_policy): New.
2109         * compile/compile-object-load.c: Include gdbthread.h.
2110         (store_regs): Use inferior_thread.
2111         * corelow.c (core_target::close): Use current_inferior.
2112         (core_target_open): Adjust to use first_thread_of_inferior and use
2113         the current inferior.
2114         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2115         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2116         <thread>: ... this new field.  All references adjusted.
2117         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2118         Take a thread_info pointer instead of a ptid_t.
2119         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2120         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2121         thread_info pointer instead of a ptid_t.
2122         * elfread.c: Include "inferior.h".
2123         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2124         Use inferior_thread.
2125         * eval.c (evaluate_subexp): Likewise.
2126         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2127         inferior_thread.
2128         * gdb_proc_service.h (struct thread_info): Forward declare.
2129         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2130         <thread>: ... this new field.  All references adjusted.
2131         * gdbarch.h, gdbarch.c: Regenerate.
2132         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2133         'thread' parameter.  All implementations and callers adjusted.
2134         * gdbthread.h (thread_info) <set_running>: New method.
2135         (delete_thread, delete_thread_silent): Take a thread_info pointer
2136         instead of a ptid.
2137         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2138         (first_thread_of_process): Delete, replaced by ...
2139         (first_thread_of_inferior): ... this new function.  All callers
2140         adjusted.
2141         (any_live_thread_of_process): Delete, replaced by ...
2142         (any_live_thread_of_inferior): ... this new function.  All callers
2143         adjusted.
2144         (switch_to_thread, switch_to_no_thread): Declare.
2145         (is_executing): Delete.
2146         (enable_thread_stack_temporaries): Update comment.
2147         <enable_thread_stack_temporaries>: Take a thread_info pointer
2148         instead of a ptid_t.  Incref the thread.
2149         <~enable_thread_stack_temporaries>: Decref the thread.
2150         <m_ptid>: Delete
2151         <m_thr>: New.
2152         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2153         (get_last_thread_stack_temporary)
2154         (value_in_thread_stack_temporaries, can_access_registers_thread):
2155         Take a thread_info pointer instead of a ptid_t.  All callers
2156         adjusted.
2157         * infcall.c (get_call_return_value): Use inferior_thread.
2158         (run_inferior_call): Work with thread pointers instead of ptid_t.
2159         (call_function_by_hand_dummy): Work with thread pointers instead
2160         of ptid_t.  Use thread_info_ref.
2161         * infcmd.c (proceed_thread_callback): Access thread's state
2162         directly.
2163         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2164         access thread's state directly.
2165         (continue_command): Use inferior_thread.
2166         (info_program_command): Use find_thread_ptid and access thread
2167         state directly.
2168         (proceed_after_attach_callback): Use thread state directly.
2169         (notice_new_inferior): Take a thread_info pointer instead of a
2170         ptid_t.  All callers adjusted.
2171         (exit_inferior): Take an inferior pointer instead of a pid.  All
2172         callers adjusted.
2173         (exit_inferior_silent): New.
2174         (detach_inferior): Delete.
2175         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2176         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2177         (detach_inferior_command, kill_inferior_command): Use
2178         find_inferior_id instead of valid_gdb_inferior_id and
2179         gdb_inferior_id_to_pid.
2180         (inferior_command): Use inferior and thread pointers.
2181         * inferior.h (struct thread_info): Forward declare.
2182         (notice_new_inferior): Take a thread_info pointer instead of a
2183         ptid_t.  All callers adjusted.
2184         (detach_inferior): Delete declaration.
2185         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2186         instead of a pid.  All callers adjusted.
2187         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2188         (valid_gdb_inferior_id): Delete.
2189         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2190         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2191         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2192         ...
2193         <inf>: ... this new field.
2194         <step_ptid>: Delete, replaced by ...
2195         <step_thread>: ... this new field.
2196         (get_displaced_stepping_state): Take an inferior pointer instead
2197         of a pid.  All callers adjusted.
2198         (displaced_step_in_progress_any_inferior): Adjust.
2199         (displaced_step_in_progress_thread): Take a thread pointer instead
2200         of a ptid_t.  All callers adjusted.
2201         (displaced_step_in_progress, add_displaced_stepping_state): Take
2202         an inferior pointer instead of a pid.  All callers adjusted.
2203         (get_displaced_step_closure_by_addr): Adjust.
2204         (remove_displaced_stepping_state): Take an inferior pointer
2205         instead of a pid.  All callers adjusted.
2206         (displaced_step_prepare_throw, displaced_step_prepare)
2207         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2208         All callers adjusted.
2209         (start_step_over): Adjust.
2210         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2211         displaced step queue.
2212         (do_target_resume): Adjust.
2213         (fetch_inferior_event): Use inferior_thread.
2214         (context_switch, get_inferior_stop_soon): Take an
2215         execution_control_state pointer instead of a ptid_t.  All callers
2216         adjusted.
2217         (switch_to_thread_cleanup): Delete.
2218         (stop_all_threads): Use scoped_restore_current_thread.
2219         * inline-frame.c: Include "gdbthread.h".
2220         (inline_state) <inline_state>: Take a thread pointer instead of a
2221         ptid_t.  All callers adjusted.
2222         <ptid>: Delete, replaced by ...
2223         <thread>: ... this new field.
2224         (find_inline_frame_state): Take a thread pointer instead of a
2225         ptid_t.  All callers adjusted.
2226         (skip_inline_frames, step_into_inline_frame)
2227         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2228         pointer instead of a ptid_t.  All callers adjusted.
2229         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2230         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2231         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2232         pointers directly.
2233         * linux-nat.c (get_detach_signal): Likewise.
2234         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2235         (thread_db_notice_clone): Adjust.
2236         (thread_db_find_new_threads_silently)
2237         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2238         a thread pointer instead of a ptid_t.  All callers adjusted.
2239         * mi/mi-cmd-var.c: Include "inferior.h".
2240         (mi_cmd_var_update_iter): Update to use thread pointers.
2241         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2242         inferior directly.
2243         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2244         out to ...
2245         (mi_output_running): ... this new function.
2246         (mi_on_resume_1): Adjust to use it.
2247         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2248         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2249         directly.
2250         (interrupt_thread_callback): : Adjust to use thread and inferior
2251         pointers.
2252         * proc-service.c: Include "gdbthread.h".
2253         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2254         * progspace-and-thread.c: Include "inferior.h".
2255         * progspace.c: Include "inferior.h".
2256         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2257         hold a reference to an inferior_object.
2258         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2259         inferior_thread.
2260         * python/py-inferior.c (struct inferior_object): Give the type a
2261         tag name instead of a typedef.
2262         (python_on_normal_stop): No need to check if the current thread is
2263         listed.
2264         (inferior_to_inferior_object): Change return type to
2265         inferior_object.  All callers adjusted.
2266         (find_thread_object): Delete, bits factored out to ...
2267         (thread_to_thread_object): ... this new function.
2268         * python/py-infthread.c (create_thread_object): Use
2269         inferior_to_inferior_object.
2270         (thpy_is_stopped): Use thread pointer directly.
2271         (gdbpy_selected_thread): Use inferior_thread.
2272         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2273         field, replaced with ...
2274         <thread>: ... this new field.  All users adjusted.
2275         (btpy_insn_or_gap_new): Drop const.
2276         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2277         callers adjusted.
2278         * python/py-record.c: Include "gdbthread.h".
2279         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2280         a ptid_t.  All callers adjusted.
2281         (gdbpy_current_recording): Use inferior_thread.
2282         * python/py-record.h (recpy_record_object) <ptid>: Delete
2283         field, replaced with ...
2284         <thread>: ... this new field.  All users adjusted.
2285         (recpy_element_object) <ptid>: Delete
2286         field, replaced with ...
2287         <thread>: ... this new field.  All users adjusted.
2288         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2289         a ptid_t.  All callers adjusted.
2290         * python/py-threadevent.c: Include "gdbthread.h".
2291         (get_event_thread): Use thread_to_thread_object.
2292         * python/python-internal.h (struct inferior_object): Forward
2293         declare.
2294         (find_thread_object, find_inferior_object): Delete declarations.
2295         (thread_to_thread_object, inferior_to_inferior_object): New
2296         declarations.
2297         * record-btrace.c: Include "inferior.h".
2298         (require_btrace_thread): Use inferior_thread.
2299         (record_btrace_frame_sniffer)
2300         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2301         (get_thread_current_frame): Use scoped_restore_current_thread and
2302         switch_to_thread.
2303         (get_thread_current_frame): Use thread pointer directly.
2304         (record_btrace_replay_at_breakpoint): Use thread's inferior
2305         pointer directly.
2306         * record-full.c: Include "inferior.h".
2307         * regcache.c: Include "gdbthread.h".
2308         (get_thread_arch_regcache): Use the inferior's address space
2309         directly.
2310         (get_thread_regcache, registers_changed_thread): New.
2311         * regcache.h (get_thread_regcache(thread_info *thread)): New
2312         overload.
2313         (registers_changed_thread): New.
2314         (remote_target) <remote_detach_1>: Swap order of parameters.
2315         (remote_add_thread): <remote_add_thread>: Return the new thread.
2316         (get_remote_thread_info(ptid_t)): New overload.
2317         (remote_target::remote_notice_new_inferior): Use thread pointers
2318         directly.
2319         (remote_target::process_initial_stop_replies): Use
2320         thread_info::set_running.
2321         (remote_target::remote_detach_1, remote_target::detach)
2322         (extended_remote_target::detach): Adjust.
2323         * stack.c (frame_show_address): Use inferior_thread.
2324         * target-debug.h (target_debug_print_thread_info_pp): New.
2325         * target-delegates.c: Regenerate.
2326         * target.c (default_thread_address_space): Delete.
2327         (memory_xfer_partial_1): Use current_inferior.
2328         (target_detach): Use current_inferior.
2329         (target_thread_address_space): Delete.
2330         (generic_mourn_inferior): Use current_inferior.
2331         * target.h (struct target_ops) <thread_address_space>: Delete.
2332         (target_thread_address_space): Delete.
2333         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2334         pointers directly.
2335         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2336         thread pointer instead of a ptid_t.  Adjust all callers.
2337         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2338         (first_thread_of_process): Delete, replaced by ...
2339         (first_thread_of_inferior): ... this new function.  All callers
2340         adjusted.
2341         (any_thread_of_process): Rename to ...
2342         (any_thread_of_inferior): ... this, and take an inferior pointer.
2343         (any_live_thread_of_process): Rename to ...
2344         (any_live_thread_of_inferior): ... this, and take an inferior
2345         pointer.
2346         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2347         (value_in_thread_stack_temporaries)
2348         (get_last_thread_stack_temporary): Take a thread pointer instead
2349         of a ptid_t.  Adjust all callers.
2350         (thread_info::set_running): New.
2351         (validate_registers_access): Use inferior_thread.
2352         (can_access_registers_ptid): Rename to ...
2353         (can_access_registers_thread): ... this, and take a thread
2354         pointer.
2355         (print_thread_info_1): Adjust to compare thread pointers instead
2356         of ptids.
2357         (switch_to_no_thread, switch_to_thread): Make extern.
2358         (scoped_restore_current_thread::~scoped_restore_current_thread):
2359         Use m_thread pointer directly.
2360         (scoped_restore_current_thread::scoped_restore_current_thread):
2361         Use inferior_thread.
2362         (thread_command): Use thread pointer directly.
2363         (thread_num_make_value_helper): Use inferior_thread.
2364         * top.c (execute_command): Use inferior_thread.
2365         * tui/tui-interp.c: Include "inferior.h".
2366         * varobj.c (varobj_create): Use inferior_thread.
2367         (value_of_root_1): Use find_thread_global_id instead of
2368         global_thread_id_to_ptid.
2369
2370 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2371
2372         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2373         possible.
2374         (regcache::write_part): Likewise.
2375         (readable_regcache::cooked_read_part): Update comment.
2376         (readable_regcache::cooked_write_part): Likewise.
2377         * regcache.h: (readable_regcache::read_part): Likewise.
2378         (regcache::write_part): Likewise.
2379
2380 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2381             Dirk Schubert  <dirk.schubert@arm.com>
2382
2383         * aarch64-linux-nat.c (post_attach): New.
2384         (aarch64_linux_nat_target::post_attach): Override post_attach to
2385         record the number of hardware debug registers.
2386
2387 2018-06-20  Tom Tromey  <tom@tromey.com>
2388
2389         * python/py-param.c (add_setshow_generic): Make parameters const.
2390         (parmpy_init): Update.
2391
2392 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2393
2394         * regcache.h (regcache_cooked_read_ftype): Rename to...
2395         (register_read_ftype): ...this, change type to function_view.
2396         (class reg_buffer) <save>: Remove src parameter.
2397         (readonly_detached_regcache) <readonly_detached_regcache>: Make
2398         parameter non-const in first overload.  Remove src parameter in
2399         second overload.
2400         * regcache.c (do_cooked_read): Remove.
2401         (readonly_detached_regcache::readonly_detached_regcache): Make
2402         parameter non-const, adjust call to other constructor.
2403         (reg_buffer::save): Remove src parameter.
2404         * frame.c (do_frame_register_read): Remove.
2405         (frame_save_as_regcache): Use lambda function.
2406         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
2407         parameter to ppu2spu_data *.
2408         (ppu2spu_sniffer): Use lambda function.
2409
2410 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2411
2412         * record-full.c (record_full_target::insert_breakpoint): Remove
2413         "struct" keyword, add const.
2414
2415 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
2416
2417         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
2418         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
2419         * configure.ac: Remove AC_PREREQ, add missing quoting.
2420         * gnulib/configure.ac: Modernize usage of
2421         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
2422         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
2423         (AUTOMAKE_VERSION): Bump to 1.15.1.
2424         * configure: Re-generate.
2425         * config.in: Re-generate.
2426         * aclocal.m4: Re-generate.
2427         * gnulib/aclocal.m4: Re-generate.
2428         * gnulib/config.in: Re-generate.
2429         * gnulib/configure: Re-generate.
2430         * gnulib/import/Makefile.in: Re-generate.
2431
2432 2018-06-19  Pedro Alves  <palves@redhat.com>
2433
2434         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
2435         (lookup_minimal_symbol_by_pc_section): ... here with
2436         gdb_assert_not_reached added.
2437
2438 2018-06-19  Pedro Alves  <palves@redhat.com>
2439
2440         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
2441         parameter with a block parameter.  Compare location's block symbol
2442         with the frame's block instead of addresses.
2443         (skip_inline_frames): Pass the current block instead of the
2444         frame's address.  Break out as soon as we determine the frame
2445         should not be skipped.
2446
2447 2018-06-18  Tom Tromey  <tom@tromey.com>
2448
2449         * solib-aix.c (solib_aix_get_section_offsets): Return
2450         unique_xmalloc_ptr.
2451         (solib_aix_solib_create_inferior_hook): Update.
2452
2453 2018-06-18  Tom Tromey  <tom@tromey.com>
2454
2455         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
2456
2457 2018-06-18  Tom Tromey  <tom@tromey.com>
2458
2459         * solib-frv.c (frv_relocate_main_executable): Use
2460         unique_xmalloc_ptr.
2461         * solib-dsbt.c (dsbt_relocate_main_executable): Use
2462         unique_xmalloc_ptr.
2463
2464 2018-06-18  Tom Tromey  <tom@tromey.com>
2465
2466         * objfiles.h (inhibit_section_map_updates): Update.
2467         (resume_section_map_updates, resume_section_map_updates_cleanup):
2468         Remove.
2469         * solib-svr4.c (svr4_handle_solib_event): Update.
2470         * objfiles.c (inhibit_section_map_updates): Return
2471         scoped_restore_tmpl<int>.
2472         (resume_section_map_updates, resume_section_map_updates_cleanup):
2473         Remove.
2474
2475 2018-06-18  Tom Tromey  <tom@tromey.com>
2476
2477         * valprint.h (read_string): Update.
2478         * valprint.c (read_string): Change type of "buffer".
2479         (val_print_string): Update.
2480         * python/py-value.c (valpy_string): Update.
2481         * language.h (struct language_defn) <la_get_string>: Change
2482         type of "buffer".
2483         (default_get_string, c_get_string): Update.
2484         * language.c (default_get_string): Change type of "buffer".
2485         * guile/scm-value.c (gdbscm_value_to_string): Update.
2486         * c-lang.c (c_get_string): Change type of "buffer".
2487
2488 2018-06-18  Tom Tromey  <tom@tromey.com>
2489
2490         * ser-mingw.c (struct pipe_state_destroyer): New.
2491         (pipe_state_up): New typedef.
2492         (cleanup_pipe_state): Remove.
2493         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
2494
2495 2018-06-18  Tom Tromey  <tom@tromey.com>
2496
2497         * rust-lang.h (rust_yyerror): Don't declare.
2498         * rust-lang.c (rust_language_defn): Update.
2499         * rust-exp.y (yyerror): Now static.
2500         * parse.c (parse_exp_in_context_1): Update.
2501         * p-lang.h (p_yyerror): Don't declare.
2502         * p-lang.c (p_language_defn): Update.
2503         * p-exp.y (yyerror): Now static.
2504         * opencl-lang.c (opencl_language_defn): Update.
2505         * objc-lang.c (objc_language_defn): Update.
2506         * m2-lang.h (m2_yyerror): Don't declare.
2507         * m2-lang.c (m2_language_defn): Update.
2508         * m2-exp.y (yyerror): Now static.
2509         * language.h (struct language_defn) <la_error>: Remove.
2510         * language.c (unk_lang_error): Remove.
2511         (unknown_language_defn, auto_language_defn): Remove.
2512         * go-lang.h (go_yyerror): Don't declare.
2513         * go-lang.c (go_language_defn): Update.
2514         * go-exp.y (yyerror): Now static.
2515         * f-lang.h (f_yyerror): Don't declare.
2516         * f-lang.c (f_language_defn): Update.
2517         * f-exp.y (yyerror): Now static.
2518         * d-lang.h (d_yyerror): Don't declare.
2519         * d-lang.c (d_language_defn): Update.
2520         * d-exp.y (yyerror): Now static.
2521         * c-lang.h (c_yyerror): Don't declare.
2522         * c-lang.c (c_language_defn, cplus_language_defn)
2523         (asm_language_defn, minimal_language_defn): Update.
2524         * c-exp.y (yyerror): Now static.
2525         * ada-lang.h (ada_yyerror): Don't declare.
2526         * ada-lang.c (ada_language_defn): Update.
2527         * ada-exp.y (yyerror): Now static.
2528
2529 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2530
2531         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
2532         (store_sveregs_to_thread): Likewise.
2533         (aarch64_linux_fetch_inferior_registers): Check for SVE.
2534         (aarch64_linux_store_inferior_registers): Likewise.
2535         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
2536         function.
2537         (aarch64_sve_regs_copy_to_regcache): Likewise.
2538         (aarch64_sve_regs_copy_from_regcache): Likewise.
2539         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
2540         declaration.
2541         (aarch64_sve_regs_copy_to_regcache): Likewise.
2542         (aarch64_sve_regs_copy_from_regcache): Likewise.
2543         (sve_context): Structure from Linux headers.
2544         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
2545         (SVE_SIG_ZREG_SIZE): Likewise.
2546         (SVE_SIG_PREG_SIZE): Likewise.
2547         (SVE_SIG_FFR_SIZE): Likewise.
2548         (SVE_SIG_REGS_OFFSET): Likewise.
2549         (SVE_SIG_ZREGS_OFFSET): Likewise.
2550         (SVE_SIG_ZREG_OFFSET): Likewise.
2551         (SVE_SIG_ZREGS_SIZE): Likewise.
2552         (SVE_SIG_PREGS_OFFSET): Likewise.
2553         (SVE_SIG_PREG_OFFSET): Likewise.
2554         (SVE_SIG_PREGS_SIZE): Likewise.
2555         (SVE_SIG_FFR_OFFSET): Likewise.
2556         (SVE_SIG_REGS_SIZE): Likewise.
2557         (SVE_SIG_CONTEXT_SIZE): Likewise.
2558         (SVE_PT_REGS_MASK): Likewise.
2559         (SVE_PT_REGS_FPSIMD): Likewise.
2560         (SVE_PT_REGS_SVE): Likewise.
2561         (SVE_PT_VL_INHERIT): Likewise.
2562         (SVE_PT_VL_ONEXEC): Likewise.
2563         (SVE_PT_REGS_OFFSET): Likewise.
2564         (SVE_PT_FPSIMD_OFFSET): Likewise.
2565         (SVE_PT_FPSIMD_SIZE): Likewise.
2566         (SVE_PT_SVE_ZREG_SIZE): Likewise.
2567         (SVE_PT_SVE_PREG_SIZE): Likewise.
2568         (SVE_PT_SVE_FFR_SIZE): Likewise.
2569         (SVE_PT_SVE_FPSR_SIZE): Likewise.
2570         (SVE_PT_SVE_FPCR_SIZE): Likewise.
2571         (__SVE_SIG_TO_PT): Likewise.
2572         (SVE_PT_SVE_OFFSET): Likewise.
2573         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
2574         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
2575         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
2576         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
2577         (SVE_PT_SVE_PREG_OFFSET): Likewise.
2578         (SVE_PT_SVE_PREGS_SIZE): Likewise.
2579         (SVE_PT_SVE_FFR_OFFSET): Likewise.
2580         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
2581         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
2582         (SVE_PT_SVE_SIZE): Likewise.
2583         (SVE_PT_SIZE): Likewise.
2584         (HAS_SVE_STATE): New define.
2585
2586 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2587
2588         * nat/aarch64-sve-linux-sigcontext.h: New file.
2589         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
2590         new files.
2591         (SVE_VQ_MIN): Likewise.
2592         (SVE_VQ_MAX): Likewise.
2593         (SVE_VL_MIN): Likewise.
2594         (SVE_VL_MAX): Likewise.
2595         (SVE_NUM_ZREGS): Likewise.
2596         (SVE_NUM_PREGS): Likewise.
2597         (sve_vl_valid): Likewise.
2598         (struct user_sve_header): Likewise.
2599
2600 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
2601             Richard Bunt <Richard.Bunt@arm.com>
2602
2603         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
2604         was requested by GDB.
2605
2606 2018-06-15  Tom de Vries  <tdevries@suse.de>
2607
2608         * MAINTAINERS (Write After Approval): Add Tom de Vries.
2609
2610 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
2611
2612         * gnulib/update-gnulib.sh: Print expected versions of
2613         autoconf/aclocal.
2614
2615 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
2616
2617         * arch-utils.c (default_type_align): Use type_length_units.
2618         * gdbtypes.c (type_align): Use type_length_units.
2619
2620 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2621
2622         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
2623         of 'define' command.
2624
2625 2018-06-14  Tom de Vries  <tdevries@suse.de>
2626
2627         PR cli/22573
2628         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
2629         get_no_prettyformat_print_options.
2630
2631 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
2632
2633         * sparc-nat.h: Include target.h.
2634         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
2635         <fetch_registers>: Remove this argument in function call.
2636         <store_registers>: Remove this argument in function call, remove
2637         extra semicolon.
2638         <low_forget_process>: Call sparc64_forget_process instead of
2639         sparc_forget_process.
2640
2641 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2642
2643         * procfs.c (_initialize_procfs): Use add_inf_child_target.
2644         (procfs_target::make_corefile_notes): Adjust to new
2645         target_read_alloc return type.
2646
2647 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2648             Stephen Roberts  <stephen.roberts@arm.com>
2649
2650         PR gdb/22882
2651         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
2652         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
2653         Move should_notify_stop local into more inner scope.
2654
2655 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2656             Stephen Roberts  <stephen.roberts@arm.com>
2657
2658         PR gdb/22882
2659         * infrun.c (resume_1): Add call to mark_async_event_handler.
2660
2661 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2662
2663         * infrun.c (do_target_wait): Change old version of $pc printed.
2664
2665 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
2666
2667         * dwarf2read.c (read_index_from_section): Rename to...
2668         (read_gdb_index_from_section): ... this, update all callers.
2669         (dwarf2_read_index): Rename to...
2670         (dwarf2_read_gdb_index): ... this, update all callers.
2671
2672 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
2673
2674         * gdb/hppa-linux-nat.c
2675         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
2676         hppa_linux_nat_target::fetch_registers.
2677
2678 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2679
2680         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
2681         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
2682         (AARCH64_DWARF_SVE_FFR): Likewise.
2683         (AARCH64_DWARF_SVE_P0): Likewise.
2684         (AARCH64_DWARF_SVE_Z0): Likewise.
2685
2686 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2687
2688         * common/common-regcache.h (raw_compare): New function.
2689         * regcache.c (regcache::raw_compare): Likewise.
2690         * regcache.h (regcache::raw_compare): New declaration.
2691
2692 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2693
2694         * common/common-regcache.h (reg_buffer_common): New structure.
2695         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
2696         (reg_buffer::raw_supply): Likewise.
2697         (reg_buffer::raw_supply_integer): Likewise.
2698         (reg_buffer::raw_supply_zeroed): Likewise.
2699         (reg_buffer::raw_collect): Likewise.
2700         (reg_buffer::raw_collect_integer): Likewise.
2701         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
2702         (reg_buffer::raw_supply): Likewise.
2703         (reg_buffer::raw_supply_integer): Likewise.
2704         (reg_buffer::raw_supply_zeroed): Likewise.
2705         (reg_buffer::raw_collect): Likewise.
2706         (reg_buffer::raw_collect_integer): Likewise.
2707
2708 2018-06-10  Tom Tromey  <tom@tromey.com>
2709
2710         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
2711         (class remote_state) <stop_reply_queue>: Now std::vector.
2712         (remote_state::~remote_state)
2713         (remote_target::stop_reply_queue_length): Update.
2714         (struct queue_iter_param, remove_child_of_pending_fork)
2715         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
2716         (check_pending_event_prevents_wildcard_vcont_callback)
2717         (remove_stop_reply_for_inferior)
2718         (remove_stop_reply_of_remote_state)
2719         (remote_notif_remove_once_on_match)
2720         (stop_reply_match_ptid_and_ws)
2721         (remote_kill_child_of_pending_fork): Remove.
2722         (remote_target::remove_new_fork_children)
2723         (remote_target::check_pending_events_prevent_wildcard_vcont)
2724         (remote_target::discard_pending_stop_replies)
2725         (remote_target::discard_pending_stop_replies_in_queue)
2726         (remote_target::remote_notif_remove_queued_reply)
2727         (remote_target::queued_stop_reply)
2728         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
2729         (remote_target::wait, remote_target::kill_new_fork_children)
2730         (remote_target::async): Update.
2731
2732 2018-06-10  Tom Tromey  <tom@tromey.com>
2733
2734         * record-full.c (record_full_arch_list_cleanups): Remove.
2735         (record_full_message): Use try/catch.
2736         (record_full_wait_cleanups): Remove.
2737         (record_full_wait_1): Use try/catch.
2738         (record_full_restore): Likewise.
2739
2740 2018-06-10  Tom Tromey  <tom@tromey.com>
2741
2742         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
2743         declare VEC.  Add constructor.
2744         <in_target_beneath>: Now bool.
2745         (record_full_breakpoints): Now a std::vector, static.
2746         (record_full_sync_record_breakpoints)
2747         (record_full_init_record_breakpoints)
2748         (record_full_target::insert_breakpoint)
2749         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
2750
2751 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
2752
2753         * dwarf2read.c (process_cu_includes): Remove struct keyword.
2754         * serial.c (serial_interface_lookup): Remove struct keyword.
2755
2756 2018-06-10  Tom Tromey  <tom@tromey.com>
2757
2758         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
2759         method.
2760         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
2761         a method.
2762         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
2763         method.
2764         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
2765         "beneath" as a method.
2766         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
2767         Use "beneath" as a method.
2768
2769 2018-06-10  Tom Tromey  <tom@tromey.com>
2770
2771         * tracefile.c (struct trace_file_writer_deleter): New.
2772         <operator()>: Rename from trace_file_writer_xfree.
2773         (trace_file_writer_up): New typedef.
2774         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
2775
2776 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2777
2778         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
2779         <m_registers, m_register_status>: Change type to
2780         std::unique_ptr.
2781         * regcache.c (reg_buffer::reg_buffer): Use new instead of
2782         XCNEWVEC.
2783
2784 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2785
2786         * common/common-regcache.h (enum register_status): Add
2787         underlying type "signed char".
2788         * regcache.h (reg_buffer) <m_register_status>: Change type to
2789         register_status *.
2790         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
2791         register_status instead of signed char.
2792         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
2793         (reg_buffer::get_register_status): Remove cast.
2794         (readable_regcache::raw_read): Remove cast.
2795         (readable_regcache::cooked_read): Remove cast.
2796
2797 2018-06-09  Tom Tromey  <tom@tromey.com>
2798
2799         * source.c (reverse_search_command, forward_search_command): Use
2800         scoped_fd.
2801
2802 2018-06-09  Tom Tromey  <tom@tromey.com>
2803
2804         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
2805         (serial_ops_list): Now static, std::vector.
2806         (serial_interface_lookup, serial_add_interface): Update.
2807
2808 2018-06-09  Tom Tromey  <tom@tromey.com>
2809
2810         * dwarf2read.c (process_cu_includes): Update.
2811         (process_full_comp_unit): Update.
2812         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
2813         std::vector.
2814
2815 2018-06-08  Paul Koning  <paul_koning@dell.com>
2816
2817         PR gdb/23252
2818
2819         * python/python.c (do_start_initialization):
2820         Avoid call to internal Python API.
2821         (init__gdb_module): New function.
2822
2823 2018-06-08  Gary Benson <gbenson@redhat.com>
2824
2825         * linux-thread-db.c (valprint.h): New include.
2826         (struct check_thread_db_info): New structure.
2827         (check_thread_db_on_load, tdb_testinfo): New static globals.
2828         (check_thread_db, check_thread_db_callback): New functions.
2829         (try_thread_db_load_1): Run integrity checks if requested.
2830         (maintenance_check_libthread_db): New function.
2831         (_initialize_thread_db): Register "maint check libthread-db"
2832         and "maint set/show check-libthread-db".
2833         * NEWS: Mention the above new commands.
2834
2835 2018-06-08  Tom Tromey  <tom@tromey.com>
2836
2837         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
2838         now a method.
2839
2840 2018-06-08  Tom Tromey  <tom@tromey.com>
2841
2842         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
2843
2844 2018-06-08  Tom Tromey  <tom@tromey.com>
2845
2846         * common/btrace-common.h (struct btrace_data): Add constructor,
2847         destructor, move assignment operator.
2848         <empty, clear, fini>: New methods.
2849         <format>: Initialize.
2850         (btrace_data_init, btrace_data_fini, btrace_data_clear)
2851         (btrace_data_empty): Don't declare.
2852         * common/btrace-common.c (btrace_data_init): Remove.
2853         (btrace_data::fini): Rename from btrace_data_fini.
2854         (btrace_data::empty): Rename from btrace_data_empty.
2855         (btrace_data::clear): Rename from btrace_data_clear.  Return
2856         bool.
2857         * btrace.h (make_cleanup_btrace_data): Don't declare.
2858         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
2859         (parse_xml_btrace): Update.
2860         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
2861         (maint_btrace_clear_packet_history_cmd): Update.
2862
2863 2018-06-07  Pedro Alves  <palves@redhat.com>
2864
2865         * target.h (target_ops) <beneath>: Now a method.  All references
2866         updated.
2867         (class target_stack): New.
2868         * target.c (g_target_stack): New.
2869         (g_current_top_target): Delete.
2870         (current_top_target): Get the top target out of g_target_stack.
2871         (target_stack::push, target_stack::unpush): New.
2872         (push_target, unpush_target): Reimplement.
2873         (target_is_pushed): Reimplement in terms of g_target_stack.
2874         (target_ops::beneath, target_stack::find_beneath): New.
2875
2876 2018-06-07  Pedro Alves  <palves@redhat.com>
2877
2878         * target.h (find_target_beneath): Delete declaration.
2879         * target.c (find_target_beneath): Delete definition.
2880         * aix-thread.c: All callers of find_target_beneath adjusted to
2881         call target_ops::beneath instead.
2882         * bsd-uthread.c: Likewise.
2883         * linux-thread-db.c: Likewise.
2884         * ravenscar-thread.c: Likewise.
2885         * sol-thread.c: Likewise.
2886         * spu-multiarch.c: Likewise.
2887
2888 2018-06-07  Pedro Alves  <palves@redhat.com>
2889
2890         * target.h (target_ops) <beneath>: Now a method.  All references
2891         updated.
2892         (target_ops) <m_beneath>: New.
2893         * target.c (target_ops::beneath): New.
2894         * corelow.c: Adjust all references to target_ops::beneath.
2895         * linux-thread-db.c: Likewise.
2896         * make-target-delegates: Likewise.
2897         * record-btrace.c: Likewise.
2898         * record-full.c: Likewise.
2899         * remote.c: Likewise.
2900         * target.c: Likewise.
2901         * target-delegates.c: Regenerate.
2902
2903 2018-06-07  Pedro Alves  <palves@redhat.com>
2904
2905         * target.h (target_stack): Delete.
2906         (current_top_target): Declare function.
2907         * target.c (target_stack): Delete.
2908         (g_current_top_target): New.
2909         (current_top_target): New function.
2910         * auxv.c: Use current_top_target instead of target_stack
2911         throughout.
2912         * avr-tdep.c: Likewise.
2913         * breakpoint.c: Likewise.
2914         * corefile.c: Likewise.
2915         * elfread.c: Likewise.
2916         * eval.c: Likewise.
2917         * exceptions.c: Likewise.
2918         * frame.c: Likewise.
2919         * gdbarch-selftests.c: Likewise.
2920         * gnu-v3-abi.c: Likewise.
2921         * ia64-tdep.c: Likewise.
2922         * ia64-vms-tdep.c: Likewise.
2923         * infcall.c: Likewise.
2924         * infcmd.c: Likewise.
2925         * infrun.c: Likewise.
2926         * linespec.c: Likewise.
2927         * linux-tdep.c: Likewise.
2928         * minsyms.c: Likewise.
2929         * ppc-linux-nat.c: Likewise.
2930         * ppc-linux-tdep.c: Likewise.
2931         * procfs.c: Likewise.
2932         * regcache.c: Likewise.
2933         * remote.c: Likewise.
2934         * rs6000-tdep.c: Likewise.
2935         * s390-linux-nat.c: Likewise.
2936         * s390-tdep.c: Likewise.
2937         * solib-aix.c: Likewise.
2938         * solib-darwin.c: Likewise.
2939         * solib-dsbt.c: Likewise.
2940         * solib-spu.c: Likewise.
2941         * solib-svr4.c: Likewise.
2942         * solib-target.c: Likewise.
2943         * sparc-tdep.c: Likewise.
2944         * sparc64-tdep.c: Likewise.
2945         * spu-tdep.c: Likewise.
2946         * symfile.c: Likewise.
2947         * symtab.c: Likewise.
2948         * target-descriptions.c: Likewise.
2949         * target-memory.c: Likewise.
2950         * target.c: Likewise.
2951         * target.h: Likewise.
2952         * tracefile-tfile.c: Likewise.
2953         * tracepoint.c: Likewise.
2954         * valops.c: Likewise.
2955         * valprint.c: Likewise.
2956         * value.c: Likewise.
2957         * windows-tdep.c: Likewise.
2958         * mi/mi-main.c: Likewise.
2959
2960 2018-06-07  Tom Tromey  <tom@tromey.com>
2961
2962         * valprint.h (build_address_symbolic): Declare.
2963         * printcmd.c (print_address_symbolic): Update.
2964         (build_address_symbolic): Change "name" and "filename" to
2965         std::string.
2966         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
2967         Update.
2968         * defs.h (build_address_symbolic): Remove declaration.
2969
2970 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
2971
2972         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
2973         (aarch64_vnv_type): Add function.
2974         (aarch64_pseudo_register_name): Add V regs for SVE.
2975         (aarch64_pseudo_register_type): Likewise.
2976         (aarch64_pseudo_register_reggroup_p): Likewise.
2977         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
2978         (aarch64_pseudo_read_value): Add V regs for SVE.
2979         (aarch64_pseudo_write_2): Use V0 offset for SVE
2980         (aarch64_pseudo_write): Add V regs for SVE.
2981         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
2982
2983 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
2984
2985         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
2986         (sve_vl_from_vq): Likewise.
2987
2988 2018-06-05  Tom Tromey  <tom@tromey.com>
2989
2990         * cli/cli-cmds.c (show_version): Update.
2991         * top.c (print_gdb_version): Add "interactive" parameter.
2992         Update.
2993         * main.c (captured_main_1): Update.
2994         * top.h (print_gdb_version): Add "interactive" parameter and a
2995         comment.
2996
2997 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
2998
2999         * common/enum-flags.h: Add trailing semicolon to example in
3000         comment.
3001
3002 2018-06-05  Tom Tromey  <tom@tromey.com>
3003
3004         PR cli/12326:
3005         * NEWS: Add entry about pager.
3006         * utils.c (pagination_disabled_for_command): New global.
3007         (prompt_for_continue): Allow "c" response to prompt.
3008         (reinitialize_more_filter): Clear
3009         pagination_disabled_for_command.
3010         (fputs_maybe_filtered): Check pagination_disabled_for_command.
3011
3012 2018-06-04  Tom Tromey  <tom@tromey.com>
3013
3014         * ada-lang.h (ada_lookup_symbol_list): Update.
3015         * ada-lang.c (resolve_subexp): Update.
3016         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3017         parameter.
3018         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3019         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3020         results parameter to std::vector.
3021         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3022         Update.
3023         * ada-exp.y (block_lookup): Update.
3024         (select_possible_type_sym): Change type of syms.  Remove nsyms
3025         parameter.
3026         (write_var_or_type, write_name_assoc): Update.
3027
3028 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3029
3030         * windows-nat.c (windows_nat_target::xfer_partial): Return
3031         TARGET_XFER_E_IO if we need to delegate to the target beneath
3032         but BENEATH is NULL.
3033
3034 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3035
3036         * Makefile.in (config.status): Add configure.nat as a
3037         dependency.
3038
3039 2018-06-04  Tom Tromey  <tom@tromey.com>
3040
3041         * cp-name-parser.y (cpname_state): Add method declarations.
3042         (HANDLE_QUAL): Update.
3043         (cpname_state::d_grab, cpname_state::fill_comp)
3044         (cpname_state::make_operator, cpname_state::make_dtor)
3045         (cpname_state::make_builtin_type, cpname_state::make_name)
3046         (cpname_state::d_qualify, cpname_state::d_int_type)
3047         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3048         (%union): Move earlier.
3049
3050 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3051
3052         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3053
3054 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3055
3056         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3057         (aarch64_pseudo_write_1): Likewise.
3058         (aarch64_pseudo_read_value): Use helper.
3059         (aarch64_pseudo_write): Likewise.
3060
3061 2018-06-04  Pedro Alves  <palves@redhat.com>
3062
3063         * darwin-nat.c (darwin_ops): Delete.
3064         (darwin_attach_pid): Use get_native_target.
3065
3066 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3067
3068         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3069         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3070
3071 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3072
3073         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3074         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3075         (aarch64_gdbarch_init): Check for SVE.
3076         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3077
3078 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3079
3080         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3081         * aarch64-tdep.h (aarch64_read_description): Likewise.
3082         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3083         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3084         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3085         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3086         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3087
3088 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3089
3090         * value.c (value_fetch_lazy_bitfield): New.
3091         (value_fetch_lazy_memory): New.
3092         (value_fetch_lazy_register): New.
3093         (value_fetch_lazy): Factor out to smaller functions.
3094
3095 2018-06-01  Tom Tromey  <tom@tromey.com>
3096
3097         * cp-name-parser.y (backslashable, represented): Now const.
3098
3099 2018-06-01  Tom Tromey  <tom@tromey.com>
3100
3101         * cp-name-parser.y: Include parser-defs.h.
3102         (parser_fprintf): Remove declaration.
3103
3104 2018-06-01  Tom Tromey  <tom@tromey.com>
3105
3106         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3107         %parse-param.
3108         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3109         (global_result): Remove globals.
3110         (struct cpname_state): New.
3111         (yyparse): Don't declare.
3112         (yylex, yyerror): Move declarations after %union.
3113         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3114         (make_name): Add state parameter.
3115         Update all callers.
3116         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3117         parameter.
3118         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3119         Update.
3120         (yylex): Add lvalp, state parameters.
3121         (yyerror): Add state parameter.
3122         (cp_demangled_name_to_comp): Update.
3123
3124 2018-06-01  Tom Tromey  <tom@tromey.com>
3125
3126         * cp-name-parser.y (parser_fprintf): Declare.
3127         (GDB_YY_REMAP_PREFIX): Define.
3128         Include yy-remap.h.  Don't redefine yy* identifiers.
3129
3130 2018-06-01  Tom Tromey  <tom@tromey.com>
3131
3132         * python/py-type.c (typy_legacy_template_argument): Update.
3133         * cp-support.h (cp_demangled_name_to_comp): Update.
3134         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3135         parameter to be a "std::string *".
3136         (main): Update.
3137
3138 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3139
3140         * ada-lex.l: Include "diagnostics.h" instead of
3141         "common/diagnostics.h".
3142         * unittests/environ-selftests.c: Likewise.
3143         * common/diagnostics.h: Moved to ../include.
3144
3145 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3146
3147         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3148         to language_mode_manual while calling breakpoint_re_set_one.
3149
3150 2018-06-01  Tom Tromey  <tom@tromey.com>
3151
3152         * valops.c (value_cast_structs, destructor_name_p): Update.
3153         * symtab.c (gdb_mangle_name): Update.
3154         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3155         Update.
3156         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3157         (pascal_object_print_value_fields, pascal_object_print_value):
3158         Update.
3159         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3160         * linespec.c (find_methods): Update.
3161         * gdbtypes.h (type_name_no_tag): Remove.
3162         (type_name_or_error): Rename from type_name_no_tag_or_error.
3163         * gdbtypes.c (type_name_no_tag): Remove.
3164         (type_name_or_error): Rename from type_name_no_tag_or_error.
3165         (lookup_struct_elt_type, check_typedef): Update.
3166         * expprint.c (print_subexp_standard): Update.
3167         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3168         * d-namespace.c (d_lookup_nested_symbol): Update.
3169         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3170         (cp_print_class_member): Update.
3171         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3172         * completer.c (add_struct_fields): Update.
3173         * c-typeprint.c (cp_type_print_derivation_info)
3174         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3175         Update.
3176         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3177         (ada_prefer_type, ada_is_exception_sym): Update.
3178
3179 2018-06-01  Tom Tromey  <tom@tromey.com>
3180
3181         * valops.c (enum_constant_from_type, value_namespace_elt)
3182         (value_maybe_namespace_elt): Update.
3183         * valarith.c (find_size_for_pointer_math): Update.
3184         * target-descriptions.c (make_gdb_type): Update.
3185         * symmisc.c (print_symbol): Update.
3186         * stabsread.c (define_symbol, read_type)
3187         (complain_about_struct_wipeout, add_undefined_type)
3188         (cleanup_undefined_types_1): Update.
3189         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3190         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3191         (rust_internal_print_type, rust_composite_type)
3192         (rust_evaluate_funcall, rust_evaluate_subexp)
3193         (rust_inclusive_range_type_p): Update.
3194         * python/py-type.c (typy_get_tag): Update.
3195         * p-typeprint.c (pascal_type_print_base): Update.
3196         * mdebugread.c (parse_symbol, parse_type): Update.
3197         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3198         Update.
3199         * guile/scm-type.c (gdbscm_type_tag): Update.
3200         * go-lang.c (sixg_string_p): Update.
3201         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3202         Update.
3203         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3204         (TYPE_TAG_NAME): Remove.
3205         * gdbtypes.c (type_name_no_tag): Simplify.
3206         (check_typedef, check_types_equal, recursive_dump_type)
3207         (copy_type_recursive, arch_composite_type): Update.
3208         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3209         in summary mode when needed.
3210         * eval.c (evaluate_funcall): Update.
3211         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3212         (process_structure_scope, read_enumeration_type)
3213         (read_namespace_type, read_module_type, determine_prefix): Update.
3214         * cp-support.c (inspect_type): Update.
3215         * coffread.c (process_coff_symbol, decode_base_type): Update.
3216         * c-varobj.c (c_is_path_expr_parent): Update.
3217         * c-typeprint.c (c_type_print_base_struct_union): Update.
3218         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3219         summary when using C language.
3220         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3221         (gen_maybe_namespace_elt): Update.
3222         * ada-lang.c (ada_type_name): Simplify.
3223         (empty_record, ada_template_to_fixed_record_type_1)
3224         (template_to_static_fixed_type)
3225         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3226
3227 2018-06-01  Tom Tromey  <tom@tromey.com>
3228
3229         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3230         c_print_type.
3231         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3232         (c_print_type): Update.
3233         (c_print_type): New overload.
3234         (c_type_print_varspec_prefix, c_type_print_args)
3235         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3236         (c_type_print_base_struct_union, c_type_print_base_1)
3237         (cp_type_print_method_args): Add "language" parameter.
3238         (c_type_print_base): Update.
3239         * c-lang.h (c_print_type): Add new overload.
3240
3241 2018-06-01  Tom Tromey  <tom@tromey.com>
3242
3243         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3244         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3245
3246 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3247
3248         * aarch64-tdep.c (aarch64_sve_register_names): New const
3249         var.
3250         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3251         (AARCH64_SVE_Z_REGS_NUM): New define.
3252         (AARCH64_SVE_P_REGS_NUM): Likewise.
3253         (AARCH64_SVE_NUM_REGS): Likewise.
3254
3255 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3256
3257         * nat/linux-ptrace.h [__alpha__]
3258         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3259         definitions.
3260
3261 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3262
3263         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3264         the endianness selected.
3265         * NEWS: Document `set endian auto' mode operation update.
3266
3267 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3268
3269         * Makefile.in: Add new header.
3270         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3271         (sve_vl_from_vg): Likewise.
3272         (sve_vq_from_vl): Likewise.
3273         (sve_vl_from_vq): Likewise.
3274         (sve_vq_from_vg): Likewise.
3275         (sve_vg_from_vq): Likewise.
3276         * configure.nat: Add new c file.
3277         * nat/aarch64-sve-linux-ptrace.c: New file.
3278         * nat/aarch64-sve-linux-ptrace.h: New file.
3279
3280 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3281
3282         * aarch64-linux-nat.c (aarch64_linux_read_description):
3283         Add parmeter zero.
3284         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3285         Likewise.
3286         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3287         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3288         (aarch64_gdbarch_init): Add parmeter zero.
3289         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3290         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3291         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3292         parmeter.
3293         * doc/gdb.texinfo: Describe SVE feature
3294         * features/aarch64-sve.c: New file.
3295
3296 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3297
3298         PR gdb/23210
3299         * gdbarch.sh (significant_addr_bit): Default to zero when
3300         not set by target architecture.
3301         * gdbarch.c: Re-generated.
3302         * utils.c (address_significant): Update.
3303
3304 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3305
3306         * stack.c (func_command): Remove trailing newline in call to error.
3307
3308 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3309
3310         * regcache.h (regcache_raw_collect): Remove, update callers to
3311         use regcache::raw_collect.
3312         * regcache.c (regcache_raw_collect): Remove.
3313
3314 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3315
3316         * regcache.h (regcache_raw_supply): Remove, update callers to
3317         use detached_regcache::raw_supply.
3318         * regcache.c (regcache_raw_supply): Remove.
3319
3320 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3321
3322         * regcache.h (regcache_cooked_write_part): Remove, update
3323         callers to use regcache::cooked_write_part.
3324         * regcache.c (regcache_cooked_write_part): Remove.
3325
3326 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3327
3328         * regcache.h (regcache_cooked_read_part): Remove, update callers
3329         to use readable_regcache::cooked_read_part.
3330         * regcache.c (regcache_cooked_read_part): Remove.
3331
3332 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3333
3334         * regcache.h (regcache_cooked_read_value): Remove, update
3335         callers to use readable_regcache::cooked_read_value.
3336         * regcache.c (regcache_cooked_read_value): Remove.
3337
3338 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3339
3340         * regcache.h (regcache_cooked_write): Remove, update callers to
3341         use regcache::cooked_write.
3342         * regcache.c (regcache_cooked_write): Remove.
3343
3344 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3345
3346         * regcache.h (regcache_invalidate): Remove, update callers to
3347         use detached_regcache::invalidate instead.
3348         * regcache.c (regcache_invalidate): Remove.
3349
3350 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3351
3352         * regcache.h (regcache_raw_write_part): Remove, update callers
3353         to use regcache::raw_write_part instead.
3354         * regcache.c (regcache_raw_write_part): Remove.
3355
3356 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3357
3358         * regcache.h (regcache_raw_read_part): Remove, update callers to
3359         use readable_regcache::raw_read_part instead.
3360         * regcache.c (regcache_raw_read_part): Remove.
3361
3362 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3363
3364         * regcache.h (regcache_cooked_read): Remove, update callers to
3365         use readable_regcache::cooked_read instead.
3366         * regcache.c (regcache_cooked_read): Remove.
3367
3368 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3369
3370         * regcache.h (regcache_raw_write): Remove, update callers to use
3371         regcache::raw_write instead.
3372         * regcache.c (regcache_raw_write): Remove.
3373
3374 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3375
3376         * regcache.h (regcache_raw_read): Remove, update callers to use
3377         readable_regcache::raw_read instead.
3378         * regcache.c (regcache_raw_read): Remove.
3379
3380 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3381
3382         * regcache.h (regcache_raw_update): Remove, update callers to
3383         use readable_regcache::raw_update instead.
3384         * regcache.c (regcache_raw_update): Remove.
3385
3386 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3387
3388         * regcache.h (regcache_register_status): Remove, update callers
3389         to use reg_buffer::get_register_status directly instead.
3390         * regcache.c (regcache_register_status): Remove.
3391
3392 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3393
3394         * regcache.h (regcache_get_ptid): Remove, update all callers to
3395         call regcache::ptid instead.
3396         * regcache.c (regcache_get_ptid): Remove.
3397
3398 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3399
3400         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
3401
3402 2018-05-30  Pedro Alves  <palves@redhat.com>
3403
3404         * common/common-exceptions.h (exception_rethrow): Use
3405         ATTRIBUTE_NORETURN.
3406
3407 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
3408
3409         * breakpoint.c (print_solib_event, check_status_catch_solib):
3410         Remove struct keyword in range-based for loops.
3411         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
3412         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
3413         Likewise.
3414         * linespec.c (find_superclass_methods, search_minsyms_for_name):
3415         Likewise.
3416         * symfile.c (addr_info_make_relative): Likewise.
3417         * thread.c (value_in_thread_stack_temporaries): Likewise.
3418
3419 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
3420
3421         PR gdb/16841
3422         * valops.c (value_struct_elt_for_reference): Call check_typedef on
3423         aggregate type to get its real type before accessing it.
3424
3425 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
3426
3427         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
3428         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
3429         * coff-pe-read.c (add_pe_forwarded_sym): Replace
3430         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
3431         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
3432         * jit.c (jit_breakpoint_re_set_internal): Likewise.
3433         * printcmd.c (info_address_command): Likewise.
3434
3435 2018-05-29  Tom Tromey  <tom@tromey.com>
3436
3437         * windows-nat.c (handle_exception): Update fall-through comment.
3438
3439 2018-05-29  Tom Tromey  <tom@tromey.com>
3440
3441         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
3442         (struct program_space) <added_solibs>: Now a std::vector.
3443         * breakpoint.c (print_solib_event): Update.
3444         (check_status_catch_solib): Update.
3445         * progspace.c (clear_program_space_solib_cache): Update.
3446         * solib.c (update_solib_list): Update.
3447
3448 2018-05-29  Tom Tromey  <tom@tromey.com>
3449
3450         * python/py-type.c (typy_richcompare): Update.
3451         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
3452         * gdbtypes.h (types_deeply_equal): Return bool.
3453         (types_equal): Likewise.
3454         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
3455         declare VEC.
3456         (check_types_equal): Change worklist to std::vector.  Return
3457         bool.
3458         (struct type_equality_entry): Add constructor.
3459         (compare_maybe_null_strings): Return bool.
3460         (check_types_worklist): Return bool.  Change worklist to
3461         std::vector.
3462         (types_deeply_equal): Use std::vector.
3463         (types_equal): Return bool.
3464         (compare_maybe_null_strings): Simplify.
3465
3466 2018-05-29  Tom Tromey  <tom@tromey.com>
3467
3468         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
3469
3470 2018-05-29  Tom Tromey  <tom@tromey.com>
3471
3472         * objc-lang.h: Don't include cp-support.h.
3473         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
3474         declare VEC.
3475
3476 2018-05-27  Tom Tromey  <tom@tromey.com>
3477
3478         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
3479
3480 2018-05-25  Tom Tromey  <tom@tromey.com>
3481
3482         * value.c (value::location): Initialize.
3483
3484 2018-05-25  Tom Tromey  <tom@tromey.com>
3485
3486         * dbxread.c (init_bincl_list): Remove.
3487         (bincl_list): Now a std::vector.
3488         (bincls_allocated, next_bincl): Remove.
3489         (free_bincl_list, do_free_bincl_list_cleanup)
3490         (make_cleanup_free_bincl_list): Remove.
3491         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
3492         unique_xmalloc_ptr.
3493         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
3494         (struct header_file_location): Add constructor.
3495         (add_bincl_to_list): Remove.
3496
3497 2018-05-25  Tom Tromey  <tom@tromey.com>
3498
3499         * tui/tui.c (tui_enable): Update.
3500         * mi/mi-interp.c (mi_interp::init): Update.
3501         * interps.h (class interp) <name>: New method.
3502         <m_name>: Rename from name.
3503         (~scoped_restore_interp): Update.
3504         * interps.c (interp::interp): Update.
3505         (interp_add, interp_set, interp_lookup_existing)
3506         (current_interp_named_p): Update.
3507
3508 2018-05-25  Tom Tromey  <tom@tromey.com>
3509
3510         * interps.c (interp_name): Remove.
3511         * mi/mi-interp.c (mi_interp::init): Update.
3512         * interps.h (interp_name): Remove.
3513         (~scoped_restore_interp): Update.
3514         * tui/tui.c (tui_enable): Update.
3515
3516 2018-05-25  Tom Tromey  <tom@tromey.com>
3517
3518         * utils.c (fputs_maybe_filtered): Update.
3519         * linespec.c (decode_line_full): Update.
3520         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
3521         (mi_print_breakpoint_for_event, mi_solib_loaded)
3522         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
3523         (mi_user_selected_context_changed): Update.
3524         * mi/mi-main.c (mi_execute_command): Update.
3525         * cli/cli-script.c (execute_control_command): Update.
3526         * python/python.c (execute_gdb_command): Update.
3527         * solib.c (info_sharedlibrary_command): Update.
3528         * interps.c (interp_ui_out): Remove.
3529         * interps.h (interp_ui_out): Remove.
3530
3531 2018-05-25  Tom Tromey  <tom@tromey.com>
3532
3533         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
3534         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
3535         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
3536
3537 2018-05-25  Tom Tromey  <tom@tromey.com>
3538
3539         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
3540         * interps.c (interp_exec): Use scoped_restore.
3541
3542 2018-05-25  Tom Tromey  <tom@tromey.com>
3543
3544         * remote.c (remote_target::remote_file_get): Use
3545         gdb::byte_vector.
3546         (remote_target::remote_file_put): Likewise.
3547
3548 2018-05-25  Tom Tromey  <tom@tromey.com>
3549
3550         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
3551         a std::string.
3552         (get_pe_section_index, add_pe_exported_sym): Update.
3553         (read_pe_exported_syms): Use gdb::def_vector.
3554
3555 2018-05-25  Tom Tromey  <tom@tromey.com>
3556
3557         * frame.c (remove_prev_frame): Remove.
3558         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
3559
3560 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
3561
3562         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
3563         Remove prototypes.
3564         * mips-linux-nat.c (supply_fpregset): Always call
3565         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
3566         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
3567         `mips_fill_fpregset'.
3568         * mips-linux-tdep.c (mips_supply_fpregset)
3569         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
3570         (mips_fill_fpregset_wrapper): Remove functions.
3571         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
3572         (mips_linux_fpregset): Remove variable.
3573         (mips_linux_iterate_over_regset_sections): Use
3574         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
3575         (mips_linux_o32_sigframe_init): Remove comment.
3576
3577 2018-05-25  Pedro Alves  <palves@redhat.com>
3578
3579         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
3580         (struct readahead_cache, struct packet_reg, struct
3581         remote_arch_state, class remote_state): Move higher up in the
3582         file.
3583         (remote_target::m_remote_state): Now an object instead of a pointer.
3584         (remote_target::get_remote_state): Adjust.
3585
3586 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3587
3588         * stack.c (select_and_print_frame): Delete.
3589         (struct function_bounds): Move struct within function.
3590         (func_command): Most content moved into new function
3591         find_frame_for_function, use new function, print result, add
3592         function comment.
3593         (find_frame_for_function): New function, now returns a result.
3594
3595 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3596
3597         * stack.c (iterate_over_block_arg_vars): Fix comment.
3598         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
3599
3600 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3601
3602         PR gdb/23203
3603         * frame.c
3604         (scoped_restore_selected_frame::scoped_restore_selected_frame):
3605         Define.
3606         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
3607         Define.
3608         * frame.h (class scoped_restore_selected_frame): New class.
3609         * stack.c (print_frame_local_vars): Remove catching and rethrowing
3610         of any exception, use scoped_restore_selected_frame to restore the
3611         frame instead.
3612
3613 2018-05-24  Pedro Alves  <palves@redhat.com>
3614
3615         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
3616         override.
3617
3618 2018-05-23  Tom Tromey  <tom@tromey.com>
3619
3620         * complaints.c (struct complaints): Remove.
3621         (symfile_complaint_book): Remove.
3622         (series): New global.
3623         (complaint_internal): Update.
3624         (clear_complaints): Update.
3625
3626 2018-05-23  Tom Tromey  <tom@tromey.com>
3627
3628         * complaints.c (counters): New global.
3629         (struct complain): Remove.
3630         (struct complaints) <root>: Remove.
3631         (complaint_sentinel): Remove.
3632         (symfile_complaint_book): Update.
3633         (find_complaint) Remove.
3634         (complaint_internal, clear_complaints): Update.
3635
3636 2018-05-23  Tom Tromey  <tom@tromey.com>
3637
3638         * complaints.c (struct complain) <file, line>: Remove.
3639         (find_complaint): Remove file, line parameters.
3640         (complaint_internal): Update.
3641
3642 2018-05-23  Tom Tromey  <tom@tromey.com>
3643
3644         * complaints.c (vcomplaint): Remove.
3645         (complaint_internal) Merge in contents of vcomplaint.
3646
3647 2018-05-23  Tom Tromey  <tom@tromey.com>
3648
3649         * complaints.c (struct complaints) <explanation>: Remove.
3650         (symfile_explanations): Remove.
3651         (symfile_complaint_book): Update.
3652         (vcomplaint): Update.
3653         (struct explanation): Remove.
3654
3655 2018-05-23  Tom Tromey  <tom@tromey.com>
3656
3657         * complaints.c (symfile_complaints): Remove.
3658         (complaint_internal): Remove "complaints" parameter.
3659         (clear_complaints, vcomplaint): Remove "c" parameter.
3660         (get_complaints): Remove.
3661         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
3662         (dwarf2_debug_line_missing_file_complaint)
3663         (dwarf2_debug_line_missing_end_sequence_complaint)
3664         (dwarf2_complex_location_expr_complaint)
3665         (dwarf2_const_value_length_mismatch_complaint)
3666         (dwarf2_section_buffer_overflow_complaint)
3667         (dwarf2_macro_malformed_definition_complaint)
3668         (dwarf2_invalid_attrib_class_complaint)
3669         (create_addrmap_from_index, dw2_symtab_iter_next)
3670         (dw2_expand_marked_cus)
3671         (dw2_debug_names_iterator::find_vec_in_debug_names)
3672         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
3673         (create_debug_type_hash_table, init_cutu_and_read_dies)
3674         (partial_die_parent_scope, add_partial_enumeration)
3675         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
3676         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
3677         (read_import_statement, read_file_scope, create_dwo_cu_reader)
3678         (create_cus_hash_table, create_dwp_hash_table)
3679         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
3680         (dwarf2_rnglists_process, dwarf2_ranges_process)
3681         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
3682         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
3683         (handle_struct_member_die, process_structure_scope)
3684         (read_array_type, read_common_block, read_module_type)
3685         (read_tag_pointer_type, read_typedef, read_base_type)
3686         (read_subrange_type, load_partial_dies, partial_die_info::read)
3687         (partial_die_info::read, partial_die_info::read)
3688         (partial_die_info::read, read_checked_initial_length_and_offset)
3689         (dwarf2_string_attr, read_formatted_entries)
3690         (dwarf_decode_line_header)
3691         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3692         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
3693         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
3694         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
3695         (get_signatured_type, get_DW_AT_signature_type)
3696         (decode_locdesc, file_file_name, consume_improper_spaces)
3697         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
3698         (dwarf_decode_macro_bytes, dwarf_decode_macros)
3699         (dwarf2_symbol_mark_computed, set_die_type)
3700         (read_attribute_value): Update.
3701         * stap-probe.c (handle_stap_probe, get_stap_base_address):
3702         Update.
3703         * dbxread.c (unknown_symtype_complaint)
3704         (lbrac_mismatch_complaint, repeated_header_complaint)
3705         (set_namestring, function_outside_compilation_unit_complaint)
3706         (read_dbx_symtab, process_one_symbol): Update.
3707         * gdbtypes.c (stub_noname_complaint): Update.
3708         * windows-nat.c (handle_unload_dll): Update.
3709         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
3710         (decode_base_type): Update.
3711         * xcoffread.c (bf_notfound_complaint, ef_complaint)
3712         (eb_complaint, record_include_begin, record_include_end)
3713         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
3714         (process_xcoff_symbol, read_symbol)
3715         (function_outside_compilation_unit_complaint)
3716         (scan_xcoff_symtab): Update.
3717         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
3718         * buildsym.c (finish_block_internal, make_blockvector)
3719         (end_symtab_get_static_block, augment_type_symtab): Update.
3720         * dtrace-probe.c (dtrace_process_dof)
3721         (dtrace_static_probe_ops::get_probes): Update.
3722         * complaints.h (struct complaint): Don't declare.
3723         (symfile_complaints): Remove.
3724         (complaint_internal): Remove "complaints" parameter.
3725         (complaint): Likewise.
3726         (clear_complaints): Likewise.
3727         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3728         (reread_symbols): Update.
3729         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
3730         (dwarf2_frame_cache, decode_frame_entry): Update.
3731         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
3732         * objc-lang.c (lookup_objc_class, lookup_child_selector)
3733         (info_selectors_command): Update.
3734         * macrotab.c (macro_include, check_for_redefinition)
3735         (macro_undef): Update.
3736         * objfiles.c (filter_overlapping_sections): Update.
3737         * stabsread.c (invalid_cpp_abbrev_complaint)
3738         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
3739         (define_symbol, error_type, read_type, rs6000_builtin_type)
3740         (stabs_method_name_from_physname, read_member_functions)
3741         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
3742         (attach_fields_to_type, complain_about_struct_wipeout)
3743         (read_range_type, read_args, common_block_start)
3744         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
3745         Update.
3746         * mdebugread.c (index_complaint, unknown_ext_complaint)
3747         (basic_type_complaint, bad_tag_guess_complaint)
3748         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
3749         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
3750         (parse_procedure, parse_lines)
3751         (function_outside_compilation_unit_complaint)
3752         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
3753         (bad_tag_guess_complaint, reg_value_complaint): Update.
3754         * cp-support.c (demangled_name_complaint): Update.
3755         * macroscope.c (sal_macro_scope): Update.
3756         * dwarf-index-write.c (class debug_names): Update.
3757
3758 2018-05-23  Tom Tromey  <tom@tromey.com>
3759
3760         * complaints.c (clear_complaints): Remove "noisy" parameter.
3761         * complaints.h (clear_complaints): Update.
3762         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3763         (reread_symbols): Update.
3764
3765 2018-05-23  Tom Tromey  <tom@tromey.com>
3766
3767         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
3768         SUBSEQUENT_MESSAGE.
3769         (vcomplaint, clear_complaints): Update.
3770         (symfile_explanations): Remove some messages.
3771
3772 2018-05-23  Tom Tromey  <tom@tromey.com>
3773
3774         * complaints.c (internal_complaint): Remove.
3775         * complaints.h (internal_complaint): Remove.
3776
3777 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
3778
3779         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
3780
3781 2018-05-22  Pedro Alves  <palves@redhat.com>
3782
3783         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
3784         (remote_fileio_badfd, remote_fileio_return_errno)
3785         (remote_fileio_return_success, remote_fileio_func_open)
3786         (remote_fileio_func_open, remote_fileio_func_close)
3787         (remote_fileio_func_read, remote_fileio_func_write)
3788         (remote_fileio_func_lseek, remote_fileio_func_rename)
3789         (remote_fileio_func_unlink, remote_fileio_func_stat)
3790         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
3791         (remote_fileio_func_isatty, remote_fileio_func_system): Add
3792         remote_target parameter.
3793         (remote_fio_func_map) <func>: Add remote_target parameter.
3794         (do_remote_fileio_request, remote_fileio_request):
3795         * remote-fileio.h (remote_fileio_request):
3796         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
3797         remote_target parameter.
3798         (remote_notif_process, handle_notification): Adjust to pass down
3799         the remote.
3800         (remote_notif_state_allocate): Add remote_target parameter.  Save
3801         it.
3802         * remote-notif.h (struct remote_target): Forward declare.
3803         (struct notif_client) <parse, ack, can_get_pending_events>: Add
3804         remote_target parameter.
3805         (struct remote_notif_state) <remote>: New field.
3806         (remote_notif_ack, remote_notif_parse): Add remote_target
3807         parameter.
3808         (remote_notif_state_allocate, remote_notif_state_allocate): Add
3809         remote_target parameter.
3810         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
3811         (threads_listing_context, rmt_thread_action, protocol_feature)
3812         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
3813         (packet_result, struct threads_listing_context, remote_state):
3814         Move definitions and declarations higher up.
3815         (remote_target) <~remote_target>: Declare.
3816         (remote_download_command_source, remote_file_put, remote_file_get)
3817         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
3818         (remote_hostio_pread_vFile, remote_hostio_send_command)
3819         (remote_hostio_set_filesystem, remote_hostio_open)
3820         (remote_hostio_close, remote_hostio_unlink, remote_state)
3821         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
3822         (get_memory_write_packet_size, get_memory_read_packet_size)
3823         (append_pending_thread_resumptions, remote_detach_1)
3824         (append_resumption, remote_resume_with_vcont)
3825         (add_current_inferior_and_thread, wait_ns, wait_as)
3826         (process_stop_reply, remote_notice_new_inferior)
3827         (process_initial_stop_replies, remote_add_thread)
3828         (btrace_sync_conf, remote_btrace_maybe_reopen)
3829         (remove_new_fork_children, kill_new_fork_children)
3830         (discard_pending_stop_replies, stop_reply_queue_length)
3831         (check_pending_events_prevent_wildcard_vcont)
3832         (discard_pending_stop_replies_in_queue, stop_reply)
3833         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
3834         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
3835         (remote_interrupt_as, remote_interrupt_ns)
3836         (remote_get_noisy_reply, remote_query_attached)
3837         (remote_add_inferior, remote_current_thread, get_current_thread)
3838         (set_thread, set_general_thread, set_continue_thread)
3839         (set_general_process, write_ptid)
3840         (remote_unpack_thread_info_response, remote_get_threadinfo)
3841         (parse_threadlist_response, remote_get_threadlist)
3842         (remote_threadlist_iterator, remote_get_threads_with_ql)
3843         (remote_get_threads_with_qxfer)
3844         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
3845         (get_offsets, remote_check_symbols, remote_supported_packet)
3846         (remote_query_supported, remote_packet_size)
3847         (remote_serial_quit_handler, remote_detach_pid)
3848         (remote_vcont_probe, remote_resume_with_hc)
3849         (send_interrupt_sequence, interrupt_query)
3850         (remote_notif_get_pending_events, fetch_register_using_p)
3851         (send_g_packet, process_g_packet, fetch_registers_using_g)
3852         (store_register_using_P, store_registers_using_G)
3853         (set_remote_traceframe, check_binary_download)
3854         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
3855         (remote_xfer_live_readonly_partial, remote_read_bytes)
3856         (remote_send_printf, remote_flash_write, readchar)
3857         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
3858         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
3859         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
3860         (extended_remote_disable_randomization, extended_remote_run)
3861         (send_environment_packet, extended_remote_environment_support)
3862         (extended_remote_set_inferior_cwd, remote_write_qxfer)
3863         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
3864         (packet_command): Now methods of ...
3865         (remote_target): ... this class.
3866         (m_remote_state) <remote_target>: New field.
3867         (struct remote_state) <stop_reply_queue,
3868         remote_async_inferior_event_token, wait_forever_enabled_p>: New
3869         fields.
3870         (remote_state::remote_state): Allocate stop_reply_queue.
3871         (remote_state): Delete global.
3872         (get_remote_state_raw): Delete.
3873         (remote_target::get_remote_state): Allocate m_remote_state on
3874         demand.
3875         (get_current_remote_target): New.
3876         (remote_ops, extended_remote_ops): Delete.
3877         (wait_forever_enabled_p, remote_async_inferior_event_token):
3878         Delete, moved to struct remote_state.
3879         (remote_target::close): Delete self.  Destruction bits split to
3880         ...
3881         (remote_target::~remote_target): ... this.
3882         (show_memory_packet_size): Adjust to use
3883         get_current_remote_target.
3884         (struct protocol_feature) <func>: Add remote_target parameter.
3885         All callers adjusted.
3886         (curr_quit_handler_target): New.
3887         (remote_serial_quit_handler): Reimplement.
3888         (remote_target::open_1): Adjust to use get_current_remote_target.
3889         Heap-allocate remote_target/extended_remote_target instances.
3890         (vcont_builder::vcont_builder): Add remote_target parameter, and
3891         save it in m_remote.  All callers adjusted.
3892         (vcont_builder::m_remote): New field.
3893         (vcont_builder::restart, vcont_builder::flush)
3894         (vcont_builder::push_action): Use it.
3895         (remote_target::commit_resume): Use it.
3896         (struct queue_iter_param) <remote>: New field.
3897         (remote_target::remove_new_fork_children): Fill in 'remote' field.
3898         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
3899         (check_pending_event_prevents_wildcard_vcont_callback)
3900         (remote_target::check_pending_events_prevent_wildcard_vcont)
3901         (remote_target::discard_pending_stop_replies)
3902         (remote_target::discard_pending_stop_replies_in_queue)
3903         (remote_target::remote_notif_remove_queued_reply): Fill in
3904         'remote' field.
3905         (remote_notif_get_pending_events): New.
3906         (remote_target::readchar, remote_target::remote_serial_write):
3907         Save/restore curr_quit_handler_target.
3908         (putpkt): New.
3909         (kill_new_fork_children): Fill in 'remote' field.
3910         (packet_command): Use get_current_remote_target, defer to
3911         remote_target method of same name.
3912         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
3913         parameter, and save it in m_remote.  All callers adjusted.
3914         (scoped_remote_fd::release): Use m_remote.
3915         (scoped_remote_fd::m_remote): New field.
3916         (remote_file_put, remote_file_get, remote_file_delete): Use
3917         get_current_remote_target, defer to remote_target method of same
3918         name.
3919         (remote_btrace_reset): Add remote_state paremeter.  Update all
3920         callers.
3921         (remote_async_inferior_event_handler). Pass down 'data'.
3922         (remote_new_objfile): Use get_current_remote_target.
3923         (remote_target::vcont_r_supported): New.
3924         (set_range_stepping): Use get_current_remote_target and
3925         remote_target::vcont_r_supported.
3926         (_initialize_remote): Don't allocate 'remote_state' and
3927         'stop_reply_queue' globals.
3928         * remote.h (struct remote_target): Forward declare.
3929         (getpkt, putpkt, remote_notif_get_pending_events): Add
3930         'remote_target' parameter.
3931
3932 2018-05-22  Pedro Alves  <palves@redhat.com>
3933
3934         * remote.c (vcont_builder): Now a class.  Make all data members
3935         private.
3936         (vcont_builder) <vcont_builder, restart, flush, push_action>:
3937         Declare methods.
3938         (vcont_builder_restart): Rename to ...
3939         (vcont_builder::restart): ... this.
3940         (vcont_builder_flush): Rename to ...
3941         (vcont_builder::flush): ... this.
3942         (vcont_builder_push_action): Rename to ...
3943         (vcont_builder::push_action): ... this.
3944         (remote_target::commit_resume): Adjust.
3945
3946 2018-05-22  Pedro Alves  <palves@redhat.com>
3947
3948         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
3949         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
3950         (get_fixed_memory_packet_size): New.
3951         (get_memory_packet_size): Use it.
3952         (set_memory_packet_size): Don't override the config size with
3953         DEFAULT_MAX_MEMORY_PACKET_SIZE.
3954         (show_memory_packet_size): Use get_fixed_memory_packet_size.
3955         Don't refer to get_memory_packet_size if not connected to a remote
3956         target.  Show "(default)" if configured size is 0.
3957
3958 2018-05-22  Pedro Alves  <palves@redhat.com>
3959
3960         * remote.c (remote_target::mourn_inferior): Move
3961         discard_pending_stop_replies call here from ...
3962         (_initialize_remote): ... here.
3963
3964 2018-05-22  Pedro Alves  <palves@redhat.com>
3965
3966         * remote.c (compare_section_command): Remove set_general_process
3967         call.
3968
3969 2018-05-22  Pedro Alves  <palves@redhat.com>
3970
3971         * remote.c (struct packet_reg, struct remote_arch_state):
3972         Move higher up in the file.
3973         (remote_state) <m_arch_states>: Store remote_arch_state values
3974         instead of remote_arch_state pointers.
3975         (remote_state::get_remote_arch_state): Adjust.
3976
3977 2018-05-22  Pedro Alves  <palves@redhat.com>
3978
3979         * remote.c: Include <unordered_map>.
3980         (remote_state): Now a class.
3981         (remote_state) <get_remote_arch_state>: Declare method.
3982         <get_remote_arch_state>: New field.
3983         (remote_arch_state) <remote_arch_state>: Declare ctor.
3984         <regs>: Now a unique_ptr.
3985         (remote_gdbarch_data_handle): Delete.
3986         (get_remote_arch_state): Delete.
3987         (remote_state::get_remote_arch_state): New.
3988         (get_remote_state): Adjust to call remote_state's
3989         get_remote_arch_state method.
3990         (init_remote_state): Delete, bits factored out to ...
3991         (remote_arch_state::remote_arch_state): ... this new method.
3992         (get_remote_packet_size, get_memory_packet_size)
3993         (process_g_packet, remote_target::fetch_registers)
3994         (remote_target::prepare_to_store, store_registers_using_G)
3995         (remote_target::store_registers, remote_target::get_trace_status):
3996         Adjust to call remote_state's method.
3997         (_initialize_remote): Remove reference to
3998         remote_gdbarch_data_handle.
3999
4000 2018-05-22  Pedro Alves  <palves@redhat.com>
4001
4002         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
4003         pread>: New method declarations.
4004         (remote_target::open_1): Adjust.
4005         (readahead_cache_invalidate): Rename to ...
4006         (readahead_cache::invalidate): ... this, and adjust to be a class
4007         method.
4008         (readahead_cache_invalidate_fd): Rename to ...
4009         (readahead_cache::invalidate_fd): ... this, and adjust to be a
4010         class method.
4011         (remote_hostio_pwrite): Adjust.
4012         (remote_hostio_pread_from_cache): Rename to ...
4013         (readahead_cache::pread): ... this, and adjust to be a class
4014         method.
4015         (remote_hostio_close): Adjust.
4016
4017 2018-05-22  Pedro Alves  <palves@redhat.com>
4018
4019         * remote.c (remote_hostio_close_cleanup): Delete.
4020         (class scoped_remote_fd): New.
4021         (remote_file_put, remote_file_get): Use it.
4022
4023 2018-05-22  Pedro Alves  <palves@redhat.com>
4024
4025         (struct vCont_action_support): Use bool and initialize all fields.
4026         (struct readahead_cache): Initialize all fields.
4027         (remote_state): Use bool and initialize all fields.
4028         (remote_state::remote_state, remote_state::~remote_state): New.
4029         (new_remote_state): Delete.
4030         (_initialize_remote): Use new to allocate remote_state.
4031
4032 2018-05-22  Pedro Alves  <palves@redhat.com>
4033             張俊芝  <zjz@zjz.name>
4034
4035         PR gdb/22973
4036         * c-exp.y: Include "c-support.h".
4037         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4038         of tolower.  Use c_ident_is_alpha to scan names.
4039         * c-lang.c: Include "c-support.h".
4040         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4041         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4042         * c-support.h: New file, with bits factored out from ...
4043         * cp-name-parser.y: ... this file.
4044         Include "c-support.h".
4045         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4046         c-support.h and renamed.
4047         (symbol_end, yylex): Adjust.
4048
4049 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4050
4051         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4052         parameter type to CORE_ADDR.
4053         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4054         parameter type in declaration to CORE_ADDR.
4055         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4056         target_auxv_search to get AT_HWCAP and use the result to get the
4057         target description.
4058         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4059         to CORE_ADDR. Remove the cast of the return value to unsigned
4060         long. Fix error predicate of target_auxv_search.
4061         (ppc_linux_nat_target::read_description): Change the type of the
4062         hwcap variable to CORE_ADDR.
4063
4064 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4065
4066         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4067         if the size of fpscr is larger than 32 bits.
4068
4069 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4070
4071         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4072         (ppc32_linux_vsxregmap): New global.
4073         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4074         regcache_supply_regset, and regcache_collect_regset.
4075         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4076         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4077         (fetch_vsx_register, store_vsx_register): Remove.
4078         (fetch_vsx_registers): Add regno parameter. Get regset using
4079         ppc_linux_vsxregset. Use regset to supply registers.
4080         (store_vsx_registers): Add regno parameter. Get regset using
4081         ppc_linux_vsxregset. Use regset to collect registers.
4082         (fetch_register): Call fetch_vsx_registers instead of
4083         fetch_vsx_register.
4084         (store_register): Call store_vsx_registers instead of
4085         store_vsx_register.
4086         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4087         new regno parameter.
4088         (store_ppc_registers): Call store_vsx_registers with -1 for the
4089         new regno parameter.
4090         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4091         (ppc_collect_vsxregset): Remove.
4092
4093 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4094
4095         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4096         offset fields.
4097         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4098         for vector register offset fields.
4099         (ppc64_fbsd_reg_offsets): Likewise.
4100         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4101         to vector register offset fields.
4102         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4103         to vector register offset fields.
4104         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4105         vector register offset fields.
4106         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4107         initializers for vector register offset fields.
4108         (rs6000_aix64_reg_offsets): Likewise.
4109         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4110         (ppc_supply_vrregset): Remove.
4111         (ppc_collect_vrregset): Remove.
4112         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4113         (ppc_linux_vrregset) : New function.
4114         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4115         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4116         (ppc32_linux_vrregset): Remove.
4117         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4118         and use result instead of ppc32_linux_vrregset.
4119         (ppc32_linux_reg_offsets): Remove initializers for vector register
4120         offset fields.
4121         (ppc64_linux_reg_offsets): Likewise.
4122         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4123         * ppc-linux-nat.c: Include regset.h.
4124         (gdb_vrregset_t): Adjust comment to account for little-endian
4125         mode.
4126         (supply_vrregset, fill_vrregset): Remove.
4127         (fetch_altivec_register, store_altivec_register): Remove.
4128         (fetch_altivec_registers): Add regno parameter. Get regset using
4129         ppc_linux_vrregset. Use regset to supply registers.
4130         (store_altivec_registers): Add regno parameter. Get regset using
4131         ppc_linux_vrregset. Use regset to collect registers.
4132         (fetch_register): Call fetch_altivec_registers instead of
4133         fetch_altivec_register.
4134         (store_register): Call store_altivec_registers instead of
4135         store_altivec_register.
4136         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4137         the new regno parameter.
4138         (store_ppc_registers): Call store_altivec_registers with -1 for
4139         the new regno parameter.
4140
4141 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4142
4143         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4144         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4145         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4146         (gdb_vrregset_t): Change array type size to
4147         PPC_LINUX_SIZEOF_VRREGSET.
4148         (gdb_vsxregset_t): Change array type size to
4149         PPC_LINUX_SIZEOF_VSXREGSET.
4150         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4151         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4152         PPC_LINUX_SIZEOF_VSXREGSET.
4153
4154 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4155
4156         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4157         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4158         nat/ppc-linux.c.
4159         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4160         ppc_linux_target_wordsize with tid.
4161         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4162         wordsize with tid.
4163         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4164         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4165         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4166         tid parameter. Remove static specifier.
4167         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4168         (ppc_linux_target_wordsize): New declaration.
4169
4170 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4171
4172         * arch/ppc-linux-common.c: New file.
4173         * arch/ppc-linux-common.h: New file.
4174         * arch/ppc-linux-tdesc.h: New file.
4175         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4176         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4177         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4178         arch/ppc-linux-tdesc.h.
4179         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4180         arch/ppc-linux-tdesc.h.
4181         (ppc_linux_nat_target::read_description): Remove target
4182         description matching code. Fill a ppc_linux_features struct and
4183         call ppc_linux_match_description with it. Move comment about ISA
4184         2.05 to ppc-linux-common.c.
4185         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4186         arch/ppc-linux-tdesc.h.
4187         (ppc_linux_core_read_description): Remove target description
4188         matching code. Fill a ppc_linux_features struct and call
4189         ppc_linux_match_description with it.
4190         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4191         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4192         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4193         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4194         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4195         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4196         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4197         (tdesc_powerpc_e500l): Remove.
4198
4199 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4200
4201         * ada-lang.c (catch_assert_command): Pass empty string instead
4202         of NULL for excep_string argument.
4203
4204 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4205
4206         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4207         the width of the requested register exceeds the width of the
4208         `ptrace' data type.
4209
4210 2018-05-21  Tom Tromey  <tom@tromey.com>
4211
4212         * printcmd.c (output_command): Remove.
4213         (output_command_const): Rename to output_command.
4214         * valprint.h (output_command): Rename from output_command_const.
4215         * tracepoint.c (trace_dump_actions): Call output_command.
4216
4217 2018-05-21  Tom Tromey  <tom@tromey.com>
4218
4219         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4220         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4221         * ada-lang.h (create_ada_exception_catchpoint): Update.
4222         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4223         std::string.
4224         (create_excep_cond_exprs, ~ada_catchpoint)
4225         (should_stop_exception, print_one_exception)
4226         (print_mention_exception, print_recreate_exception): Update.
4227         (ada_get_next_arg): Remove.
4228         (catch_ada_exception_command_split): Use std::string.  Change type
4229         of "excep_string", "cond_string".
4230         (catch_ada_exception_command): Update.
4231         (create_ada_exception_catchpoint): Change type of excep_string.
4232         (ada_exception_sal): Remove excep_string parameter.
4233         (~ada_catchpoint): Remove.
4234
4235 2018-05-21  Tom Tromey  <tom@tromey.com>
4236
4237         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4238         cleanup.
4239
4240 2018-05-21  Tom Tromey  <tom@tromey.com>
4241
4242         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4243         Return unique_xmalloc_ptr.
4244         (print_it_exception): Update.
4245
4246 2018-05-21  Tom Tromey  <tom@tromey.com>
4247
4248         * tracepoint.c (trace_dump_actions): Use std::string.
4249
4250 2018-05-21  Tom Tromey  <tom@tromey.com>
4251
4252         * symfile.c (reread_symbols): Use std::string for original_name.
4253
4254 2018-05-21  Tom Tromey  <tom@tromey.com>
4255
4256         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4257         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4258         constructor.
4259
4260 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4261
4262         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4263         instance to...
4264         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4265         * objfiles.c (get_objfile_bfd_data): Allocate
4266         objfile_per_bfd_storage with obstack_new when allocating on
4267         obstack.
4268
4269 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4270
4271         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4272         OBSTACK_ZALLOC.
4273         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4274         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4275         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4276         (add_pending): Likewise.
4277         (parse_symbol): Likewise.
4278         (parse_partial_symbols): Likewise.
4279         (psymtab_to_symtab_1): Likewise.
4280         (new_psymtab): Likewise.
4281         (elfmdebug_build_psymtabs): Likewise.
4282         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4283         * objfiles.c (get_objfile_bfd_data): Likewise.
4284         (objfile_register_static_link): Likewise.
4285         * psymtab.c (allocate_psymtab): Likewise.
4286         * stabsread.c (read_member_functions): Likewise.
4287         * xcoffread.c (xcoff_end_psymtab): Likewise.
4288
4289 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4290
4291         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4292         compiler supports std::is_trivially_constructible.
4293         * common/poison.h: Include obstack.h.
4294         (IsMallocable): Define to is_trivially_constructible if the
4295         compiler supports it, define to true_type otherwise.
4296         (xobnew): New.
4297         (XOBNEW): Redefine.
4298         (xobnewvec): New.
4299         (XOBNEWVEC): Redefine.
4300         * gdb_obstack.h (obstack_zalloc): New.
4301         (OBSTACK_ZALLOC): Redefine.
4302         (obstack_calloc): New.
4303         (OBSTACK_CALLOC): Redefine.
4304         (obstack_new): New.
4305         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4306         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4307         gdbarch.c.
4308         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4309         obstack_calloc/obstack_zalloc.
4310         (gdbarch_obstack_zalloc): Remove.
4311         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4312
4313 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4314
4315         * stack.c (backtrace_command_1): Remove useless variable int i.
4316
4317 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4318
4319         * stack.c (print_frame_info): Fix comment.
4320
4321 2018-05-18  Tom Tromey  <tom@tromey.com>
4322
4323         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4324         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4325         (~dwarf2_per_objfile): Update
4326         (dwarf2_get_dwz_file): Use new.
4327         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4328         unique_ptr.
4329
4330 2018-05-18  Tom Tromey  <tom@tromey.com>
4331
4332         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4333         unique_ptr.
4334         * dwarf2read.c (struct dwp_file): Add constructor and
4335         initializers.
4336         (open_and_init_dwp_file): Return a unique_ptr.
4337         (dwarf2_per_objfile, create_dwp_hash_table)
4338         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4339         (lookup_dwo_unit_in_dwp): Update.
4340         (open_and_init_dwp_file, get_dwp_file): Update.
4341
4342 2018-05-18  Tom Tromey  <tom@tromey.com>
4343
4344         * dwarf2read.c (dwarf2_per_objfile): Update.
4345         (struct mapped_index): Add initializers.
4346         (dwarf2_read_index): Use new.
4347         (dw2_symtab_iter_init): Update.
4348         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4349         unique_ptr.
4350
4351 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4352
4353         * dwarf2read.c (mapped_index) <total_size>: Remove.
4354
4355 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4356
4357         * unittests/format_pieces-selftests.c (test_format_specifier):
4358         Add ARI comments.
4359
4360 2018-05-18  Tom Tromey  <tom@tromey.com>
4361
4362         * c-typeprint.c (maybe_print_hole): New function.
4363         (c_print_type_struct_field_offset): Update.
4364         (c_type_print_base_struct_union): Call maybe_print_hole.
4365
4366 2018-05-17  Keith Seitz  <keiths@redhat.com>
4367
4368         * breakpoint.c (build_bpstat_chain): New function, moved from
4369         bpstat_stop_status.
4370         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4371         If no stop chain is passed, call build_bpstat_chain to build it.
4372         * breakpoint.h (build_bpstat_chain): Declare.
4373         (bpstat_stop_status): Move documentation here from breakpoint.c.
4374         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4375         build the stop chain and pass it to skip_inline_frames.
4376         Pass this stop chain to bpstat_stop_status.
4377         * inline-frame.c: Include breakpoint.h.
4378         (stopped_by_user_bp_inline_frame): New function.
4379         (skip_inline_frames): Add parameter `stop_chain'.
4380         Move documention to inline-frame.h.
4381         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4382         whether the frame should be elided.
4383         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4384         Add moved documentation and update for new parameter.
4385
4386 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4387
4388         PR cli/14975
4389         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4390         unittests/format_pieces-selftests.c.
4391         * common/format.h (format_piece) <operator==>: New.
4392         (format_pieces) <operator[]>: Remove.
4393         * common/format.c (format_pieces::format_pieces): Handle \e.
4394         * unittests/format_pieces-selftests.c: New.
4395
4396 2018-05-17  Tom Tromey  <tom@tromey.com>
4397
4398         PR symtab/23010:
4399         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
4400         (dw2_instantiate_symtab): Add skip_partial parameter.
4401         (dw2_find_last_source_symtab, dw2_map_expand_apply)
4402         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
4403         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
4404         (dw2_expand_symtabs_matching_one)
4405         (dw2_find_pc_sect_compunit_symtab)
4406         (dw2_debug_names_lookup_symbol)
4407         (dw2_debug_names_expand_symtabs_for_function): Update.
4408         (init_cutu_and_read_dies): Add skip_partial parameter.
4409         (process_psymtab_comp_unit, build_type_psymtabs_1)
4410         (process_skeletonless_type_unit, load_partial_comp_unit)
4411         (psymtab_to_symtab_1): Update.
4412         (load_full_comp_unit): Add skip_partial parameter.
4413         (process_imported_unit_die, dwarf2_read_addr_index)
4414         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
4415         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
4416         (read_signatured_type): Update.
4417
4418 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4419
4420         * value.c (release_value): Remove unused variable.
4421         (record_latest_value): Likewise.
4422         (access_value_history): Likewise.
4423         (preserve_values): Likewise.
4424
4425 2018-05-17  Tom Tromey  <tom@tromey.com>
4426
4427         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
4428         Initialize.
4429
4430 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
4431
4432         PR gdb/22286
4433         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
4434         Also handle registers whose width is not a multiple of
4435         PTRACE_TYPE_RET.
4436         (linux_nat_trad_target::store_register): Likewise.
4437
4438 2018-05-16  Tom Tromey  <tom@tromey.com>
4439
4440         * gdbcore.h (core_bfd): Redefine.
4441         * corelow.c (core_target::close): Update.
4442         (core_target_open): Update.
4443         * progspace.h (struct program_space) <cbfd>: Now a
4444         gdb_bfd_ref_ptr.
4445
4446 2018-05-16  Tom Tromey  <tom@tromey.com>
4447
4448         PR cli/19551:
4449         * symfile-add-flags.h (enum symfile_add_flags)
4450         <SYMFILE_NOT_FILENAME>: New constant.
4451         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
4452         objfile name from BFD.
4453         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
4454         * minidebug.c (find_separate_debug_file_in_section): Put
4455         ".gnu_debugdata" into BFD's file name.
4456
4457 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
4458
4459         * regcache.c (regcache_read_ftype, regcache_write_ftype):
4460         Remove.
4461
4462 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
4463
4464         PR binutils/21446
4465         * aarch64-tdep.c (aarch64_analyze_prologue,
4466         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
4467         Indicate not interested in errors.
4468
4469 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4470
4471         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
4472         Supply the MIPS_ZERO_REGNUM register.
4473
4474 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4475
4476         * mips-tdep.c (mask_address_var): Make variable static.
4477
4478 2018-05-14  Tom Tromey  <tom@tromey.com>
4479
4480         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
4481
4482 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
4483
4484         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
4485         FXSAVE_ADDR for the mxcsr register.
4486
4487 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
4488
4489         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
4490
4491 2018-05-11  Pedro Alves  <palves@redhat.com>
4492
4493         * corelow.c (core_target) <core_target>: No longer inline.
4494         Initialize m_core_gdbarch, m_core_vec and build the section table
4495         here.
4496         <~core_target>: New.
4497         <core_gdbarch, get_core_register_section>: New methods.
4498         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
4499         factored out from ...
4500         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
4501         (core_ops): Delete.
4502         (sniff_core_bfd): Add gdbarch parameter.
4503         (core_close): Delete, merged into ...
4504         (core_target::close): ... here.  Delete self.
4505         (core_close_cleanup): Delete.
4506         (core_target_open): Allocate a core_target on the heap.  Use a
4507         unique_ptr instead of a cleanup.  Bits moved into the core_target
4508         ctor.  Adjust to use core_target methods instead of globals.
4509         (get_core_register_section): Rename to ...
4510         (core_target::get_core_register_section): ... this and adjust.
4511         (struct get_core_registers_cb_data): New.
4512         (get_core_registers_cb): Use it.  Use bool.
4513         (core_target::fetch_registers, core_target::files_info)
4514         (core_target::xfer_partial, core_target::read_description)
4515         (core_target::pid_to, core_target::thread_name): Adjust to
4516         reference class fields instead of globals.
4517         * target.h (struct target_ops_deleter, target_ops_up): New.
4518
4519 2018-05-11  Pedro Alves  <palves@redhat.com>
4520
4521         * corefile.c (core_file_command): Move to corelow.c.
4522         * corelow.c (the_core_target): Delete.
4523         (core_file_command): Moved from corefile.c.  Check exec_bfd
4524         instead of the_core_target.  Use target_detach instead of calling
4525         into the_core_target directly.
4526         (maybe_say_no_core_file_now): New.
4527         (core_target::detach): Use it.
4528         (_initialize_corelow): Remove references to the_core_target.
4529         * gdbcore.h (the_core_target): Delete.
4530
4531 2018-05-11  Tom Tromey  <tromey@redhat.com>
4532             Pedro Alves  <palves@redhat.com>
4533
4534         * corefile.c (core_bfd): Remove.
4535         * gdbcore.h (core_bfd): Now a macro.
4536         * progspace.h (struct program_space) <cbfd>: New field.
4537
4538 2018-05-11  Tom Tromey  <tom@tromey.com>
4539
4540         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
4541         gdb::def_vector.
4542
4543 2018-05-10  Tom Tromey  <tom@tromey.com>
4544
4545         * configure: Rebuild.
4546         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
4547
4548 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
4549
4550         PR server/23158:
4551         * regformats/regdat.sh: Adjust script, following the addition
4552         of the new expedite_regs parameter to init_target_desc.
4553
4554 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
4555     
4556         PR gdb/23127
4557         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
4558         set_gdbarch_significant_addr_bit.
4559         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
4560         set_gdbarch_significant_addr_bit.
4561         * utils.c (address_significant): Update to sign extend addr.
4562
4563 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
4564
4565         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
4566         (xtensa_linux_init_abi): Limit tdep->num_regs by
4567         tdep->num_nopriv_regs.
4568         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
4569         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
4570         not initialized.
4571
4572 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
4573
4574         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
4575
4576 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
4577
4578         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
4579         (I387_MXCSR_INIT_VAL): New constant.
4580         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
4581         buffer if it was supplied by the inferior.
4582         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
4583         (i387_xsave_get_clear_bv): New function.
4584         (i387_supply_xsave): Only read x87 control registers from the
4585         xsave buffer if the feature is enabled, and the state will have
4586         been written, otherwise, provide a suitable default.
4587         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
4588         including x87 control registers.  Update control registers if they
4589         have changed from the default value, and mark features as enabled
4590         as required.
4591         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
4592
4593 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
4594
4595         * spu-tdep.c (info_spu_event_command): Fix output formatting.
4596
4597 2018-05-07  Tom Tromey  <tom@tromey.com>
4598
4599         * configure: Rebuild.
4600         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
4601
4602 2018-05-07  Tom Tromey  <tom@tromey.com>
4603
4604         PR tdep/20362:
4605         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
4606         bit.  Use correct value for VDIV.
4607
4608 2018-05-04  Tom Tromey  <tom@tromey.com>
4609
4610         * configure: Rebuild.
4611         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
4612
4613 2018-05-04  Tom Tromey  <tom@tromey.com>
4614
4615         * linux-record.c (record_linux_system_call) <case
4616         RECORD_SYS_RECVFROM>: Add "break".
4617
4618 2018-05-04  Tom Tromey  <tom@tromey.com>
4619
4620         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
4621         Add missing "break".
4622         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
4623         Add missing "break".
4624
4625 2018-05-04  Tom Tromey  <tom@tromey.com>
4626
4627         * rs6000-tdep.c (ppc_process_record_op4)
4628         (ppc_process_record_op63): Add fall-through comment.
4629
4630 2018-05-04  Tom Tromey  <tom@tromey.com>
4631
4632         * i386-tdep.c (i386_process_record): Add fall-through comment.
4633
4634 2018-05-04  Tom Tromey  <tom@tromey.com>
4635
4636         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
4637         comment.
4638
4639 2018-05-04  Tom Tromey  <tom@tromey.com>
4640
4641         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
4642         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
4643         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
4644         comment.
4645         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
4646         comment.
4647         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
4648         comment.
4649
4650 2018-05-04  Tom Tromey  <tom@tromey.com>
4651
4652         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
4653
4654 2018-05-04  Tom Tromey  <tom@tromey.com>
4655
4656         * s390-tdep.c (s390_process_record): Fix fall-through comments.
4657         * xcoffread.c (scan_xcoff_symtab): Move comment later.
4658         * symfile.c (section_is_mapped): Fix fall-through comment.
4659         * stabsread.c (define_symbol, read_member_functions): Fix
4660         fall-through comment.
4661         * s390-linux-tdep.c (s390_process_record): Fix fall-through
4662         comment.
4663         * remote.c (remote_wait_as): Fix fall-through comment.
4664         * p-exp.y (yylex): Fix fall-through comment.
4665         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
4666         comment.
4667         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
4668         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
4669         * jv-exp.y (yylex): Fix fall-through comment.
4670         * go-exp.y (lex_one_token): Fix fall-through comment.
4671         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
4672         fall-through comment.
4673         * f-exp.y (yylex): Fix fall-through comment.
4674         * dwarf2read.c (process_die): Fix fall-through comments.
4675         * dbxread.c (process_one_symbol): Fix fall-through comment.
4676         * d-exp.y (lex_one_token): Fix fall-through comment.
4677         * cp-name-parser.y (yylex): Fix fall-through comment.
4678         * coffread.c (coff_symtab_read): Fix fall-through comment.
4679         * c-exp.y (lex_one_token): Fix fall-through comment.
4680         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
4681         comment.
4682         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
4683         comment.
4684
4685 2018-05-04  Tom Tromey  <tom@tromey.com>
4686
4687         PR python/22730:
4688         * NEWS: Mention gdb.execute change.
4689         * gdbcmd.h (execute_control_command): Don't declare.
4690         * python/python.c (execute_gdb_command): Use read_command_lines_1,
4691         execute_control_commands, execute_control_commands_to_string.
4692         * cli/cli-script.h (execute_control_commands)
4693         (execute_control_commands_to_string): Declare.
4694         (execute_control_command): Add from_tty parameter.
4695         * cli/cli-script.c (execute_control_commands)
4696         (execute_control_commands_to_string): New functions.
4697         (execute_user_command): Use execute_control_commands.
4698         (execute_control_command_1): Add "from_tty" parameter.  Update.
4699         (execute_control_command): Likewise.
4700
4701 2018-05-04  Tom Tromey  <tom@tromey.com>
4702
4703         PR python/22731:
4704         * NEWS: Mention that breakpoint commands are writable.
4705         * python/py-breakpoint.c (bppy_set_commands): New function.
4706         (breakpoint_object_getset) <"commands">: Use it.
4707
4708 2018-05-04  Tom Tromey  <tom@tromey.com>
4709
4710         * tracepoint.c (actions_command): Update.
4711         * mi/mi-cmd-break.c (mi_command_line_array)
4712         (mi_command_line_array_cnt, mi_command_line_array_ptr)
4713         (mi_read_next_line): Remove.
4714         (mi_cmd_break_commands): Update.
4715         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
4716         function_view.
4717         * cli/cli-script.c (get_command_line): Update.
4718         (process_next_line): Use function_view.  Constify.
4719         (recurse_read_control_structure, read_command_lines)
4720         (read_command_lines_1): Change argument types to function_view.
4721         (do_define_command, document_command): Update.
4722         * breakpoint.h (check_tracepoint_command): Don't declare.
4723         * breakpoint.c (check_tracepoint_command): Remove.
4724         (commands_command_1, create_tracepoint_from_upload): Update.
4725
4726 2018-05-04  Tom Tromey  <tom@tromey.com>
4727
4728         PR gdb/11750:
4729         * cli/cli-script.h (enum command_control_type) <define_control>:
4730         New constant.
4731         * cli/cli-script.c (multi_line_command_p): Handle define_control.
4732         (build_command_line, execute_control_command_1)
4733         (process_next_line): Likewise.
4734         (do_define_command): New function, extracted from define_command.
4735         (define_command): Use it.
4736
4737 2018-05-04  Tom Tromey  <tom@tromey.com>
4738
4739         * tracepoint.c (actions_command): Update.
4740         * cli/cli-script.h (read_command_lines): Update.
4741         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
4742         (MAX_TMPBUF): Remove define.
4743         (define_command): Use string_printf.
4744         (document_command): Likewise.
4745         * breakpoint.c (commands_command_1): Update.
4746
4747 2018-05-04  Tom Tromey  <tom@tromey.com>
4748
4749         * top.c (execute_command): Update.
4750         * cli/cli-script.h (print_command_lines): Now varargs.
4751         * cli/cli-script.c (print_command_lines): Now varargs.
4752         (execute_control_command_1) <case while_control, case if_control>:
4753         Update.
4754
4755 2018-05-04  Tom Tromey  <tom@tromey.com>
4756
4757         * tracepoint.c (all_tracepoint_actions): Rename from
4758         all_tracepoint_actions_and_cleanup.  Change return type.
4759         (actions_command, encode_actions_1, encode_actions)
4760         (trace_dump_actions, tdump_command): Update.
4761         * remote.c (remote_download_command_source): Update.
4762         * python/python.c (gdbpy_eval_from_control_command)
4763         (python_command, python_interactive_command): Update.
4764         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
4765         * guile/guile.c (guile_command)
4766         (gdbscm_eval_from_control_command, guile_command): Update.
4767         * compile/compile.c (compile_code_command)
4768         (compile_print_command, compile_to_object): Update.
4769         * cli/cli-script.h (struct command_lines_deleter): New.
4770         (counted_command_line): New typedef.
4771         (struct command_line): Add constructor, destructor.
4772         <body_list>: Remove.
4773         <body_list_0, body_list_1>: New members.
4774         (command_line_up): Remove typedef.
4775         (read_command_lines, read_command_lines_1, get_command_line):
4776         Update.
4777         (copy_command_lines): Don't declare.
4778         * cli/cli-script.c (build_command_line): Use "new".
4779         (get_command_line): Return counted_command_line.
4780         (print_command_lines, execute_user_command)
4781         (execute_control_command_1, while_command, if_command): Update.
4782         (realloc_body_list): Remove.
4783         (process_next_line, recurse_read_control_structure): Update.
4784         (read_command_lines, read_command_lines_1): Return counted_command_line.
4785         (free_command_lines): Use "delete".
4786         (copy_command_lines): Remove.
4787         (define_command, document_command, show_user_1): Update.
4788         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
4789         a counted_command_line.
4790         * breakpoint.h (counted_command_line): Remove typedef.
4791         (breakpoint_set_commands): Update.
4792         * breakpoint.c (check_no_tracepoint_commands)
4793         (validate_commands_for_breakpoint): Update.
4794         (breakpoint_set_commands): Change commands to be a
4795         counted_command_line.
4796         (commands_command_1, update_dprintf_command_list)
4797         (create_tracepoint_from_upload): Update.
4798
4799 2018-05-04  Tom Tromey  <tom@tromey.com>
4800
4801         * cli/cli-decode.h (cmd_list_element): New constructor.
4802         (~cmd_list_element): New destructor.
4803         (struct cmd_list_element): Add initializers.
4804         * cli/cli-decode.c (do_add_cmd): Use "new".
4805         (delete_cmd): Use "delete".
4806
4807 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
4808             Pedro Alves <palves@redhat.com>
4809
4810         PR breakpoints/19806 and support for PR external/20207.
4811         * NEWS: Mention Aarch64 watchpoint improvements.
4812         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
4813         watchpoints and PR external/20207 watchpoints.
4814         * nat/aarch64-linux-hw-point.c
4815         (kernel_supports_any_contiguous_range): New.
4816         (aarch64_watchpoint_offset): New.
4817         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
4818         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
4819         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
4820         (aarch64_align_watchpoint): New parameters aligned_offset_p and
4821         next_addr_orig_p.  Support PR external/20207 watchpoints.
4822         (aarch64_downgrade_regs): New.
4823         (aarch64_dr_state_insert_one_point): New parameters offset and
4824         addr_orig.
4825         (aarch64_dr_state_remove_one_point): Likewise.
4826         (aarch64_handle_breakpoint): Update caller.
4827         (aarch64_handle_aligned_watchpoint): Likewise.
4828         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
4829         aligned_offset.
4830         (aarch64_linux_set_debug_regs): Remove const from state.  Call
4831         aarch64_downgrade_regs.
4832         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
4833         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
4834         (DR_CONTROL_MASK): ... this.
4835         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
4836         (unsigned int aarch64_watchpoint_offset): New prototype.
4837         (aarch64_linux_set_debug_regs): Remove const from state.
4838         * utils.c (align_up, align_down): Move to ...
4839         * common/common-utils.c (align_up, align_down): ... here.
4840         * utils.h (align_up, align_down): Move to ...
4841         * common/common-utils.h (align_up, align_down): ... here.
4842
4843 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
4844
4845         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
4846         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
4847         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
4848         Re-implement to match the ABI as summarized in GCC's
4849         gcc/config/sparc/sparc.c.  All callers updated.
4850         (sparc32_store_arguments): Remove assertion.
4851
4852 2018-05-04  Tom Tromey  <tom@tromey.com>
4853
4854         * printcmd.c: Don't include tui.h.
4855         (decode_format): Use skip_spaces.
4856
4857 2018-05-04  Tom Tromey  <tom@tromey.com>
4858
4859         PR gdb/22619:
4860         * printcmd.c (last_count): New global.
4861         (x_command): Use saved count when repeating.
4862
4863 2018-05-04  Tom Tromey  <tom@tromey.com>
4864
4865         * nto-procfs.c (do_closedir_cleanup): Remove.
4866         (procfs_pidlist): Use gdb_dir_up.
4867         * procfs.c (do_closedir_cleanup): Remove.
4868         (proc_update_threads): Use gdb_dir_up.
4869         * common/filestuff.h (struct gdb_dir_deleter): New.
4870         (gdb_dir_up): New typedef.
4871
4872 2018-05-04  Tom Tromey  <tom@tromey.com>
4873
4874         * ada-lang.c (print_mention_exception): Use std::string.
4875
4876 2018-05-04  Tom Tromey  <tom@tromey.com>
4877
4878         * ada-lang.c (create_excep_cond_exprs): Update.
4879         (ada_exception_catchpoint_cond_string): Use std::string.
4880
4881 2018-05-04  Tom Tromey  <tom@tromey.com>
4882
4883         * ada-lang.c (xget_renaming_scope): Return std::string.
4884         (old_renaming_is_invisible): Update.
4885
4886 2018-05-04  Tom Tromey  <tom@tromey.com>
4887
4888         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
4889         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
4890
4891 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
4892
4893         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
4894
4895 2018-05-04  Tom Tromey  <tom@tromey.com>
4896
4897         * remote.c (remote_query_supported_append): Change type.
4898         (remote_check_symbols): Update.
4899
4900 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
4901
4902         PR gdb/11420
4903         * configure.ac: Prepend libpython.
4904         * python/python-config.py: Likewise.
4905         * configure: Regenerate.
4906
4907 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
4908
4909         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
4910
4911 2018-05-03  Pedro Alves  <palves@redhat.com>
4912
4913         * s390-linux-nat.c
4914         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
4915         override.  Write 'true' instead of '1'.
4916         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
4917         declaration.
4918
4919 2018-05-02  Pedro Alves  <palves@redhat.com>
4920
4921         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
4922         add_inf_child_target.
4923         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
4924         add_inf_child_target.
4925         * aix-thread.c (aix_thread_target_info): New.
4926         (aix_thread_target) <shortname, longname, doc>: Delete.
4927         <info>: New.
4928         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
4929         add_inf_child_target.
4930         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
4931         add_inf_child_target.
4932         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
4933         add_inf_child_target.
4934         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
4935         add_inf_child_target.
4936         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
4937         add_inf_child_target.
4938         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
4939         add_inf_child_target.
4940         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
4941         add_inf_child_target.
4942         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
4943         add_inf_child_target.
4944         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
4945         add_inf_child_target.
4946         * bfd-target.c (target_bfd_target_info): New.
4947         (target_bfd) <shortname, longname, doc>: Delete.
4948         <info>: New.
4949         * bsd-kvm.c (bsd_kvm_target_info): New.
4950         (bsd_kvm_target) <shortname, longname, doc>: Delete.
4951         <info>: New.
4952         (bsd_kvm_target::open): Rename to ...
4953         (bsd_kvm_target_open): ... this.  Adjust.
4954         * bsd-uthread.c (bsd_uthread_target_info): New.
4955         (bsd_uthread_target) <shortname, longname, doc>: Delete.
4956         <info>: New.
4957         * corefile.c (core_file_command): Adjust.
4958         * corelow.c (core_target_info): New.
4959         (core_target) <shortname, longname, doc>: Delete.
4960         <info>: New.
4961         (core_target::open): Rename to ...
4962         (core_target_open): ... this.  Adjust.
4963         * ctf.c (ctf_target_info): New.
4964         (ctf_target) <shortname, longname, doc>: Delete.
4965         <info>: New.
4966         (ctf_target::open): Rename to ...
4967         (ctf_target_open): ... this.
4968         (_initialize_ctf): Adjust.
4969         * exec.c (exec_target_info): New.
4970         (exec_target) <shortname, longname, doc>: Delete.
4971         <info>: New.
4972         (exec_target::open): Rename to ...
4973         (exec_target_open): ... this.
4974         * gdbcore.h (core_target_open): Declare.
4975         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
4976         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
4977         add_inf_child_target.
4978         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
4979         add_inf_child_target.
4980         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
4981         add_inf_child_target.
4982         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
4983         add_inf_child_target.
4984         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
4985         add_inf_child_target.
4986         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
4987         add_inf_child_target.
4988         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
4989         add_inf_child_target.
4990         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
4991         add_inf_child_target.
4992         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
4993         add_inf_child_target.
4994         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
4995         add_inf_child_target.
4996         * inf-child.c (inf_child_target_info): New.
4997         (inf_child_target::info): New.
4998         (inf_child_open_target): Remove 'target' parameter.  Use
4999         get_native_target instead.
5000         (inf_child_target::open): Delete.
5001         (add_inf_child_target): New.
5002         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
5003         Delete.
5004         <info>: New.
5005         (add_inf_child_target): Declare.
5006         (inf_child_open_target): Declare.
5007         * linux-thread-db.c (thread_db_target_info): New.
5008         (thread_db_target) <shortname, longname, doc>: Delete.
5009         <info>: New.
5010         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
5011         add_inf_child_target.
5012         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
5013         add_inf_child_target.
5014         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
5015         add_inf_child_target.
5016         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5017         add_inf_child_target.
5018         * make-target-delegates (print_class): Adjust.
5019         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5020         add_inf_child_target.
5021         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5022         add_inf_child_target.
5023         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5024         add_inf_child_target.
5025         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5026         add_inf_child_target.
5027         * nto-procfs.c (nto_native_target_info): New.
5028         (nto_procfs_target_native) <shortname, longname, doc>:
5029         Delete.
5030         <info>: New.
5031         (nto_procfs_target_info): New.
5032         (nto_procfs_target_procfs) <shortname, longname, doc>:
5033         Delete.
5034         <info>: New.
5035         (init_procfs_targets): Adjust.
5036         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5037         add_inf_child_target.
5038         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5039         add_inf_child_target.
5040         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5041         add_inf_child_target.
5042         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5043         add_inf_child_target.
5044         * ravenscar-thread.c (ravenscar_target_info): New.
5045         (ravenscar_thread_target) <shortname, longname, doc>:
5046         Delete.
5047         <info>: New.
5048         * record-btrace.c (record_btrace_target_info):
5049         (record_btrace_target) <shortname, longname, doc>: Delete.
5050         <info>: New.
5051         (record_btrace_target::open): Rename to ...
5052         (record_btrace_target_open): ... this.  Adjust.
5053         * record-full.c (record_longname, record_doc): New.
5054         (record_full_base_target) <shortname, longname, doc>: Delete.
5055         <info>: New.
5056         (record_full_target_info): New.
5057         (record_full_target): <shortname>: Delete.
5058         <info>: New.
5059         (record_full_core_open_1, record_full_open_1): Update comments.
5060         (record_full_base_target::open): Rename to ...
5061         (record_full_open): ... this.
5062         (cmd_record_full_restore): Update.
5063         (_initialize_record_full): Update.
5064         * remote-sim.c (remote_sim_target_info): New.
5065         (gdbsim_target) <shortname, longname, doc>: Delete.
5066         <info>: New.
5067         (gdbsim_target::open): Rename to ...
5068         (gdbsim_target_open): ... this.
5069         (_initialize_remote_sim): Adjust.
5070         * remote.c (remote_doc): New.
5071         (remote_target_info): New.
5072         (remote_target) <shortname, longname, doc>: Delete.
5073         <info>: New.
5074         (extended_remote_target_info): New.
5075         (extended_remote_target) <shortname, longname, doc>: Delete.
5076         <info>: New.
5077         (remote_target::open_1): Make static.  Adjust.
5078         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5079         * s390-linux-nat.c (_initialize_s390_nat): Use
5080         add_inf_child_target.
5081         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5082         add_inf_child_target.
5083         * sol-thread.c (thread_db_target_info): New.
5084         (sol_thread_target) <shortname, longname, doc>: Delete.
5085         <info>: New.
5086         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5087         add_inf_child_target.
5088         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5089         add_inf_child_target.
5090         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5091         add_inf_child_target.
5092         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5093         add_inf_child_target.
5094         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5095         add_inf_child_target.
5096         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5097         add_inf_child_target.
5098         * spu-linux-nat.c (_initialize_spu_nat): Use
5099         add_inf_child_target.
5100         * spu-multiarch.c (spu_multiarch_target_info): New.
5101         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5102         <info>: New.
5103         * target-delegates.c: Regenerate.
5104         * target.c: Include <unordered_map>.
5105         (target_ops_p): Delete.
5106         (DEF_VEC_P(target_ops_p)): Delete.
5107         (target_factories): New.
5108         (test_target_info): New.
5109         (test_target_ops::info): New.
5110         (open_target): Adjust to use target_factories.
5111         (add_target_with_completer): Rename to ...
5112         (add_target): ... this.  Change prototype.  Register target_info
5113         and open callback in target_factories.  Register target_info in
5114         command context instead of target_ops.
5115         (add_target): Delete old implementation.
5116         (add_deprecated_target_alias): Change prototype.  Adjust.
5117         (the_native_target): New.
5118         (set_native_target, get_native_target): New.
5119         (find_default_run_target): Use the_native_target.
5120         (find_attach_target, find_run_target): Simplify.
5121         (target_ops::open): Delete.
5122         (dummy_target_info): New.
5123         (dummy_target::shortname, dummy_target::longname)
5124         (dummy_target::doc): Delete.
5125         (dummy_target::info): New.
5126         (debug_target::shortname, debug_target::longname)
5127         (debug_target::doc): Delete.
5128         (debug_target::info): New.
5129         * target.h (struct target_info): New.
5130         (target_ops::~target_ops): Add comment.
5131         (target_ops::info): New.
5132         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5133         longer virtual.  Implement in terms of target_info.
5134         (set_native_target, get_native_target): Declare.
5135         (target_open_ftype): New.
5136         (add_target, add_target_with_completer)
5137         (add_deprecated_target_alias): Change prototype.
5138         (test_target) <shortname, longname, doc>: Delete.
5139         <info>: New.
5140         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5141         add_inf_child_target.
5142         * tracefile-tfile.c (tfile_target_info): New.
5143         (tfile_target) <shortname, longname, doc>: Delete.
5144         <info>: New.
5145         (tfile_target::open): Rename to ...
5146         (tfile_target_open): ... this.
5147         (_initialize_tracefile_tfile): Adjust.
5148         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5149         add_inf_child_target.
5150         * windows-nat.c (_initialize_windows_nat): Use
5151         add_inf_child_target.
5152         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5153         add_inf_child_target.
5154
5155 2018-05-02  Pedro Alves  <palves@redhat.com>
5156
5157         * linux-nat.h (linux_nat_target) <low_new_thread,
5158         low_delete_thread, low_new_fork, low_forget_process,
5159         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5160         New virtual methods.
5161         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5162         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5163         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5164         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5165         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5166         Delete.
5167         * linux-fork.c (delete_fork): Adjust to call low method.
5168         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5169         (linux_nat_new_fork, linux_nat_forget_process_hook)
5170         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5171         (linux_nat_status_is_event):
5172         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5173         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5174         to call low method.
5175         (sigtrap_is_event): Rename to ...
5176         (linux_nat_target::low_status_is_event): ... this.
5177         (linux_nat_set_status_is_event): Delete.
5178         (save_stop_reason, linux_nat_wait_1)
5179         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5180         low methods.
5181         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5182         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5183         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5184         (linux_nat_set_prepare_to_resume): Delete.
5185         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5186         low virtual methods.
5187         * amd64-linux-nat.c: Likewise.
5188         * arm-linux-nat.c: Likewise.
5189         * i386-linux-nat.c: Likewise.
5190         * ia64-linux-nat.c: Likewise.
5191         * mips-linux-nat.c: Likewise.
5192         * ppc-linux-nat.c: Likewise.
5193         * s390-linux-nat.c: Likewise.
5194         * sparc64-linux-nat.c: Likewise.
5195         * x86-linux-nat.c: Likewise.
5196         * x86-linux-nat.h: Include "nat/x86-linux.h".
5197         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5198         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5199         Override methods.
5200
5201 2018-05-02  Pedro Alves  <palves@redhat.com>
5202
5203         * target.h (target_ops)
5204         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5205         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5206         stopped_by_watchpoint, have_continuable_watchpoint,
5207         stopped_data_address, watchpoint_addr_within_range,
5208         can_accel_watchpoint_condition, can_run, thread_alive,
5209         has_all_memory, has_memory, has_stack, has_registers,
5210         has_execution, can_async_p, is_async_p, supports_non_stop,
5211         always_non_stop_p, can_execute_reverse, supports_multi_process,
5212         supports_enable_disable_tracepoint,
5213         supports_disable_randomization, supports_string_tracing,
5214         supports_evaluation_of_breakpoint_conditions,
5215         can_run_breakpoint_commands, filesystem_is_local,
5216         can_download_tracepoint, get_trace_state_variable_value,
5217         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5218         record_is_replaying, record_will_replay,
5219         augmented_libraries_svr4_read>: Adjust to return bool.
5220         * aarch64-linux-nat.c: All implementations adjusted.
5221         * aix-thread.c: All implementations adjusted.
5222         * arm-linux-nat.c: All implementations adjusted.
5223         * breakpoint.c: All implementations adjusted.
5224         * bsd-kvm.c: All implementations adjusted.
5225         * bsd-uthread.c: All implementations adjusted.
5226         * corelow.c: All implementations adjusted.
5227         * ctf.c: All implementations adjusted.
5228         * darwin-nat.c: All implementations adjusted.
5229         * darwin-nat.h: All implementations adjusted.
5230         * exec.c: All implementations adjusted.
5231         * fbsd-nat.c: All implementations adjusted.
5232         * fbsd-nat.h: All implementations adjusted.
5233         * gnu-nat.c: All implementations adjusted.
5234         * gnu-nat.h: All implementations adjusted.
5235         * go32-nat.c: All implementations adjusted.
5236         * ia64-linux-nat.c: All implementations adjusted.
5237         * inf-child.c: All implementations adjusted.
5238         * inf-child.h: All implementations adjusted.
5239         * inf-ptrace.c: All implementations adjusted.
5240         * inf-ptrace.h: All implementations adjusted.
5241         * linux-nat.c: All implementations adjusted.
5242         * linux-nat.h: All implementations adjusted.
5243         * mips-linux-nat.c: All implementations adjusted.
5244         * nto-procfs.c: All implementations adjusted.
5245         * ppc-linux-nat.c: All implementations adjusted.
5246         * procfs.c: All implementations adjusted.
5247         * ravenscar-thread.c: All implementations adjusted.
5248         * record-btrace.c: All implementations adjusted.
5249         * record-full.c: All implementations adjusted.
5250         * remote-sim.c: All implementations adjusted.
5251         * remote.c: All implementations adjusted.
5252         * s390-linux-nat.c: All implementations adjusted.
5253         * sol-thread.c: All implementations adjusted.
5254         * spu-multiarch.c: All implementations adjusted.
5255         * target-delegates.c: All implementations adjusted.
5256         * target.c: All implementations adjusted.
5257         * target.h: All implementations adjusted.
5258         * tracefile-tfile.c: All implementations adjusted.
5259         * tracefile.c: All implementations adjusted.
5260         * tracefile.h: All implementations adjusted.
5261         * windows-nat.c: All implementations adjusted.
5262         * x86-linux-nat.h: All implementations adjusted.
5263         * x86-nat.h: All implementations adjusted.
5264
5265 2018-05-02  Pedro Alves  <palves@redhat.com>
5266
5267         * make-target-delegates (scan_target_h): Don't trim lines here.
5268         Replace sequences of tabs and/or whitespace with a single
5269         whitespace.
5270         (top level, parsing methods): Trim each line before processing it
5271         here.
5272
5273 2018-05-02  Pedro Alves  <palves@redhat.com>
5274             John Baldwin  <jhb@freebsd.org>
5275
5276         * target.h (enum strata) <debug_stratum>: New.
5277         (struct target_ops) <all delegation methods>: Replace by C++
5278         virtual methods, and drop "to_" prefix.  All references updated
5279         throughout.
5280         <to_shortname, to_longname, to_doc, to_data,
5281         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5282         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5283         virtual methods.  All references updated throughout.
5284         <can_attach, supports_terminal_ours, can_create_inferior,
5285         get_thread_control_capabilities, attach_no_wait>: New
5286         virtual methods.
5287         <insert_breakpoint, remove_breakpoint>: Now
5288         TARGET_DEFAULT_NORETURN methods.
5289         <info_proc>: Now returns bool.
5290         <to_magic>: Delete.
5291         (OPS_MAGIC): Delete.
5292         (current_target): Delete.  All references replaced by references
5293         to ...
5294         (target_stack): ... this.  New.
5295         (target_shortname, target_longname): Adjust.
5296         (target_can_run): Now a function declaration.
5297         (default_child_has_all_memory, default_child_has_memory)
5298         (default_child_has_stack, default_child_has_registers)
5299         (default_child_has_execution): Remove target_ops parameter.
5300         (complete_target_initialization): Delete.
5301         (memory_breakpoint_target): New template class.
5302         (test_target_ops): Refactor as a C++ class with virtual methods.
5303         * make-target-delegates (NAME_PART): Tighten.
5304         (POINTER_PART, CP_SYMBOL): New.
5305         (SIMPLE_RETURN_PART): Reimplement.
5306         (VEC_RETURN_PART): Expect less.
5307         (RETURN_PART, VIRTUAL_PART): New.
5308         (METHOD): Adjust to C++ virtual methods.
5309         (scan_target_h): Remove reference to C99.
5310         (dname): Output "target_ops::" prefix.
5311         (write_function_header): Adjust to output a C++ class method.
5312         (write_declaration): New.
5313         (write_delegator): Adjust to output a C++ class method.
5314         (tdname): Output "dummy_target::" prefix.
5315         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5316         method.
5317         (tdefault_names, debug_names): Delete.
5318         (return_types, tdefaults, styles, argtypes_array): New.
5319         (top level): All methods are delegators.
5320         (print_class): New.
5321         (top level): Print dummy_target and debug_target classes.
5322         * target-delegates.c: Regenerate.
5323         * target-debug.h (target_debug_print_enum_info_proc_what)
5324         (target_debug_print_thread_control_capabilities)
5325         (target_debug_print_thread_info_p): New.
5326         * target.c (dummy_target): Delete.
5327         (the_dummy_target, the_debug_target): New.
5328         (target_stack): Now extern.
5329         (set_targetdebug): Push/unpush debug target.
5330         (default_child_has_all_memory, default_child_has_memory)
5331         (default_child_has_stack, default_child_has_registers)
5332         (default_child_has_execution): Remove target_ops parameter.
5333         (complete_target_initialization): Delete.
5334         (add_target_with_completer): No longer call
5335         complete_target_initialization.
5336         (target_supports_terminal_ours): Use regular delegation.
5337         (update_current_target): Delete.
5338         (push_target): No longer check magic number.  Don't call
5339         update_current_target.
5340         (unpush_target): Don't call update_current_target.
5341         (target_is_pushed): No longer check magic number.
5342         (target_require_runnable): Skip for all stratums over
5343         process_stratum.
5344         (target_ops::info_proc): New.
5345         (target_info_proc): Use find_target_at and
5346         find_default_run_target.
5347         (target_supports_disable_randomization): Use regular delegation.
5348         (target_get_osdata): Use find_target_at.
5349         (target_ops::open, target_ops::close, target_ops::can_attach)
5350         (target_ops::attach, target_ops::can_create_inferior)
5351         (target_ops::create_inferior, target_ops::can_run)
5352         (target_can_run): New.
5353         (default_fileio_target): Use regular delegation.
5354         (target_ops::fileio_open, target_ops::fileio_pwrite)
5355         (target_ops::fileio_pread, target_ops::fileio_fstat)
5356         (target_ops::fileio_close, target_ops::fileio_unlink)
5357         (target_ops::fileio_readlink): New.
5358         (target_fileio_open_1, target_fileio_unlink)
5359         (target_fileio_readlink): Always call the target method.  Handle
5360         FILEIO_ENOSYS.
5361         (return_zero, return_zero_has_execution): Delete.
5362         (init_dummy_target): Delete.
5363         (dummy_target::dummy_target, dummy_target::shortname)
5364         (dummy_target::longname, dummy_target::doc)
5365         (debug_target::debug_target, debug_target::shortname)
5366         (debug_target::longname, debug_target::doc): New.
5367         (target_supports_delete_record): Use regular delegation.
5368         (setup_target_debug): Delete.
5369         (maintenance_print_target_stack): Skip debug_stratum.
5370         (initialize_targets): Instantiate the_dummy_target and
5371         the_debug_target.
5372         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5373         use target_stack.
5374         (target_auxv_search, fprint_target_auxv): Adjust.
5375         (info_auxv_command): Adjust to use target_stack.
5376         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5377         * exceptions.c (print_flush): Handle a NULL target_stack.
5378         * regcache.c (target_ops_no_register): Refactor as class with
5379         virtual methods.
5380
5381         * exec.c (exec_target): New class.
5382         (exec_ops): Now an exec_target.
5383         (exec_open, exec_close_1, exec_get_section_table)
5384         (exec_xfer_partial, exec_files_info, exec_has_memory)
5385         (exec_make_note_section): Refactor as exec_target methods.
5386         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5387         Delete.
5388         (exec_target::find_memory_regions): New.
5389         (_initialize_exec): Don't call init_exec_ops.
5390         * gdbcore.h (exec_file_clear): Delete.
5391
5392         * corefile.c (core_target): Delete.
5393         (core_file_command): Adjust.
5394         * corelow.c (core_target): New class.
5395         (the_core_target): New.
5396         (core_close): Remove target_ops parameter.
5397         (core_close_cleanup): Adjust.
5398         (core_target::close): New.
5399         (core_open, core_detach, get_core_registers, core_files_info)
5400         (core_xfer_partial, core_thread_alive, core_read_description)
5401         (core_pid_to_str, core_thread_name, core_has_memory)
5402         (core_has_stack, core_has_registers, core_info_proc): Rework as
5403         core_target methods.
5404         (ignore, core_remove_breakpoint, init_core_ops): Delete.
5405         (_initialize_corelow): Initialize the_core_target.
5406         * gdbcore.h (core_target): Delete.
5407         (the_core_target): New.
5408
5409         * ctf.c: (ctf_target): New class.
5410         (ctf_ops): Now a ctf_target.
5411         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
5412         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
5413         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
5414         methods.
5415         (init_ctf_ops): Delete.
5416         (_initialize_ctf): Don't call it.
5417         * tracefile-tfile.c (tfile_target): New class.
5418         (tfile_ops): Now a tfile_target.
5419         (tfile_open, tfile_close, tfile_files_info)
5420         (tfile_get_tracepoint_status, tfile_trace_find)
5421         (tfile_fetch_registers, tfile_xfer_partial)
5422         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
5423         Refactor as tfile_target methods.
5424         (tfile_xfer_partial_features): Remove target_ops parameter.
5425         (init_tfile_ops): Delete.
5426         (_initialize_tracefile_tfile): Don't call it.
5427         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
5428         (tracefile_has_stack, tracefile_has_registers)
5429         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
5430         tracefile_target methods.
5431         (init_tracefile_ops): Delete.
5432         (tracefile_target::tracefile_target): New.
5433         * tracefile.h: Include "target.h".
5434         (tracefile_target): New class.
5435         (init_tracefile_ops): Delete.
5436
5437         * spu-multiarch.c (spu_multiarch_target): New class.
5438         (spu_ops): Now a spu_multiarch_target.
5439         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
5440         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
5441         (spu_search_memory, spu_mourn_inferior): Refactor as
5442         spu_multiarch_target methods.
5443         (init_spu_ops): Delete.
5444         (_initialize_spu_multiarch): Remove references to init_spu_ops,
5445         complete_target_initialization.
5446
5447         * ravenscar-thread.c (ravenscar_thread_target): New class.
5448         (ravenscar_ops): Now a ravenscar_thread_target.
5449         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
5450         (ravenscar_thread_alive, ravenscar_pid_to_str)
5451         (ravenscar_fetch_registers, ravenscar_store_registers)
5452         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
5453         (ravenscar_stopped_by_hw_breakpoint)
5454         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
5455         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
5456         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
5457         methods.
5458         (init_ravenscar_thread_ops): Delete.
5459         (_initialize_ravenscar): Remove references to
5460         init_ravenscar_thread_ops and complete_target_initialization.
5461
5462         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
5463         (bsd_uthread_target): New class.
5464         (bsd_uthread_ops): Now a bsd_uthread_target.
5465         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
5466         (bsd_uthread_close, bsd_uthread_mourn_inferior)
5467         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
5468         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
5469         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
5470         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
5471         (bsd_uthread_target): Delete function.
5472         (_initialize_bsd_uthread): Remove reference to
5473         complete_target_initialization.
5474
5475         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
5476         (target_bfd): ... this new class.
5477         (target_bfd_xfer_partial, target_bfd_get_section_table)
5478         (target_bfd_close): Refactor as target_bfd methods.
5479         (target_bfd::~target_bfd): New.
5480         (target_bfd_reopen): Adjust.
5481         (target_bfd::close): New.
5482
5483         * record-btrace.c (record_btrace_target): New class.
5484         (record_btrace_ops): Now a record_btrace_target.
5485         (record_btrace_open, record_btrace_stop_recording)
5486         (record_btrace_disconnect, record_btrace_close)
5487         (record_btrace_async, record_btrace_info)
5488         (record_btrace_insn_history, record_btrace_insn_history_range)
5489         (record_btrace_insn_history_from, record_btrace_call_history)
5490         (record_btrace_call_history_range)
5491         (record_btrace_call_history_from, record_btrace_record_method)
5492         (record_btrace_is_replaying, record_btrace_will_replay)
5493         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
5494         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
5495         (record_btrace_store_registers, record_btrace_prepare_to_store)
5496         (record_btrace_to_get_unwinder)
5497         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
5498         (record_btrace_commit_resume, record_btrace_wait)
5499         (record_btrace_stop, record_btrace_can_execute_reverse)
5500         (record_btrace_stopped_by_sw_breakpoint)
5501         (record_btrace_supports_stopped_by_sw_breakpoint)
5502         (record_btrace_stopped_by_hw_breakpoint)
5503         (record_btrace_supports_stopped_by_hw_breakpoint)
5504         (record_btrace_update_thread_list, record_btrace_thread_alive)
5505         (record_btrace_goto_begin, record_btrace_goto_end)
5506         (record_btrace_goto, record_btrace_stop_replaying_all)
5507         (record_btrace_execution_direction)
5508         (record_btrace_prepare_to_generate_core)
5509         (record_btrace_done_generating_core): Refactor as
5510         record_btrace_target methods.
5511         (init_record_btrace_ops): Delete.
5512         (_initialize_record_btrace): Remove reference to
5513         init_record_btrace_ops.
5514         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
5515         the execution_direction global.
5516         (record_full_base_target, record_full_target)
5517         (record_full_core_target): New classes.
5518         (record_full_ops): Now a record_full_target.
5519         (record_full_core_ops): Now a record_full_core_target.
5520         (record_full_target::detach, record_full_target::disconnect)
5521         (record_full_core_target::disconnect)
5522         (record_full_target::mourn_inferior, record_full_target::kill):
5523         New.
5524         (record_full_open, record_full_close, record_full_async): Refactor
5525         as methods of the record_full_base_target class.
5526         (record_full_resume, record_full_commit_resume): Refactor
5527         as methods of the record_full_target class.
5528         (record_full_wait, record_full_stopped_by_watchpoint)
5529         (record_full_stopped_data_address)
5530         (record_full_stopped_by_sw_breakpoint)
5531         (record_full_supports_stopped_by_sw_breakpoint)
5532         (record_full_stopped_by_hw_breakpoint)
5533         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
5534         methods of the record_full_base_target class.
5535         (record_full_store_registers, record_full_xfer_partial)
5536         (record_full_insert_breakpoint, record_full_remove_breakpoint):
5537         Refactor as methods of the record_full_target class.
5538         (record_full_can_execute_reverse, record_full_get_bookmark)
5539         (record_full_goto_bookmark, record_full_execution_direction)
5540         (record_full_record_method, record_full_info, record_full_delete)
5541         (record_full_is_replaying, record_full_will_replay)
5542         (record_full_goto_begin, record_full_goto_end, record_full_goto)
5543         (record_full_stop_replaying): Refactor as methods of the
5544         record_full_base_target class.
5545         (record_full_core_resume, record_full_core_kill)
5546         (record_full_core_fetch_registers)
5547         (record_full_core_prepare_to_store)
5548         (record_full_core_store_registers, record_full_core_xfer_partial)
5549         (record_full_core_insert_breakpoint)
5550         (record_full_core_remove_breakpoint)
5551         (record_full_core_has_execution): Refactor
5552         as methods of the record_full_core_target class.
5553         (record_full_base_target::supports_delete_record): New.
5554         (init_record_full_ops): Delete.
5555         (init_record_full_core_ops): Delete.
5556         (record_full_save): Refactor as method of the
5557         record_full_base_target class.
5558         (_initialize_record_full): Remove references to
5559         init_record_full_ops and init_record_full_core_ops.
5560
5561         * remote.c (remote_target, extended_remote_target): New classes.
5562         (remote_ops): Now a remote_target.
5563         (extended_remote_ops): Now an extended_remote_target.
5564         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
5565         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
5566         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
5567         (remote_pass_signals, remote_set_syscall_catchpoint)
5568         (remote_program_signals, )
5569         (remote_thread_always_alive): Remove target_ops parameter.
5570         (remote_thread_alive, remote_thread_name)
5571         (remote_update_thread_list, remote_threads_extra_info)
5572         (remote_static_tracepoint_marker_at)
5573         (remote_static_tracepoint_markers_by_strid)
5574         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
5575         (remote_open): Refactor as methods of remote_target.
5576         (extended_remote_open, extended_remote_detach)
5577         (extended_remote_attach, extended_remote_post_attach):
5578         (extended_remote_supports_disable_randomization)
5579         (extended_remote_create_inferior): : Refactor as method of
5580         extended_remote_target.
5581         (remote_set_permissions, remote_open_1, remote_detach)
5582         (remote_follow_fork, remote_follow_exec, remote_disconnect)
5583         (remote_resume, remote_commit_resume, remote_stop)
5584         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
5585         (remote_terminal_ours, remote_wait, remote_fetch_registers)
5586         (remote_prepare_to_store, remote_store_registers)
5587         (remote_flash_erase, remote_flash_done, remote_files_info)
5588         (remote_kill, remote_mourn, remote_insert_breakpoint)
5589         (remote_remove_breakpoint, remote_insert_watchpoint)
5590         (remote_watchpoint_addr_within_range)
5591         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
5592         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
5593         (remote_supports_stopped_by_sw_breakpoint)
5594         (remote_stopped_by_hw_breakpoint)
5595         (remote_supports_stopped_by_hw_breakpoint)
5596         (remote_stopped_by_watchpoint, remote_stopped_data_address)
5597         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
5598         (remote_verify_memory): Refactor as methods of remote_target.
5599         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
5600         parameter.
5601         (remote_xfer_partial, remote_get_memory_xfer_limit)
5602         (remote_search_memory, remote_rcmd, remote_memory_map)
5603         (remote_pid_to_str, remote_get_thread_local_address)
5604         (remote_get_tib_address, remote_read_description): Refactor as
5605         methods of remote_target.
5606         (remote_target::fileio_open, remote_target::fileio_pwrite)
5607         (remote_target::fileio_pread, remote_target::fileio_close): New.
5608         (remote_hostio_readlink, remote_hostio_fstat)
5609         (remote_filesystem_is_local, remote_can_execute_reverse)
5610         (remote_supports_non_stop, remote_supports_disable_randomization)
5611         (remote_supports_multi_process, remote_supports_cond_breakpoints)
5612         (remote_supports_enable_disable_tracepoint)
5613         (remote_supports_string_tracing)
5614         (remote_can_run_breakpoint_commands, remote_trace_init)
5615         (remote_download_tracepoint, remote_can_download_tracepoint)
5616         (remote_download_trace_state_variable, remote_enable_tracepoint)
5617         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
5618         (remote_trace_start, remote_get_trace_status)
5619         (remote_get_tracepoint_status, remote_trace_stop)
5620         (remote_trace_find, remote_get_trace_state_variable_value)
5621         (remote_save_trace_data, remote_get_raw_trace_data)
5622         (remote_set_disconnected_tracing, remote_core_of_thread)
5623         (remote_set_circular_trace_buffer, remote_traceframe_info)
5624         (remote_get_min_fast_tracepoint_insn_len)
5625         (remote_set_trace_buffer_size, remote_set_trace_notes)
5626         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
5627         (remote_disable_btrace, remote_teardown_btrace)
5628         (remote_read_btrace, remote_btrace_conf)
5629         (remote_augmented_libraries_svr4_read, remote_load)
5630         (remote_pid_to_exec_file, remote_can_do_single_step)
5631         (remote_execution_direction, remote_thread_handle_to_thread_info):
5632         Refactor as methods of remote_target.
5633         (init_remote_ops, init_extended_remote_ops): Delete.
5634         (remote_can_async_p, remote_is_async_p, remote_async)
5635         (remote_thread_events, remote_upload_tracepoints)
5636         (remote_upload_trace_state_variables): Refactor as methods of
5637         remote_target.
5638         (_initialize_remote): Remove references to init_remote_ops and
5639         init_extended_remote_ops.
5640
5641         * remote-sim.c (gdbsim_target): New class.
5642         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
5643         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
5644         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
5645         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
5646         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
5647         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
5648         Refactor as methods of gdbsim_target.
5649         (gdbsim_ops): Now a gdbsim_target.
5650         (init_gdbsim_ops): Delete.
5651         (gdbsim_cntrl_c): Adjust.
5652         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
5653
5654         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
5655         (the_amd64_linux_nat_target): New.
5656         (amd64_linux_fetch_inferior_registers)
5657         (amd64_linux_store_inferior_registers): Refactor as methods of
5658         amd64_linux_nat_target.
5659         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
5660         * i386-linux-nat.c: Don't include "linux-nat.h".
5661         (i386_linux_nat_target): New class.
5662         (the_i386_linux_nat_target): New.
5663         (i386_linux_fetch_inferior_registers)
5664         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
5665         as methods of i386_linux_nat_target.
5666         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
5667         * inf-child.c (inf_child_ops): Delete.
5668         (inf_child_fetch_inferior_registers)
5669         (inf_child_store_inferior_registers): Delete.
5670         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
5671         methods of inf_child_target.
5672         (inf_child_target::supports_terminal_ours)
5673         (inf_child_target::terminal_init)
5674         (inf_child_target::terminal_inferior)
5675         (inf_child_target::terminal_ours_for_output)
5676         (inf_child_target::terminal_ours, inf_child_target::interrupt)
5677         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
5678         New.
5679         (inf_child_open, inf_child_disconnect, inf_child_close)
5680         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
5681         (inf_child_post_startup_inferior, inf_child_can_run)
5682         (inf_child_pid_to_exec_file): Refactor as methods of
5683         inf_child_target.
5684         (inf_child_follow_fork): Delete.
5685         (inf_child_target::can_create_inferior)
5686         (inf_child_target::can_attach): New.
5687         (inf_child_target::has_all_memory, inf_child_target::has_memory)
5688         (inf_child_target::has_stack, inf_child_target::has_registers)
5689         (inf_child_target::has_execution): New.
5690         (inf_child_fileio_open, inf_child_fileio_pwrite)
5691         (inf_child_fileio_pread, inf_child_fileio_fstat)
5692         (inf_child_fileio_close, inf_child_fileio_unlink)
5693         (inf_child_fileio_readlink, inf_child_use_agent)
5694         (inf_child_can_use_agent): Refactor as methods of
5695         inf_child_target.
5696         (return_zero, inf_child_target): Delete.
5697         (inf_child_target::inf_child_target): New.
5698         * inf-child.h: Include "target.h".
5699         (inf_child_target): Delete function prototype.
5700         (inf_child_target): New class.
5701         (inf_child_open_target, inf_child_mourn_inferior)
5702         (inf_child_maybe_unpush_target): Delete.
5703         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
5704         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
5705         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
5706         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
5707         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
5708         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
5709         (inf_ptrace_wait, inf_ptrace_xfer_partial)
5710         (inf_ptrace_thread_alive, inf_ptrace_files_info)
5711         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
5712         methods of inf_ptrace_target.
5713         (inf_ptrace_target): Delete function.
5714         * inf-ptrace.h: Include "inf-child.h".
5715         (inf_ptrace_target): Delete function declaration.
5716         (inf_ptrace_target): New class.
5717         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
5718         * linux-nat.c (linux_target): New.
5719         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
5720         (linux_nat_target::~linux_nat_target): New.
5721         (linux_child_post_attach, linux_child_post_startup_inferior)
5722         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
5723         (linux_child_remove_fork_catchpoint)
5724         (linux_child_insert_vfork_catchpoint)
5725         (linux_child_remove_vfork_catchpoint)
5726         (linux_child_insert_exec_catchpoint)
5727         (linux_child_remove_exec_catchpoint)
5728         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
5729         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
5730         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
5731         (linux_nat_stopped_data_address)
5732         (linux_nat_stopped_by_sw_breakpoint)
5733         (linux_nat_supports_stopped_by_sw_breakpoint)
5734         (linux_nat_stopped_by_hw_breakpoint)
5735         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
5736         (linux_nat_kill, linux_nat_mourn_inferior)
5737         (linux_nat_xfer_partial, linux_nat_thread_alive)
5738         (linux_nat_update_thread_list, linux_nat_pid_to_str)
5739         (linux_nat_thread_name, linux_child_pid_to_exec_file)
5740         (linux_child_static_tracepoint_markers_by_strid)
5741         (linux_nat_is_async_p, linux_nat_can_async_p)
5742         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
5743         (linux_nat_supports_multi_process)
5744         (linux_nat_supports_disable_randomization, linux_nat_async)
5745         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
5746         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
5747         (linux_nat_fileio_open, linux_nat_fileio_readlink)
5748         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
5749         methods of linux_nat_target.
5750         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
5751         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
5752         parameter.
5753         (check_stopped_by_watchpoint): Adjust.
5754         (linux_xfer_partial): Delete.
5755         (linux_target_install_ops, linux_target, linux_nat_add_target):
5756         Delete.
5757         (linux_nat_target::linux_nat_target): New.
5758         * linux-nat.h: Include "inf-ptrace.h".
5759         (linux_nat_target): New.
5760         (linux_target, linux_target_install_ops, linux_nat_add_target):
5761         Delete function declarations.
5762         (linux_target): Declare global.
5763         * linux-thread-db.c (thread_db_target): New.
5764         (thread_db_target::thread_db_target): New.
5765         (thread_db_ops): Delete.
5766         (the_thread_db_target): New.
5767         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
5768         (thread_db_update_thread_list, thread_db_pid_to_str)
5769         (thread_db_extra_thread_info)
5770         (thread_db_thread_handle_to_thread_info)
5771         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
5772         (thread_db_resume): Refactor as methods of thread_db_target.
5773         (init_thread_db_ops): Delete.
5774         (_initialize_thread_db): Remove reference to init_thread_db_ops.
5775         * x86-linux-nat.c: Don't include "linux-nat.h".
5776         (super_post_startup_inferior): Delete.
5777         (x86_linux_nat_target::~x86_linux_nat_target): New.
5778         (x86_linux_child_post_startup_inferior)
5779         (x86_linux_read_description, x86_linux_enable_btrace)
5780         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
5781         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
5782         methods of x86_linux_nat_target.
5783         (x86_linux_create_target): Delete.  Bits folded ...
5784         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
5785         pointer.
5786         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
5787         (x86_linux_nat_target): New class.
5788         (x86_linux_create_target): Delete.
5789         (x86_linux_add_target): Now takes a linux_nat_target pointer.
5790         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
5791         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
5792         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
5793         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
5794         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
5795         make extern.
5796         (x86_use_watchpoints): Delete.
5797         * x86-nat.h: Include "breakpoint.h" and "target.h".
5798         (x86_use_watchpoints): Delete.
5799         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
5800         (x86_stopped_by_watchpoint, x86_stopped_data_address)
5801         (x86_insert_watchpoint, x86_remove_watchpoint)
5802         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
5803         (x86_stopped_by_hw_breakpoint): New declarations.
5804         (x86_nat_target): New template class.
5805
5806         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
5807         (the_ppc_linux_nat_target): New.
5808         (ppc_linux_fetch_inferior_registers)
5809         (ppc_linux_can_use_hw_breakpoint)
5810         (ppc_linux_region_ok_for_hw_watchpoint)
5811         (ppc_linux_ranged_break_num_registers)
5812         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
5813         (ppc_linux_insert_mask_watchpoint)
5814         (ppc_linux_remove_mask_watchpoint)
5815         (ppc_linux_can_accel_watchpoint_condition)
5816         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
5817         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
5818         (ppc_linux_watchpoint_addr_within_range)
5819         (ppc_linux_masked_watch_num_registers)
5820         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
5821         (ppc_linux_read_description): Refactor as methods of
5822         ppc_linux_nat_target.
5823         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
5824
5825         * procfs.c (procfs_xfer_partial): Delete forward declaration.
5826         (procfs_target): New class.
5827         (the_procfs_target): New.
5828         (procfs_target): Delete function.
5829         (procfs_auxv_parse, procfs_attach, procfs_detach)
5830         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
5831         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
5832         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
5833         (procfs_create_inferior, procfs_update_thread_list)
5834         (procfs_thread_alive, procfs_pid_to_str)
5835         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
5836         (procfs_stopped_data_address, procfs_insert_watchpoint)
5837         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
5838         (proc_find_memory_regions, procfs_info_proc)
5839         (procfs_make_note_section): Refactor as methods of procfs_target.
5840         (_initialize_procfs): Adjust.
5841         * sol-thread.c (sol_thread_target): New class.
5842         (sol_thread_ops): Now a sol_thread_target.
5843         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
5844         (sol_thread_fetch_registers, sol_thread_store_registers)
5845         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
5846         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
5847         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
5848         (init_sol_thread_ops): Delete.
5849         (_initialize_sol_thread): Adjust.  Remove references to
5850         init_sol_thread_ops and complete_target_initialization.
5851
5852         * windows-nat.c (windows_nat_target): New class.
5853         (windows_fetch_inferior_registers)
5854         (windows_store_inferior_registers, windows_resume, windows_wait)
5855         (windows_attach, windows_detach, windows_pid_to_exec_file)
5856         (windows_files_info, windows_create_inferior)
5857         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
5858         (windows_close, windows_pid_to_str, windows_xfer_partial)
5859         (windows_get_tib_address, windows_get_ada_task_ptid)
5860         (windows_thread_name, windows_thread_alive): Refactor as
5861         windows_nat_target methods.
5862         (do_initial_windows_stuff): Adjust.
5863         (windows_target): Delete function.
5864         (_initialize_windows_nat): Adjust.
5865
5866         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
5867         (darwin_mourn_inferior, darwin_kill_inferior)
5868         (darwin_create_inferior, darwin_attach, darwin_detach)
5869         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
5870         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
5871         (darwin_supports_multi_process): Refactor as darwin_nat_target
5872         methods.
5873         (darwin_resume_to, darwin_files_info): Delete.
5874         (_initialize_darwin_inferior): Rename to ...
5875         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
5876         * darwin-nat.h: Include "inf-child.h".
5877         (darwin_nat_target): New class.
5878         (darwin_complete_target): Delete.
5879         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
5880         (darwin_target): New.
5881         (i386_darwin_fetch_inferior_registers)
5882         (i386_darwin_store_inferior_registers): Refactor as methods of
5883         darwin_nat_target.
5884         (darwin_complete_target): Delete, with ...
5885         (_initialize_i386_darwin_nat): ... bits factored out here.
5886
5887         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
5888         (the_alpha_linux_nat_target): New.
5889         (alpha_linux_register_u_offset): Refactor as
5890         alpha_linux_nat_target method.
5891         (_initialize_alpha_linux_nat): Adjust.
5892         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
5893         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
5894         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
5895         methods of linux_nat_trad_target.
5896         (linux_trad_target): Delete.
5897         * linux-nat-trad.h (linux_trad_target): Delete function.
5898         (linux_nat_trad_target): New class.
5899         * mips-linux-nat.c (mips_linux_nat_target): New class.
5900         (super_fetch_registers, super_store_registers, super_close):
5901         Delete.
5902         (the_mips_linux_nat_target): New.
5903         (mips64_linux_regsets_fetch_registers)
5904         (mips64_linux_regsets_store_registers)
5905         (mips64_linux_fetch_registers, mips64_linux_store_registers)
5906         (mips_linux_register_u_offset, mips_linux_read_description)
5907         (mips_linux_can_use_hw_breakpoint)
5908         (mips_linux_stopped_by_watchpoint)
5909         (mips_linux_stopped_data_address)
5910         (mips_linux_region_ok_for_hw_watchpoint)
5911         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
5912         (mips_linux_close): Refactor as methods of mips_linux_nat.
5913         (_initialize_mips_linux_nat): Adjust to C++ification.
5914
5915         * aix-thread.c (aix_thread_target): New class.
5916         (aix_thread_ops): Now an aix_thread_target.
5917         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
5918         (aix_thread_fetch_registers, aix_thread_store_registers)
5919         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
5920         (aix_thread_thread_alive, aix_thread_pid_to_str)
5921         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
5922         Refactor as methods of aix_thread_target.
5923         (init_aix_thread_ops): Delete.
5924         (_initialize_aix_thread): Remove references to init_aix_thread_ops
5925         and complete_target_initialization.
5926         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
5927         (rs6000_nat_target): New class.
5928         (the_rs6000_nat_target): New.
5929         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
5930         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
5931         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
5932         (super_create_inferior): Delete.
5933         (_initialize_rs6000_nat): Adjust to C++ification.
5934
5935         * arm-linux-nat.c (arm_linux_nat_target): New class.
5936         (the_arm_linux_nat_target): New.
5937         (arm_linux_fetch_inferior_registers)
5938         (arm_linux_store_inferior_registers, arm_linux_read_description)
5939         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
5940         (arm_linux_remove_hw_breakpoint)
5941         (arm_linux_region_ok_for_hw_watchpoint)
5942         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
5943         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
5944         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
5945         arm_linux_nat_target.
5946         (_initialize_arm_linux_nat): Adjust to C++ification.
5947
5948         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
5949         (the_aarch64_linux_nat_target): New.
5950         (aarch64_linux_fetch_inferior_registers)
5951         (aarch64_linux_store_inferior_registers)
5952         (aarch64_linux_child_post_startup_inferior)
5953         (aarch64_linux_read_description)
5954         (aarch64_linux_can_use_hw_breakpoint)
5955         (aarch64_linux_insert_hw_breakpoint)
5956         (aarch64_linux_remove_hw_breakpoint)
5957         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
5958         (aarch64_linux_region_ok_for_hw_watchpoint)
5959         (aarch64_linux_stopped_data_address)
5960         (aarch64_linux_stopped_by_watchpoint)
5961         (aarch64_linux_watchpoint_addr_within_range)
5962         (aarch64_linux_can_do_single_step): Refactor as methods of
5963         aarch64_linux_nat_target.
5964         (super_post_startup_inferior): Delete.
5965         (_initialize_aarch64_linux_nat): Adjust to C++ification.
5966
5967         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
5968         (the_hppa_linux_nat_target): New.
5969         (hppa_linux_fetch_inferior_registers)
5970         (hppa_linux_store_inferior_registers): Refactor as methods of
5971         hppa_linux_nat_target.
5972         (_initialize_hppa_linux_nat): Adjust to C++ification.
5973
5974         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
5975         (the_ia64_linux_nat_target): New.
5976         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
5977         (ia64_linux_stopped_data_address)
5978         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
5979         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
5980         ia64_linux_nat_target methods.
5981         (super_xfer_partial): Delete.
5982         (_initialize_ia64_linux_nat): Adjust to C++ification.
5983
5984         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
5985         (the_m32r_linux_nat_target): New.
5986         (m32r_linux_fetch_inferior_registers)
5987         (m32r_linux_store_inferior_registers): Refactor as
5988         m32r_linux_nat_target methods.
5989         (_initialize_m32r_linux_nat): Adjust to C++ification.
5990
5991         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
5992         (the_m68k_linux_nat_target): New.
5993         (m68k_linux_fetch_inferior_registers)
5994         (m68k_linux_store_inferior_registers): Refactor as
5995         m68k_linux_nat_target methods.
5996         (_initialize_m68k_linux_nat): Adjust to C++ification.
5997
5998         * s390-linux-nat.c (s390_linux_nat_target): New class.
5999         (the_s390_linux_nat_target): New.
6000         (s390_linux_fetch_inferior_registers)
6001         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
6002         (s390_insert_watchpoint, s390_remove_watchpoint)
6003         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
6004         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
6005         (s390_auxv_parse, s390_read_description): Refactor as methods of
6006         s390_linux_nat_target.
6007         (_initialize_s390_nat): Adjust to C++ification.
6008
6009         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
6010         (the_sparc_linux_nat_target): New.
6011         (_initialize_sparc_linux_nat): Adjust to C++ification.
6012         * sparc-nat.c (sparc_fetch_inferior_registers)
6013         (sparc_store_inferior_registers): Remove target_ops parameter.
6014         * sparc-nat.h (sparc_fetch_inferior_registers)
6015         (sparc_store_inferior_registers): Remove target_ops parameter.
6016         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6017         (the_sparc64_linux_nat_target): New.
6018         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6019
6020         * spu-linux-nat.c (spu_linux_nat_target): New class.
6021         (the_spu_linux_nat_target): New.
6022         (spu_child_post_startup_inferior, spu_child_post_attach)
6023         (spu_child_wait, spu_fetch_inferior_registers)
6024         (spu_store_inferior_registers, spu_xfer_partial)
6025         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6026         methods.
6027         (_initialize_spu_nat): Adjust to C++ification.
6028
6029         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6030         (the_tilegx_linux_nat_target): New.
6031         (fetch_inferior_registers, store_inferior_registers):
6032         Refactor as methods.
6033         (_initialize_tile_linux_nat): Adjust to C++ification.
6034
6035         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6036         (the_xtensa_linux_nat_target): New.
6037         (xtensa_linux_fetch_inferior_registers)
6038         (xtensa_linux_store_inferior_registers): Refactor as
6039         xtensa_linux_nat_target methods.
6040         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6041
6042         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6043         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6044         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6045         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6046         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6047         (fbsd_stopped_by_sw_breakpoint)
6048         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6049         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6050         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6051         (fbsd_post_startup_inferior, fbsd_post_attach)
6052         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6053         (fbsd_set_syscall_catchpoint)
6054         (super_xfer_partial, super_resume, super_wait)
6055         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6056         (fbsd_handle_debug_trap): Remove target_ops parameter.
6057         (fbsd_nat_add_target): Delete.
6058         * fbsd-nat.h: Include "inf-ptrace.h".
6059         (fbsd_nat_add_target): Delete.
6060         (USE_SIGTRAP_SIGINFO): Define.
6061         (fbsd_nat_target): New class.
6062
6063         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6064         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6065         (amd64bsd_target): Delete.
6066         * amd64-bsd-nat.h: New file.
6067         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6068         "x86-bsd-nat.h".
6069         (amd64_fbsd_nat_target): New class.
6070         (the_amd64_fbsd_nat_target): New.
6071         (amd64fbsd_read_description): Refactor as method of
6072         amd64_fbsd_nat_target.
6073         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6074         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6075         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6076         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6077         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6078         (i386bsd_target): Delete.
6079         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6080         (i386bsd_fetch_inferior_registers)
6081         (i386bsd_store_inferior_registers): Declare.
6082         (i386_bsd_nat_target): New class.
6083         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6084         (the_i386_fbsd_nat_target): New.
6085         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6086         i386_fbsd_nat_target methods.
6087         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6088         (_initialize_i386fbsd_nat): Adjust to C++ification.
6089         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6090         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6091         (_initialize_x86_bsd_nat): Adjust to C++ification.
6092         * x86-bsd-nat.h: Include "x86-nat.h".
6093         (x86bsd_target): Delete declaration.
6094         (x86bsd_nat_target): New class.
6095
6096         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6097         (the_aarch64_fbsd_nat_target): New.
6098         (aarch64_fbsd_fetch_inferior_registers)
6099         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6100         aarch64_fbsd_nat_target.
6101         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6102         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6103         (the_alpha_bsd_nat_target): New.
6104         (alphabsd_fetch_inferior_registers)
6105         (alphabsd_store_inferior_registers): Refactor as
6106         alpha_bsd_nat_target methods.
6107         (_initialize_alphabsd_nat): Refactor as methods of
6108         alpha_bsd_nat_target.
6109         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6110         (the_amd64_nbsd_nat_target): New.
6111         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6112         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6113         (the_amd64_obsd_nat_target): New.
6114         (_initialize_amd64obsd_nat): Adjust to C++ification.
6115         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6116         (the_arm_fbsd_nat_target): New.
6117         (arm_fbsd_fetch_inferior_registers)
6118         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6119         (_initialize_arm_fbsd_nat): Refactor as methods of
6120         arm_fbsd_nat_target.
6121         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6122         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6123         (the_arm_netbsd_nat_target): New.
6124         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6125         arm_netbsd_nat_target.
6126         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6127         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6128         (the_hppa_nbsd_nat_target): New.
6129         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6130         hppa_nbsd_nat_target methods.
6131         (_initialize_hppanbsd_nat): Adjust to C++ification.
6132         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6133         (the_hppa_obsd_nat_target): New.
6134         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6135         methods of hppa_obsd_nat_target.
6136         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6137         add_target.
6138         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6139         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6140         add_target.
6141         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6142         (_initialize_i386obsd_nat): Use add_target.
6143         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6144         (the_m68k_bsd_nat_target): New.
6145         (m68kbsd_fetch_inferior_registers)
6146         (m68kbsd_store_inferior_registers): Refactor as methods of
6147         m68k_bsd_nat_target.
6148         (_initialize_m68kbsd_nat): Adjust to C++ification.
6149         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6150         (the_mips_fbsd_nat_target): New.
6151         (mips_fbsd_fetch_inferior_registers)
6152         (mips_fbsd_store_inferior_registers): Refactor as methods of
6153         mips_fbsd_nat_target.
6154         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6155         add_target.
6156         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6157         (the_mips_nbsd_nat_target): New.
6158         (mipsnbsd_fetch_inferior_registers)
6159         (mipsnbsd_store_inferior_registers): Refactor as methods of
6160         mips_nbsd_nat_target.
6161         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6162         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6163         (the_mips64_obsd_nat_target): New.
6164         (mips64obsd_fetch_inferior_registers)
6165         (mips64obsd_store_inferior_registers): Refactor as methods of
6166         mips64_obsd_nat_target.
6167         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6168         add_target.
6169         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6170         nbsd_nat_target.
6171         * nbsd-nat.h: Include "inf-ptrace.h".
6172         (nbsd_nat_target): New class.
6173         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6174         (obsd_wait): Refactor as methods of obsd_nat_target.
6175         (obsd_add_target): Delete.
6176         * obsd-nat.h: Include "inf-ptrace.h".
6177         (obsd_nat_target): New class.
6178         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6179         (the_ppc_fbsd_nat_target): New.
6180         (ppcfbsd_fetch_inferior_registers)
6181         (ppcfbsd_store_inferior_registers): Refactor as methods of
6182         ppc_fbsd_nat_target.
6183         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6184         add_target.
6185         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6186         (the_ppc_nbsd_nat_target): New.
6187         (ppcnbsd_fetch_inferior_registers)
6188         (ppcnbsd_store_inferior_registers): Refactor as methods of
6189         ppc_nbsd_nat_target.
6190         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6191         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6192         (the_ppc_obsd_nat_target): New.
6193         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6194         methods of ppc_obsd_nat_target.
6195         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6196         add_target.
6197         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6198         (the_sh_nbsd_nat_target): New.
6199         (shnbsd_fetch_inferior_registers)
6200         (shnbsd_store_inferior_registers): Refactor as methods of
6201         sh_nbsd_nat_target.
6202         (_initialize_shnbsd_nat): Adjust to C++ification.
6203         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6204         (inf_ptrace_xfer_partial): Delete.
6205         (sparc_xfer_partial, sparc_target): Delete.
6206         * sparc-nat.h (sparc_fetch_inferior_registers)
6207         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6208         (sparc_target): Delete function declaration.
6209         (sparc_target): New template class.
6210         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6211         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6212         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6213         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6214         add_target.
6215         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6216         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6217         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6218         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6219         add_target.
6220         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6221         (the_vax_bsd_nat_target): New.
6222         (vaxbsd_fetch_inferior_registers)
6223         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6224         methods.
6225         (_initialize_vaxbsd_nat): Adjust to C++ification.
6226
6227         * bsd-kvm.c (bsd_kvm_target): New class.
6228         (bsd_kvm_ops): Now a bsd_kvm_target.
6229         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6230         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6231         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6232         bsd_kvm_target.
6233         (bsd_kvm_return_one): Delete.
6234         (bsd_kvm_add_target): Adjust to C++ification.
6235
6236         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6237         (nto_procfs_target_procfs): New classes.
6238         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6239         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6240         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6241         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6242         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6243         (procfs_remove_hw_breakpoint, procfs_resume)
6244         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6245         (procfs_kill_inferior, procfs_store_registers)
6246         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6247         as methods of nto_procfs_target.
6248         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6249         (nto_native_ops): Delete.
6250         (procfs_open, procfs_native_open): Delete.
6251         (nto_native_ops): Now an nto_procfs_target_native.
6252         (init_procfs_targets): Adjust to C++ification.
6253         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6254         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6255         Refactor as methods of nto_procfs_target.
6256
6257         * go32-nat.c (go32_nat_target): New class.
6258         (the_go32_nat_target): New.
6259         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6260         (go32_store_registers, go32_xfer_partial, go32_files_info)
6261         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6262         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6263         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6264         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6265         (go32_target): Delete.
6266         (_initialize_go32_nat): Adjust to C++ification.
6267
6268         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6269         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6270         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6271         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6272         gnu_nat_target.
6273         (gnu_target): Delete.
6274         * gnu-nat.h (gnu_target): Delete.
6275         (gnu_nat_target): New class.
6276         * i386-gnu-nat.c (gnu_base_target): New.
6277         (i386_gnu_nat_target): New class.
6278         (the_i386_gnu_nat_target): New.
6279         (_initialize_i386gnu_nat): Adjust to C++ification.
6280
6281 2018-05-02  Pedro Alves  <palves@redhat.com>
6282
6283         * bfd-target.c (target_bfd_xclose): Rename to ...
6284         (target_bfd_close): ... this.
6285         (target_bfd_reopen): Adjust.
6286         * target.c (target_close): Remove references to to_xclose.
6287         * target.h (target_ops::to_xclose): Delete.
6288         (target_ops::to_close): Update comments.
6289
6290 2018-05-02  Pedro Alves  <palves@redhat.com>
6291
6292         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6293         "linux-nat.h".
6294         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6295         * inf-ptrace.c (inf_ptrace_register_u_offset)
6296         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6297         (inf_ptrace_store_register, inf_ptrace_store_registers)
6298         (inf_ptrace_trad_target): Move to ...
6299         * linux-nat-trad.c: ... this new file.
6300         * linux-nat-trad.h: New file.
6301         * linux-nat.c (linux_target_install_ops): Make extern.
6302         (linux_trad_target): Delete.
6303         * linux-nat.h (linux_trad_target): Delete declaration.
6304         (linux_target_install_ops): Declare.
6305         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6306         "linux-nat.h".
6307
6308 2018-05-02  Pedro Alves  <palves@redhat.com>
6309
6310         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6311         procfs_target/add_target here.
6312         * procfs.c (procfs_target): Make static.
6313         (_initialize_procfs): Call add_target here.
6314         * procfs.h (struct target_ops): Remove forward declaration.
6315         (procfs_target): Remove declaration.
6316         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6317
6318 2018-05-02  Pedro Alves  <palves@redhat.com>
6319
6320         * procfs.c (procfs_stopped_by_watchpoint)
6321         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6322         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6323         Forward declare.
6324         (procfs_use_watchpoints): Delete, move contents...
6325         (procfs_target): ... here.
6326         * procfs.h (procfs_use_watchpoints): Delete declaration.
6327         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6328         procfs_use_watchpoints.
6329         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6330         procfs_use_watchpoints.
6331
6332 2018-05-02  Tom Tromey  <tom@tromey.com>
6333
6334         PR python/20084:
6335         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6336         and var_zuinteger_unlimited.
6337         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6338         and PARAM_ZUINTEGER_UNLIMITED.
6339         (set_parameter_value): Handle var_zuinteger and
6340         var_zuinteger_unlimited.
6341         (add_setshow_generic): Likewise.
6342         (parmpy_init): Likewise.
6343
6344 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6345
6346         PR rust/23124
6347         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6348         pointer is not null before dereferencing it.
6349
6350 2018-04-30  Tom Tromey  <tom@tromey.com>
6351
6352         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6353         is_mi_like_p.
6354
6355 2018-04-30  Tom Tromey  <tom@tromey.com>
6356
6357         * breakpoint.c (mention): Remove use of is_mi_like_p.
6358         (print_mention_ranged_breakpoint): Likewise.
6359         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6360         of is_mi_like_p.
6361
6362 2018-04-30  Tom Tromey  <tom@tromey.com>
6363
6364         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6365
6366 2018-04-30  Tom Tromey  <tom@tromey.com>
6367
6368         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6369         (info_spu_event_command): Remove some uses of is_mi_like_p.
6370
6371 2018-04-30  Tom Tromey  <tom@tromey.com>
6372
6373         * python/py-framefilter.c (py_print_single_arg)
6374         (enumerate_locals, py_print_args, py_print_frame): Remove some
6375         uses of is_mi_like_p.
6376
6377 2018-04-30  Tom Tromey  <tom@tromey.com>
6378
6379         * ui-out.c: Update.
6380         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6381         * ui-out.h (ui_out::is_mi_like_p): Now const.
6382         (ui_out::do_is_mi_like_p): Now const.
6383         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6384
6385 2018-04-30  Tom Tromey  <tom@tromey.com>
6386
6387         * varobj.c (varobj_set_visualizer): Use new_reference.
6388         * python/python.c (gdbpy_decode_line): Use new_reference.
6389         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6390         new_reference.
6391
6392 2018-04-30  Tom Tromey  <tom@tromey.com>
6393
6394         * varobj.c (install_new_value): Use new_reference.
6395         * value.h (value_incref): Return void.  Swap intro comment with
6396         value_decref.
6397         * value.c (set_value_parent): Use new_reference.
6398         (value_incref): Return void.  Update intro comment.
6399         (release_value): Use new_reference.
6400         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
6401
6402 2018-04-30  Tom Tromey  <tom@tromey.com>
6403
6404         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
6405         * gdb_bfd.h (new_bfd_ref): Remove.
6406         (gdb_bfd_open): Update comment.
6407         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
6408         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
6409         (gdb_bfd_fdopenr): Use new_reference.
6410         * exec.c (exec_file_attach): Use new_reference.
6411
6412 2018-04-30  Tom Tromey  <tom@tromey.com>
6413
6414         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
6415         method.
6416
6417 2018-04-30  Tom Tromey  <tom@tromey.com>
6418
6419         * jit.c (jit_read_code_entry): Use type_align.
6420         * i386-tdep.c (i386_gdbarch_init): Don't call
6421         set_gdbarch_long_long_align_bit.
6422         * gdbarch.sh: Remove long_long_align_bit.
6423         * gdbarch.c, gdbarch.h: Rebuild.
6424         * arc-tdep.c (arc_type_align): New function.
6425         (arc_gdbarch_init): Use arc_type_align.  Don't call
6426         set_gdbarch_long_long_align_bit.
6427
6428 2018-04-30  Tom Tromey  <tom@tromey.com>
6429
6430         * rust-lang.c (rust_type_alignment): Remove.
6431         (rust_composite_type): Use type_align.
6432
6433 2018-04-30  Tom Tromey  <tom@tromey.com>
6434
6435         * NEWS: Mention Type.align.
6436         * python/py-type.c (typy_get_alignof): New function.
6437         (type_object_getset): Add "alignof".
6438
6439 2018-04-30  Tom Tromey  <tom@tromey.com>
6440
6441         PR exp/17095:
6442         * NEWS: Update.
6443         * std-operator.def (UNOP_ALIGNOF): New operator.
6444         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
6445         New.
6446         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
6447         * c-lang.c (c_op_print_tab): Add alignof.
6448         * c-exp.y (ALIGNOF): New token.
6449         (exp): Add "ALIGNOF" production.
6450         (ident_tokens): Add _Alignof and alignof.
6451
6452 2018-04-30  Tom Tromey  <tom@tromey.com>
6453
6454         * i386-tdep.c (i386_type_align): New function.
6455         (i386_gdbarch_init): Update.
6456         * gdbarch.sh (type_align): New method.
6457         * gdbarch.c, gdbarch.h: Rebuild.
6458         * arch-utils.h (default_type_align): Declare.
6459         * arch-utils.c (default_type_align): New function.
6460         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
6461         (struct type) <align_log2>: New field.
6462         <instance_flags>: Now a bitfield.
6463         (TYPE_RAW_ALIGN): New macro.
6464         (type_align, type_raw_align, set_type_align): Declare.
6465         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
6466         functions.
6467         * dwarf2read.c (quirk_rust_enum): Set type alignment.
6468         (get_alignment, maybe_set_alignment): New functions.
6469         (read_structure_type, read_enumeration_type, read_array_type)
6470         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
6471         (read_subrange_type, read_base_type): Set type alignment.
6472
6473 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
6474
6475         * dwarf2read.c (read_index_from_section): Use bool.
6476
6477 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
6478
6479         PR gdb/22950
6480         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
6481         with #ifdef.
6482
6483 2018-04-29  John Reiser  <jreiser@BitWagon.com>
6484
6485         PR build/22873
6486         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
6487         last step, and do it atomically.
6488
6489 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
6490
6491         * compile/compile-c-types.c (convert_int, convert_float):
6492         Update for C FE v1.
6493
6494 2018-04-27  Tom Tromey  <tom@tromey.com>
6495
6496         PR rust/22545:
6497         * rust-lang.c (rust_inclusive_range_type_p): New function.
6498         (rust_range): Handle inclusive ranges.
6499         (rust_compute_range): Likewise.
6500         * rust-exp.y (struct rust_op) <inclusive>: New field.
6501         (DOTDOTEQ): New constant.
6502         (range_expr): Add "..=" productions.
6503         (operator_tokens): Add "..=" token.
6504         (ast_range): Add "inclusive" parameter.
6505         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
6506         ranges.
6507         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
6508         bounds values.
6509         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
6510         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
6511         Update comments.
6512         * expprint.c (print_subexp_standard): Handle new bounds values.
6513         (dump_subexp_body_standard): Likewise.
6514
6515 2018-04-27  Tom Tromey  <tom@tromey.com>
6516
6517         * configure: Rebuild.
6518         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
6519         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
6520         "OVERRIDE".
6521         (class symbol_needs_eval_context): Likewise.
6522         * dwarf2read.c (mock_mapped_index::symbol_name_count)
6523         (mock_mapped_index::symbol_name_at): Use "override".  Remove
6524         "virtual".
6525         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
6526         "override".
6527         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
6528         * aarch64-tdep.c (instruction_reader::read): Use "override".
6529         (instruction_reader_test::read): Likewise.
6530         * arm-tdep.c (instruction_reader::read): Use "override".
6531         (instruction_reader_thumb::read): Likewise.
6532
6533 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
6534
6535         PR remote/9665
6536         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
6537         instead of remote_send.
6538         (remote_send): Remove.
6539
6540 2018-04-26  Pedro Alves  <palves@redhat.com>
6541
6542         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
6543         find_function_start_sal instead of find_pc_line.
6544
6545 2018-04-26  Pedro Alves  <palves@redhat.com>
6546
6547         * breakpoint.c (set_breakpoint_location_function): Handle
6548         mst_data_gnu_ifunc.
6549         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
6550         * elfread.c (elf_symtab_read): Give data symbols with
6551         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
6552         (elf_rel_plt_read): Update comment.
6553         * linespec.c (convert_linespec_to_sals): Handle
6554         mst_data_gnu_ifunc.
6555         (minsym_found): Handle mst_data_gnu_ifunc.
6556         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
6557         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
6558         * parse.c (find_minsym_type_and_address): Handle
6559         mst_data_gnu_ifunc.
6560         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
6561         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
6562         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
6563         comment.
6564         <mst_data_gnu_ifunc>: New enumerator.
6565
6566 2018-04-26  Pedro Alves  <palves@redhat.com>
6567
6568         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
6569         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
6570         'want_trampoline' parameter by a lookup_msym_prefer parameter.
6571         Handle it.
6572         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
6573         (lookup_minimal_symbol_by_pc): Adjust.
6574         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
6575         (lookup_solib_trampoline_symbol_by_pc): Adjust.
6576         * minsyms.h (lookup_msym_prefer): New enum.
6577         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6578         parameter by a lookup_msym_prefer parameter.
6579
6580 2018-04-26  Pedro Alves  <palves@redhat.com>
6581
6582         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
6583         ends in "@plt" instead of looking at the symbol's section.
6584
6585 2018-04-26  Pedro Alves  <palves@redhat.com>
6586
6587         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
6588         all references.
6589         (find_pc_partial_function_gnu_ifunc): Rename to ...
6590         (find_pc_partial_function): ... this, and remove references to
6591         'is_gnu_ifunc_p'.
6592         (find_pc_partial_function): Delete old implementation.
6593         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
6594
6595 2018-04-26  Pedro Alves  <palves@redhat.com>
6596
6597         * linespec.c (struct bound_minimal_symbol_search_key): New.
6598         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
6599         skip first line if we found a GNU ifunc minimal symbol by name.
6600         (compare_msymbols): Change parameters to work with a destructured
6601         lhs minsym.
6602         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
6603         functions.
6604
6605 2018-04-26  Pedro Alves  <palves@redhat.com>
6606
6607         * breakpoint.c (set_breakpoint_location_function): Don't resolve
6608         ifunc targets here.  Instead, if we have an ifunc minsym, use its
6609         address/name.
6610         (add_location_to_breakpoint): Store the minsym and the objfile in
6611         the breakpoint location.
6612         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
6613         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
6614         Record the minsym in the sal.
6615         * symtab.h (symtab_and_line) <msymbol>: New field.
6616
6617 2018-04-26  Pedro Alves  <palves@redhat.com>
6618
6619         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
6620         unless we actually resolved the ifunc.
6621
6622 2018-04-26  Pedro Alves  <palves@redhat.com>
6623
6624         * c-exp.y (variable production): Prefer ifunc minsyms over
6625         regular function symbols.
6626         * symtab.c (find_gnu_ifunc): New function.
6627         * minsyms.h (lookup_msym_prefer): New enum.
6628         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6629         parameter by a lookup_msym_prefer parameter.
6630         * symtab.h (find_gnu_ifunc): New declaration.
6631
6632 2018-04-26  Pedro Alves  <palves@redhat.com>
6633
6634         * blockframe.c (find_gnu_ifunc_target_type): New function.
6635         (find_function_type): New.
6636         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
6637         return a value with a memory address.
6638         (eval_call): For calls to GNU ifunc functions, try to find the
6639         type of the target function from the type that the resolver
6640         returns.
6641         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
6642         symbols.
6643         * infcall.c (find_function_return_type): Delete.
6644         (find_function_addr): Add 'function_type' parameter.  For calls to
6645         GNU ifunc functions, try to find the type of the target function
6646         from the type that the resolver returns, and return it via
6647         FUNCTION_TYPE.
6648         (call_function_by_hand_dummy): Adjust to use the function type
6649         returned by find_function_addr.
6650         (find_function_addr): Add 'function_type' parameter and move
6651         description here.
6652         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
6653         declarations.
6654
6655 2018-04-26  Pedro Alves  <palves@redhat.com>
6656
6657         * c-exp.y (variable production): Skip finding an alias for ifunc
6658         symbols.
6659
6660 2018-04-26  Pedro Alves  <palves@redhat.com>
6661
6662         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
6663
6664 2018-04-25  Pedro Alves  <palves@redhat.com>
6665
6666         * infcmd.c (kill_command): Print the pid as string, not the whole
6667         thread's ptid.  Add comment.  s/has been killed/killed/ in output
6668         message.
6669         * remote.c (remote_detach_1): Print the pid as string, not the
6670         whole thread's ptid.
6671
6672 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
6673             Sergio Durigan Junior  <sergiodj@redhat.com>
6674             Pedro Alves  <palves@redhat.com>
6675
6676         * infcmd.c (kill_command): Print message when inferior has
6677         been killed.
6678         * inferior.c (print_inferior_events): Remove 'static'.  Set as
6679         '1'.
6680         (add_inferior): Improve message printed when
6681         'print_inferior_events' is on.
6682         (exit_inferior): Remove message printed when
6683         'print_inferior_events' is on.
6684         (detach_inferior): Improve message printed when
6685         'print_inferior_events' is on.
6686         (initialize_inferiors): Use 'add_inferior_silent' to set
6687         'current_inferior_'.
6688         * inferior.h (print_inferior_events): Declare here as
6689         'extern'.
6690         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
6691         '[Detaching...]' messages when 'print_inferior_events' is on.
6692         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
6693         as prefix/suffix for messages.  Remove periods.  Fix erroneous
6694         'Detaching after fork from child...', replace it by '... from
6695         parent...'.
6696         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
6697         prefix/suffix when printing 'Detaching...' messages.  Print
6698         them when 'print_inferior_events' is on.
6699         * remote.c (remote_detach_1): Print message when detaching
6700         from inferior and '!is_fork_parent'.
6701
6702 2018-04-24  Tom Tromey  <tom@tromey.com>
6703
6704         * cli-out.h: Reindent.
6705
6706 2018-04-24  Tom Tromey  <tom@tromey.com>
6707
6708         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
6709         (cli_ui_out::do_field_string): Use fputs_filtered.
6710         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
6711
6712 2018-04-23  Tom Tromey  <tom@tromey.com>
6713
6714         * guile/scm-frame.c (gdbscm_frame_read_var): Use
6715         gdb::unique_xmalloc_ptr.
6716
6717 2018-04-23  Tom Tromey  <tom@tromey.com>
6718
6719         * configure: Rebuild.
6720
6721 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
6722
6723         PR gdb/23095
6724         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
6725         prepare_for_testing.  Set normal_bp to r_debug_state if target
6726         is bsd.
6727
6728 2018-04-21  Pedro Alves  <palves@redhat.com>
6729             Rajendra SY  <rajendra.sy@gmail.com>
6730
6731         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
6732         * remote.c (extended_remote_attach): In all-stop mode, mark the
6733         thread as executing.
6734
6735 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6736
6737         * thread.c (thread_apply_all_command): Fix comment.
6738         (thread_command): Fix comment.
6739
6740 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
6741
6742         * common/tdesc.h (tdesc_create_feature): Remove xml filename
6743         parameter.
6744         * features/aarch64-core.c (create_feature_aarch64_core):
6745         Regenerate.
6746         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
6747         Likewise.
6748         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
6749         Likewise.
6750         * features/i386/32bit-avx512.c
6751         (create_feature_i386_32bit_avx512): Likewise.
6752         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
6753         Likewise.
6754         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
6755         Likewise.
6756         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
6757         Likewise.
6758         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
6759         Likewise.
6760         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
6761         Likewise.
6762         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
6763         Likewise.
6764         * features/i386/64bit-avx512.c
6765         (create_feature_i386_64bit_avx512): Likewise.
6766         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
6767         Likewise.
6768         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
6769         Likewise.
6770         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
6771         Likewise.
6772         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
6773         Likewise.
6774         * features/i386/64bit-segments.c
6775         (create_feature_i386_64bit_segments): Likewise.
6776         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
6777         Likewise.
6778         * features/i386/x32-core.c
6779         (create_feature_i386_x32_core): Likewise.
6780         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
6781         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
6782         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
6783         * target-descriptions.c: In generated code, don't pass xml
6784         filename.
6785
6786 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6787
6788         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
6789         (print_xml_feature::visit_post): Likewise.
6790         (print_xml_feature::visit): Likewise.
6791         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
6792         (print_xml_feature): Add new class.
6793         * regformats/regdat.sh: Null xmltarget on feature targets.
6794         * target-descriptions.c (struct target_desc): Add xmltarget.
6795         (maintenance_check_tdesc_xml_convert): Add unittest function.
6796         (tdesc_get_features_xml): Add function to get xml.
6797         (maintenance_check_xml_descriptions): Test xml generation.
6798         * xml-tdesc.c (string_read_description_xml): Add function.
6799         * xml-tdesc.h (string_read_description_xml): Add declaration.
6800
6801 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6802
6803         * features/Makefile: Add feature marker to targets with new style
6804         target descriptions.
6805         * regformats/aarch64.dat: Regenerate.
6806         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
6807         * regformats/i386/amd64-avx-linux.dat: Likewise.
6808         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
6809         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
6810         * regformats/i386/amd64-linux.dat: Likewise.
6811         * regformats/i386/amd64-mpx-linux.dat: Likewise.
6812         * regformats/i386/amd64.dat: Likewise.
6813         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
6814         * regformats/i386/i386-avx-linux.dat: Likewise.
6815         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
6816         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
6817         * regformats/i386/i386-linux.dat: Likewise.
6818         * regformats/i386/i386-mmx-linux.dat: Likewise.
6819         * regformats/i386/i386-mpx-linux.dat: Likewise.
6820         * regformats/i386/i386.dat: Likewise.
6821         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
6822         * regformats/i386/x32-avx-linux.dat: Likewise.
6823         * regformats/i386/x32-linux.dat: Likewise.
6824         * regformats/tic6x-c62x-linux.dat: Likewise.
6825         * regformats/tic6x-c64x-linux.dat: Likewise.
6826         * regformats/tic6x-c64xp-linux.dat: Likewise.
6827         * regformats/regdat.sh: Parse feature marker.
6828
6829 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6830
6831         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
6832         (tdesc_osabi_name): Likewise.
6833         * target-descriptions.c (tdesc_architecture_name): Add new
6834         function.
6835         (tdesc_osabi_name): Likewise.
6836
6837 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6838
6839         * common/tdesc.c (tdesc_predefined_type): Move to here.
6840         (tdesc_named_type): Likewise.
6841         (tdesc_create_vector): Likewise.
6842         (tdesc_create_struct): Likewise.
6843         (tdesc_set_struct_size): Likewise.
6844         (tdesc_create_union): Likewise.
6845         (tdesc_create_flags): Likewise.
6846         (tdesc_create_enum): Likewise.
6847         (tdesc_add_field): Likewise.
6848         (tdesc_add_typed_bitfield): Likewise.
6849         (tdesc_add_bitfield): Likewise.
6850         (tdesc_add_flag): Likewise.
6851         (tdesc_add_enum_value): Likewise.
6852         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
6853         (struct tdesc_type_vector): Likewise.
6854         (struct tdesc_type_field): Likewise.
6855         (struct tdesc_type_with_fields): Likewise.
6856         (tdesc_create_enum): Add declaration.
6857         (tdesc_add_typed_bitfield): Likewise.
6858         (tdesc_add_enum_value): Likewise.
6859         * target-descriptions.c (tdesc_type_field): Move from here.
6860         (tdesc_type_builtin): Likewise.
6861         (tdesc_type_vector): Likewise.
6862         (tdesc_type_with_fields): Likewise.
6863         (tdesc_predefined_types): Likewise.
6864         (tdesc_named_type): Likewise.
6865         (tdesc_create_vector): Likewise.
6866         (tdesc_create_struct): Likewise.
6867         (tdesc_set_struct_size): Likewise.
6868         (tdesc_create_union): Likewise.
6869         (tdesc_create_flags): Likewise.
6870         (tdesc_create_enum): Likewise.
6871         (tdesc_add_field): Likewise.
6872         (tdesc_add_typed_bitfield): Likewise.
6873         (tdesc_add_bitfield): Likewise.
6874         (tdesc_add_flag): Likewise.
6875         (tdesc_add_enum_value): Likewise.
6876         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
6877         (tdesc_add_typed_bitfield): Likewise.
6878         (tdesc_add_enum_value): Likewise.
6879
6880 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6881
6882         * common/tdesc.c (tdesc_feature::accept): Move to here.
6883         (tdesc_feature::operator==): Likewise.
6884         (tdesc_create_reg): Likewise.
6885         * common/tdesc.h (tdesc_type_kind): Likewise.
6886         (struct tdesc_type): Likewise.
6887         (struct tdesc_feature): Likewise.
6888         * regformats/regdat.sh: Create a feature.
6889         * target-descriptions.c (tdesc_type_kind): Move from here.
6890         (tdesc_type): Likewise.
6891         (tdesc_type_up): Likewise.
6892         (tdesc_feature): Likewise.
6893         (tdesc_create_reg): Likewise.
6894
6895 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6896
6897         * Makefile.in: Add arch/tdesc.c
6898         * common/tdesc.c: New file.
6899         * common/tdesc.h (tdesc_element_visitor): Move to here.
6900         (tdesc_element): Likewise.
6901         (tdesc_reg): Likewise.
6902         (tdesc_reg_up): Likewise.
6903         * regformats/regdef.h (reg): Add offset to constructors.
6904         * target-descriptions.c (tdesc_element_visitor): Move from here.
6905         (tdesc_element): Likewise.
6906         (tdesc_reg): Likewise.
6907         (tdesc_reg_up): Likewise.
6908
6909 2018-04-17  Tom Tromey  <tom@tromey.com>
6910
6911         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
6912         discriminant field.
6913
6914 2018-04-17  Tom Tromey  <tom@tromey.com>
6915
6916         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
6917
6918 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6919
6920         * symtab.c (print_symbol_info): Skip printing filename and line
6921         number when `last' is NULL.
6922         (symtab_symbol_info): Use empty string instead of NULL for first
6923         invocation of print_symbol_info.
6924         (rbreak_command): Pass NULL to `last' parameter of
6925         print_symbol_info.
6926
6927 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
6928
6929         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
6930         instead of nullptr.
6931
6932 2018-04-16  Pedro Alves  <palves@redhat.com>
6933
6934         * MAINTAINERS (sh): Remove.
6935         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
6936         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
6937         (ALLDEPFILES): Remove sh64-tdep.c.
6938         * NEWS: Mentions that support for SH-5/SH64 is removed.
6939         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
6940         (sh*-*-openbsd*): Ditto.
6941         (sh64-*-elf*): Remove.
6942         (sh*): Remove.
6943         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
6944         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
6945         * sh-tdep.c: No longer include "sh64-tdep.h".
6946         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
6947         * sh64-tdep.c, sh64-tdep.h: Remove files.
6948
6949 2018-04-16  Pedro Alves  <palves@redhat.com>
6950
6951         * MAINTAINERS: Remove m88k.
6952         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
6953         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
6954         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
6955         * NEWS: Mention that support for m88k was removed.
6956         * configure.host (m88*-*-*): Remove support.
6957         * configure.nat (m88k-*-*): Remove support.
6958         * configure.tgt (m88*-*-openbsd*): Remove.
6959         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
6960
6961 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
6962
6963         * configure.tgt (x86_tobjs): New variable.
6964         (amd64_tobjs, i386_tobjs): Use it.
6965
6966 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6967
6968         * symtab.c (print_symbol_info): Precede the symbol definition by
6969         the line number when available.
6970         * NEWS: Advertise this enhancement.
6971
6972 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6973
6974         * NEWS (New options): announce set/show record btrace cpu.
6975         * btrace.c: Include record-btrace.h.
6976         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
6977         the vendor is unknown.
6978         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
6979         Maybe overwrite the btrace configuration's cpu.
6980         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
6981         (btrace_fetch): Add cpu parameter.  Update callers.
6982         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
6983         Maybe overwrite the btrace configuration's cpu.  Skip enabling
6984         errata workarounds if the vendor is unknown.
6985         * python/py-record-btrace.c: Include record-btrace.h.
6986         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
6987         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
6988         * record-btrace.c (record_btrace_cpu_state_kind): New.
6989         (record_btrace_cpu): New.
6990         (set_record_btrace_cpu_cmdlist): New.
6991         (record_btrace_get_cpu): New.
6992         (require_btrace_thread, record_btrace_info)
6993         (record_btrace_resume_thread): Call record_btrace_get_cpu.
6994         (cmd_set_record_btrace_cpu_none): New.
6995         (cmd_set_record_btrace_cpu_auto): New.
6996         (cmd_set_record_btrace_cpu): New.
6997         (cmd_show_record_btrace_cpu): New.
6998         (_initialize_record_btrace): Initialize set/show record btrace cpu
6999         commands.
7000         * record-btrace.h (record_btrace_get_cpu): New.
7001
7002 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7003
7004         * record.c (set_record_command): Fix typo in message.
7005
7006 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7007
7008         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
7009
7010 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7011
7012         * infrun.c (process_event_stop_test): Call
7013         gdbarch_in_indirect_branch_thunk.
7014         * gdbarch.sh (in_indirect_branch_thunk): New.
7015         * gdbarch.c: Regenerated.
7016         * gdbarch.h: Regenerated.
7017         * x86-tdep.h: New.
7018         * x86-tdep.c: New.
7019         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7020         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7021         (ALLDEPFILES): Add x86-tdep.c.
7022         * arch-utils.h (default_in_indirect_branch_thunk): New.
7023         * arch-utils.c (default_in_indirect_branch_thunk): New.
7024         * i386-tdep: Include x86-tdep.h.
7025         (i386_in_indirect_branch_thunk): New.
7026         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7027         function.
7028         * amd64-tdep: Include x86-tdep.h.
7029         (amd64_in_indirect_branch_thunk): New.
7030         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7031
7032 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7033
7034         PR gdb/23053
7035         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7036         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7037         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7038         regression.
7039
7040 2018-04-12  Tom Tromey  <tom@tromey.com>
7041
7042         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7043         (rust_evaluate_subexp): Likewise.
7044
7045 2018-04-12  Pedro Alves  <palves@redhat.com>
7046
7047         * procfs.c (procfs_detach): Make forward declaration's prototype
7048         match definition's protototype.
7049         (proc_get_LDT_entry): Remove stale do_cleanups call.
7050
7051 2018-04-12  Pedro Alves  <palves@redhat.com>
7052
7053         * target.h (target_ops::to_has_exited): Delete.
7054         (target_has_exited): Delete.
7055         * target-delegates.c: Regenerate.
7056
7057 2018-04-11  Pedro Alves  <palves@redhat.com>
7058
7059         * target.c (fileio_fh_t::t): Add comment.
7060         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7061         (target_fileio_close): Handle a NULL target.
7062         (invalidate_fileio_fh): New.
7063         (target_close): Call it.
7064         * remote.c (remote_hostio_send_command): No longer check whether
7065         remote_desc is open.
7066
7067 2018-04-11  Pedro Alves  <palves@redhat.com>
7068
7069         * target.c (fileio_fh_t): Make it a named struct instead of a
7070         typedef.
7071         (fileio_fh_t::is_closed): New method.
7072         (DEF_VEC_O (fileio_fh_t)): Remove.
7073         (fileio_fhandles): Now a std::vector.
7074         (is_closed_fileio_fh): Delete.
7075         (acquire_fileio_fd): Adjust.  Rename parameters.
7076         (release_fileio_fd): Adjust.
7077         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7078         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7079         (target_fileio_close): Adjust.
7080
7081 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7082
7083         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7084         index.
7085
7086 2018-04-10  Pedro Alves  <palves@redhat.com>
7087
7088         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7089         (scoped_finish_thread_state): New class.
7090         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7091         cleanup.
7092         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7093         (fetch_inferior_event, normal_stop): Likewise.
7094         * thread.c (finish_thread_state_cleanup): Delete.
7095
7096 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7097             Pedro Alves  <palves@redhat.com>
7098
7099         * value.c: Include "selftest.h" and "common/array-view.h".
7100         (struct range) <operator ==>: New.
7101         (test_ranges_contain): New.
7102         (check_ranges_vector): New.
7103         (test_insert_into_bit_range_vector): New.
7104         (_initialize_values): Register selftests.
7105         * common/array-view.h (operator==, operator!=): New.
7106
7107 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7108
7109         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7110         an iterator.
7111         * inline-frame.c: Include <algorithm>.
7112         (struct inline_state): Add constructor.
7113         (inline_state_s): Remove.
7114         (DEF_VEC_O(inline_state_s)): Remove.
7115         (inline_states): Change type to std::vector.
7116         (find_inline_frame_state): Adjust to std::vector.
7117         (allocate_inline_frame_state): Remove.
7118         (clear_inline_frame_state): Adjust to std::vector.
7119         (skip_inline_frames): Adjust to std::vector.
7120
7121 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7122
7123         * tracepoint.h (struct trace_state_variable): Add constructor.
7124         <name>: Change type to std::string.
7125         * tracepoint.c (tsv_s): Remove.
7126         (DEF_VEC_O(tsv_s)): Remove.
7127         (tvariables): Change to std::vector.
7128         (create_trace_state_variable): Adjust to std::vector.
7129         (find_trace_state_variable): Likewise.
7130         (find_trace_state_variable_by_number): Likewise.
7131         (delete_trace_state_variable): Likewise.
7132         (trace_variable_command): Adjust to std::string.
7133         (delete_trace_variable_command): Likewise.
7134         (tvariables_info_1): Adjust to std::vector.
7135         (save_trace_state_variables): Likewise.
7136         (start_tracing): Likewise.
7137         (merge_uploaded_trace_state_variables): Adjust to std::vector
7138         and std::string.
7139         * target.h (struct target_ops)
7140         <to_download_trace_state_variable>: Pass reference to
7141         trace_state_variable.
7142         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7143         * target-delegates.c: Re-generate.
7144         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7145         (mi_tsv_deleted): Likewise.
7146         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7147         * remote.c (remote_download_trace_state_variable): Change
7148         pointer to reference and adjust.
7149         * make-target-delegates (parse_argtypes): Handle references.
7150         (write_function_header): Likewise.
7151         (munge_type): Likewise.
7152
7153 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7154
7155         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7156         string_view-selftests.c.
7157         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7158         testsuite.
7159         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7160         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7161         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7162         * unittests/basic_string_view/element_access/char/1.cc:
7163         Likewise.
7164         * unittests/basic_string_view/element_access/char/empty.cc:
7165         Likewise.
7166         * unittests/basic_string_view/element_access/char/front_back.cc:
7167         Likewise.
7168         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7169         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7170         Likewise.
7171         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7172         Likewise.
7173         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7174         Likewise.
7175         * unittests/basic_string_view/operations/compare/char/1.cc:
7176         Likewise.
7177         * unittests/basic_string_view/operations/compare/char/13650.cc:
7178         Likewise.
7179         * unittests/basic_string_view/operations/copy/char/1.cc:
7180         Likewise.
7181         * unittests/basic_string_view/operations/data/char/1.cc:
7182         Likewise.
7183         * unittests/basic_string_view/operations/find/char/1.cc:
7184         Likewise.
7185         * unittests/basic_string_view/operations/find/char/2.cc:
7186         Likewise.
7187         * unittests/basic_string_view/operations/find/char/3.cc:
7188         Likewise.
7189         * unittests/basic_string_view/operations/find/char/4.cc:
7190         Likewise.
7191         * unittests/basic_string_view/operations/rfind/char/1.cc:
7192         Likewise.
7193         * unittests/basic_string_view/operations/rfind/char/2.cc:
7194         Likewise.
7195         * unittests/basic_string_view/operations/rfind/char/3.cc:
7196         Likewise.
7197         * unittests/basic_string_view/operations/substr/char/1.cc:
7198         Likewise.
7199         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7200         * unittests/string_view-selftests.c: New file.
7201
7202 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7203
7204         * unittests/basic_string_view/capacity/1.cc: New file.
7205         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7206         * unittests/basic_string_view/cons/char/1.cc: New file.
7207         * unittests/basic_string_view/cons/char/2.cc: New file.
7208         * unittests/basic_string_view/cons/char/3.cc: New file.
7209         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7210         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7211         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7212         * unittests/basic_string_view/element_access/char/1.cc: New file.
7213         * unittests/basic_string_view/element_access/char/2.cc: New file.
7214         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7215         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7216         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7217         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7218         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7219         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7220         * unittests/basic_string_view/include.cc: New file.
7221         * unittests/basic_string_view/inserters/char/1.cc: New file.
7222         * unittests/basic_string_view/inserters/char/2.cc: New file.
7223         * unittests/basic_string_view/inserters/char/3.cc: New file.
7224         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7225         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7226         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7227         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7228         * unittests/basic_string_view/literals/types.cc: New file.
7229         * unittests/basic_string_view/literals/values.cc: New file.
7230         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7231         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7232         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7233         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7234         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7235         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7236         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7237         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7238         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7239         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7240         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7241         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7242         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7243         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7244         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7245         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7246         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7247         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7248         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7249         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7250         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7251         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7252         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7253         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7254         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7255         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7256         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7257         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7258         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7259         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7260         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7261         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7262         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7263         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7264         * unittests/basic_string_view/operators/char/2.cc: New file.
7265         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7266         * unittests/basic_string_view/range_access/char/1.cc: New file.
7267         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7268         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7269         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7270         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7271         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7272         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7273         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7274         * unittests/basic_string_view/typedefs.cc: New file.
7275         * unittests/basic_string_view/types/1.cc: New file.
7276
7277 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7278
7279         * common/gdb_string_view.h: Remove libstdc++ implementation
7280         details, adjust to gdb reality.
7281         * common/gdb_string_view.tcc: Likewise.
7282         * cli/cli-script.c (struct string_view): Remove.
7283         (user_args) <m_args>: Change element type to gdb::string_view.
7284         (user_args::insert_args): Adjust.
7285
7286 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7287
7288         * common/gdb_string_view.h: New file.
7289         * common/gdb_string_view.tcc: New file.
7290
7291 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7292
7293         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7294         * configure: Re-generate.
7295
7296 2018-04-09  Pedro Alves  <palves@redhat.com>
7297
7298         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7299         (set_target_gdbarch): Call
7300         gdb::observers::architecture_changed.notify instead of
7301         observer_notify_architecture_changed.
7302
7303 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7304
7305         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7306         (do_restore_current_traceframe_cleanup): Remove.
7307         (restore_current_traceframe_cleanup_dtor): Remove.
7308         (make_cleanup_restore_current_traceframe): Remove.
7309         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7310         New.
7311         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7312         * infrun.c (fetch_inferior_event): Use
7313         scoped_restore_current_traceframe.
7314
7315 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7316
7317         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7318         Remove.
7319         <n_allocated_type_units>: Remove.
7320         <all_type_units>: Change to std::vector.
7321         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7322         to std::vector change.
7323         (dwarf2_per_objfile::get_cutu): Likewise.
7324         (dwarf2_per_objfile::get_tu): Likewise.
7325         (create_signatured_type_table_from_index): Likewise.
7326         (create_signatured_type_table_from_debug_names): Likewise.
7327         (dw2_symtab_iter_next): Likewise.
7328         (dw2_print_stats): Likewise.
7329         (dw2_expand_all_symtabs): Likewise.
7330         (dw2_expand_marked_cus): Likewise.
7331         (dw2_debug_names_iterator::next): Likewise.
7332         (dwarf2_initialize_objfile): Likewise.
7333         (add_signatured_type_cu_to_table): Likewise.
7334         (create_all_type_units): Likewise.
7335         (add_type_unit): Likewise.
7336         (struct tu_abbrev_offset): Add constructor.
7337         (build_type_psymtabs_1): Adjust to std::vector change.
7338         (print_tu_stats): Likewise.
7339         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7340         (write_debug_names): Likewise.
7341
7342 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7343
7344         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7345         Make an std::vector.
7346         <n_comp_units>: Remove.
7347         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7348         to std::vector change.
7349         (dwarf2_per_objfile::get_cutu): Likewise.
7350         (dwarf2_per_objfile::get_cu): Likewise.
7351         (create_cus_from_index): Likewise.
7352         (create_addrmap_from_index): Likewise.
7353         (create_addrmap_from_aranges): Likewise.
7354         (dwarf2_read_index): Likewise.
7355         (dw2_find_last_source_symtab): Likewise.
7356         (dw2_map_symtabs_matching_filename): Likewise.
7357         (dw2_symtab_iter_next): Likewise.
7358         (dw2_print_stats): Likewise.
7359         (dw2_expand_all_symtabs): Likewise.
7360         (dw2_expand_symtabs_with_fullname): Likewise.
7361         (dw2_expand_marked_cus): Likewise.
7362         (dw2_map_symbol_filenames): Likewise.
7363         (create_cus_from_debug_names): Likewise.
7364         (dwarf2_read_debug_names): Likewise.
7365         (dw2_debug_names_iterator::next): Likewise.
7366         (dwarf2_initialize_objfile): Likewise.
7367         (set_partial_user): Likewise.
7368         (dwarf2_build_psymtabs_hard): Likewise.
7369         (read_comp_units_from_section): Remove arguments, adjust to
7370         std::vector change.
7371         (create_all_comp_units): Adjust to std::vector and
7372         read_comp_units_from_section changes.
7373         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7374         change.
7375         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7376         (psyms_seen_size): Likewise.
7377         (write_gdbindex): Likewise.
7378         (write_debug_names): Likewise.
7379
7380 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7381
7382         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7383         with dwarf2_per_objfile.
7384         (create_cus_from_index): Likewise.
7385         (create_signatured_type_table_from_index): Likewise.
7386         (dwarf2_read_index): Likewise.
7387         (dwarf2_initialize_objfile): Likewise.
7388         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7389         per_cu rather than get_dwarf2_per_objfile.
7390
7391 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7392
7393         * dwarf2read.h (struct signatured_type): Forward declare.
7394         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7395         New methods.
7396         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
7397         (dw2_get_cutu): ...this.
7398         (dwarf2_per_objfile::get_cu): Rename from...
7399         (dw2_get_cu): ...this.
7400         (dwarf2_per_objfile::get_tu): New.
7401         (create_addrmap_from_index): Adjust.
7402         (create_addrmap_from_aranges): Adjust.
7403         (dw2_find_last_source_symtab): Adjust.
7404         (dw2_map_symtabs_matching_filename): Adjust.
7405         (dw2_symtab_iter_next): Adjust.
7406         (dw2_print_stats): Adjust.
7407         (dw2_expand_all_symtabs): Adjust.
7408         (dw2_expand_symtabs_with_fullname): Adjust.
7409         (dw2_expand_marked_cus): Adjust.
7410         (dw_expand_symtabs_matching_file_matcher): Adjust.
7411         (dw2_map_symbol_filenames): Adjust.
7412         (dw2_debug_names_iterator::next): Adjust.
7413         (dwarf2_initialize_objfile): Adjust.
7414         (set_partial_user): Adjust.
7415         (dwarf2_build_psymtabs_hard): Adjust.
7416
7417 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7418
7419         * dwarf2read.c (create_signatured_type_table_from_debug_names):
7420         Remove unused variables.
7421         (dw2_map_symtabs_matching_filename): Likewise.
7422         (dwarf2_record_block_ranges): Likewise.
7423         (dwarf2_read_addr_index): Likewise.
7424         (follow_die_offset): Likewise.
7425
7426 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7427
7428         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
7429         to symbol_file_add_main.
7430
7431 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7432
7433         PR mi/22299
7434         * mi/mi-console.c (do_fputc_async_safe): New.
7435         (mi_console_file::write_async_safe): New.
7436         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
7437         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
7438         New.
7439         * ui-file.c (ui_file::putstrn): Adjust call to
7440         fputstrn_unfiltered.
7441         * utils.c (printchar): Replace do_fputs and do_fprintf
7442         parameters by do_fputc.
7443         (fputstr_filtered): Adjust call to printchar.
7444         (fputstr_unfiltered): Likewise.
7445         (fputstrn_filtered): Likewise.
7446         (fputstrn_unfiltered): Add do_fputc parameter, pass to
7447         printchar.
7448         * utils.h (do_fputc_ftype): New typedef.
7449         (fputstrn_unfiltered): Add do_fputc parameter.
7450
7451 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7452
7453         * regformats/i386/i386-avx.dat: Remove.
7454
7455 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7456
7457         PR gdb/22979
7458         * amd64-tdep.c (amd64_none_init_abi): New function.
7459         (amd64_x32_none_init_abi): New function.
7460         (_initialize_amd64_tdep): Register handlers for x86-64 and
7461         x64_32 with GDB_OSABI_NONE.
7462         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
7463         GDB_OSABI_NONE osabi.
7464
7465 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7466
7467         PR gdb/22980
7468         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
7469         GDB_OSABI_NONE.
7470         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
7471         * osabi.c (gdb_osabi_names): Add "unknown" entry.
7472
7473 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7474
7475         * common/byte-vector.h (char_vector): New type.
7476         * target.h (target_read_alloc): Return
7477         gdb::optional<byte_vector>.
7478         (target_read_stralloc): Return gdb::optional<char_vector>.
7479         (target_get_osdata): Return gdb::optional<char_vector>.
7480         * target.c (target_read_alloc_1): Templatize.  Replacement
7481         manual memory management with vector.
7482         (target_read_alloc): Change return type, adjust.
7483         (target_read_stralloc): Change return type, adjust.
7484         (target_get_osdata): Change return type, adjust.
7485         * auxv.c (struct auxv_info) <length>: Remove.
7486         <data>: Change type to gdb::optional<byte_vector>.
7487         (auxv_inferior_data_cleanup): Free auxv_info with delete.
7488         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
7489         (target_auxv_search): Adjust.
7490         (fprint_target_auxv): Adjust.
7491         * avr-tdep.c (avr_io_reg_read_command): Adjust.
7492         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
7493         (linux_make_corefile_notes): Adjust.
7494         * osdata.c (get_osdata): Adjust.
7495         * remote.c (remote_get_threads_with_qxfer): Adjust.
7496         (remote_memory_map): Adjust.
7497         (remote_traceframe_info): Adjust.
7498         (btrace_read_config): Adjust.
7499         (remote_read_btrace): Adjust.
7500         (remote_pid_to_exec_file): Adjust.
7501         * solib-aix.c (solib_aix_get_library_list): Adjust.
7502         * solib-dsbt.c (decode_loadmap): Don't free buf.
7503         (dsbt_get_initial_loadmaps): Adjust.
7504         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
7505         * solib-target.c (solib_target_current_sos): Adjust.
7506         * tracepoint.c (sdata_make_value): Adjust.
7507         * xml-support.c (xinclude_start_include): Adjust.
7508         (xml_fetch_content_from_file): Adjust.
7509         * xml-support.h (xml_fetch_another): Change return type.
7510         (xml_fetch_content_from_file): Change return type.
7511         * xml-syscall.c (xml_init_syscalls_info): Adjust.
7512         * xml-tdesc.c (file_read_description_xml): Adjust.
7513         (fetch_available_features_from_target): Change return type.
7514         (target_fetch_description_xml): Adjust.
7515         (target_read_description_xml): Adjust.
7516
7517 2018-04-06  Tom Tromey  <tom@tromey.com>
7518
7519         * value.c (~value): Update.
7520         (struct value) <contents>: Now unique_xmalloc_ptr.
7521         (value_contents_bits_eq, allocate_value_contents)
7522         (value_contents_raw, value_contents_all_raw)
7523         (value_contents_for_printing, value_contents_for_printing_const)
7524         (set_value_enclosing_type): Update.
7525
7526 2018-04-06  Tom Tromey  <tom@tromey.com>
7527
7528         * value.c (range_s): Remove typedef, VEC.
7529         (struct range): Add operator<.
7530         (range_lessthan): Remove.
7531         (ranges_contain): Change type.
7532         (~value): Update.
7533         (struct value) <unavailable, optimized_out>: Now std::vector.
7534         (value_entirely_available)
7535         (value_entirely_covered_by_range_vector)
7536         (value_entirely_unavailable, value_entirely_optimized_out):
7537         Update.
7538         (insert_into_bit_range_vector): Change argument type.
7539         (find_first_range_overlap): Likewise.
7540         (struct ranges_and_idx, value_contents_bits_eq)
7541         (require_not_optimized_out, require_available): Update.
7542         (ranges_copy_adjusted): Change argument types.
7543         (value_optimized_out, value_copy, value_fetch_lazy): Update.
7544
7545 2018-04-06  Tom Tromey  <tom@tromey.com>
7546
7547         * value.c (~value): Update.
7548         (struct value) <parent>: Now a value_ref_ptr.
7549         (value_parent, set_value_parent, value_address, value_copy):
7550         Update.
7551
7552 2018-04-06  Tom Tromey  <tom@tromey.com>
7553
7554         * value.c (struct value): Add constructor, destructor, and member
7555         initializers.
7556         (allocate_value_lazy, value_decref): Update.
7557
7558 2018-04-06  Tom Tromey  <tom@tromey.com>
7559
7560         * value.c (struct value) <released, next>: Remove.
7561         (all_values): Now a std::vector.
7562         (allocate_value_lazy): Update.
7563         (value_next): Remove.
7564         (value_mark, value_free_to_mark, release_value)
7565         (value_release_to_mark): Update.
7566
7567 2018-04-06  Tom Tromey  <tom@tromey.com>
7568
7569         * value.h (fetch_subexp_value, value_release_to_mark): Update.
7570         (free_value_chain): Remove.
7571         * value.c (free_value_chain): Remove.
7572         (value_release_to_mark): Return a std::vector.
7573         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
7574         std::vector.
7575         (check_condition): Update.
7576         * eval.c (fetch_subexp_value): Change "val_chain" to a
7577         std::vector.
7578         * breakpoint.c (update_watchpoint): Update.
7579         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
7580
7581 2018-04-06  Tom Tromey  <tom@tromey.com>
7582
7583         * value.h (free_all_values): Remove.
7584         * value.c (free_all_values): Remove.
7585
7586 2018-04-06  Tom Tromey  <tom@tromey.com>
7587
7588         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
7589         (value_history_chain, value_history_count): Remove.
7590         (value_history): New global.
7591         (record_latest_value, access_value_history, show_values)
7592         (preserve_values): Update.
7593
7594 2018-04-06  Tom Tromey  <tom@tromey.com>
7595
7596         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
7597         * varobj.c (varobj_set_display_format, varobj_set_value)
7598         (install_default_visualizer, construct_visualizer)
7599         (install_new_value, ~varobj, varobj_get_value_type)
7600         (my_value_of_variable, varobj_editable_p): Update.
7601         * c-varobj.c (c_describe_child, c_value_of_variable)
7602         (cplus_number_of_children, cplus_describe_child): Update.
7603         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
7604         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
7605         (ada_value_of_variable, ada_value_is_changeable_p): Update.
7606
7607 2018-04-06  Tom Tromey  <tom@tromey.com>
7608
7609         * printcmd.c (last_examine_address): Change type to
7610         value_ref_ptr.
7611         (do_examine, x_command): Update.
7612
7613 2018-04-06  Tom Tromey  <tom@tromey.com>
7614
7615         * value.c (release_value): Update.
7616         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
7617         (struct bpstats) <val>: Now a value_ref_ptr.
7618         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7619         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7620         (~watchpoint, print_it_watchpoint, watch_command_1)
7621         (invalidate_bp_value_on_memory_change): Update.
7622
7623 2018-04-06  Tom Tromey  <tom@tromey.com>
7624
7625         * varobj.c (varobj_clear_saved_item)
7626         (update_dynamic_varobj_children, install_new_value, ~varobj):
7627         Update.
7628         * value.h (value_incref): Move declaration earlier.
7629         (value_decref): Rename from value_free.
7630         (struct value_ref_policy): New.
7631         (value_ref_ptr): New typedef.
7632         (struct value_deleter): Remove.
7633         (gdb_value_up): Remove typedef.
7634         (release_value): Change return type.
7635         (release_value_or_incref): Remove.
7636         * value.c (set_value_parent): Update.
7637         (value_incref): Change return type.
7638         (value_decref): Rename from value_free.
7639         (value_free_to_mark, free_all_values, free_value_chain): Update.
7640         (release_value): Return value_ref_ptr.
7641         (release_value_or_incref): Remove.
7642         (record_latest_value, set_internalvar, clear_internalvar):
7643         Update.
7644         * stack.c (info_frame_command): Don't call value_free.
7645         * python/py-value.c (valpy_dealloc, valpy_new)
7646         (value_to_value_object): Update.
7647         * printcmd.c (do_examine): Update.
7648         * opencl-lang.c (lval_func_free_closure): Update.
7649         * mi/mi-main.c (register_changed_p): Don't call value_free.
7650         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
7651         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
7652         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
7653         value_free.
7654         * guile/scm-value.c (vlscm_free_value_smob)
7655         (vlscm_scm_from_value): Update.
7656         * frame.c (frame_register_unwind, frame_unwind_register_signed)
7657         (frame_unwind_register_unsigned, get_frame_register_bytes)
7658         (put_frame_register_bytes): Don't call value_free.
7659         * findvar.c (address_from_register): Don't call value_free.
7660         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
7661         * dwarf2loc.c (entry_data_value_free_closure)
7662         (value_of_dwarf_reg_entry, free_pieced_value_closure)
7663         (dwarf2_evaluate_loc_desc_full): Update.
7664         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7665         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7666         (~watchpoint, watch_command_1)
7667         (invalidate_bp_value_on_memory_change): Update.
7668         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
7669
7670 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
7671
7672         PR gdb/23022
7673         * warning.m4: Add -Wno-error=deprecated-register.
7674         * configure: Re-generate.
7675
7676 2018-04-05  Tom Tromey  <tom@tromey.com>
7677
7678         * linespec.h: Remove include of "vec.h".
7679
7680 2018-04-05  Tom Tromey  <tom@tromey.com>
7681
7682         * linespec.c (typep): Remove typedef.
7683         (find_methods, find_superclass_methods): Take a std::vector.
7684         (find_method): Use std::vector.
7685
7686 2018-04-05  Tom Tromey  <tom@tromey.com>
7687
7688         * utils.c (compare_strings): Remove.
7689         * utils.h (compare_strings): Remove.
7690         * objc-lang.h (find_imps): Update.
7691         * objc-lang.c (find_methods): Take a std::vector.
7692         (uniquify_strings, find_imps): Likewise.
7693         * linespec.c (find_methods): Take a std::vector.
7694         (decode_objc): Use std::vector.
7695         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
7696         a std::vector.
7697         (find_method, find_function_symbols): Use std::vector.
7698
7699 2018-04-05  Tom Tromey  <tom@tromey.com>
7700
7701         * completer.c (completion_tracker::completion_tracker): Remove
7702         cast.
7703         (completion_tracker::discard_completions): Likewise.
7704         * breakpoint.c (ambiguous_names_p): Remove cast.
7705         * ada-lang.c (_initialize_ada_language): Remove cast.
7706         * utils.h (streq): Update.
7707         (streq_hash): Add new declaration.
7708         * utils.c (streq): Return bool.
7709         (streq_hash): New function.
7710
7711 2018-04-05  Tom Tromey  <tom@tromey.com>
7712
7713         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
7714         Remove a string copy.
7715
7716 2018-04-05  Tom Tromey  <tom@tromey.com>
7717
7718         * linespec.c (filter_results): Use std::vector.
7719         (decode_line_2, decode_line_full): Update.
7720
7721 2018-04-05  Tom Tromey  <tom@tromey.com>
7722
7723         * linespec.c (canonical_to_fullform): Return std::string.
7724         (filter_results): Update.
7725         (struct decode_line_2_item): Add constructor.
7726         <fullform, displayform>: Now std::string.
7727         (decode_line_2_compare_items): Now a std::sort comparator.
7728         (decode_line_2): Update.
7729
7730 2018-04-05  Tom Tromey  <tom@tromey.com>
7731
7732         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
7733         (unexpected_linespec_error): Update.
7734         (linespec_parse_basic, parse_linespec): Update.
7735
7736 2018-04-05  Tom Tromey  <tom@tromey.com>
7737
7738         * linespec.c (linespec_parse_basic): Reindent.
7739
7740 2018-04-05  Tom Tromey  <tom@tromey.com>
7741
7742         * minsyms.h (iterate_over_minimal_symbols): Update.
7743         * minsyms.c (iterate_over_minimal_symbols): Take a
7744         gdb::function_view.
7745         * linespec.c (struct collect_minsyms): Remove.
7746         (compare_msyms): Now a std::sort comparator.
7747         (add_minsym): Add parameters.
7748         (search_minsyms_for_name): Update.  Use std::vector.
7749
7750 2018-04-03  Tom Tromey  <tom@tromey.com>
7751
7752         * mipsread.c (read_alphacoff_dynamic_symtab): Use
7753         gdb::byte_vector.
7754
7755 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7756
7757         * MAINTAINERS (Write After Approval): Add Weimin Pan.
7758
7759 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7760
7761         PR gdb/16959
7762         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
7763         printing static type.
7764
7765 2018-04-01  Tom Tromey  <tom@tromey.com>
7766
7767         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
7768         (rs6000_xfer_shared_libraries): Update.
7769
7770 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
7771
7772         * common/gdb_vecs.h (char_ptr): Remove.
7773         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
7774
7775 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7776
7777         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
7778         with std::vector.
7779         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
7780
7781 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7782
7783         * tracepoint.h (struct uploaded_tp): Initialize fields.
7784         <actions, step_actions, cmd_strings>: Change type to
7785         std::vector<char *>.
7786         * tracepoint.c (get_uploaded_tp): Allocate with new.
7787         (free_uploaded_tps): Free with delete.
7788         (parse_tracepoint_definition): Adjust to std::vector change.
7789         * breakpoint.c (read_uploaded_action): Likewise.
7790         (create_tracepoint_from_upload): Likewise.
7791         * ctf.c (ctf_write_uploaded_tp): Likewise.
7792         (SET_ARRAY_FIELD): Likewise.
7793         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
7794
7795 2018-03-30  Tom Tromey  <tom@tromey.com>
7796
7797         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
7798         std::unique_ptr.
7799         (svr4_keep_data_in_core): Update.
7800         (svr4_read_so_list): Update.
7801
7802 2018-03-30  Tom Tromey  <tom@tromey.com>
7803
7804         * windows-nat.c (handle_output_debug_string, handle_exception):
7805         Update.
7806         * target.h (target_read_string): Update.
7807         * target.c (target_read_string): Change "string" to
7808         unique_xmalloc_ptr.
7809         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
7810         Update.
7811         * solib-frv.c (frv_current_sos): Update.
7812         * solib-dsbt.c (dsbt_current_sos): Update.
7813         * solib-darwin.c (darwin_current_sos): Update.
7814         * linux-thread-db.c (inferior_has_bug): Update.
7815         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
7816         Update.  Remove alloca.
7817         * ada-lang.c (ada_main_name): Update.
7818
7819 2018-03-30  Tom Tromey  <tom@tromey.com>
7820
7821         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
7822         (struct dwo_file_deleter): New.
7823         (dwo_file_up): New typedef.
7824         (open_and_init_dwo_file): Use dwo_file_up.
7825         (free_dwo_file_cleanup): Remove.
7826
7827 2018-03-30  Tom Tromey  <tom@tromey.com>
7828
7829         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
7830         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
7831
7832 2018-03-30  Tom Tromey  <tom@tromey.com>
7833
7834         * dwarf2read.c (class free_cached_comp_units): New class.
7835         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
7836         (free_cached_comp_units): Remove function.
7837
7838 2018-03-30  Tom Tromey  <tom@tromey.com>
7839
7840         * utils.h (make_cleanup_unpush_target): Remove.
7841         * inf-ptrace.c (struct target_unpusher): New.
7842         (target_unpush_up) New typedef.
7843         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
7844         target_unpush_up.
7845         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
7846
7847 2018-03-27  Tom Tromey  <tom@tromey.com>
7848
7849         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
7850
7851 2018-03-27  Pedro Alves  <palves@redhat.com>
7852             Tom Tromey  <tom@tromey.com>
7853
7854         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
7855         destructor.  Now a class.
7856         (gdb_readline_wrapper_cleanup): Remove function.
7857         (gdb_readline_wrapper): Remove cleanups.
7858
7859 2018-03-27  Tom Tromey  <tom@tromey.com>
7860
7861         * typeprint.h (struct type_print_options) <local_typedefs,
7862         global_typedefs>: Remove "struct" keyword.
7863         (class typedef_hash_table): New class.
7864         (recursively_update_typedef_hash, add_template_parameters)
7865         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
7866         (find_typedef_in_hash): Don't declare.
7867         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
7868         (typedef_hash_table::recursively_update): Rename from
7869         recursively_update_typedef_hash.  Now a member.
7870         (typedef_hash_table::add_template_parameters): Rename from
7871         add_template_parameters.  Now a member.
7872         (typedef_hash_table::typedef_hash_table): Now a constructor;
7873         rename from create_typedef_hash.
7874         (typedef_hash_table::~typedef_hash_table): Now a destructor;
7875         rename from free_typedef_hash.
7876         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
7877         (do_free_global_table): Remove.
7878         (typedef_hash_table::typedef_hash_table): New constructor; renamed
7879         from copy_type_recursive.
7880         (create_global_typedef_table): Remove.
7881         (typedef_hash_table::find_global_typedef): Now a member of
7882         typedef_hash_table.
7883         (typedef_hash_table::find_typedef): Rename from
7884         find_typedef_in_hash; now a member.
7885         (whatis_exp): Update.
7886         * extension.h (struct ext_lang_type_printers): Add constructor and
7887         destructor.
7888         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
7889         declare.
7890         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
7891         Now a constructor; rename from start_ext_lang_type_printers.
7892         (ext_lang_type_printers): Now a destructor; rename from
7893         free_ext_lang_type_printers.
7894         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
7895         Update.
7896         (c_type_print_base_struct_union): Update.  Remove cleanups.
7897
7898 2018-03-27  Tom Tromey  <tom@tromey.com>
7899
7900         * dwarf-index-write.c: Include <cmath>.
7901
7902 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7903
7904         * NEWS: Add entry describing new "set|show varsize-limit" command.
7905         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
7906         command.
7907         * printcmd.c (_initialize_printcmd): Add "set var" alias of
7908         "set variable".
7909
7910 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
7911
7912         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
7913         dwarf-index-write.c
7914         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
7915         * dwarf-index-common.c: New file.
7916         * dwarf-index-common.h: New file.
7917         * dwarf-index-write.c: New file.
7918         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
7919         (struct dwarf2_section_info): Move from here.
7920         (dwarf2_section_info_def): Likewise.
7921         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
7922         (offset_type): Likewise.
7923         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
7924         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
7925         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
7926         (byte_swap): Likewise.
7927         (MAYBE_SWAP): Likewise.
7928         (dwarf2_per_cu_ptr): Likewise.
7929         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
7930         (struct tu_stats): Likewise.
7931         (struct dwarf2_per_objfile): Likewise.
7932         (struct dwarf2_per_cu_data): Likewise.
7933         (struct signatured_type): Likewise.
7934         (sig_type_ptr): Likewise.
7935         (DEF_VEC_P (sig_type_ptr)): Likewise.
7936         (INDEX4_SUFFIX): Likewise.
7937         (INDEX5_SUFFIX): Likewise.
7938         (DEBUG_STR_SUFFIX): Likewise.
7939         (dwarf2_read_section): Make non-static.
7940         (mapped_index_string_hash): Move from here.
7941         (dwarf5_djb_hash): Likewise.
7942         (file_write): Likewise.
7943         (class data_buf): Likewise.
7944         (struct symtab_index_entry): Likewise.
7945         (struct mapped_symtab): Likewise.
7946         (find_slot): Likewise.
7947         (hash_expand): Likewise.
7948         (add_index_entry): Likewise.
7949         (uniquify_cu_indices): Likewise.
7950         (class c_str_view): Likewise.
7951         (class c_str_view_hasher): Likewise.
7952         (class vector_hasher): Likewise.
7953         (write_hash_table): Likewise.
7954         (psym_index_map): Likewise.
7955         (struct addrmap_index_data): Likewise.
7956         (add_address_entry): Likewise.
7957         (add_address_entry_worker): Likewise.
7958         (write_address_map): Likewise.
7959         (symbol_kind): Likewise.
7960         (write_psymbols): Likewise.
7961         (struct signatured_type_index_data): Likewise.
7962         (write_one_signatured_type): Likewise.
7963         (recursively_count_psymbols): Likewise.
7964         (recursively_write_psymbols): Likewise.
7965         (class debug_names): Likewise.
7966         (check_dwarf64_offsets): Likewise.
7967         (psyms_seen_size): Likewise.
7968         (write_gdbindex): Likewise.
7969         (write_debug_names): Likewise.
7970         (assert_file_size): Likewise.
7971         (write_psymtabs_to_index): Likewise.
7972         (save_gdb_index_command): Likewise.
7973         (_initialize_dwarf2_read): Don't register the "save gdb-index"
7974         command.
7975         * dwarf2read.h: New file.
7976
7977 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7978
7979         PR gdb/22670
7980         * dwarf2read.c (dwarf2_physname): Do not return the demangled
7981         symbol name if the CU's language stores symbol names in linkage
7982         format.
7983         * language.h (struct language_defn)
7984         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
7985         all instances of this struct.
7986
7987 2018-03-26  Tom Tromey  <tom@tromey.com>
7988
7989         * stack.c (backtrace_command_1): Remove verbose code.
7990
7991 2018-03-26  Tom Tromey  <tom@tromey.com>
7992
7993         * python/py-framefilter.c (py_print_type): Don't catch
7994         exceptions.  Return void.
7995         (py_print_value): Likewise.
7996         (py_print_single_arg): Likewise.
7997         (enumerate_args): Don't catch exceptions.
7998         (py_print_args): Likewise.
7999         (py_print_frame): Likewise.
8000         (gdbpy_apply_frame_filter): Catch exceptions here.
8001
8002 2018-03-26  Tom Tromey  <tom@tromey.com>
8003
8004         * stack.c (_initialize_stack): Remove trailing newlines from help
8005         text.  Add "Usage" line to "backtrace" help.
8006
8007 2018-03-26  Tom Tromey  <tom@tromey.com>
8008
8009         PR python/16486:
8010         * python/py-framefilter.c (py_print_args): Call wrap_hint.
8011
8012 2018-03-26  Tom Tromey  <tom@tromey.com>
8013
8014         * python/py-framefilter.c (py_print_single_arg): Return
8015         EXT_LANG_BT_ERROR from catch.
8016
8017 2018-03-26  Tom Tromey  <tom@tromey.com>
8018
8019         PR backtrace/15584:
8020         * stack.c (backtrace_command_1): Move some code into no-filters
8021         "if".
8022
8023 2018-03-26  Tom Tromey  <tom@tromey.com>
8024
8025         * python/py-framefilter.c (throw_quit_or_print_exception): New
8026         function.
8027         (gdbpy_apply_frame_filter): Use it.
8028
8029 2018-03-26  Tom Tromey  <tom@tromey.com>
8030
8031         PR cli/17716:
8032         * python/py-framefilter.c (py_print_type, py_print_value)
8033         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8034         RETURN_MASK_ERROR.
8035
8036 2018-03-26  Tom Tromey  <tom@tromey.com>
8037
8038         * python/py-framefilter.c (enumerate_args): Use
8039         gdb::unique_xmalloc_ptr.
8040
8041 2018-03-26  Tom Tromey  <tom@tromey.com>
8042
8043         * python/py-framefilter.c (py_print_frame): Return
8044         EXT_LANG_BT_OK.
8045         (gdbpy_apply_frame_filter): Update comment.
8046         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8047         Remove.
8048         <EXT_LANG_BT_NO_FILTERS>: Change value.
8049
8050 2018-03-26  Tom Tromey  <tom@tromey.com>
8051
8052         PR backtrace/15582:
8053         * stack.c (backtrace_command): Parse "hide" argument.
8054         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8055         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8056         constant.
8057
8058 2018-03-26  Tom Tromey  <tom@tromey.com>
8059
8060         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8061         add "flags".
8062         (backtrace_command): Remove "fulltrace", add "flags".
8063
8064 2018-03-26  Tom Tromey  <tom@tromey.com>
8065
8066         * stack.c (backtrace_command): Rewrite command line parsing.
8067
8068 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8069
8070         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8071
8072 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8073
8074         * filename-seen-cache.h: Add include guard.
8075
8076 2018-03-26  Keith Seitz  <keiths@redhat.com>
8077
8078         * symfile.c (place_section): Remove "struct" from section_addr_info
8079         in comment.
8080         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8081         "struct" keyword from section_addr_info.
8082
8083 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8084
8085         * regformats/regdef.h (reg): Add constructors.
8086
8087 2018-03-25  Pedro Alves  <palves@redhat.com>
8088
8089         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8090         if then/else bodies in var_func_name extraction.
8091
8092 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8093
8094         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8095         lookup_minimal_symbol() to find symbol entry.
8096         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8097
8098 2018-03-23  Keith Seitz  <keiths@redhat.com>
8099
8100         PR c++/22968
8101         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8102         nested type definitions for C++, too.
8103
8104 2018-03-23  Tom Tromey  <tom@tromey.com>
8105
8106         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8107         a typedef.
8108         (macho_register_oso): Remove.
8109         (macho_symtab_read): Take a std::vector.
8110         (oso_el_compare_name): Now a std::sort comparator.
8111         (macho_symfile_read_all_oso): Take a std::vector.
8112         (macho_symfile_read): Use std::vector.  Remove cleanups.
8113
8114 2018-03-22  Tom Tromey  <tom@tromey.com>
8115
8116         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8117         (record_full_goto_bookmark): Use std::string.
8118
8119 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8120
8121         PR tdep/18295
8122         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8123         a single mask.
8124
8125 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8126
8127         * rs6000-tdep.c (store_insn_p): New function.
8128         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8129         and cr_reg to their unshifted values. Use store_insn_p to
8130         match LR saves using either R1 or fdata->alloca_reg. Use
8131         store_insn_p to match CR saves. Set alloca_reg_offset
8132         when alloca_reg and framep are set. Remove lr_reg shift
8133         when assigning to fdata->lr_register.
8134
8135 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8136
8137         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8138         command line args instead of emitting a warning.
8139
8140 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8141
8142         * tracepoint.h (struct static_tracepoint_marker): Initialize
8143         fields, define default constructor, move constructor and move
8144         assignment, disable the rest.
8145         <str_id, extra>: Make std::string.
8146         (release_static_tracepoint_marker): Remove.
8147         (free_current_marker): Remove.
8148         * tracepoint.c (free_current_marker): Remove.
8149         (parse_static_tracepoint_marker_definition): Adjust to
8150         std::string, use new hex2str overload.
8151         (release_static_tracepoint_marker): Remove.
8152         (print_one_static_tracepoint_marker): Get marker by reference
8153         and adjust to std::string.
8154         (info_static_tracepoint_markers_command): Adjust to std::vector
8155         changes
8156         * target.h (static_tracepoint_marker_p): Remove typedef.
8157         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8158         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8159         bool.
8160         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8161         * target-debug.h
8162         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8163         (target_debug_print_std_vector_static_tracepoint_marker): New.
8164         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8165         to...
8166         (target_debug_print_static_tracepoint_marker_p): ... this.
8167         * target-delegates.c: Re-generate.
8168         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8169         Make std::string.
8170         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8171         (decode_static_tracepoint_spec): Adjust to std::vector.
8172         (tracepoint_print_one_detail): Adjust to std::string.
8173         (strace_marker_decode_location): Adjust to std::string.
8174         (update_static_tracepoint): Adjust to std::string, remove call
8175         to release_static_tracepoint_marker.
8176         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8177         Adjust to std::vector.
8178         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8179         (remote_static_tracepoint_markers_by_strid): Adjust to
8180         std::vector.
8181         * common/rsp-low.h (hex2str): New overload with explicit count
8182         of bytes.
8183         * common/rsp-low.c (hex2str): New overload with explicit count
8184         of bytes.
8185         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8186         (_initialize_rsp_low_selftests): Add test_hex2str test.
8187         * unittests/tracepoint-selftests.c
8188         (test_parse_static_tracepoint_marker_definition): Adjust to
8189         std::string.
8190
8191 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8192
8193         * tracepoint.c (parse_static_tracepoint_marker_definition):
8194         Consider case where the definition is followed by more
8195         definitions.
8196         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8197         tracepoint-selftests.c.
8198         * unittests/tracepoint-selftests.c: New.
8199
8200 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8201
8202         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8203         Carvalho.
8204
8205 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8206
8207         * symtab.c (find_pc_sect_line): fixed indentation.
8208
8209 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8210
8211         * symtab.c (find_pc_sect_line): now uses binary search.
8212
8213 2018-03-19  Tom Tromey  <tom@tromey.com>
8214
8215         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8216         "IDENT" production.
8217
8218 2018-03-19  Pedro Alves  <palves@redhat.com>
8219             Tom Tromey  <tom@tromey.com>
8220
8221         * unittests/observable-selftests.c: New file.
8222         * common/observable.h: New file.
8223         * observable.h: New file.
8224         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8225         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8226         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8227         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8228         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8229         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8230         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8231         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8232         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8233         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8234         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8235         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8236         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8237         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8238         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8239         tui/tui-interp.c, valops.c: Update all users.
8240         * tui/tui-hooks.c (tui_bp_created_observer)
8241         (tui_bp_deleted_observer, tui_bp_modified_observer)
8242         (tui_inferior_exit_observer, tui_before_prompt_observer)
8243         (tui_normal_stop_observer, tui_register_changed_observer):
8244         Remove.
8245         (tui_observers_token): New global.
8246         (attach_or_detach, tui_attach_detach_observers): New functions.
8247         (tui_install_hooks, tui_remove_hooks): Use
8248         tui_attach_detach_observers.
8249         * record-btrace.c (record_btrace_thread_observer): Remove.
8250         (record_btrace_thread_observer_token): New global.
8251         * observer.sh: Remove.
8252         * observer.c: Rename to observable.c.
8253         * observable.c (namespace gdb_observers): Define new objects.
8254         (observer_debug): Move into gdb_observers namespace.
8255         (struct observer, struct observer_list, xalloc_observer_list_node)
8256         (xfree_observer_list_node, generic_observer_attach)
8257         (generic_observer_detach, generic_observer_notify): Remove.
8258         (_initialize_observer): Update.
8259         Don't include observer.inc.
8260         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8261         (clean mostlyclean): Likewise.
8262         (observer.h, observer.inc): Remove targets.
8263         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8264         (COMMON_SFILES): Use observable.c, not observer.c.
8265         * .gitignore: Remove observer.h.
8266
8267 2018-03-18  Tom Tromey  <tom@tromey.com>
8268
8269         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8270         gdb::def_vector.
8271         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8272
8273 2018-03-17  Tom Tromey  <tom@tromey.com>
8274
8275         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8276
8277 2018-03-17  Tom Tromey  <tom@tromey.com>
8278
8279         * target.c (class scoped_target_fd): New.
8280         (target_fileio_close_cleanup): Remove.
8281         (target_fileio_read_alloc_1): Use scoped_target_fd.
8282
8283 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8284
8285         * silent-rules.mk: New.
8286         * Makefile.in: Include silent-rules.mk
8287         (srcdir, VPATH, top_srcdir): Move up.
8288         (COMPILE): Add ECHO_CXX.
8289         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8290         (init.c): Add ECHO_INIT_C.
8291         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8292         (version.c): Add ECHO_GEN.
8293         (printcmd.o): Add ECHO_CXX.
8294         (target-float.o): Add ECHO_CXX.
8295         (ada-exp.o): Add ECHO_CXX.
8296         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8297         (insight$(EXEEXT)): Add ECHO_CXXLD.
8298         * gnulib/configure.ac: Add AM_SILENT_RULES.
8299         * gnulib/aclocal.m4: Re-generate.
8300         * gnulib/configure: Re-generate.
8301         * gnulib/import/Makefile.in: Re-generate.
8302
8303 2018-03-16  Tom Tromey  <tom@tromey.com>
8304
8305         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8306         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8307         * utils.c (do_free_section_addr_info)
8308         (make_cleanup_free_section_addr_info): Remove.
8309         * symfile.h (struct other_sections): Add constructor.
8310         (struct section_addr_info): Remove.
8311         (section_addr_info): New typedef.
8312         (struct sym_fns) <sym_offsets>: Change type of parameter.
8313         (build_section_addr_info_from_objfile)
8314         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8315         (default_symfile_offsets, symbol_file_add)
8316         (symbol_file_add_from_bfd)
8317         (build_section_addr_info_from_section_table): Update.
8318         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8319         * symfile.c (alloc_section_addr_info): Remove.
8320         (build_section_addr_info_from_section_table): Change return type.
8321         Update.
8322         (build_section_addr_info_from_bfd)
8323         (build_section_addr_info_from_objfile): Likewise.
8324         (free_section_addr_info): Remove.
8325         (relative_addr_info_to_section_offsets): Change type of "addrs".
8326         (addrs_section_compar): Now a std::sort comparator.
8327         (addrs_section_sort): Change return type.
8328         (addr_info_make_relative): Change type of "addrs".  Update.
8329         (default_symfile_offsets, syms_from_objfile_1)
8330         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8331         (symbol_file_add_separate): Update.
8332         (symbol_file_add): Change type of "addrs".  Update.
8333         (add_symbol_file_command): Update.  Remove cleanups.
8334         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8335         cleanups.
8336         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8337         * solib.c (solib_read_symbols): Update.
8338         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8339         * machoread.c (macho_symfile_offsets): Update.
8340         * jit.c (jit_bfd_try_read_symtab): Update.
8341
8342 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8343
8344         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8345         unittests/utils-selftests.c.
8346         * unittests/utils-selftests.c: New file.
8347
8348 2018-03-14  Tom Tromey  <tom@tromey.com>
8349
8350         PR cli/14977:
8351         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8352         for NULL.
8353
8354 2018-03-14  Tom Tromey  <tom@tromey.com>
8355
8356         PR cli/19918:
8357         * printcmd.c (printf_pointer): Allow "-" in format.
8358
8359 2018-03-14  Tom Tromey  <tom@tromey.com>
8360
8361         * printcmd.c (_initialize_printcmd): Add usage to printf.
8362
8363 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8364
8365         * MAINTAINERS: Update my email address.
8366
8367 2018-03-13  Tom Tromey  <tom@tromey.com>
8368
8369         * machoread.c (macho_check_dsym): Change filenamep to a
8370         std::string*.
8371         (macho_symfile_read): Update.
8372         * symfile.c (load_command): Use std::string.
8373
8374 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8375
8376         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8377         to error message string.
8378         (riscv_register_name): Use xsnprintf instead of sprintf.
8379         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8380         internal_error.
8381         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8382         error.
8383         (riscv_push_dummy_call): Likewise.
8384
8385 2018-03-12  Tom Tromey  <tom@tromey.com>
8386
8387         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8388         Use gdb::byte_vector.
8389         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8390
8391 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8392
8393         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8394         parameter type to readable_regcache.
8395         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
8396         the declaration.
8397
8398 2018-03-11  Tom Tromey  <tom@tromey.com>
8399
8400         * dwarf2read.c (struct nextfield): Add initializers.
8401         (struct nextfnfield): Remove.
8402         (struct fnfieldlist): Add initializers.  Remove "length" and
8403         "head", use std::vector.
8404         (struct decl_field_list): Remove.
8405         (struct field_info): Add initializers.
8406         <fields, baseclasses>: Now std::vector.
8407         <nbaseclasses, nfnfields, typedef_field_list_count,
8408         nested_types_list_count>: Remove.
8409         (dwarf2_add_field, dwarf2_add_type_defn)
8410         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
8411         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
8412         (process_structure_scope): Update.
8413
8414 2018-03-11  Tom Tromey  <tom@tromey.com>
8415
8416         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
8417         for use by std::sort.
8418         (build_type_psymtabs_1): Use std::vector.
8419
8420 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
8421
8422         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
8423         and LIBMPFR in the printed configuration.
8424
8425 2018-03-08  Tom Tromey  <tom@tromey.com>
8426
8427         * source.c (get_filename_and_charpos): Use scoped_fd.
8428         * nto-procfs.c (procfs_open_1): Use scoped_fd.
8429         (procfs_pidlist): Likewise.
8430         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
8431         (iterate_over_mappings): Likewise.
8432
8433 2018-03-08  Tom Tromey  <tom@tromey.com>
8434
8435         * infcall.c (struct call_return_meta_info)
8436         <stack_temporaries_enabled>: Remove.
8437         (get_call_return_value, call_function_by_hand_dummy): Update.
8438         * thread.c (disable_thread_stack_temporaries): Remove.
8439         (enable_thread_stack_temporaries): Remove.
8440         (thread_stack_temporaries_enabled_p): Return bool.
8441         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
8442         (get_last_thread_stack_temporary): Update.
8443         * eval.c (evaluate_subexp): Update.
8444         * gdbthread.h (class enable_thread_stack_temporaries): Now a
8445         class, not a function.
8446         (value_ptr, value_vec): Remove typedefs.
8447         (class thread_info) <stack_temporaries_enabled>: Now bool.
8448         <stack_temporaries>: Now a std::vector.
8449         (thread_stack_temporaries_enabled_p)
8450         (value_in_thread_stack_temporaries): Return bool.
8451
8452 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
8453
8454         * remote.c (putpkt_binary): Fix omitted bytes reporting.
8455         (getpkt_or_notif_sane_1): Likewise.
8456
8457 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8458
8459         * build-id.c (build_id_to_debug_bfd): Use std::string.
8460
8461 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8462
8463         * build-id.c (find_separate_debug_file_by_buildid): Return
8464         std::string.
8465         * build-id.h (find_separate_debug_file_by_buildid): Return
8466         std::string.
8467         * coffread.c (coff_symfile_read): Adjust to std::string.
8468         * elfread.c (elf_symfile_read): Adjust to std::string.
8469         * symfile.c (separate_debug_file_exists): Change parameter to
8470         std::string.
8471         (find_separate_debug_file): Return std::string.
8472         (find_separate_debug_file_by_debuglink): Return std::string.
8473         * symfile.h (find_separate_debug_file_by_debuglink): Return
8474         std::string.
8475
8476 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8477
8478         * common/xml-utils.c (xml_escape_text): Move code to...
8479         (xml_escape_text_append): ... this new function.
8480         * common/xml-utils.h (xml_escape_text_append): New declaration.
8481         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
8482         New function.
8483         (_initialize_xml_utils): register test_xml_escape_text_append as
8484         a selftest.
8485
8486 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
8487
8488         * defs.h: Remove MAX_REGISTER_SIZE.
8489         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
8490         asserts.
8491         * python/py-unwind.c (pyuw_sniffer): Likewise.
8492
8493 2018-03-07  Tom Tromey  <tom@tromey.com>
8494
8495         * linux-tdep.c (linux_info_proc): Update.
8496         * target.h (struct target_ops) <to_fileio_readlink>: Return
8497         optional<string>.
8498         (target_fileio_readlink): Return optional<string>.
8499         * remote.c (remote_hostio_readlink): Return optional<string>.
8500         * inf-child.c (inf_child_fileio_readlink): Return
8501         optional<string>.
8502         * target.c (target_fileio_readlink): Return optional<string>.
8503
8504 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
8505
8506         * regcache.c (cooked_read_test): Add riscv to the list of
8507         architectures that have a save_reggroup.
8508
8509 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8510
8511         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
8512         value is not a dynamic class object.
8513
8514 2018-03-06  Tom Tromey  <tom@tromey.com>
8515
8516         * rust-exp.y: Formatting fixes.
8517
8518 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8519
8520         * riscv-tdep.c (riscv_register_name): Remove target description
8521         support.
8522         (riscv_gdbarch_init): Remove target description check.
8523
8524 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8525
8526         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
8527         comment.
8528         * riscv-tdep.h: Likewise.
8529
8530 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8531
8532         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
8533         (riscv_pseudo_register_write): Delete.
8534         (riscv_gdbarch_init): Remove all use of pseudo registers.
8535
8536 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8537
8538         * record-btrace.c (btrace_print_lines): Replace cleanup
8539         parameter with RAII equivalents.
8540         (btrace_insn_history): Replace cleanup with RAII equivalents.
8541         * ui-out.h (make_cleanup_ui_out_list_begin_end,
8542         make_cleanup_ui_out_tuple_begin_end): Remove.
8543         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
8544         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
8545         make_cleanup_ui_out_list_begin_end): Remove.
8546
8547 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8548
8549         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
8550         parameter types to std::vector.  Use bool.
8551         (record_btrace_wait): Replace VEC(tp_t) with
8552         std::vector<thread_info *>.
8553         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
8554
8555 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8556
8557         * record-btrace.c (record_btrace_disable_callback): Remove.
8558         (struct scoped_btrace_disable): New.
8559         (record_btrace_open): Use scoped_btrace_disable.
8560
8561 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8562
8563         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
8564         reading values from registers.
8565
8566 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8567
8568         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
8569         where appropriate.
8570
8571 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8572
8573         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
8574         change parameter type.  Use GDB's print functions, and use
8575         core_addr_to_string where appropriate.
8576         (riscv_push_dummy_call): Use core_addr_to_string where
8577         appropriate, update call to riscv_print_arg_location, and reindent
8578         a few lines.
8579         (riscv_return_value): Update call to riscv_print_arg_location.
8580
8581 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8582             Tim Newsome <tim@sifive.com>
8583             Albert Ou <a0u@eecs.berkeley.edu>
8584             Darius Rad <darius@bluespec.com>
8585
8586         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
8587         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
8588         (ALLDEPFILES): Add riscv-tdep.c
8589         * configure.tgt: Add riscv support.
8590         * riscv-tdep.c: New file.
8591         * riscv-tdep.h: New file.
8592         * NEWS: Mention new target.
8593         * MAINTAINERS: Add entry for riscv.
8594
8595 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8596
8597         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
8598         fields within aggregates.
8599
8600 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
8601
8602         * record-btrace.c (btrace_print_lines): Change type of flags to
8603         gdb_disassembly_flags.
8604
8605 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8606
8607         * fbsd-nat.c: Include "inf-ptrace.h".
8608         (USE_SIGTRAP_SIGINFO): Conditionally define.
8609         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
8610         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
8611         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
8612         function.
8613         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
8614         Likewise.
8615         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
8616         Likewise.
8617         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
8618         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
8619         "supports_stopped_by_hw_breakpoint" target methods.
8620
8621 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8622
8623         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
8624         * fbsd-nat.c (debug_fbsd_nat): New variable.
8625         (show_fbsd_nat_debug): New function.
8626         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
8627         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
8628
8629 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8630
8631         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
8632         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
8633         prototype.
8634         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
8635         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
8636         method.
8637
8638 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8639
8640         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
8641         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
8642
8643 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8644
8645         * charset.c (struct charset_vector): New.
8646         (charsets): Change type to charset_vector.
8647         (find_charset_names): Adjust.
8648         (add_one): Adjust.
8649         (_initialize_charset): Adjust.
8650
8651 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8652
8653         * progspace.h (struct program_space) <deleted_solibs>: Change
8654         type to std::vector<std::string>.
8655         * progspace.c (clear_program_space_solib_cache): Adjust.
8656         * breakpoint.c (print_solib_event): Adjust.
8657         (check_status_catch_solib): Adjust.
8658         * solib.c (update_solib_list): Adjust.
8659         * ui-out.h (class ui_out) <field_string>: New overload.
8660         * ui-out.c (ui_out::field_string): New overload.
8661
8662 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8663
8664         * progspace.h (struct program_space): Add constructor and
8665         destructor, initialize fields.
8666         (add_program_space): Remove.
8667         * progspace.c (add_program_space): Rename to...
8668         (program_space::program_space): ... this.
8669         (release_program_space): Rename to...
8670         (program_space::~program_space): ... this.
8671         (delete_program_space): Use delete to delete program_space.
8672         (initialize_progspace): Use new to allocate program_space.
8673         * inferior.c (add_inferior_with_spaces): Likewise.
8674         (clone_inferior_command): Likewise.
8675         * infrun.c (follow_fork_inferior): Likewise.
8676         (handle_vfork_child_exec_or_exit): Likewise.
8677
8678 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8679
8680         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
8681         (delim_string_to_char_ptr_vec): Return std::vector of
8682         gdb::unique_xmalloc_ptr.
8683         (dirnames_to_char_ptr_vec_append): Take std::vector of
8684         gdb::unique_xmalloc_ptr.
8685         (dirnames_to_char_ptr_vec): Return std::vector of
8686         gdb::unique_xmalloc_ptr.
8687         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
8688         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
8689         (delim_string_to_char_ptr_vec): Return an std::vector of
8690         gdb::unique_xmalloc_ptr, adjust the code.
8691         (dirnames_to_char_ptr_vec_append): Take an std::vector of
8692         gdb::unique_xmalloc_ptr, adjust the code.
8693         (dirnames_to_char_ptr_vec): Return an std::vector of
8694         gdb::unique_xmalloc_ptr, adjust the code.
8695         * auto-load.c (auto_load_safe_path_vec): Change type to
8696         std::vector of gdb::unique_xmalloc_ptr.
8697         (auto_load_expand_dir_vars): Return an std::vector of
8698         gdb::unique_xmalloc_ptr, adjust the code.
8699         (auto_load_safe_path_vec_update): Adjust.
8700         (filename_is_in_auto_load_safe_path_vec): Adjust.
8701         (auto_load_objfile_script_1): Adjust.
8702         * build-id.c (build_id_to_debug_bfd): Adjust.
8703         * linux-thread-db.c (thread_db_load_search): Adjust.
8704         * source.c (add_path): Adjust.
8705         (openp): Adjust.
8706         * symfile.c (find_separate_debug_file): Adjust.
8707         * utils.c (do_free_char_ptr_vec): Remove.
8708         (make_cleanup_free_char_ptr_vec): Remove.
8709
8710 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
8711
8712         PR gdb/22907
8713         * common/pathstuff.c: Conditionally include "<windows.h>".
8714
8715 2018-03-01  Georg Sauthoff  <mail@georg.so>
8716
8717         PR gdb/22888
8718         * gcore.in: Quote variables and switch interpreter to bash.
8719
8720 2018-03-01  Tom Tromey  <tom@tromey.com>
8721
8722         * dwarf2read.c (alloc_discriminant_info): Fix default_index
8723         assertion.  Add assertion for discriminant_index.
8724         (quirk_rust_enum): Use correct base type name in univariant case.
8725
8726 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
8727
8728         * record.c (get_call_history_modifiers): Return a
8729         record_print_flags.
8730         (cmd_record_call_history): Adjust.
8731         * record-btrace.c (record_btrace_call_history): Adjust.
8732         (record_btrace_call_history_range): Adjust.
8733         (record_btrace_call_history_from): Adjust.
8734         * target-debug.h (target_debug_print_record_print_flags): New.
8735         * target-delegates.c: Re-generate.
8736         * target.c (target_call_history): Change flags type.
8737         (target_call_history_from): Likewise.
8738         (target_call_history_range): Likewise.
8739         * target.h (struct target_ops) <target_call_history>: Likewise.
8740         (target_call_history_from): Likewise.
8741         (target_call_history_range): Likewise.
8742
8743 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8744             Simon Marchi  <simon.marchi@polymtl.ca>
8745
8746         * common/common-utils.c: Include "sys/stat.h".
8747         (is_regular_file): Move here from "source.c"; change return
8748         type to "bool".
8749         * common/common-utils.h (is_regular_file): New prototype.
8750         * common/pathstuff.c (contains_dir_separator): New function.
8751         * common/pathstuff.h (contains_dir_separator): New prototype.
8752         * source.c: Don't include "sys/stat.h".
8753         (is_regular_file): Move to "common/common-utils.c".
8754
8755 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8756
8757         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
8758         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
8759         * auto-load.c: Include "common/pathstuff.h".
8760         * common/common-def.h (current_directory): Move here.
8761         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
8762         function.
8763         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
8764         prototype.
8765         * common/pathstuff.c: New file.
8766         * common/pathstuff.h: New file.
8767         * compile/compile.c: Include "common/pathstuff.h".
8768         * defs.h (current_directory): Move to "common/common-defs.h".
8769         * dwarf2read.c: Include "common/pathstuff.h".
8770         * exec.c: Likewise.
8771         * guile/scm-safe-call.c: Likewise.
8772         * linux-thread-db.c: Likewise.
8773         * main.c: Likewise.
8774         * nto-tdep.c: Likewise.
8775         * objfiles.c: Likewise.
8776         * source.c: Likewise.
8777         * symtab.c: Likewise.
8778         * utils.c: Include "common/pathstuff.h".
8779         (gdb_realpath): Move to "common/pathstuff.c".
8780         (gdb_realpath_keepfile): Likewise.
8781         (gdb_abspath): Likewise.
8782         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
8783         (gdb_realpath_keepfile): Likewise.
8784         (gdb_abspath): Likewise.
8785
8786 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
8787
8788         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
8789         wildcard process pid for super_resume for kernels with a
8790         specific bug.
8791
8792 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
8793
8794         * compile/compile.c (get_args): Add additional comments
8795         explaining function.
8796
8797 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
8798             Tom Tromey  <tom@tromey.com>
8799
8800         * target.h (memory_write_request_s): Remove typedef.  Don't define
8801         VEC.
8802         (target_write_memory_blocks): Change argument to std::vector.
8803         (struct memory_write_request): Add constructor.
8804         * target-memory.c (compare_block_starting_address): Return bool.
8805         Change argument types.
8806         (claim_memory): Change arguments to use std::vector.
8807         (split_regular_and_flash_blocks, blocks_to_erase)
8808         (compute_garbled_blocks): Likewise.
8809         (cleanup_request_data, cleanup_write_requests_vector): Remove.
8810         (target_write_memory_blocks): Change argument to std::vector.
8811         * symfile.c (struct load_section_data): Add constructor and
8812         destructor.  Use std::vector for "requests".
8813         (struct load_progress_data): Add initializers.
8814         (load_section_callback): Update.  Use "new".
8815         (clear_memory_write_data): Remove.
8816         (generic_load): Update.
8817
8818 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
8819
8820         * arch/aarch64.h: Use common/tdesc.h.
8821
8822 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8823
8824         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
8825         architecture with a 64-bit ABI.
8826
8827 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8828
8829         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
8830         ahead of target description loading.
8831
8832 2018-02-26  Tom Tromey  <tom@tromey.com>
8833
8834         * stack.c (backtrace_command_1): Update.
8835         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
8836         of "flags".
8837         * python/py-framefilter.c (py_print_frame)
8838         (gdbpy_apply_frame_filter): Change type of "flags".
8839         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
8840         of "flags".
8841         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
8842         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
8843         * extension.h (enum frame_filter_flag): Rename from
8844         frame_filter_flags.
8845         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
8846         (apply_ext_lang_frame_filter): Change type of "flags".
8847         * extension.c (apply_ext_lang_frame_filter): Change type of
8848         "flags".
8849         * extension-priv.h (struct extension_language_ops)
8850         <apply_frame_filter>: Change type of "flags".
8851
8852 2018-02-26  Tom Tromey  <tom@tromey.com>
8853
8854         PR python/16497:
8855         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
8856         off-by-one in py_end computation.
8857         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
8858         PRINT_MORE_FRAMES.
8859         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
8860         constant.
8861
8862 2018-02-26  Tom Tromey  <tom@tromey.com>
8863
8864         * dwarf2read.c (struct variant_field): New.
8865         (struct nextfield) <variant>: New field.
8866         (dwarf2_add_field): Handle DW_TAG_variant_part.
8867         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
8868         discriminated union.
8869         (read_structure_type): Handle DW_TAG_variant_part.
8870         (handle_struct_member_die): New function, extracted from
8871         process_structure_scope.  Handle DW_TAG_variant.
8872         (process_structure_scope): Handle discriminated unions.  Call
8873         handle_struct_member_die.
8874
8875 2018-02-26  Tom Tromey  <tom@tromey.com>
8876
8877         * rust-lang.h (rust_last_path_segment): Declare.
8878         * rust-lang.c (rust_last_path_segment): Now public.  Change
8879         contract.
8880         (struct disr_info): Remove.
8881         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
8882         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
8883         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
8884         (rust_enum_p, rust_enum_variant): New function.
8885         (rust_underscore_fields): Remove "offset" parameter.
8886         (rust_print_enum): New function.
8887         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
8888         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
8889         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
8890         enums.
8891         (rust_internal_print_type): New function, from rust_print_type.
8892         Remove enum code.
8893         (rust_print_type): Call rust_internal_print_type.
8894         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
8895         Update enum handling.
8896         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
8897         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
8898         (rust_union_quirks): New functions.
8899         (process_full_comp_unit, process_full_type_unit): Call
8900         rust_union_quirks.
8901         (process_structure_scope): Update rust_unions if necessary.
8902
8903 2018-02-26  Tom Tromey  <tom@tromey.com>
8904
8905         * value.h (value_union_variant): Declare.
8906         * valops.c (value_union_variant): New function.
8907         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
8908         (struct discriminant_info): New.
8909         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
8910         enumerator.
8911         (struct main_type) <flag_discriminated_union>: New field.
8912
8913 2018-02-26  Tom Tromey  <tom@tromey.com>
8914
8915         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8916         unittests/unpack-selftests.c.
8917         * unittests/unpack-selftests.c: New file.
8918         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
8919
8920 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8921
8922         * dwarf2read.c (struct partial_die_info) <read>: New method.
8923         (read_partial_die): Remove the declaration.
8924         (load_partial_dies): Update.
8925         (partial_die_info::partial_die_info):
8926         (read_partial_die): Change it to partial_die_info::read.
8927
8928 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8929
8930         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
8931         (fixup_partial_die): Remove declaration.
8932         (scan_partial_symbols): Update.
8933         (partial_die_parent_scope): Likewise.
8934         (partial_die_full_name): Likewise.
8935         (fixup_partial_die): Change it to partial_die_info::fixup.
8936
8937 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8938
8939         * dwarf2read.c (read_partial_die): Update the declaration.
8940         (load_partial_dies): Caller update.
8941         (read_partial_die): Remove one argument abbrev_len.
8942
8943 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8944
8945         * dwarf2read.c (struct partial_die_info): Add ctor, delete
8946         assignment operator.
8947         (load_partial_dies): Use ctor and copy ctor.
8948         (read_partial_die): Update.
8949         (dwarf2_cu::find_partial_die): Use ctor.
8950
8951 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8952
8953         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
8954         (find_partial_die_in_comp_unit): Change it to
8955         dwarf2_cu::find_partial_die.
8956         (find_partial_die): Update.
8957
8958 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8959
8960         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
8961         is NULL.
8962
8963 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8964
8965         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
8966
8967 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
8968
8969         * arch/amd64.h: Use common/tdesc.h.
8970         * arch/i386.c: Likewise.
8971         * arch/i386.h: Likewise.
8972         * arch/tic6x.c: Likewise.
8973         * arch/tdesc.h: Move file from here...
8974         * common/tdesc.h: ...to here.
8975         * features/aarch64-core.c: Regenerate.
8976         * features/aarch64-fpu.c: Regenerate.
8977         * features/i386/32bit-avx.c: Regenerate.
8978         * features/i386/32bit-avx512.c: Regenerate.
8979         * features/i386/32bit-core.c: Regenerate.
8980         * features/i386/32bit-linux.c: Regenerate.
8981         * features/i386/32bit-mpx.c: Regenerate.
8982         * features/i386/32bit-pkeys.c: Regenerate.
8983         * features/i386/32bit-sse.c: Regenerate.
8984         * features/i386/64bit-avx.c: Regenerate.
8985         * features/i386/64bit-avx512.c: Regenerate.
8986         * features/i386/64bit-core.c: Regenerate.
8987         * features/i386/64bit-linux.c: Regenerate.
8988         * features/i386/64bit-mpx.c: Regenerate.
8989         * features/i386/64bit-pkeys.c: Regenerate.
8990         * features/i386/64bit-segments.c: Regenerate.
8991         * features/i386/64bit-sse.c: Regenerate.
8992         * features/i386/x32-core.c: Regenerate.
8993         * features/tic6x-c6xp.c: Regenerate.
8994         * features/tic6x-core.c: Regenerate.
8995         * features/tic6x-gp.c: Regenerate.
8996         * target-descriptions.c: Use common/tdesc.h.
8997         * target-descriptions.h: Likewise.
8998
8999 2018-02-24  Tom Tromey  <tom@tromey.com>
9000
9001         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
9002         (try_thread_db_load_from_dir, thread_db_load_search): Use
9003         std::string.
9004         (info_auto_load_libthread_db_compare): Return bool.  Change
9005         argument types.
9006         (info_auto_load_libthread_db): Use std::vector, std::string.
9007         Remove cleanups.
9008
9009 2018-02-24  Tom Tromey  <tom@tromey.com>
9010
9011         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
9012         std::string.
9013         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
9014         std::string*.
9015         * gdbarch.c: Rebuild.
9016         * gdbarch.h: Rebuild.
9017         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9018         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9019         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9020         std::string*.
9021
9022 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9023
9024         * gdbtypes.h (sect_offset): Change type to uint64_t.
9025         (sect_offset_str): New function.
9026         * dwarf2read.c (create_addrmap_from_aranges): Use
9027         sect_offset_str.
9028         (error_check_comp_unit_head): Likewise.
9029         (create_debug_type_hash_table): Likewise.
9030         (read_cutu_die_from_dwo): Likewise.
9031         (init_cutu_and_read_dies): Likewise.
9032         (init_cutu_and_read_dies_no_follow): Likewise.
9033         (process_psymtab_comp_unit_reader): Likewise.
9034         (partial_die_parent_scope): Likewise.
9035         (peek_die_abbrev): Likewise.
9036         (process_queue): Likewise.
9037         (dwarf2_physname): Likewise.
9038         (read_namespace_alias): Likewise.
9039         (read_import_statement): Likewise.
9040         (create_dwo_cu_reader): Likewise.
9041         (create_cus_hash_table): Likewise.
9042         (lookup_dwo_cutu): Likewise.
9043         (inherit_abstract_dies): Likewise.
9044         (read_func_scope): Likewise.
9045         (read_call_site_scope): Likewise.
9046         (dwarf2_add_member_fn): Likewise.
9047         (read_common_block): Likewise.
9048         (read_module_type): Likewise.
9049         (read_typedef): Likewise.
9050         (read_subrange_type): Likewise.
9051         (load_partial_dies): Likewise.
9052         (read_partial_die): Likewise.
9053         (find_partial_die): Likewise.
9054         (read_str_index): Likewise.
9055         (dwarf2_string_attr): Likewise.
9056         (build_error_marker_type): Likewise.
9057         (lookup_die_type): Likewise.
9058         (dump_die_shallow): Likewise.
9059         (follow_die_ref): Likewise.
9060         (dwarf2_fetch_die_loc_sect_off): Likewise.
9061         (dwarf2_fetch_constant_bytes): Likewise.
9062         (follow_die_sig): Likewise.
9063         (get_signatured_type): Likewise.
9064         (get_DW_AT_signature_type): Likewise.
9065         (dwarf2_find_containing_comp_unit): Likewise.
9066         (set_die_type): Likewise.
9067
9068 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9069
9070         * arch/aarch64.c: Include "common-defs.h".
9071         * arch/amd64.c: Likewise.
9072         * arch/i386.c: Likewise.
9073
9074 2018-02-21  Tom Tromey  <tom@tromey.com>
9075
9076         * value.h: (extract_field_op): Update.
9077         * eval.c (extract_field_op): Return a const char *.
9078         * expression.h (parse_expression_for_completion): Update.
9079         * completer.c (complete_expression): Update.
9080         (add_struct_fields): Make fieldname const.
9081         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9082         (mark_completion_tag, parse_exp_in_context_1): Update.
9083         (parse_expression_for_completion): Change "name" to
9084         unique_xmalloc_ptr*.
9085
9086 2018-02-21  Tom Tromey  <tom@tromey.com>
9087
9088         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9089
9090 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9091
9092         * avr-tdep.c (avr_read_pc): Change parameter type to
9093         readable_regcache.
9094         * gdbarch.sh (read_pc): Likewise.
9095         * gdbarch.c: Re-generated.
9096         * gdbarch.h: Re-generated.
9097         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9098         readable_regcache.
9099         * ia64-tdep.c (ia64_read_pc): Likewise.
9100         * mips-tdep.c (mips_read_pc): Likewise.
9101         * spu-tdep.c (spu_read_pc): Likewise.
9102
9103 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9104
9105         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9106         * regcache-dump.c: New file.
9107         * regcache.c: Move register_dump to regcache-dump.c.
9108         (maintenance_print_registers): Likewise.
9109         (maintenance_print_raw_registers): Likewise.
9110         (maintenance_print_cooked_registers): Likewise.
9111         (maintenance_print_register_groups): Likewise.
9112         (maintenance_print_remote_registers): Likewise.
9113         (_initialize_regcache): Likewise.
9114         * regcache.h (register_dump): Moved from regcache.c.
9115
9116 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9117
9118         * regcache.c (regcache::regcache): Update.
9119         (regcache::invalidate): Move it to detached_regcache::invalidate.
9120         (get_thread_arch_aspace_regcache): Update.
9121         (regcache::raw_update): Update.
9122         (regcache::cooked_read): Remove some code.
9123         (regcache::cooked_read_value): Likewise.
9124         (regcache::raw_write): Remove assert on m_readonly_p.
9125         (regcache::raw_supply_integer): Move it to
9126         detached_regcache::raw_supply_integer.
9127         (regcache::raw_supply_zeroed): Likewise.
9128         * regcache.h (detached_regcache) <raw_supply_integer>: New
9129         declaration.
9130         <raw_supply_zeroed, invalidate>: Likewise.
9131         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9132         <invalidate>: Likewise.
9133         <m_readonly_p>: Removed.
9134
9135 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9136
9137         * infcmd.c (get_return_value): Let stop_regs point to
9138         get_current_regcache.
9139         * regcache.c (regcache::regcache): Remove.
9140         (register_dump_reg_buffer): New class.
9141         (regcache_print): Adjust.
9142         * regcache.h (regcache): Remove constructors.
9143
9144 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9145
9146         * regcache.c (class register_dump): New class.
9147         (register_dump_regcache, register_dump_none): New class.
9148         (register_dump_remote, register_dump_groups): New class.
9149         (regcache_print): Update.
9150         * regcache.h (regcache_dump_what): Move it to regcache.c.
9151         (regcache) <dump>: Remove.
9152
9153 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9154
9155         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9156          reg_buffer_rw *.
9157         (jit_unwind_reg_set_impl): Call raw_supply.
9158         (jit_frame_sniffer): Use reg_buffer_rw.
9159         * record-full.c (record_full_core_regbuf): Change its type.
9160         (record_full_core_open_1): Use reg_buffer_rw.
9161         (record_full_close): Likewise.
9162         (record_full_core_fetch_registers): Use regcache->raw_supply.
9163         (record_full_core_store_registers): Likewise.
9164         * regcache.c (regcache::get_register_status): Move it to
9165         reg_buffer.
9166         (regcache_raw_set_cached_value): Remove.
9167         (regcache::raw_set_cached_value): Remove.
9168         (regcache::raw_write): Call raw_supply.
9169         (regcache::raw_supply): Move it to reg_buffer_rw.
9170         * regcache.h (regcache_raw_set_cached_value): Remove.
9171         (reg_buffer_rw): New class.
9172
9173 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9174
9175         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9176         readonly_detached_regcache.
9177         (dummy_frame_prev_register): Use regcache->cooked_read.
9178         * frame.c (frame_save_as_regcache): Change return type.
9179         (frame_pop): Update.
9180         * frame.h (frame_save_as_regcache): Update declaration.
9181         * inferior.h (get_infcall_suspend_state_regcache): Update
9182         declaration.
9183         * infrun.c (infcall_suspend_state) <registers>: use
9184         readonly_detached_regcache.
9185         (save_infcall_suspend_state): Don't use regcache_dup.
9186         (get_infcall_suspend_state_regcache): Change return type.
9187         * linux-fork.c (struct fork_info) <savedregs>: Change to
9188         readonly_detached_regcache.
9189         <pc>: New field.
9190         (fork_save_infrun_state): Don't use regcache_dup.
9191         (info_checkpoints_command): Adjust.
9192         * mi/mi-main.c (register_changed_p): Update declaration.
9193         (mi_cmd_data_list_changed_registers): Use
9194         readonly_detached_regcache.
9195         (register_changed_p): Change parameter type to
9196         readonly_detached_regcache.
9197         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9198         readonly_detached_regcache.
9199         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9200         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9201         New.
9202         (regcache::save): Move it to reg_buffer.
9203         (regcache::restore): Change parameter type.
9204         (regcache_dup): Remove.
9205         * regcache.h (reg_buffer) <save>: New method.
9206         (readonly_detached_regcache): New class.
9207         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9208         readonly_detached_regcache.
9209         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9210
9211 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9212
9213         * frame.c (frame_save_as_regcache): Use regcache method save.
9214         (frame_pop): Use regcache method restore.
9215         * infrun.c (restore_infcall_suspend_state): Likewise.
9216         * linux-fork.c (fork_load_infrun_state): Likewise.
9217         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9218         save.
9219         * regcache.c (regcache_save): Remove.
9220         (regcache::restore): More asserts.
9221         (regcache_cpy): Remove.
9222         * regcache.h (regcache_save): Remove the declaration.
9223         (regcache::restore): Move from private to public.
9224         Remove the friend declaration of regcache_cpy.
9225         (regcache_cpy): Remove declaration.
9226
9227 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9228
9229         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9230         parameter type to 'readable_regcache *'.
9231         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9232         * arm-tdep.c (arm_neon_quad_read): Likewise.
9233         (arm_pseudo_read): Likewise.
9234         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9235         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9236         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9237         * gdbarch.c: Re-generated.
9238         * gdbarch.h: Re-generated.
9239         * gdbarch.sh (pseudo_register_read): Change parameter type to
9240         'readable_regcache *'.
9241         (pseudo_register_read_value): Likewise.
9242         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9243         (h8300_pseudo_register_read): Likewise.
9244         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9245         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9246         (i386_pseudo_register_read_into_value): Likewise.
9247         (i386_pseudo_register_read_value): Likewise.
9248         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9249         declaration.
9250         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9251         * m32c-tdep.c (m32c_raw_read): Likewise.
9252         (m32c_read_flg): Likewise.
9253         (m32c_banked_register): Likewise.
9254         (m32c_banked_read): Likewise.
9255         (m32c_sb_read): Likewise.
9256         (m32c_part_read): Likewise.
9257         (m32c_cat_read): Likewise.
9258         (m32c_r3r2r1r0_read): Likewise.
9259         (m32c_pseudo_register_read): Likewise.
9260         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9261         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9262         (mep_pseudo_cr64_read): Likewise.
9263         (mep_pseudo_register_read): Likewise.
9264         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9265         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9266         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9267         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9268         (regcache::cooked_read): Likewise.
9269         (regcache::cooked_read_value): Likewise.
9270         (regcache_cooked_read_signed):
9271         (regcache::cooked_read): Likewise.
9272         * regcache.h (readable_regcache): New class.
9273         (regcache): Inherit readable_regcache.  Move some methods to
9274         readable_regcache.
9275         * rl78-tdep.c (rl78_pseudo_register_read): Change
9276         parameter type to 'readable_regcache *'.
9277         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9278         (e500_pseudo_register_read): Change parameter type to
9279         'readable_regcache *'.
9280         (dfp_pseudo_register_read): Likewise.
9281         (vsx_pseudo_register_read): Likewise.
9282         (efpr_pseudo_register_read): Likewise.
9283         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9284         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9285         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9286         (sh64_pseudo_register_read): Likewise.
9287         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9288         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9289         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9290         (spu_pseudo_register_read): Likewise.
9291         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9292         (xtensa_pseudo_register_read): Likewise.
9293
9294 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9295
9296         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9297         (regcache::arch): Move it to reg_buffer::arch.
9298         (regcache::register_buffer): Likewise.
9299         (regcache::assert_regnum): Likewise.
9300         (regcache::num_raw_registers): Likewise.
9301         * regcache.h (reg_buffer): New class.
9302         (regcache): Inherit reg_buffer.
9303
9304 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9305
9306         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9307         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9308
9309 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9310
9311         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9312
9313 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9314
9315         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9316         (SFILES): Remove common/*.c files.
9317         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9318         * common/common.host: Add common reference.
9319         * configure.ac: Likewise.
9320         * configure: Regenerate.
9321
9322 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9323
9324         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9325         (block_initialize_namespace): Use new.
9326         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9327         (dwarf2_free_objfile): Use delete.
9328         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9329         (copy_type_recursive): Use new.
9330         * gdb_obstack.h (allocate_on_obstack): New.
9331
9332 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9333
9334         PR gdb/22849
9335         * inferior.c (exit_inferior_1): Reset inf->control.
9336
9337 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9338
9339         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9340         declaration.
9341
9342 2018-02-14  Pedro Alves  <palves@redhat.com>
9343
9344         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9345         frame_cleanup_after_sniffer on exception.
9346
9347 2018-02-14  Tom Tromey  <tom@tromey.com>
9348
9349         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9350         const.
9351         (solib_bfd_open): Make pathname const.
9352         * solib.c (solib_bfd_open): Make pathname const.
9353         * solib-spu.c (spu_bfd_fopen): Make name const.
9354         (spu_bfd_open): Make pathname const.
9355         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9356         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9357
9358 2018-02-14  Tom Tromey  <tom@tromey.com>
9359
9360         * symfile.c (symfile_bfd_open): Update.
9361         * source.h (openp, source_full_path_of, find_and_open_source):
9362         Change argument type to unique_xmalloc_ptr.
9363         * source.c (openp): Take a unique_xmalloc_ptr.
9364         (source_full_path_of, find_and_open_source): Likewise.
9365         (open_source_file, symtab_to_fullname): Update.
9366         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9367         unique_xmalloc_ptr.
9368         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9369         (exec_file_find): Update.
9370         * psymtab.c (psymtab_to_fullname): Update.
9371         * nto-tdep.h (nto_find_and_open_solib): Update.
9372         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9373         unique_xmalloc_ptr.
9374         * exec.c (exec_file_attach): Update.
9375         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9376         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9377
9378 2018-02-14  Tom Tromey  <tom@tromey.com>
9379
9380         * solib.c: Include source.h.
9381         * nto-tdep.c: Include source.h.
9382         * mi/mi-cmd-env.c: Include source.h.
9383         * infcmd.c: Include source.h.
9384         * exec.c: Include source.h.
9385         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9386         (add_path, directory_switch, source_path, init_source_path): Move
9387         declarations...
9388         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9389         (add_path, directory_switch, source_path, init_source_path):
9390         ...here.
9391
9392 2018-02-14  Tom Tromey  <tom@tromey.com>
9393
9394         * solist.h (exec_file_find, solib_find): Return
9395         unique_xmalloc_ptr.
9396         (solib_bfd_fopen): Take a const char *.
9397         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
9398         (exec_file_find, solib_find): Likewise.
9399         (solib_bfd_fopen): Do not take ownership of "pathname".
9400         (solib_bfd_open): Use unique_xmalloc_ptr.
9401         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
9402         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
9403         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
9404         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
9405
9406 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
9407
9408         * ada-lang.c (name_match_type_from_name): Remove reference to
9409         ada_name_for_lookup in function's documentation.
9410         * ada-lang.h (ada_name_for_lookup): Delete declaration.
9411
9412 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9413
9414         * defs.h (enum openp_flags): New enum.
9415         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
9416         Move to enum openp_flags.
9417         (openp_flags): New enum flags.
9418         (openp): Change parameter type to openp_flags.
9419         * source.c (openp): Change parameter type to openp_flags.
9420         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
9421         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
9422
9423 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9424
9425         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
9426         per-command.
9427
9428 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9429
9430         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
9431         into...
9432         (class dwarf2_queue_guard): ...the destructor of this new class.
9433         (dw2_do_instantiate_symtab): Create instance of the new class
9434         dwarf2_queue_guard, remove cleanup.
9435
9436 2018-02-09  Tom Tromey  <tom@tromey.com>
9437
9438         * source.c (find_source_lines): Don't reference past the end of
9439         the vector.
9440
9441 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9442
9443         * remote.c (remote_btrace_maybe_reopen): Change error message.
9444         * btrace.c (btrace_enable): Likewise.
9445         (parse_xml_btrace): Likewise.
9446         (parse_xml_btrace_conf): Likewise.
9447
9448 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9449
9450         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
9451         (linux_enable_pt, linux_enable_bts): Call
9452         diagnose_perf_event_open_fail.
9453
9454 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9455
9456         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
9457         Remove parameter and change return type.  Update callers.  Move it.
9458         (linux_enable_bts, linux_enable_pt): Improve error message.
9459         (linux_enable_pt): Remove zero buffer size check.
9460         (linux_enable_btrace): Improve error messages.  Remove NULL return
9461         check.
9462
9463 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9464
9465         * btrace.c (btrace_enable): Remove target_supports_btrace call.
9466         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
9467         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
9468         (linux_supports_pt, linux_supports_btrace): Remove.
9469         (linux_enable_bts): Call cpu_supports_bts.
9470         * nat/linux-btrace.h (linux_supports_btrace): Remove.
9471         * remote.c (remote_supports_btrace): Remove.
9472         (init_remote_ops): Remove remote_supports_btrace.
9473         * target-delegates.c: Regenerated.
9474         * target.c (target_supports_btrace): Remove.
9475         * target.h (target_ops) <to_supports_btrace>: Remove
9476         (target_supports_btrace): Remove.
9477         * x86-linux-nat.c (x86_linux_create_target): Remove
9478         linux_supports_btrace.
9479
9480 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9481
9482         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
9483         btrace failed.
9484         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
9485         exception and use message in own exception.
9486
9487 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9488
9489         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
9490         (perf_event_pt_event_type): Use gdb_file_up.
9491         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
9492         scoped_fd, and scoped_mmap.
9493
9494 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9495
9496         * common/scoped_mmap.h: New.
9497         * unittests/scoped_mmap-selftest.c: New.
9498         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9499         unittests/scoped_mmap-selftest.c.
9500
9501 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9502
9503         * common/scoped_fd.h: New.
9504         * unittests/scoped_fd-selftest.c: New.
9505         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9506         unittests/scoped_fd-selftest.c.
9507
9508 2018-02-09  Tom Tromey  <tom@tromey.com>
9509
9510         * auto-load.c (auto_load_section_scripts): Use
9511         gdb::unique_xmalloc_ptr.
9512
9513 2018-02-09  Tom Tromey  <tom@tromey.com>
9514
9515         * auto-load.c (execute_script_contents): Use std::string.
9516
9517 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
9518
9519         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
9520         Python function, rather than a new command.
9521
9522 2018-02-08  Tom Tromey  <tom@tromey.com>
9523
9524         * solib.c (solib_find_1): Use std::string.
9525         (solib_bfd_fopen): Use unique_xmalloc_ptr.
9526
9527 2018-02-08  Tom Tromey  <tom@tromey.com>
9528
9529         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
9530
9531 2018-02-08  Tom Tromey  <tom@tromey.com>
9532
9533         * source.c (find_source_lines): Use gdb::def_vector.
9534
9535 2018-02-08  Tom Tromey  <tom@tromey.com>
9536
9537         * macrocmd.c (struct temporary_macro_definition): New.
9538         (macro_define_command): Use temporary_macro_definition.  Remove
9539         cleanups.
9540         (free_macro_definition_ptr): Remove.
9541
9542 2018-02-08  Tom Tromey  <tom@tromey.com>
9543
9544         * macroexp.c (maybe_expand): Use std::string.
9545
9546 2018-02-08  Tom Tromey  <tom@tromey.com>
9547
9548         * macroexp.c (struct macro_buffer): Add initializers for some
9549         members.
9550         (init_buffer, init_shared_buffer, free_buffer)
9551         (free_buffer_return_text): Remove.
9552         (macro_buffer): New constructors.
9553         (~macro_buffer): New destructor.
9554         (macro_buffer::set_shared): New method.
9555         (macro_buffer::resize_buffer, macro_buffer::appendc)
9556         (macro_buffer::appendmem): Now methods, not free functions.
9557         (set_token, append_tokens_without_splicing, stringify)
9558         (macro_stringify): Update.
9559         (gather_arguments): Change return type.  Remove argc_p argument,
9560         add args_ptr argument.  Use std::vector.
9561         (substitute_args): Remove argc argument.  Accept std::vector.
9562         (expand): Update.  Use std::vector.
9563         (scan, macro_expand, macro_expand_next): Update.
9564
9565 2018-02-08  Tom Tromey  <tom@tromey.com>
9566
9567         * symtab.c (default_collect_symbol_completion_matches_break_on):
9568         Use unique_xmalloc_ptr.
9569         * macroscope.h: (sal_macro_scope, user_macro_scope)
9570         (default_macro_scope): Return unique_xmalloc_ptr.
9571         * macroscope.c (sal_macro_scope, user_macro_scope)
9572         (default_macro_scope): Return unique_xmalloc_ptr.
9573         * macroexp.h (macro_expand, macro_expand_once): Return
9574         unique_xmalloc_ptr.
9575         * macroexp.c (macro_expand, macro_expand_once): Return
9576         unique_xmalloc_ptr.
9577         * macrocmd.c (macro_expand_command, macro_expand_once_command)
9578         (info_macro_command, info_macros_command): Use
9579         unique_xmalloc_ptr.
9580         * compile/compile-c-support.c (write_macro_definitions): Use
9581         unique_xmalloc_ptr.
9582         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
9583
9584 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
9585
9586         * value.c (value_static_field): Assign field type instead of
9587         containing type when returning an optimized out value.
9588
9589 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9590
9591         * ft32-tdep.c (ft32_read_pc): Remove.
9592         (ft32_write_pc): Remove.
9593         (ft32_gdbarch_init): Update.
9594         * m32r-tdep.c (m32r_read_pc): Remove.
9595         (m32r_gdbarch_init): Update.
9596         * mep-tdep.c (mep_read_pc): Remove.
9597         (mep_gdbarch_init): Update.
9598         * microblaze-tdep.c (microblaze_write_pc): Remove.
9599         (microblaze_gdbarch_init): Update.
9600         * mn10300-tdep.c (mn10300_read_pc): Remove.
9601         (mn10300_write_pc): Remove.
9602         (mn10300_gdbarch_init): Update.
9603         * moxie-tdep.c (moxie_read_pc): Remove.
9604         (moxie_write_pc): Remove.
9605         (moxie_gdbarch_init): Update.
9606
9607 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9608
9609         * expprint.c (print_subexp_standard): Handle
9610         OP_F77_UNDETERMINED_ARGLIST.
9611         (dump_subexp_body_standard): Likewise.
9612
9613 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
9614
9615         * target-descriptions.c (tdesc_element_visitor) Add empty
9616         implementations.
9617         (tdesc_type): Move make_gdb_type from here.
9618         (tdesc_type_builtin): Likewise.
9619         (tdesc_type_vector): Likewise.
9620         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
9621         (make_gdb_type_struct): Move from tdesc_type_with_fields.
9622         (make_gdb_type_union): Likewise.
9623         (make_gdb_type_flags): Likewise.
9624         (make_gdb_type_enum): Likewise.
9625         (make_gdb_type): New function.
9626         (tdesc_register_type): Use static make_gdb_type.
9627
9628 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
9629
9630         * infcmd.c (default_print_one_register_info): Align natural-format
9631         column values consistently one under another.
9632         (pad_to_column): New function.
9633
9634 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
9635
9636         * dwarf2read.c (dwarf2_physname): Move commment.
9637
9638 2018-02-01  Leszek Swirski  <leszeks@google.com>
9639
9640         * varobj.c (varobj_formatted_print_options): Allow recursive
9641         pretty printing if pretty printing is enabled.
9642
9643 2018-02-01  Leszek Swirski  <leszeks@google.com>
9644
9645         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
9646         names after a structop as a filename.
9647
9648 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9649
9650         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
9651         (arm_record_coproc_data_proc): Likewise.
9652
9653 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9654
9655         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
9656
9657 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
9658
9659         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
9660         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
9661
9662 2018-01-31  Pedro Alves  <palves@redhat.com>
9663
9664         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
9665         * inflow.c (child_terminal_save_inferior): Wrap reference to
9666         tcgetpgrp in HAVE_TERMIOS_H.
9667         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
9668         _WIN32.
9669         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
9670         always iterate over all inferiors.
9671         (gdbsim_cntrl_c): Adjust.
9672         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
9673
9674 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9675
9676         * gdbtypes.c (lookup_array_range_type): Make sure the array's
9677         index type is objfile-owned if the element type is as well.
9678
9679 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9680
9681         GDB 8.1 released.
9682
9683 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9684
9685         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
9686         "features/s390x-linux64.c".
9687         (_initialize_s390_linux_tdep): Remove initialization of tdescs
9688         s390_linux32 and s390x_linux64.
9689         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
9690         default tdesc.
9691         * s390-tdep.c: Include "features/s390-linux32.c" and
9692         "features/s390x-linux64.c".
9693         (s390_tdesc_valid): Add check for tdesc_has_registers.
9694         (s390_gdbarch_init): Make sure there is always a valid tdesc.
9695         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
9696         tdesc_s390x_linux64.
9697         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
9698         tdesc_s390x_linux64 to...
9699         * s390-tdep.h: ...here.
9700
9701 2018-01-30  Pedro Alves  <palves@redhat.com>
9702
9703         PR gdb/13211
9704         * config.in, configure: Regenerate.
9705         * configure.ac: Check for getpgid.
9706         * go32-nat.c (go32_pass_ctrlc): New.
9707         (go32_target): Install it.
9708         * inf-child.c (inf_child_target): Install
9709         child_terminal_save_inferior, child_pass_ctrlc and
9710         child_interrupt.
9711         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
9712         (inf_ptrace_target): No longer install it.
9713         * infcmd.c (interrupt_target_1): Adjust.
9714         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
9715         (child_interrupt): Declare.
9716         (inferior::terminal_state): New.
9717         * inflow.c (struct terminal_info): Update comments.
9718         (inferior_process_group): Delete.
9719         (terminal_is_ours): Delete.
9720         (gdb_tty_state): New.
9721         (child_terminal_init): Adjust.
9722         (is_gdb_terminal, sharing_input_terminal_1)
9723         (sharing_input_terminal): New functions.
9724         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
9725         Set the process's actual process group in the foreground if
9726         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
9727         mark terminal as the inferior's if not sharing GDB's terminal.
9728         Don't check attach_flag.
9729         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
9730         pass down a target_terminal_state.
9731         (child_terminal_save_inferior): New, factored out from ...
9732         (child_terminal_ours_1): ... this.  Handle
9733         target_terminal_state::is_ours_for_output.
9734         (child_interrupt, child_pass_ctrlc): New.
9735         (inflow_inferior_exit): Clear the inferior's terminal_state.
9736         (copy_terminal_info): Copy the inferior's terminal state.
9737         (_initialize_inflow): Remove reference to terminal_is_ours.
9738         * inflow.h (inferior_process_group): Delete.
9739         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
9740         * procfs.c (procfs_target): Don't install procfs_interrupt.
9741         (procfs_interrupt): Delete.
9742         * remote.c (remote_serial_quit_handler): Adjust.
9743         (remote_interrupt): Remove ptid parameter.  Adjust.
9744         * target-delegates.c: Regenerate.
9745         * target.c: Include "terminal.h".
9746         (target_terminal::terminal_state): Rename to ...
9747         (target_terminal::m_terminal_state): ... this.
9748         (target_terminal::init): Adjust.
9749         (target_terminal::inferior): Adjust to per-inferior
9750         terminal_state.
9751         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
9752         (target_terminal::ours, target_terminal::ours_for_output): Use
9753         target_terminal_is_ours_kind.
9754         (target_interrupt): Remove ptid parameter.  Adjust.
9755         (default_target_pass_ctrlc): Adjust.
9756         * target.h (target_ops::to_terminal_save_inferior): New field.
9757         (target_ops::to_interrupt): Remove ptid_t parameter.
9758         (target_interrupt): Remove ptid_t parameter.  Update comment.
9759         (target_pass_ctrlc): Update comment.
9760         * target/target.h (target_terminal_state): New scoped enum,
9761         factored out of ...
9762         (target_terminal::terminal_state): ... here.
9763         (target_terminal::inferior): Update comments.
9764         (target_terminal::restore_inferior): New.
9765         (target_terminal::is_inferior, target_terminal::is_ours)
9766         (target_terminal::is_ours_for_output): Adjust.
9767         (target_terminal::scoped_restore_terminal_state): Adjust to
9768         rename, and call restore_inferior() instead of inferior().
9769         (target_terminal::scoped_restore_terminal_state::m_state): Change
9770         type.
9771         (target_terminal::terminal_state): Rename to ...
9772         (target_terminal::m_terminal_state): ... this and change type.
9773
9774 2018-01-30  Pedro Alves  <palves@redhat.com>
9775
9776         * linux-nat.c (wait_for_signal): New function.
9777         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
9778         directly.
9779         (async_terminal_is_ours)
9780         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
9781         (linux_nat_add_target): Don't override
9782         to_terminal_inferior/to_terminal_ours.
9783
9784 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
9785
9786         * remote.c (remote_follow_fork): Don't call "detach_inferior".
9787
9788 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
9789
9790         * dwarf2read.c (free_dwo_files): Add forward-declaration.
9791         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
9792         dwarf2_per_objfile_free here.
9793         (dwarf2_per_objfile_free): Remove.
9794         (_initialize_dwarf2_read): Don't register
9795         dwarf2_per_objfile_free as a registry cleanup.
9796
9797 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9798
9799         Avoid compilation errors in MinGW native builds
9800
9801         The error is triggered by including python-internal.h, and the
9802         error message is:
9803
9804              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
9805                       from build-gnulib/import/math.h:27,
9806                       from d:/usr/Python26/include/pyport.h:235,
9807                       from d:/usr/Python26/include/Python.h:58,
9808                       from python/python-internal.h:94,
9809                       from python/py-arch.c:24:
9810              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
9811         using ::hypot;
9812                 ^~~~~
9813
9814         This happens because Python headers define 'hypot' to expand t
9815         '_hypot' in the Windows builds.
9816         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
9817         'hypoth'.  This avoids a compilation error.
9818
9819 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9820
9821         * MAINTAINERS (Write After Approval): Fix ordering.
9822
9823 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9824
9825         * MAINTAINERS (Write After Approval): Add Alan Hayward.
9826
9827 2018-01-26  Alan Modra  <amodra@gmail.com>
9828
9829         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
9830         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
9831         Remove nop.  Make const.  Comment.
9832         (powerpc32_plt_stub_so_2): New.
9833         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
9834         Correct count.  Update uses.
9835         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
9836         Move common code reading PLT entry word.  Correct
9837         powerpc32_plt_stub PLT address calculation.
9838         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
9839         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
9840         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
9841         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
9842         (ppc64_standard_linkage8): Likewise.
9843         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
9844         Correct insns description.
9845         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
9846
9847 2018-01-24  Pedro Alves  <palves@redhat.com>
9848
9849         GCC PR libstdc++/83906
9850         * gdbtypes.c (operator==(const dynamic_prop &,
9851         const dynamic_prop &)): New.
9852         (operator==(const range_bounds &, const range_bounds &)): New.
9853         (check_types_equal): Use them instead of memcmp.
9854         * gdbtypes.h (operator==(const dynamic_prop &,
9855         const dynamic_prop &)): Declare.
9856         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
9857         (operator==(const range_bounds &, const range_bounds &)): Declare.
9858         (operator!=(const range_bounds &, const range_bounds &)): Declare.
9859
9860 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9861
9862         * s390-linux-tdep.c (s390_record_address_mask)
9863         (s390_record_calc_disp_common, s390_record_calc_disp)
9864         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9865         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9866         (s390_process_record): Move to s390-tdep.c.
9867         (s390_linux_init_abi_any): Adjust.
9868         * s390-tdep.c (s390_record_address_mask)
9869         (s390_record_calc_disp_common, s390_record_calc_disp)
9870         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9871         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9872         (s390_process_record): Moved from s390-linux-tdep.c
9873         (s390_gdbarch_init): Adjust.
9874
9875 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9876
9877         * s390-linux-nat.c (s390-tdep.h): New include.
9878         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
9879         (HFILES_NO_SRCDIR): Add s390-tdep.h.
9880         (ALLDEPFILES): Add s390-tdep.c.
9881         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
9882         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
9883         * s390-tdep.h: ...this.  New file.
9884         * s390-linux-tdep.c (s390-tdep.h): New include.
9885         (_initialize_s390_tdep): Rename to...
9886         (_initialize_s390_linux_tdep): ...this and adjust.
9887         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
9888         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
9889         s390-tdep.h.
9890         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
9891         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
9892         (s390_is_partial_instruction, s390_software_single_step)
9893         (is_non_branch_ril, s390_displaced_step_copy_insn)
9894         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
9895         (s390_prologue_data, s390_addr, s390_store, s390_load)
9896         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
9897         (s390_register_call_saved, s390_guess_tracepoint_registers)
9898         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
9899         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
9900         (s390_pseudo_register_name, s390_pseudo_register_type)
9901         (s390_pseudo_register_read, s390_pseudo_register_write)
9902         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
9903         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
9904         (s390_addr_bits_remove, s390_address_class_type_flags)
9905         (s390_address_class_type_flags_to_name)
9906         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
9907         (s390_function_arg_float, s390_function_arg_vector)
9908         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
9909         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
9910         (s390_frame_align, s390_register_return_value, s390_return_value)
9911         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
9912         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
9913         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
9914         (s390_trad_frame_prev_register, s390_unwind_cache)
9915         (s390_prologue_frame_unwind_cache)
9916         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
9917         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
9918         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
9919         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
9920         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
9921         (s390_frame_base_address, s390_local_base_address)
9922         (s390_frame_base, s390_gcc_target_options)
9923         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
9924         (s390_validate_reg_range, s390_tdesc_valid)
9925         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
9926         * s390-tdep.c: ...this.  New file.
9927
9928 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9929
9930         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
9931         (s390_process_record, s390_gdbarch_tdep_alloc)
9932         (s390_linux_init_abi_any): Use/set new hook.
9933
9934 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9935
9936         * s390-linux-tdep.c (osabi.h): New include.
9937         (s390_linux_init_abi_31, s390_linux_init_abi_64)
9938         (s390_linux_init_abi_any): New functions.
9939         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
9940
9941 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9942
9943         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
9944         tdesc_has_registers check
9945
9946 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9947
9948         * s390-linux-tdep.c (s390_tdesc_valid): New function.
9949         (s390_validate_reg_range): New macro.
9950         (s390_gdbarch_init): Adjust.
9951
9952 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9953
9954         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
9955         (s390_gdbarch_tdep_alloc): Adjust.
9956         (s390_gdbarch_init): Adjust.
9957
9958 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9959
9960         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
9961         <have_tdb>: Change type to bool.
9962         (s390_gdbarch_tdep_alloc): Adjust.
9963         (s390_gdbarch_init): Adjust.
9964
9965 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9966
9967         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
9968         (gdbarch_tdep) <have_upper, have_vx>: New fields.
9969         (s390_gdbarch_tdep_alloc): New function.
9970         (s390_gdbarch_init): Allocate tdep at start and use its fields
9971         instead of separate variables.
9972
9973 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9974
9975         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
9976         when looking for cached gdbarch and add comment for remaining.
9977
9978 2018-01-22  Pedro Alves  <palves@redhat.com>
9979             Sergio Durigan Junior  <sergiodj@redhat.com>
9980
9981         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
9982         case.
9983
9984 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
9985
9986         * MAINTAINERS: Update my company e-mail address.
9987
9988 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9989
9990         * regcache.c (cooked_write_test): New function.
9991         (_initialize_regcache): Register the test.
9992
9993 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9994
9995         * ia64-tdep.c (ia64_pseudo_register_read): Call
9996         regcache->cooked_read instead of regcache_cooked_read_unsigned.
9997         * m32c-tdep.c (m32c_cat_read): Likewise.
9998         (m32c_r3r2r1r0_read): Likewise.
9999         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10000         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10001
10002 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10003
10004         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
10005         method raw_read instead of regcache_raw_read.
10006         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10007         * arm-tdep.c (arm_neon_quad_read): Likewise.
10008         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10009         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10010         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10011         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
10012         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10013         (i386_pseudo_register_read_into_value): Likewise.
10014         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10015         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10016         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10017         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10018         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10019         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10020         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10021         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10022         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10023
10024 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10025
10026         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10027         * configure.tgt: Remove target mt.
10028         * mt-tdep.c: Remove.
10029         * regcache.c (cooked_read_test): Remove the check for mt.
10030
10031 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10032
10033         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10034         instead of gdbarch_pseudo_register_read_value.
10035
10036 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10037
10038         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10039         language is Ada.
10040
10041 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10042
10043         * linespec.c (create_sals_line_offset): Remove code that preserved
10044         the symtab_and_line's line number.
10045
10046 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10047
10048         * varobj.c (varobj_create): Don't set valid_block when creating a
10049         floating varobj.
10050
10051 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10052
10053         * varobj.c (varobj_create): Remove out of date comment.
10054
10055 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10056
10057         PR mi/20395
10058         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10059         updating innermost block.
10060         * parse.c (innermost_block_tracker::update): Take extra type
10061         parameter, and check types match before updating innermost block.
10062         (write_dollar_variable): Update innermost block for registers.
10063         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10064         (innermost_block_tracker::innermost_block_tracker): Initialise
10065         m_types member.
10066         (innermost_block_tracker::reset): Take type parameter.
10067         (innermost_block_tracker::update): Take type parameter, and pass
10068         type through as needed.
10069         (innermost_block_tracker::m_types): New member.
10070         * varobj.c (varobj_create): Pass type when reseting innermost
10071         block.
10072
10073 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10074
10075         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10076         * ada-lang.c (resolve_subexp): Likewise.
10077         * breakpoint.c (set_breakpoint_condition) Likewise.
10078         (watch_command_1) Likewise.
10079         * c-exp.y (variable): Likewise.
10080         * d-exp.y (PrimaryExpression): Likewise.
10081         * f-exp.y (variable): Likewise.
10082         * go-exp.y (variable): Likewise.
10083         * m2-exp.y (variable): Likewise.
10084         * objfiles.c (objfile::~objfile): Likewise.
10085         * p-exp.y (variable): Likewise.
10086         * parse.c (innermost_block): Change type.
10087         * parser-defs.h (class innermost_block_tracker): New.
10088         (innermost_block): Change to innermost_block_tracker.
10089         * printcmd.c (display_command): Switch to innermost_block API.
10090         (do_one_display): Likewise.
10091         * rust-exp.y (do_one_display): Likewise.
10092         * symfile.c (clear_symtab_users): Likewise.
10093         * varobj.c (varobj_create): Switch to innermost_block API, replace
10094         use of innermost_block with block stored on varobj object.
10095
10096 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10097
10098         * expression.h (innermost_block): Remove declaration.
10099         * varobj.c: Add 'parser-defs.h' include.
10100
10101 2018-01-19  Tom Tromey  <tom@tromey.com>
10102
10103         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10104         symbols in the static and global blocks.
10105
10106 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10107
10108         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10109         gdb_ptrace.h, and move including gdb_wait.h ...
10110         * nat/linux-ptrace.h: ... to here.
10111
10112 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10113
10114         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10115         inf_ptrace_detach_success.
10116         (inf_ptrace_detach_success): Add inferior parameter, use it
10117         instead of inferior_ptid, pass it to detach_inferior.
10118         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10119         parameter.
10120         * inferior.c (detach_inferior): Add overload that takes an
10121         inferior object.
10122         * inferior.h (detach_inferior): Likewise.
10123         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10124         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10125         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10126
10127 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10128
10129         * target.h (struct target_ops) <to_detach>: Add inferior
10130         parameter.
10131         (target_detach): Likewise.
10132         * target.c (dispose_inferior): Pass inferior down.
10133         (target_detach): Pass inferior down.  Assert that it is equal to
10134         the current inferior.
10135         * aix-thread.c (aix_thread_detach): Pass inferior down.
10136         * corefile.c (core_file_command): Pass current_inferior() down.
10137         * corelow.c (core_detach): Add inferior parameter.
10138         * darwin-nat.c (darwin_detach): Likewise.
10139         * gnu-nat.c (gnu_detach): Likewise.
10140         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10141         * infcmd.c (detach_command): Pass current_inferior() down to
10142         target_detach.
10143         * infrun.c (follow_fork_inferior): Pass parent_inf to
10144         target_detach.
10145         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10146         target_detach.
10147         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10148         * linux-thread-db.c (thread_db_detach): Likewise.
10149         * nto-procfs.c (procfs_detach): Likewise.
10150         * procfs.c (procfs_detach): Likewise.
10151         * record.c (record_detach): Likewise.
10152         * record.h (struct inferior): Forward-declare.
10153         (record_detach): Add inferior parameter.
10154         * remote-sim.c (gdbsim_detach): Likewise.
10155         * remote.c (remote_detach_1): Likewise.
10156         (remote_detach): Likewise.
10157         (extended_remote_detach): Likewise.
10158         * sol-thread.c (sol_thread_detach): Likewise.
10159         * target-debug.h (target_debug_print_inferior_p): New macro.
10160         * target-delegates.c: Re-generate.
10161         * top.c (kill_or_detach): Pass inferior down to target_detach.
10162         * windows-nat.c (windows_detach): Add inferior parameter.
10163
10164 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10165
10166         * target.h (struct target_ops) <to_detach>: Remove args
10167         parameter.
10168         (target_detach): Likewise.
10169         * target.c (dispose_inferior): Adjust.
10170         (target_detach): Remove args parameter, adjust.
10171         * aix-thread.c (aix_thread_detach): Adjust.
10172         * corefile.c (core_file_command): Adjust.
10173         * corelow.c (core_detach): Adjust.
10174         * darwin-nat.c (darwin_detach): Adjust.
10175         * gnu-nat.c (gnu_detach): Adjust.
10176         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10177         * infcmd.c (detach_command): Adjust
10178         * infrun.c (follow_fork_inferior): Adjust.
10179         (handle_vfork_child_exec_or_exit): Adjust.
10180         * linux-fork.c (linux_fork_detach): Remove args parameter.
10181         * linux-fork.h (linux_fork_detach): Likewise.
10182         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10183         * linux-thread-db.c (thread_db_detach): Likewise.
10184         * nto-procfs.c (procfs_detach): Likewise.
10185         * procfs.c (procfs_detach): Likewise.
10186         (do_detach): Remove signo parameter.
10187         * record.c (record_detach): Remove args parameter.
10188         * record.h (record_detach): Likewise.
10189         * remote-sim.c (gdbsim_detach): Likewise.
10190         * remote.c (remote_detach_1): Likewise.
10191         (remote_detach): Likewise.
10192         (extended_remote_detach): Likewise.
10193         * sol-thread.c (sol_thread_detach): Likewise.
10194         * target-delegates.c: Re-generate.
10195         * top.c (struct qt_args) <args>: Remove field.
10196         (kill_or_detach): Don't pass args.
10197         (quit_force): Don't set args.
10198         * windows-nat.c (windows_detach): Remove args parameter.
10199
10200 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10201
10202         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10203         (arm_linux_init_abi): Install it.
10204
10205 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10206
10207         * osabi.c (gdb_osabi_names): Extend the regexp for
10208         arm-linux-gnueabihf.
10209
10210 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10211
10212         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10213         m_abbrevs.
10214         (abbrev_table::add_abbrev): Update.
10215         (abbrev_table::lookup_abbrev): Update.
10216
10217 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10218
10219         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10220
10221 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10222
10223         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10224         to "std::string".
10225
10226 2018-01-17  Tom Tromey  <tom@tromey.com>
10227
10228         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10229
10230 2018-01-17  Tom Tromey  <tom@tromey.com>
10231
10232         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10233         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10234         (create_array_type_with_stride): Update.
10235         * dwarf2read.c (set_die_type): Update.
10236
10237 2018-01-17  Tom Tromey  <tom@tromey.com>
10238
10239         * dwarf2read.c (delayed_method_info): Remove typedef.
10240         (dwarf2_cu::method_info): Now a std::vector.
10241         (add_to_method_list): Update.
10242         (free_delayed_list): Remove.
10243         (compute_delayed_physnames): Update.
10244         (process_full_comp_unit, process_full_type_unit): Clear the method
10245         list.  Remove cleanups.
10246         (psymtab_include_file_name): Add name_holder parameter.  Use
10247         unique_xmalloc_ptr.
10248         (dwarf_decode_lines): Update.
10249
10250 2018-01-17  Tom Tromey  <tom@tromey.com>
10251             Simon Marchi  <simon.marchi@ericsson.com>
10252
10253         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10254         (dwarf2_per_objfile::free_cached_comp_units)
10255         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10256         (init_cutu_and_read_dies_no_follow): Update.
10257         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10258         (dwarf2_cu::~dwarf2_cu): New.
10259         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10260         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10261
10262 2018-01-17  Tom Tromey  <tom@tromey.com>
10263             Simon Marchi  <simon.marchi@ericsson.com>
10264
10265         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10266         (struct die_reader_specs) <abbrev_table>: New member.
10267         (struct abbrev_table): Add constructor.
10268         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10269         <abbrev_obstack>: Now an auto_obstack.
10270         (abbrev_table_up): New typedef.
10271         (init_cu_die_reader): Add abbrev_table parameter.
10272         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10273         Add result_dwo_abbrev_table.
10274         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10275         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10276         Update.
10277         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10278         parameter.
10279         (skip_children): Update.
10280         (abbrev_table::alloc_abbrev): Rename from
10281         abbrev_table_alloc_abbrev.
10282         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10283         (abbrev_table::lookup_abbrev): Rename from
10284         abbrev_table_lookup_abbrev.
10285         (abbrev_table_read_table): Return abbrev_table_up.
10286         (abbrev_table_free, abbrev_table_free_cleanup)
10287         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10288         (load_partial_dies): Update.
10289
10290 2018-01-17  Tom Tromey  <tom@tromey.com>
10291
10292         * dwarf2read.c (dwarf2_compute_name): Update comment.
10293         (read_func_scope, read_variable): Update.
10294         (new_symbol): Remove.
10295         (new_symbol_full): Rename to new_symbol.
10296
10297 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10298
10299         PR gdb/16577
10300         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10301         a warning instead of throwing an error, set section size to 0 and return
10302         NULL.
10303         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10304
10305 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10306
10307         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10308         std::string.
10309         (linux_ptrace_attach_fail_reason_string): Likewise.
10310         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10311         Likewise.
10312         (linux_ptrace_attach_fail_reason_string): Likewise.
10313         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10314
10315 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10316
10317         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10318
10319 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10320
10321         PR gdb/21559
10322         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10323         checking for fs_base/gs_base fields in struct user_regs_struct.
10324         * configure: Regenerate.
10325
10326 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10327
10328         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10329         function.
10330         (aarch64_linux_init_abi): Install it to gdbarch hook
10331         gcc_target_options.
10332
10333 2018-01-15  Pedro Alves  <palves@redhat.com>
10334
10335         * common/signals-state-save-restore.c
10336         (save_original_signals_state): Fix typos.
10337
10338 2017-01-12  Tom Tromey  <tom@tromey.com>
10339             Sergio Durigan Junior  <sergiodj@redhat.com>
10340
10341         * Makefile.in (install-only): Install gdb-add-index.
10342
10343 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10344
10345         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10346
10347 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10348
10349         * infrun.c (keep_going_pass_signal): Clear step-over info when
10350         insert_breakpoints fails.
10351
10352 2018-01-11  Pedro Alves  <palves@redhat.com>
10353
10354         PR gdb/22583
10355         * infrun.c (resume): Rename to ...
10356         (resume_1): ... this.
10357         (resume): Reimplement as wrapper around resume_1.
10358
10359 2018-01-11  Pedro Alves  <palves@redhat.com>
10360
10361         PR remote/22597
10362         * remote.c (remote_parse_stop_reply): Default to the last-set
10363         general thread instead of to 'magic_null_ptid'.
10364
10365 2018-01-10  Pedro Alves  <palves@redhat.com>
10366
10367         * language.h (language_get_symbol_name_matcher): Rename ...
10368         (get_symbol_name_matcher): ... this.
10369         * language.c (language_get_symbol_name_matcher): Ditto.
10370         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10371         callers adjusted.
10372
10373 2018-01-10  Pedro Alves  <palves@redhat.com>
10374
10375         PR gdb/22670
10376         * dwarf2read.c
10377         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10378         Adjust to use language_get_symbol_name_matcher instead of
10379         language_defn::la_get_symbol_name_matcher.
10380         * language.c (language_get_symbol_name_matcher): If in Ada mode
10381         and the lookup name is a verbatim match, return Ada's matcher.
10382         * language.h (language_get_symbol_name_matcher): Adjust comment.
10383         (ada_lookup_name_info::verbatim_p):: New method.
10384
10385 2018-01-10  Pedro Alves  <palves@redhat.com>
10386
10387         PR gdb/22670
10388         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10389         minsym's language is language_auto or language_cplus, pass down
10390         language_ada instead.
10391         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10392
10393 2018-01-10  Pedro Alves  <palves@redhat.com>
10394
10395         PR gdb/22670
10396         * minsyms.c (linkage_name_str): New function.
10397         (iterate_over_minimal_symbols): Use it.
10398
10399 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10400
10401         * NEWS: Document that 'info proc' now works on FreeBSD.
10402
10403 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10404
10405         * configure.ac: Check for kinfo_getfile in libutil.
10406         * configure: Regenerate.
10407         * config.in: Regenerate.
10408         * fbsd-nat.c: Include "fbsd-tdep.h".
10409         (fbsd_fetch_cmdline): New.
10410         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
10411         rather than calling error.
10412         (fbsd_info_proc): New.
10413         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
10414         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
10415         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
10416
10417 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10418
10419         * fbsd-nat.c (struct free_deleter): Remove.
10420         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
10421
10422 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10423
10424         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
10425         NULL for an empty pathname.
10426
10427 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10428
10429         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
10430         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
10431         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
10432         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
10433         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
10434         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
10435         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
10436         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
10437         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
10438         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
10439         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
10440         (fbsd_core_fetch_timeval, fbsd_print_sigset)
10441         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
10442         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
10443         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
10444
10445 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
10446
10447         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
10448         (gnu_xfer_auxv): New function.
10449         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
10450         TARGET_OBJECT_AUXV.
10451
10452 2018-01-08  Yao Qi  <yao.qi@linaro.org>
10453             Simon Marchi  <simon.marchi@ericsson.com>
10454
10455         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
10456         common/selftest.c.
10457         (COMMON_OBS): Remove selftest.o.
10458         * configure.ac: Append selftest-arch.c and common/selftest.c to
10459         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
10460         * configure: Re-generated.
10461         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
10462         GDB_SELF_TEST.
10463         (maintenance_info_selftests): Likewise.
10464
10465 2018-01-08  Xavier Roirand  <roirand@adacore.com>
10466
10467         * ada-valprint.c (val_print_packed_array_elements): Use
10468         proper number of elements when printing an array indexed
10469         by an enumeration type.
10470
10471 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10472
10473         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
10474         (dw2_get_file_names_reader): Adjust.
10475         (lookup_dwo_signatured_type): Adjust.
10476         (lookup_dwp_signatured_type): Adjust.
10477         (lookup_signatured_type): Adjust.
10478         (create_type_unit_group): Adjust.
10479         (get_type_unit_group): Adjust.
10480         (process_psymtab_comp_unit_reader): Adjust.
10481         (build_type_psymtabs_reader): Adjust.
10482         (scan_partial_symbols): Adjust.
10483         (add_partial_symbol): Adjust.
10484         (add_partial_subprogram): Adjust.
10485         (peek_die_abbrev): Adjust.
10486         (fixup_go_packaging): Adjust.
10487         (process_imported_unit_die): Adjust.
10488         (dwarf2_compute_name): Adjust.
10489         (dwarf2_physname): Adjust.
10490         (read_import_statement): Adjust.
10491         (handle_DW_AT_stmt_list): Adjust.
10492         (read_file_scope): Adjust.
10493         (read_func_scope): Adjust.
10494         (read_lexical_block_scope): Adjust.
10495         (read_call_site_scope): Adjust.
10496         (read_variable): Adjust.
10497         (dwarf2_rnglists_process): Adjust.
10498         (dwarf2_ranges_process): Adjust.
10499         (dwarf2_ranges_read): Adjust.
10500         (dwarf2_get_pc_bounds): Adjust.
10501         (dwarf2_record_block_ranges): Adjust.
10502         (dwarf2_add_field): Adjust.
10503         (dwarf2_add_member_fn): Adjust.
10504         (read_structure_type): Adjust.
10505         (process_structure_scope): Adjust.
10506         (read_enumeration_type): Adjust.
10507         (read_array_type): Adjust.
10508         (mark_common_block_symbol_computed): Adjust.
10509         (read_common_block): Adjust.
10510         (read_namespace_type): Adjust.
10511         (read_namespace): Adjust.
10512         (read_module_type): Adjust.
10513         (read_tag_pointer_type): Adjust.
10514         (read_tag_ptr_to_member_type): Adjust.
10515         (read_tag_string_type): Adjust.
10516         (read_subroutine_type): Adjust.
10517         (read_typedef): Adjust.
10518         (read_base_type): Adjust.
10519         (attr_to_dynamic_prop): Adjust.
10520         (read_subrange_type): Adjust.
10521         (read_unspecified_type): Adjust.
10522         (dwarf2_read_abbrevs): Adjust.
10523         (load_partial_dies): Adjust.
10524         (read_partial_die): Adjust.
10525         (find_partial_die): Adjust.
10526         (guess_partial_die_structure_name): Adjust.
10527         (fixup_partial_die): Adjust.
10528         (read_attribute_value): Adjust.
10529         (read_addr_index): Adjust.
10530         (read_addr_index_from_leb128): Adjust.
10531         (read_str_index): Adjust.
10532         (dwarf2_string_attr): Adjust.
10533         (get_debug_line_section): Adjust.
10534         (dwarf_decode_line_header): Adjust.
10535         (lnp_state_machine::check_line_address): Adjust.
10536         (dwarf_decode_lines_1): Adjust.
10537         (dwarf_decode_lines): Adjust.
10538         (dwarf2_start_symtab): Adjust.
10539         (var_decode_location): Adjust.
10540         (new_symbol_full): Adjust.
10541         (dwarf2_const_value_data): Adjust.
10542         (dwarf2_const_value_attr): Adjust.
10543         (dwarf2_const_value): Adjust.
10544         (die_type): Adjust.
10545         (die_containing_type): Adjust.
10546         (build_error_marker_type): Adjust.
10547         (lookup_die_type): Adjust.
10548         (guess_full_die_structure_name): Adjust.
10549         (anonymous_struct_prefix): Adjust.
10550         (determine_prefix): Adjust.
10551         (dwarf2_name): Adjust.
10552         (follow_die_ref_or_sig): Adjust.
10553         (follow_die_offset): Adjust.
10554         (follow_die_ref): Adjust.
10555         (follow_die_sig_1): Adjust.
10556         (follow_die_sig): Adjust.
10557         (get_signatured_type): Adjust.
10558         (get_DW_AT_signature_type): Adjust.
10559         (decode_locdesc): Adjust.
10560         (dwarf_decode_macros): Adjust.
10561         (cu_debug_loc_section): Adjust.
10562         (fill_in_loclist_baton): Adjust.
10563         (dwarf2_symbol_mark_computed): Adjust.
10564         (init_one_comp_unit): Don't assign
10565         dwarf2_cu::dwarf2_per_objfile.
10566         (set_die_type): Adjust.
10567
10568 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10569
10570         * dwarf2read.c (struct mapped_debug_names): Add constructor.
10571         <dwarf2_per_objfile>: New field.
10572         (dwarf2_per_objfile): Remove global.
10573         (get_dwarf2_per_objfile): New function.
10574         (set_dwarf2_per_objfile): New function.
10575         (dwarf2_build_psymtabs_hard): Change objfile parameter to
10576         dwarf2_per_objfile.
10577         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10578         (read_abbrev_offset): Likewise.
10579         (read_indirect_string): Likewise.
10580         (read_indirect_line_string): Likewise.
10581         (read_indirect_string_at_offset): Likewise.
10582         (read_indirect_string_from_dwz): Likewise.
10583         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10584         dwarf2_per_objfile.
10585         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10586         (create_all_comp_units): Change objfile parameter to
10587         dwarf2_per_objfile.
10588         (create_all_type_units): Likewise.
10589         (process_queue): Add dwarf2_per_objfile parameter.
10590         (read_and_check_comp_unit_head): Likewise.
10591         (lookup_dwo_unit_in_dwp): Likewise.
10592         (get_dwp_file): Likewise.
10593         (process_cu_includes): Likewise.
10594         (struct free_dwo_file_cleanup_data): New struct.
10595         (dwarf2_has_info): Use get_dwarf2_per_objfile and
10596         set_dwarf2_per_objfile.
10597         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
10598         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
10599         context, adjust calls.
10600         (dw2_instantiate_symtab): Likewise.
10601         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
10602         (dw2_get_cu): Likewise.
10603         (create_cu_from_index_list): Change objfile parameter to
10604         dwarf2_per_objfile.
10605         (create_cus_from_index_list): Get dwarf2_per_objfile from
10606         context, adjust calls.
10607         (create_cus_from_index): Likewise.
10608         (create_signatured_type_table_from_index): Change objfile
10609         parameter to dwarf2_per_objfile.
10610         (create_signatured_type_table_from_debug_names): Change objfile
10611         parameter to dwarf2_per_objfile.
10612         (create_addrmap_from_index): Likewise.
10613         (create_addrmap_from_aranges): Likewise.
10614         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
10615         (dw2_setup): Remove.
10616         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
10617         context.
10618         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
10619         get_dwarf2_per_objfile.
10620         (dw2_forget_cached_source_info): Likewise.
10621         (dw2_map_symtabs_matching_filename): Likewise.
10622         (struct dw2_symtab_iterator) <index>: Remove.
10623         <dwarf2_per_objfile>: New field.
10624         (dw2_symtab_iter_init): Replace index parameter with
10625         dwarf2_per_objfile.
10626         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
10627         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
10628         (dw2_print_stats): Likewise.
10629         (dw2_dump): Likewise.
10630         (dw2_expand_symtabs_for_function): Likewise.
10631         (dw2_expand_all_symtabs): Likewise.
10632         (dw2_expand_symtabs_with_fullname): Likewise.
10633         (dw2_expand_marked_cus): Replace index and objfile parameters
10634         with dwarf2_per_objfile.
10635         (dw_expand_symtabs_matching_file_matcher): Add
10636         dwarf2_per_objfile parameter and adjust calls.
10637         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
10638         adjust calls.
10639         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
10640         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
10641         adjust calls.
10642         (create_cus_from_debug_names_list): Replace objfile parameter
10643         with dwarf2_per_objfile and adjust calls.
10644         (create_cus_from_debug_names): Likewise.
10645         (dwarf2_read_debug_names): Likewise.
10646         (mapped_debug_names::namei_to_name): Adjust call.
10647         (dw2_debug_names_iterator::next): Likewise.
10648         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
10649         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
10650         (dw2_debug_names_dump): Likewise.
10651         (dw2_debug_names_expand_symtabs_for_function): Likewise.
10652         (dw2_debug_names_expand_symtabs_matching): Likewise.
10653         (dwarf2_initialize_objfile): Likewise.
10654         (dwarf2_build_psymtabs): Likewise.
10655         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
10656         this_cu.
10657         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
10658         (read_and_check_comp_unit_head): Likewise.
10659         (read_abbrev_offset): Likewise.
10660         (create_debug_type_hash_table): Likewise.
10661         (create_debug_types_hash_table): Likewise.
10662         (create_all_type_units): Replace objfile parameter with
10663         dwarf2_per_objfile.
10664         (add_type_unit): Add dwarf2_per_objfile parameter.
10665         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
10666         with dwarf2_per_objfile.
10667         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
10668         (lookup_dwp_signatured_type): Likewise.
10669         (lookup_signatured_type): Likewise.
10670         (read_cutu_die_from_dwo): Likewise.
10671         (init_tu_and_read_dwo_dies): Likewise.
10672         (init_cutu_and_read_dies): Likewise.
10673         (init_cutu_and_read_dies_no_follow): Likewise.
10674         (allocate_type_unit_groups_table): Add objfile parameter.
10675         (create_type_unit_group): Use dwarf2_per_objfile from cu.
10676         (get_type_unit_group): Likewise.
10677         (process_psymtab_comp_unit): Update call.
10678         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
10679         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
10680         (print_tu_stats): Likewise.
10681         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
10682         in void* parameter.
10683         (build_type_psymtabs): Change objfile parameter to
10684         dwarf2_per_objfile.
10685         (process_skeletonless_type_unit): Use dwarf2_per_objfile
10686         passed in void* parameter.
10687         (process_skeletonless_type_units): Change objfile parameter to
10688         dwarf2_per_objfile.
10689         (set_partial_user): Likewise.
10690         (dwarf2_build_psymtabs_hard): Likewise.
10691         (read_comp_units_from_section): Likewise.
10692         (create_all_comp_units): Likewise.
10693         (scan_partial_symbols): Update calls.
10694         (add_partial_symbol): Likewise.
10695         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
10696         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
10697         (process_queue): Add dwarf2_per_objfile parameter.
10698         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
10699         (compute_compunit_symtab_includes): Likewise.
10700         (process_cu_includes): Add dwarf2_per_objfile parameter.
10701         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
10702         (process_full_type_unit): Likewise.
10703         (process_imported_unit_die): Update call.
10704         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
10705         (read_file_scope): Likewise.
10706         (allocate_dwo_file_hash_table): Add objfile parameter.
10707         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
10708         (create_cus_hash_table): Likewise.
10709         (create_dwp_hash_table): Likewise.
10710         (create_dwo_unit_in_dwp_v1): Likewise.
10711         (create_dwp_v2_section): Likewise.
10712         (create_dwo_unit_in_dwp_v2): Likewise.
10713         (lookup_dwo_unit_in_dwp): Likewise.
10714         (try_open_dwop_file): Likewise.
10715         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
10716         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
10717         cleanup to include a reference to dwarf2_per_objfile.
10718         (open_dwp_file): Add dwarf2_per_objfile parameter.
10719         (open_and_init_dwp_file): Likewise.
10720         (get_dwp_file): Likewise.
10721         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
10722         (queue_and_load_all_dwo_tus): Update call.
10723         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
10724         data.
10725         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
10726         (dwarf2_ranges_process): Likewise.
10727         (dwarf2_get_pc_bounds): Likewise.
10728         (mark_common_block_symbol_computed): Likewise.
10729         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10730         (dwarf2_read_abbrevs): Update call.
10731         (read_partial_die): Use dwarf2_per_objfile from cu.
10732         (find_partial_die): Likewise.
10733         (fixup_partial_die): Likewise.
10734         (read_attribute_value): Likewise.
10735         (read_indirect_string_at_offset_from): Add objfile parameter.
10736         (read_indirect_string_at_offset): Add dwarf2_per_objfile
10737         parameter.
10738         (read_indirect_string_from_dwz): Add objfile parameter.
10739         (read_indirect_string): Add objfile parameter.
10740         (read_addr_index_1): Add dwarf2_per_objfile parameter.
10741         (read_addr_index): Use dwarf2_per_objfile from cu.
10742         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
10743         call dw2_setup.
10744         (read_str_index): Use dwarf2_per_objfile from cu.
10745         (get_debug_line_section): Likewise.
10746         (read_formatted_entries): Add dwarf2_per_objfile parameter.
10747         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
10748         (new_symbol_full): Use dwarf2_per_objfile from cu.
10749         (build_error_marker_type): Likewise.
10750         (lookup_die_type): Likewise.
10751         (determine_prefix): Likewise.
10752         (follow_die_offset): Likewise.
10753         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
10754         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
10755         (dwarf2_fetch_die_type_sect_off): Likewise.
10756         (dwarf2_get_die_type): Likewise.
10757         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
10758         (get_signatured_type): Likewise.
10759         (get_DW_AT_signature_type): Likewise.
10760         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
10761         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
10762         (cu_debug_loc_section): Likewise.
10763         (fill_in_loclist_baton): Likewise.
10764         (dwarf2_symbol_mark_computed): Likewise.
10765         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10766         dwarf2_per_objfile.
10767         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
10768         parameter.
10769         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10770         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
10771         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
10772         (set_die_type): Use dwarf2_free_objfile from cu.
10773         (get_die_type_at_offset): Likewise.
10774         (dwarf2_per_objfile_free): Don't assign global variable.
10775         (debug_names) <constructor>: Add dwarf2_per_objfile
10776         parameter, update m_debugstrlookup construction.
10777         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
10778         parameter.
10779         <m_dwarf2_per_objfile>: New field.
10780         <lookup>: Use m_dwarf2_per_objfile.
10781         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
10782         (psyms_seen_size): Likewise.
10783         (write_gdbindex): Replace objfile parameter with
10784         dwarf2_per_objfile.
10785         (write_debug_names): Likewise.
10786         (write_psymtabs_to_index): Likewise.
10787         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
10788         calls.
10789
10790 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10791
10792         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
10793         <dwarf2_per_objfile>: New field.
10794         (struct dwarf2_per_cu_data) <objfile>: Remove.
10795         <dwarf2_per_objfile>: New field.
10796         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
10797         of objfile.
10798         (create_signatured_type_table_from_index): Likewise.
10799         (create_debug_type_hash_table): Likewise.
10800         (fill_in_sig_entry_from_dwo_entry): Likewise.
10801         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
10802         (create_type_unit_group): Assign dwarf2_per_objfile instead of
10803         objfile.
10804         (create_partial_symtab): Access objfile through
10805         dwarf2_per_objfile.
10806         (process_psymtab_comp_unit_reader): Likewise.
10807         (read_comp_units_from_section): Likewise.
10808         (scan_partial_symbols): Likewise.
10809         (add_partial_symbol): Likewise.
10810         (add_partial_subprogram): Likewise.
10811         (peek_die_abbrev): Likewise.
10812         (fixup_go_packaging): Likewise.
10813         (process_full_comp_unit): Likewise.
10814         (process_full_type_unit): Likewise.
10815         (process_imported_unit_die): Likewise.
10816         (dwarf2_compute_name): Likewise.
10817         (dwarf2_physname): Likewise.
10818         (read_import_statement): Likewise.
10819         (create_cus_hash_table): Assign dwarf2_physname instead of
10820         objfile.
10821         (read_func_scope): Access objfile through dwarf2_per_objfile.
10822         (read_lexical_block_scope): Likewise.
10823         (read_call_site_scope): Likewise.
10824         (read_variable): Likewise.
10825         (dwarf2_rnglists_process): Likewise.
10826         (dwarf2_ranges_process): Likewise.
10827         (dwarf2_ranges_read): Likewise.
10828         (dwarf2_record_block_ranges): Likewise.
10829         (dwarf2_add_field): Likewise.
10830         (dwarf2_add_member_fn): Likewise.
10831         (read_structure_type): Likewise.
10832         (process_structure_scope): Likewise.
10833         (read_enumeration_type): Likewise.
10834         (read_array_type): Likewise.
10835         (read_common_block): Likewise.
10836         (read_namespace_type): Likewise.
10837         (read_namespace): Likewise.
10838         (read_module_type): Likewise.
10839         (read_tag_pointer_type): Likewise.
10840         (read_tag_ptr_to_member_type): Likewise.
10841         (read_tag_string_type): Likewise.
10842         (read_subroutine_type): Likewise.
10843         (read_typedef): Likewise.
10844         (read_base_type): Likewise.
10845         (attr_to_dynamic_prop): Likewise.
10846         (read_subrange_type): Likewise.
10847         (read_unspecified_type): Likewise.
10848         (load_partial_dies): Likewise.
10849         (read_partial_die): Likewise.
10850         (find_partial_die): Likewise.
10851         (guess_partial_die_structure_name): Likewise.
10852         (fixup_partial_die): Likewise.
10853         (read_attribute_value): Likewise.
10854         (read_addr_index_from_leb128): Likewise.
10855         (dwarf2_read_addr_index): Likewise.
10856         (dwarf2_string_attr): Likewise.
10857         (lnp_state_machine::check_line_address): Likewise.
10858         (dwarf_decode_lines_1): Likewise.
10859         (dwarf_decode_lines): Likewise.
10860         (dwarf2_start_symtab): Likewise.
10861         (var_decode_location): Likewise.
10862         (new_symbol_full): Likewise.
10863         (dwarf2_const_value_data): Likewise.
10864         (dwarf2_const_value_attr): Likewise.
10865         (dwarf2_const_value): Likewise.
10866         (die_type): Likewise.
10867         (die_containing_type): Likewise.
10868         (lookup_die_type): Likewise.
10869         (guess_full_die_structure_name): Likewise.
10870         (anonymous_struct_prefix): Likewise.
10871         (dwarf2_name): Likewise.
10872         (follow_die_ref_or_sig): Likewise.
10873         (follow_die_offset): Likewise.
10874         (follow_die_ref): Likewise.
10875         (dwarf2_fetch_die_loc_sect_off): Likewise.
10876         (dwarf2_fetch_constant_bytes): Likewise.
10877         (dwarf2_fetch_die_type_sect_off): Likewise.
10878         (dwarf2_get_die_type): Likewise.
10879         (follow_die_sig): Likewise.
10880         (decode_locdesc): Likewise.
10881         (dwarf2_per_cu_objfile): Likewise.
10882         (dwarf2_per_cu_text_offset): Likewise.
10883         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
10884         objfile.
10885         (set_die_type): Access objfile through
10886         dwarf2_per_objfile.
10887
10888 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10889
10890         * valprint.c (converted_character_d): Remove typedef.
10891         (DEF_VEC_O (converted_character_d)): Remove.
10892         (count_next_character): Use std::vector.
10893         (print_converted_chars_to_obstack): Likewise.
10894         (generic_printstr): Likewise.
10895
10896 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10897
10898         * xml-support.h (struct gdb_xml_value): Add constructor.
10899         <value>: Change type to unique_xmalloc_ptr.
10900         (gdb_xml_value_s): Remove typedef.
10901         (DEF_VEC_O (gdb_xml_value_s)): Remove.
10902         (gdb_xml_element_start_handler): Change parameter type to
10903         std::vector.
10904         (xml_find_attribute): Likewise.
10905         * xml-support.c (xml_find_attribute): Change parameter type to
10906         std::vector and adjust.
10907         (gdb_xml_values_cleanup): Remove.
10908         (gdb_xml_parser::start_element): Adjust to std::vector.
10909         (xinclude_start_include): Change paraeter type to std::vector
10910         and adjust.
10911         * btrace.c (check_xml_btrace_version): Likewise.
10912         (parse_xml_btrace_block): Likewise.
10913         (parse_xml_btrace_pt_config_cpu): Likewise.
10914         (parse_xml_btrace_pt): Likewise.
10915         (parse_xml_btrace_conf_bts): Likewise.
10916         (parse_xml_btrace_conf_pt): Likewise.
10917         * memory-map.c (memory_map_start_memory): Likewise.
10918         (memory_map_start_property): Likewise.
10919         * osdata.c (osdata_start_osdata): Likewise.
10920         (osdata_start_item): Likewise.
10921         (osdata_start_column): Likewise.
10922         * remote.c (start_thread): Likewise.
10923         * solib-aix.c (library_list_start_library): Likewise.
10924         (library_list_start_list): Likewise.
10925         * solib-svr4.c (library_list_start_library): Likewise.
10926         (svr4_library_list_start_list): Likewise.
10927         * solib-target.c (library_list_start_segment): Likewise.
10928         (library_list_start_section): Likewise.
10929         (library_list_start_library): Likewise.
10930         (library_list_start_list): Likewise.
10931         * tracepoint.c (traceframe_info_start_memory): Likewise.
10932         (traceframe_info_start_tvar): Likewise.
10933         * xml-syscall.c (syscall_start_syscall): Likewise.
10934         * xml-tdesc.c (tdesc_start_target): Likewise.
10935         (tdesc_start_feature): Likewise.
10936         (tdesc_start_reg): Likewise.
10937         (tdesc_start_union): Likewise.
10938         (tdesc_start_struct): Likewise.
10939         (tdesc_start_flags): Likewise.
10940         (tdesc_start_enum): Likewise.
10941         (tdesc_start_field): Likewise.
10942         (tdesc_start_enum_value): Likewise.
10943         (tdesc_start_vector): Likewise.
10944
10945 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10946
10947         * extension.h (struct xmethod_worker) <clone>: Remove.
10948         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
10949         Remove.
10950         (python_xmethod_worker::clone): Remove.
10951         * valops.c (find_overload_match): Use std::move instead of
10952         clone.
10953
10954 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10955
10956         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
10957         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
10958         <free_xmethod_worker_data>: Remove.
10959         <get_matching_xmethod_workers>: Chance VEC to std::vector.
10960         <get_xmethod_arg_types>: Remove.
10961         <get_xmethod_result_type>: Remove.
10962         <invoke_xmethod>: Remove.
10963         * extension.c (new_xmethod_worker): Remove.
10964         (clone_xmethod_worker): Remove.
10965         (get_matching_xmethod_workers): Return void, pass std::vector by
10966         pointer.
10967         (get_xmethod_arg_types): Rename to...
10968         (xmethod_worker::get_arg_types): ... this, and adjust.
10969         (get_xmethod_result_type): Rename to...
10970         (xmethod_worker::get_result_type): ... this, and adjust.
10971         (invoke_xmethod): Remove.
10972         (free_xmethod_worker): Remove.
10973         (free_xmethod_worker_vec): Remove.
10974         * extension.h (enum ext_lang_rc): Move here from
10975         extension-priv.h.
10976         (struct xmethod_worker): Add constructor and destructor.
10977         <data>: Remove.
10978         <value>: Remove.
10979         <invoke, clone, do_get_result_type, do_get_arg_types>: New
10980         virtual pure methods.
10981         <get_arg_types, get_result_type>: New methods.
10982         (xmethod_worker_ptr): Remove typedef.
10983         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
10984         (xmethod_worker_vec): Remove typedef.
10985         (xmethod_worker_up): New typedef.
10986         (invoke_xmethod): Remove.
10987         (clone_xmethod_worker): Remove.
10988         (free_xmethod_worker): Remove.
10989         (free_xmethod_worker_vec): Remove.
10990         (get_xmethod_arg_types): Remove.
10991         (get_xmethod_result_type): Remove.
10992         * valops.c (find_method_list): Use std::vector, don't use
10993         intermediate vector.
10994         (value_find_oload_method_list): Use std::vector.
10995         (find_overload_match): Use std::vector.
10996         (find_oload_champ): Use std::vector.
10997         * value.c (value_free): Use operator delete.
10998         (value_of_xmethod): Rename to...
10999         (value_from_xmethod): ... this.  Don't assign
11000         xmethod_worker::value, take rvalue-reference.
11001         (result_type_of_xmethod): Adjust.
11002         (call_xmethod): Adjust.
11003         * value.h: Include extension.h.
11004         (struct xmethod_worker): Don't forward-declare.
11005         (value_of_xmethod): Rename to...
11006         (value_from_xmethod): ... this, take rvalue-reference.
11007         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
11008         (struct python_xmethod_worker): ... this, add constructor and
11009         destructor.
11010         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
11011         (gdbpy_free_xmethod_worker_data): Rename to...
11012         (python_xmethod_worker::~python_xmethod_worker): ... this and
11013         adjust.
11014         (gdbpy_clone_xmethod_worker_data): Rename to...
11015         (python_xmethod_worker::clone): ... this and adjust.
11016         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11017         temporary vector.
11018         (gdbpy_get_xmethod_arg_types): Rename to...
11019         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11020         (gdbpy_get_xmethod_result_type): Rename to...
11021         (python_xmethod_worker::do_get_result_type): ... this and
11022         adjust.
11023         (gdbpy_invoke_xmethod): Rename to...
11024         (python_xmethod_worker::invoke): ... this and adjust.
11025         (new_python_xmethod_worker): Rename to...
11026         (python_xmethod_worker::python_xmethod_worker): ... this and
11027         adjust.
11028         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11029         Remove.
11030         (gdbpy_free_xmethod_worker_data): Remove.
11031         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11032         (gdbpy_get_xmethod_arg_types): Remove.
11033         (gdbpy_get_xmethod_result_type): Remove.
11034         (gdbpy_invoke_xmethod): Remove.
11035         * python/python.c (python_extension_ops): Remove obsolete
11036         callbacks.
11037
11038 2018-01-05  Pedro Alves  <palves@redhat.com>
11039
11040         PR gdb/18653
11041         * common/signals-state-save-restore.c
11042         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11043         find a custom handler preinstalled, instead of internal erroring.
11044         But only warn if !quiet.
11045         * common/signals-state-save-restore.h
11046         (save_original_signals_state): New parameter 'quiet'.
11047         * main.c (captured_main_1): Move save_original_signals_state call
11048         after option handling, and pass QUIET.
11049
11050 2018-01-05  Pedro Alves  <palves@redhat.com>
11051
11052         * spu-tdep.c (spu_catch_start): Pass
11053         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11054
11055 2018-01-05  Pedro Alves  <palves@redhat.com>
11056
11057         PR gdb/22670
11058         * ada-lang.c (literal_symbol_name_matcher): New function.
11059         (ada_get_symbol_name_matcher): Use it for
11060         symbol_name_match_type::SEARCH_NAME.
11061         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11062         it down instead of assuming symbol_name_match_type::FULL.
11063         * block.h (block_lookup_symbol): New parameter 'match_type'.
11064         * c-valprint.c (print_unpacked_pointer): Use
11065         lookup_symbol_search_name instead of lookup_symbol.
11066         * compile/compile-object-load.c (get_out_value_type): Pass down
11067         symbol_name_match_type::SEARCH_NAME.
11068         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11069         symbol_name_match_type::FULL.
11070         * cp-support.c (cp_get_symbol_name_matcher): Handle
11071         symbol_name_match_type::SEARCH_NAME.
11072         * infrun.c (insert_exception_resume_breakpoint): Use
11073         lookup_symbol_search_name.
11074         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11075         * psymtab.c (maintenance_check_psymtabs): Use
11076         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11077         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11078         SYMBOL_SEARCH_NAME.
11079         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11080         if symbol_name_match_type::SEARCH_NAME.
11081         (lookup_symbol_in_language): Pass down
11082         symbol_name_match_type::FULL.
11083         (lookup_symbol_search_name): New.
11084         (lookup_language_this): Pass down
11085         symbol_name_match_type::SEARCH_NAME.
11086         (lookup_symbol_aux, lookup_local_symbol): New parameter
11087         'match_type'.  Pass it down.
11088         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11089         (lookup_symbol_search_name): New declaration.
11090         (lookup_symbol_in_block): New 'match_type' parameter.
11091
11092 2018-01-05  Pedro Alves  <palves@redhat.com>
11093
11094         PR gdb/22670
11095         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11096         ada_lookup_symbol.
11097         (ada_lookup_symbol): Reimplement in terms of
11098         ada_lookup_symbol_list, bits factored out from
11099         ada_lookup_encoded_symbol.
11100
11101 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11102
11103         * ada-exp.y (write_object_renaming): When subscripting an array
11104         using a symbol as the index, pass the block in call to
11105         ada_lookup_encoded_symbol when looking that symbol up.
11106
11107 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11108
11109         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11110         TYPE_INDEX_TYPE.
11111
11112 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11113
11114         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11115         the case where VALUE_LVAL (val0) is not lval_memory.
11116
11117 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11118
11119         * ada-valprint.c (print_optional_low_bound): Handle
11120         character-indexed array printing like boolean-indexed array
11121         printing.
11122
11123 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11124
11125         * NEWS: Create a new section for the next release branch.
11126         Rename the section of the current branch, now that it has
11127         been cut.
11128
11129 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11130
11131         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11132         * version.in: Bump version to 8.1.50.DATE-git.
11133
11134 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11135
11136         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11137         Add field.
11138         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11139         Add field.
11140         (default_exception_support_info) <catch_handlers_sym>: Add field.
11141         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11142         (ada_exception_name_addr_1): Add "catch handlers" handling.
11143         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11144         Update all callers.
11145         (create_excep_cond_exprs) <ex>: Add parameter.
11146         (re_set_exception): Update create_excep_cond_exprs call.
11147         (print_it_exception, print_one_exception, print_mention_exception)
11148         (print_recreate_exception): Add "catch handler" handling.
11149         (allocate_location_catch_handlers, re_set_catch_handlers)
11150         (check_status_catch_handlers, print_it_catch_handlers)
11151         (print_one_catch_handlers, print_mention_catch_handlers)
11152         (print_recreate_catch_handlers): New function.
11153         (catch_handlers_breakpoint_ops): New variable.
11154         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11155         Add parameter.  Add "catch handler" handling.
11156         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11157         Add "catch handler" handling.
11158         (ada_exception_catchpoint_cond_string): Add "catch handler"
11159         handling.
11160         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11161         call.
11162         (catch_ada_handlers_command): New function.
11163         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11164         operations structure.
11165         (_initialize_ada_language): Add "catch handlers" command entry.
11166         * NEWS: Document "catch handlers" feature.
11167
11168 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11169
11170         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11171         account when creating the array type of the slice.
11172         (ada_value_slice): Likewise.
11173
11174 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11175
11176         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11177         New enum value.
11178         (create_array_type_with_stride): Add byte_stride_prop parameter.
11179         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11180         New parameter.  Update all callers in this file.
11181         (array_type_has_dynamic_stride): New function.
11182         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11183         of arrays with dynamic byte strides.
11184         * dwarf2read.c (read_array_type): Add support for dynamic
11185         DW_AT_byte_stride attributes.
11186
11187 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11188
11189         * dwarf2read.c (read_unspecified_type): Treat
11190         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11191
11192 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11193
11194         Update copyright year range in all GDB files.
11195
11196 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11197
11198         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11199         and gdb/testsuite/gdb.base/step-line.c.
11200
11201 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11202
11203         * copyright.py (main): Dump the contents of
11204         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11205         even if BY_HAND is empty.
11206
11207 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11208
11209         * top.c (print_gdb_version): Update Copyright year in version
11210         message.
11211
11212 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11213
11214         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11215
11216 For older changes see ChangeLog-2017.
11217 \f
11218 Local Variables:
11219 mode: change-log
11220 left-margin: 8
11221 fill-column: 74
11222 version-control: never
11223 coding: utf-8
11224 End: