Fix thinko when deciding whether to disable TCP's Nagle algorithm
[external/binutils.git] / gdb / ChangeLog
1 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
2
3         * ser-tcp.c (net_open): Fix thinko when deciding whether to
4         disable TCP's Nagle algorithm (use "ai_protocol" instead of
5         "ai_socktype").
6
7 2018-08-02  Tom Tromey  <tom@tromey.com>
8
9         PR symtab/16842.
10         * dwarf2read.c (read_func_scope): Set symtab on template parameter
11         symbols.
12         (process_structure_scope): Likewise.
13
14 2018-08-02  Xavier Roirand  <roirand@adacore.com>
15
16         PR gdb/22629:
17         * darwin-nat.c (darwin_kill_inferior): Fix handling of
18         kill inferior.
19
20 2018-08-02  Tom Tromey  <tom@tromey.com>
21
22         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
23         (darwin_suspend_inferior, darwin_resume_inferior)
24         (darwin_decode_notify_message, darwin_resume_inferior_threads)
25         (darwin_check_new_threads): Check result of get_darwin_inferior.
26
27 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
28
29         GDB 8.1.1 released.
30
31 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
32
33         * varobj.c (varobj_get_path_expr_parent): Report an error if
34         parent is a dynamic varobj.
35
36 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
37
38         * gnulib/aclocal.m4: Re-generate.
39         * gnulib/config.in: Re-generate.
40         * gnulib/configure: Re-generate.
41         * gnulib/import/Makefile.in: Re-generate.
42         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
43         * gnulib/import/m4/onceonly.m4: Re-generate.
44
45 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
46
47         * target-descriptions.c (struct xml_test_tdesc): New.
48         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
49         (record_xml_tdesc): Update.
50         (maintenance_check_xml_descriptions): Update.
51         * target-descriptions.h (record_xml_tdesc): Update comment.
52
53 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
54
55         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
56         checking array bounds are defined.
57
58 2018-07-30  Tom Tromey  <tom@tromey.com>
59
60         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
61         irreflexivity violation.
62
63 2018-07-30  Tom Tromey  <tom@tromey.com>
64
65         * cli/cli-decode.c (lookup_cmd): Remove lint code.
66         * value.c (unpack_long): Remove lint code.
67         * valops.c (value_ind): Remove lint code.
68         * valarith.c (value_x_binop, value_x_unop, value_equal)
69         (value_pos): Remove lint code.
70
71 2018-07-28  Tom de Vries  <tdevries@suse.de>
72
73         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
74         with undefined upper bound as <optimized out>.
75
76 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
77
78         * gcore.in: Rename variable "name" to "prefix".  Expand
79         "usage" text.
80
81 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
82
83         * windows-nat.c (windows_nat_target::create_inferior): Update to
84         call close() in global namespace.
85
86 2018-07-26  Tom Tromey  <tom@tromey.com>
87
88         * dwarf-index-write.c (add_address_entry): Don't add objfile
89         offsets.
90         * dbxread.c (find_stab_function): Rename from
91         find_stab_function_addr.  Return a bound_minimal_symbol.
92         (read_dbx_symtab): Use raw_text_low, raw_text_high.
93         Don't add objfile offsets.
94         (end_psymtab): Use raw_text_low, raw_text_high,
95         MSYMBOL_VALUE_RAW_ADDRESS.
96         (read_ofile_symtab): Update.
97         (process_one_symbol): Update.
98         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
99         offsets.
100         (dw2_relocate): Remove.
101         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
102         searching addrmap.
103         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
104         Update.
105         (process_psymtab_comp_unit_reader, add_partial_symbol)
106         (add_partial_subprogram, dwarf2_ranges_read): Update.
107         (load_partial_dies): Update.
108         (add_address_entry): Don't add objfile offsets.
109         (dwarf2_build_include_psymtabs): Update.
110         (create_addrmap_from_aranges): Don't add objfile offsets.
111         (dw2_find_pc_sect_compunit_symtab): Update.
112         * mdebugread.c (parse_symbol): Don't add objfile offsets.
113         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
114         Update.
115         (parse_partial_symbols): Don't add objfile offsets.  Use
116         raw_text_low, raw_text_high.  Update.
117         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
118         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
119         or call 'relocate' quick function.  Clear psymbol_map.
120         * psympriv.h (struct partial_symbol) <address>: Add section
121         offset.
122         <set_unrelocated_address>: Rename from set_address.
123         <raw_text_low, raw_text_high>: New methods.
124         <text_low, text_high>: Add objfile parameter.
125         (add_psymbol_to_bcache): Add 'section' parameter.  Call
126         set_unrelocated_address.
127         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
128         (find_pc_psymbol): Update.
129         (fixup_psymbol_section, relocate_psymtabs): Remove.
130         (dump_psymtab, psym_functions): Update.
131         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
132         parameter.
133         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
134         (start_psymtab_common): Update.
135         * symfile-debug.c (debug_qf_relocate): Remove.
136         (debug_sym_quick_functions): Update.
137         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
138         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
139         Update.
140
141 2018-07-26  Tom Tromey  <tromey@redhat.com>
142
143         * dbxread.c (end_psymtab): Use text_high_valid and
144         text_low_valid.
145         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
146         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
147         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
148         Update comment.
149         <text_low_valid, text_high_valid>: New fields.
150         <set_text_low, set_text_high>: Update.
151         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
152
153 2018-07-26  Tom Tromey  <tom@tromey.com>
154
155         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
156         Update.
157         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
158         textlow and texthigh fields.
159         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
160         Update.
161         * mdebugread.c (parse_lines, parse_partial_symbols)
162         (psymtab_to_symtab_1): Update.
163         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
164         Rename fields.  Update comment.  Now private.
165         <text_low, text_high, set_text_low, set_text_high>: New methods.
166         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
167         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
168         (start_psymtab_common, maintenance_info_psymtabs)
169         (maintenance_check_psymtabs): Update.
170         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
171         texthigh fields.
172         (scan_xcoff_symtab): Update.
173
174 2018-07-26  Tom Tromey  <tromey@redhat.com>
175
176         * psympriv.h (struct partial_symbol) <unrelocated_address,
177         address, set_address>: New methods.
178         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
179         (fixup_psymbol_section, relocate_psymtabs): Update.
180         (print_partial_symbols): Add 'objfile' parameter.  Update.
181         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
182         Update.
183
184 2018-07-26  Tom Tromey  <tom@tromey.com>
185
186         * dwarf-index-write.c (write_psymbols, debug_names::insert)
187         (debug_names::write_psymbols): Update.
188         * psympriv.h (struct partial_symbol): Derive from
189         general_symbol_info.
190         <obj_section>: New method.
191         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
192         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
193         (find_pc_sect_psymbol, fixup_psymbol_section)
194         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
195         (print_partial_symbols, recursively_search_psymtabs)
196         (compare_psymbols, psymbol_hash, psymbol_compare)
197         (add_psymbol_to_bcache, maintenance_check_psymtabs)
198         (psymbol_name_matches, psym_fill_psymbol_map): Update.
199
200 2018-07-26  Tom Tromey  <tromey@redhat.com>
201
202         * dbxread.c (end_psymtab): Remove dead code.
203
204 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
205
206         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
207         DWARF unwinders are disabled.
208         * dwarf2-frame.c: Add dwarf2read.h include.
209         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
210         disabled.
211         (dwarf2_frame_unwinders_enabled_p): Define.
212         (show_dwarf_unwinders_enabled_p): New function.
213         (_initialize_dwarf2_frame): Register switch to control DWARF
214         unwinder use.
215         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
216         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
217         (show_dwarf_cmdlist): Remove static keyword.
218         * dwarf2read.h (set_dwarf_cmdlist): Declare.
219         (show_dwarf_cmdlist): Declare.
220         * NEWS: Document new feature.
221
222 2018-07-26  Tom de Vries  <tdevries@suse.de>
223
224         PR breakpoints/23366
225         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
226
227 2018-07-26  Tom de Vries  <tdevries@suse.de>
228
229         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
230         DW_AT_count can't be translated to a dynamic prop.
231
232 2018-07-25  Tom de Vries  <tdevries@suse.de>
233
234         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
235         try/catch.
236
237 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
238
239         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
240
241 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
242
243         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
244
245 2018-07-24  Keith Seitz  <keiths@redhat.comt
246
247         PR symtab/23010
248         * dwarf2read.c (dw2_add_symbol_to_list): New function.
249         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
250         instead of add_symbol_to_list.
251         (read_file_scope): Call prepare_one_comp_unit before reading
252         any other DIEs.
253
254 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
255
256         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
257
258 2018-07-24  Tom Tromey  <tom@tromey.com>
259
260         * utils.c (malloc, realloc, free): Don't declare.
261         * configure, config.in: Rebuild.
262         * configure.ac: Don't check for declarations of free, malloc, or
263         realloc.
264
265 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
266
267         * aarch64-linux-nat.c
268         (aarch64_linux_nat_target::stopped_data_address): Remove unused
269         variable.
270         * arm-linux-nat.c (fetch_regs): Likewise.
271         (store_regs): Likewise.
272         (fetch_vfp_regs): Likewise.
273         (store_vfp_regs): Likewise.
274         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
275         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
276         (arm_linux_nat_target::insert_watchpoint): Likewise.
277         (arm_linux_nat_target::remove_watchpoint): Likewise.
278         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
279         Likewise.
280         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
281         Likewise.
282         * ppc-linux-nat.c (fetch_register): Likewise.
283         (fetch_all_gp_regs): Likewise.
284         (fetch_ppc_registers): Likewise.
285         (store_all_gp_regs): Likewise.
286         (store_ppc_registers): Likewise.
287         (hwdebug_insert_point): Likewise.
288         (can_use_watchpoint_cond_accel): Likewise.
289         * remote-sim.c (gdb_os_write_stdout): Likewise.
290
291 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
292             Tom Tromey  <tom@tromey.com>
293
294         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
295         test for it.
296         * configure: Rebuild.
297
298 2018-07-22  Tom Tromey  <tom@tromey.com>
299
300         * regformats/regdat.sh: Define xmltarget_${name} inside
301         #ifndef IN_PROCESS_AGENT.
302
303 2018-07-22  Tom Tromey  <tom@tromey.com>
304
305         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
306
307 2018-07-22  Tom Tromey  <tom@tromey.com>
308
309         * symfile.c (reread_symbols): Notify iter, not objfile.
310
311 2018-07-22  Tom Tromey  <tom@tromey.com>
312
313         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
314         Use arch_ops.
315         (ravenscar_thread_target::prepare_to_store): Likewise.
316
317 2018-07-22  Tom Tromey  <tom@tromey.com>
318
319         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
320         unused variable.  Call value_fetch_lazy when needed.
321         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
322         Remove unused variable.  Call value_fetch_lazy when needed.
323
324 2018-07-22  Tom Tromey  <tom@tromey.com>
325
326         * m32c-tdep.c (mark_dma): Return void.
327         (make_regs): Remove unused declarations.
328
329 2018-07-22  Tom Tromey  <tom@tromey.com>
330
331         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
332         cmdscm_get_valid_command_smob_arg_unsafe for effect.
333         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
334         bkscm_get_valid_block_smob_arg_unsafe for effect.
335
336 2018-07-22  Tom Tromey  <tom@tromey.com>
337
338         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
339         value_type.
340
341 2018-07-22  Tom Tromey  <tom@tromey.com>
342
343         * windows-nat.c (saved_context): Conditionally define.
344         * remote.c (remote_target::remote_btrace_maybe_reopen):
345         Conditionally declare "warned".
346         * inflow.c (sigquit_ours): Conditionally define.
347         (new_tty): Move "tty" declaration inside #if.
348         * guile/guile.c (guile_datadir): Conditionally define.
349         * charset.c (set_be_le_names): Move some declarations inside #if.
350         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
351         #if.
352         (parse_xml_btrace_conf): Likewise.
353
354 2018-07-22  Tom Tromey  <tom@tromey.com>
355
356         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
357
358 2018-07-22  Tom Tromey  <tom@tromey.com>
359
360         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
361         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
362         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
363         * buildsym-legacy.c (get_macro_table): Remove unused variable.
364         * stack.c (frame_apply_level_command): Remove unused variable.
365         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
366         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
367         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
368         unused variable.
369         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
370         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
371         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
372         variable.
373         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
374         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
375         variable.
376         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
377         Remove unused variable.
378         * cli/cli-script.c (recurse_read_control_structure): Remove unused
379         variable.
380         * common/tdesc.c (print_xml_feature::visit): Remove unused
381         variable.
382         * compile/compile-object-load.c (store_regs): Remove unused
383         variables.
384         * complaints.c (clear_complaints): Remove unused variable.
385         * corelow.c (core_target_open): Remove unused variable.
386         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
387         variable.
388         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
389         variable.
390         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
391         variable.
392         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
393         variable.
394         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
395         variable.
396         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
397         variable.
398         * ia64-tdep.c (examine_prologue): Remove unused variable.
399         * infcall.c (run_inferior_call): Remove unused variable.
400         * inferior.c (exit_inferior): Remove unused variable.
401         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
402         * linespec.c (decode_line_2): Remove unused variable.
403         * linux-nat.c (super_close): Remove.
404         * linux-tdep.c (linux_info_proc): Remove unused variable.
405         * mi/mi-main.c (mi_execute_command): Remove unused variable.
406         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
407         Remove unused variable.
408         * parse.c (find_minsym_type_and_address): Remove unused variable.
409         * printcmd.c (info_symbol_command, printf_floating): Remove unused
410         variable.
411         * python/py-breakpoint.c (bppy_set_commands): Remove unused
412         variable.
413         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
414         variables.
415         * record-btrace.c (record_btrace_target::store_registers): Remove
416         unused variable.
417         (cmd_show_record_btrace_cpu): Remove unused variable.
418         * riscv-tdep.c (riscv_register_reggroup_p)
419         (riscv_push_dummy_call, riscv_return_value): Remove unused
420         variable.
421         * rust-exp.y (literal): Remove unused variable.
422         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
423         unused variable.
424         <STRUCTOP_ANONYMOUS>: Likewise.
425         * s390-linux-tdep.c (s390_linux_init_abi_31)
426         (s390_linux_init_abi_64): Remove unused variable.
427         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
428         (file_select_thread, net_windows_open, _initialize_ser_windows):
429         Remove unused variables.
430         * symtab.c (find_pc_sect_line): Remove unused variable.
431         * target-memory.c (compute_garbled_blocks): Remove unused
432         variable.
433         (target_write_memory_blocks): Remove unused variable.
434         * target.c (target_stack::unpush): Remove unused variables.
435         * tracepoint.c (start_tracing, all_tracepoint_actions)
436         (merge_uploaded_trace_state_variables)
437         (print_one_static_tracepoint_marker): Remove unused variable.
438         * unittests/basic_string_view/element_access/char/1.cc (test01):
439         Remove unused variable.
440         * windows-nat.c (windows_continue, windows_add_all_dlls)
441         (do_initial_windows_stuff, windows_nat_target::create_inferior):
442         Remove unused variables.
443
444 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
445
446         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
447         attr_profile in HAVE_ELF.
448         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
449         HAVE_ELF.
450
451 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
452
453         * frame.c (frame_register_unwind): Change parameter name.
454         (frame_unwind_register): Likewise.
455         (frame_unwind_register_value): Likewise.
456         (frame_unwind_register_signed): Likewise.
457         (frame_unwind_register_unsigned): Likewise.
458         * frame.h (frame_register_unwind): Likewise.
459         (frame_unwind_register): Likewise.
460         (frame_unwind_register_value): Likewise.
461         (frame_unwind_register_signed): Likewise.
462         (frame_unwind_register_unsigned): Likewise.
463         (frame_unwind_arch): Likewise.
464
465 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
466
467         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
468         ISA maintenance.
469
470 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
471
472         * mips-linux-nat.c (mips_linux_nat_target::read_description):
473         Call `get_ptrace_pid' rather than extracting the ptrace PID by
474         hand.
475
476 2018-07-20  Keith Seitz  <keiths@redhat.com>
477
478         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
479         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
480         m_compunit_symtab, m_language>: Add "m_" prefix.
481         Update all uses.
482         * buildsym.c: Update all uses.
483
484 2018-07-20  Tom Tromey  <tom@tromey.com>
485
486         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
487         * buildsym.h (record_line_ftype): Remove typedef.
488
489 2018-07-20  Tom Tromey  <tom@tromey.com>
490
491         * buildsym-legacy.h (augment_type_symtab): Don't declare.
492         (end_expandable_symtab): Likewise.
493         (end_symtab_get_static_block): Likewise.
494         (end_symtab_from_static_block): Likewise.
495         * buildsym-legacy.c (augment_type_symtab): Remove.
496         (end_expandable_symtab): Remove.
497         (end_symtab_get_static_block): Remove.
498         (end_symtab_from_static_block): Remove.
499
500 2018-07-20  Tom Tromey  <tom@tromey.com>
501
502         * dwarf2read.c: Include buildsym.h.
503         (struct dwarf2_cu) <builder>: New method.
504         (fixup_go_packaging): Update.
505         (process_full_comp_unit, process_full_type_unit): Update.  Don't
506         use scoped_free_pendings.
507         (using_directives): Add "cu" parameter, remove "language".
508         (read_import_statement, setup_type_unit_groups, )
509         (read_func_scope, read_lexical_block_scope)
510         (dwarf2_record_block_ranges, read_namespace): Update.
511         (lnp_state_machine::lnp_state_machine): Add cu parameter.
512         (lnp_state_machine::handle_end_sequence): Update.
513         (class lnp_state_machine) <m_cu>: New member.
514         <m_record_line_callback>: Remove.
515         <m_currently_recording_lines>: New member.
516         (lnp_state_machine::handle_set_file): Update.
517         (noop_record_line): Remove.
518         (dwarf_record_line_p): Add cu parameter.
519         (dwarf_record_line_1, dwarf_finish_line): Likewise.
520         (lnp_state_machine::record_line)
521         (lnp_state_machine::lnp_state_machine)
522         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
523         (dwarf_decode_lines): Update.
524         (dwarf2_start_subfile): Add cu parameter.
525         (dwarf2_start_symtab, new_symbol): Update.
526         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
527         Remove dwarf2_per_objfile parameter.
528         (dwarf_decode_macros): Update.
529
530 2018-07-20  Tom Tromey  <tom@tromey.com>
531
532         * stabsread.c (define_symbol): Update.
533         * buildsym-legacy.h (get_buildsym_compunit): Declare.
534         * dwarf2read.c (new_symbol): Update.
535         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
536         * cp-namespace.c: Include buildsym.h.
537         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
538         * buildsym-legacy.c (get_buildsym_compunit): New function.
539
540 2018-07-20  Tom Tromey  <tom@tromey.com>
541
542         * xcoffread.c: Include buildsym-legacy.h.
543         * windows-nat.c: Include buildsym-legacy.h.
544         * stabsread.c: Include buildsym-legacy.h.
545         * mdebugread.c: Include buildsym-legacy.h.
546         * buildsym-legacy.h: New file.
547         * buildsym-legacy.c: New file, from buildsym.c.
548         * go32-nat.c: Include buildsym-legacy.h.
549         * dwarf2read.c: Include buildsym-legacy.h.
550         * dbxread.c: Include buildsym-legacy.h.
551         * cp-namespace.c: Include buildsym-legacy.h.
552         * coffread.c: Include buildsym-legacy.h.
553         * buildsym.h: Move some contents to buildsym-legacy.h.
554         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
555         buildsym-legacy.c.
556         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
557
558 2018-07-20  Tom Tromey  <tom@tromey.com>
559
560         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
561         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
562         (buildsym_compunit::buildsym_compunit)
563         (buildsym_compunit::~buildsym_compunit)
564         (buildsym_compunit::get_macro_table): Define.
565
566 2018-07-20  Tom Tromey  <tom@tromey.com>
567
568         * buildsym.c (reset_symtab_globals): Remove.
569         (buildsym_compunit::end_symtab_from_static_block): Update.
570         (buildsym_compunit::augment_type_symtab): Update.
571         (end_symtab_from_static_block): Call free_buildsym_compunit.
572         (augment_type_symtab, end_symtab, end_expandable_symtab):
573         Likewise.
574
575 2018-07-20  Tom Tromey  <tom@tromey.com>
576
577         * arch-utils.c: Do not include buildsym.h.
578         * mipsread.c: Do not include buildsym.h.
579         * machoread.c: Do not include buildsym.h.
580         * elfread.c: Do not include buildsym.h.
581
582 2018-07-20  Tom Tromey  <tom@tromey.com>
583
584         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
585         initialization.
586         (buildsym_compunit): Add new constructor.
587         (struct buildsym_compunit) <get_last_source_file, finish_block,
588         record_block_range, start_subfile, patch_subfile_names,
589         push_subfile, pop_subfile, record_line, get_compunit_symtab,
590         set_last_source_start_addr, get_last_source_start_addr,
591         get_local_using_directives, set_local_using_directives,
592         get_global_using_directives, outermost_context_p,
593         get_current_context_stack, get_context_stack_depth,
594         get_current_subfile, get_local_symbols, get_file_symbols,
595         get_global_symbols, record_debugformat, record_producer,
596         push_context, pop_context, end_symtab_get_static_block,
597         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
598         New public methods.
599         <record_pending_block, finish_block_internal, make_blockvector,
600         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
601         private methods.
602         Update all users.
603
604 2018-05-22  Tom Tromey  <tom@tromey.com>
605
606         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
607         parameter.
608         (finish_block_internal): Update.
609
610 2018-07-20  Tom Tromey  <tom@tromey.com>
611
612         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
613         parameter.
614         (finish_block_internal): Update.
615
616 2018-07-20  Tom Tromey  <tom@tromey.com>
617
618         * buildsym.h (EXTERN): Don't define or undef.
619         * buildsym.c (EXTERN): Don't define.
620
621 2018-07-20  Tom Tromey  <tom@tromey.com>
622
623         * buildsym.c: Remove TODO comment.
624
625 2018-07-20  Tom Tromey  <tom@tromey.com>
626
627         * coffread.c (coff_symtab_read): Update.
628         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
629         (xcoff_new_init): Update.
630         * mipsread.c (mipscoff_new_init): Update.
631         * mdebugread.c (mdebug_build_psymtabs): Update.
632         * elfread.c (elf_new_init): Update.
633         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
634         Update.
635         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
636         (coffstab_build_psymtabs, elfstab_build_psymtabs)
637         (stabsect_build_psymtabs): Update.
638         * buildsym.h (buildsym_init): Don't declare.
639         * buildsym.c: Update comment.
640         (prepare_for_building): Remove.
641         (start_symtab, restart_symtab): Update.
642         (reset_symtab_globals): Update comment.
643         (buildsym_init): Remove.
644
645 2018-07-20  Tom Tromey  <tom@tromey.com>
646
647         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
648         * stabsread.c (patch_block_stabs, define_symbol, read_type)
649         (read_enum_type, common_block_start, common_block_end)
650         (cleanup_undefined_types_1, finish_global_stabs): Update.
651         * mdebugread.c (psymtab_to_symtab_1): Update.
652         * dwarf2read.c (fixup_go_packaging, read_func_scope)
653         (read_lexical_block_scope, new_symbol): Update.
654         * dbxread.c (process_one_symbol): Update.
655         * coffread.c (coff_symtab_read, process_coff_symbol)
656         (coff_read_enum_type): Update.
657         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
658         declare.
659         (get_local_symbols, get_file_symbols, get_global_symbols): New
660         functions.
661         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
662         m_global_symbols.
663         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
664         (~scoped_free_pendings): Update.
665         (finish_block, prepare_for_building, reset_symtab_globals)
666         (end_symtab_get_static_block, end_symtab_with_blockvector)
667         (augment_type_symtab, push_context): Update.
668         (get_local_symbols, get_file_symbols, get_global_symbols): New
669         functions.
670         (buildsym_init): Update.
671
672 2018-07-20  Tom Tromey  <tom@tromey.com>
673
674         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
675         (process_full_type_unit): Likewise.
676         (dwarf2_start_symtab): Set list_in_scope.
677
678 2018-07-20  Tom Tromey  <tom@tromey.com>
679
680         * dwarf2read.c (process_psymtab_comp_unit_reader)
681         (build_type_psymtabs_reader): Do not set list_in_scope.
682
683 2018-07-20  Tom Tromey  <tom@tromey.com>
684
685         * buildsym.c (free_pendings): Remove.
686         (add_symbol_to_list, scoped_free_pendings)
687         (finish_block_internal, buildsym_init): Update.
688
689 2018-07-20  Tom Tromey  <tom@tromey.com>
690
691         * xcoffread.c (read_xcoff_symtab): Update.
692         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
693         Update.
694         * dbxread.c (process_one_symbol): Update.
695         * coffread.c (coff_symtab_read): Update.
696         * buildsym.h (finish_block): Update.
697         * buildsym.c (finish_block): Remove "listhead" argument.
698         (end_symtab_get_static_block): Update.
699
700 2018-07-20  Tom Tromey  <tom@tromey.com>
701
702         * buildsym.h (class scoped_free_pendings): Remove constructor.
703         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
704         method.
705         <m_pending_block_obstack, m_pending_blocks>: New members.
706         (pending_block_obstack, pending_blocks): Remove.
707         (scoped_free_pendings::scoped_free_pendings): Default.
708         (~scoped_free_pendings): Update.
709         (free_pending_blocks): Remove.
710         (finish_block_internal, record_pending_block, make_blockvector)
711         (end_symtab_get_static_block, augment_type_symtab, push_context)
712         (buildsym_init): Update.
713
714 2018-07-20  Tom Tromey  <tom@tromey.com>
715
716         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
717         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
718         members.
719         (pending_addrmap, pending_addrmap_obstack)
720         (pending_addrmap_interesting): Remove.
721         (scoped_free_pendings, record_block_range, make_blockvector)
722         (prepare_for_building, reset_symtab_globals, buildsym_init):
723         Update.
724
725 2018-07-20  Tom Tromey  <tom@tromey.com>
726
727         * xcoffread.c (process_linenos): Update.
728         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
729         * mdebugread.c (psymtab_to_symtab_1): Update.
730         * dwarf2read.c (setup_type_unit_groups)
731         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
732         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
733         * dbxread.c (process_one_symbol): Update.
734         * coffread.c (coff_symtab_read, enter_linenos)
735         (process_coff_symbol): Update.
736         * buildsym.h (current_subfile): Don't declare.
737         (get_current_subfile): Declare.
738         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
739         member.
740         (start_subfile, free_buildsym_compunit, push_subfile)
741         (prepare_for_building, start_symtab): Update.
742         (get_current_subfile): New function.
743
744 2018-07-20  Tom Tromey  <tom@tromey.com>
745
746         * coffread.c (coff_symtab_read): Update.
747         * xcoffread.c (read_xcoff_symtab): Update.
748         * dwarf2read.c (new_symbol): Update.
749         (read_func_scope, read_lexical_block_scope): Update.
750         * dbxread.c (process_one_symbol): Update.
751         * buildsym.h (context_stack, context_stack_depth): Don't declare.
752         (outermost_context_p): Remove macro.
753         (outermost_context_p, get_current_context_stack)
754         (get_context_stack_depth): Declare.
755         (pop_context): Return struct context_stack.
756         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
757         member.
758         (context_stack_size): Remove.
759         (INITIAL_CONTEXT_STACK_SIZE): Remove.
760         (prepare_for_building, end_symtab_get_static_block)
761         (augment_type_symtab, push_context): Update.
762         (pop_context): Return struct context_stack.
763         (outermost_context_p, get_current_context_stack)
764         (get_context_stack_depth): New functions.
765         (buildsym_init): Update.
766
767 2018-07-20  Tom Tromey  <tom@tromey.com>
768
769         * rust-exp.y: Now a pure parser.  Update all rules.
770         (%union): Move earlier.
771         (current_parser, work_obstack): Remove globals.
772         (rust_parser, ~rust_parser): Update.
773         (class rust_parser) <copy_name, concat3, crate_name, super_name,
774         lex_character, lex_number, lex_string, lex_identifier,
775         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
776         convert_name, convert_params_to_expression,
777         convert_ast_to_expression, ast_basic_type, ast_operation,
778         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
779         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
780         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
781         ast_array_type, ast_slice_type, ast_reference_type,
782         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
783         (rust_parse): Update.
784         (rustyyerror, rustyylex): Add parser parameter.
785         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
786         (rust_lex_stringish_test, rust_lex_test_sequence)
787         (rust_lex_test_trailing_dot, rust_lex_test_completion)
788         (rust_lex_test_push_back, rust_lex_tests): Update.
789
790 2018-07-19  Pedro Alves  <palves@redhat.com>
791
792         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
793         gdb::unique_xmalloc_ptr.
794         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
795         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
796         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
797         copy-initialization.
798         * guile/scm-pretty-print.c (ppscm_print_children): Use
799         gdb::unique_xmalloc_ptr instead of cleanups.
800         (gdbscm_apply_val_pretty_printer): Remove cleanups.
801         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
802         gdb::unique_xmalloc_ptr.
803         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
804         Adjust to use gdb::unique_xmalloc_ptr.
805         * guile/scm-utils.c (extract_arg): Adjust.
806         * guile/scm-value.c (gdbscm_value_field): Adjust to use
807         gdb::unique_xmalloc_ptr instead of a cleanup.
808
809 2018-07-19  Tom Tromey  <tom@tromey.com>
810
811         * utils.c (do_value_free_to_mark)
812         (make_cleanup_value_free_to_mark): Remove.
813         * utils.h (make_cleanup_value_free_to_mark): Remove.
814
815 2018-07-19  Pedro Alves  <palves@redhat.com>
816
817         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
818         forwarding reference.
819
820 2018-07-18  Pedro Alves  <palves@redhat.com>
821
822         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
823         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
824         cleanup.
825
826 2018-07-18  Pedro Alves  <palves@redhat.com>
827
828         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
829         exceptions.
830         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
831         (gdbscm_wrap): New.
832         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
833         directly instead of a cleanup.
834         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
835         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
836         (vlscm_binop_gdbthrow): New, factored out from ...
837         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
838         (vlscm_rich_compare): Use gdbscm_wrap.
839         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
840         instead of a cleanup.
841         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
842         cleanup.
843         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
844         Use xfree directly instead of a cleanup.
845         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
846         Adjust to use gdbscm_wrap and scoped_value_mark.
847         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
848         (gdbscm_value_address, gdbscm_value_dereference)
849         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
850         scoped_value_mark.
851         (gdbscm_value_dynamic_type): Use scoped_value_mark.
852         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
853         scoped_value_mark.
854         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
855         gdbscm_wrap and scoped_value_mark.
856         (gdbscm_value_to_string): Use xfree directly instead of a
857         cleanup.  Move 'buffer' unique_ptr to TRY scope.
858         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
859         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
860         scoped_value_mark.
861         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
862         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
863         scoped_value_mark.
864         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
865         gdbscm_wrap.
866
867 2018-07-18  Tom de Vries  <tdevries@suse.de>
868
869         * findvar.c (default_read_var_value): Also resolve dynamic type for
870         LOC_OPTIMIZED_OUT vars.
871
872 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
873
874         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
875         decoding.
876
877 2018-07-17  Tom Tromey  <tom@tromey.com>
878
879         * guile/scm-param.c (pascm_set_func, pascm_show_func)
880         (compute_enum_list, pascm_set_param_value_x)
881         (gdbscm_parameter_value): Update.
882         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
883         (gdbscm_scm_to_host_string): Update.
884         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
885         Update.
886         * guile/scm-cmd.c (cmdscm_add_completion): Update.
887         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
888         * guile/scm-string.c (gdbscm_scm_to_string): Return
889         unique_xmalloc_ptr.
890         (gdbscm_scm_to_host_string): Likewise.
891
892 2018-07-17  Tom Tromey  <tom@tromey.com>
893
894         * guile/guile.c (gdbscm_eval_from_control_command): Update.
895         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
896         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
897         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
898         unique_xmalloc_ptr.
899
900 2018-07-17  Tom Tromey  <tom@tromey.com>
901
902         * guile/scm-param.c (pascm_signal_setshow_error): Update.
903         * guile/guile-internal.h (gdbscm_exception_message_to_string):
904         Update.
905         * guile/scm-cmd.c (cmdscm_function): Update.
906         * guile/scm-pretty-print.c
907         (ppscm_print_exception_unless_memory_error): Update.
908         * guile/scm-exception.c (gdbscm_exception_message_to_string):
909         Return unique_xmalloc_ptr.
910
911 2018-07-17  Tom Tromey  <tom@tromey.com>
912
913         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
914         Use string_printf.
915
916 2018-07-17  Jim Wilson  <jimw@sifive.com>
917
918         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
919         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
920         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
921         unecessary braces after EF_RISCV_RVC test.  Delete call to
922         set_gdbarch_decr_pc_after_break.
923
924         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
925         RISCV_LAST_FP_REGNUM + 1.
926         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
927
928 2018-07-17  Tom Tromey  <tom@tromey.com>
929
930         * configure.ac: Remove --disable-gdbcli.
931         * configure: Rebuild.
932         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
933         (SUBDIR_CLI_CFLAGS): Remove.
934         (SFILES): Use SUBDIR_CLI_SRCS.
935         (COMMON_OBS): Use SUBDIR_CLI_OBS.
936
937 2018-07-17  Tom Tromey  <tom@tromey.com>
938
939         PR gdb/18624:
940         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
941
942 2018-07-16  Jim Wilson  <jimw@sifive.com>
943
944         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
945
946 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
947
948         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
949         variable.
950         (libunwind_frame_sniffer): Likewise.
951         (libunwind_frame_prev_register): Likewise.
952         (libunwind_sigtramp_frame_sniffer): Likewise.
953         * ia64-tdep.c (ia64_access_reg): Likewise.
954         (ia64_access_rse_reg): Likewise.
955         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
956         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
957
958 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
959
960         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
961
962 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
963
964         * remote-sim.c (gdbsim_target::close,
965         gdbsim_target::mourn_inferior): Remove unused variables.
966
967 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
968
969         * ia64-tdep.c (ktab_buf): New global.
970         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
971         (get_kernel_table): Adjust.
972
973 2018-07-16  Tom Tromey  <tom@tromey.com>
974
975         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
976         * dwarf2read.c (using_directives, new_symbol): Use
977         outermost_context_p.
978         * dbxread.c (process_one_symbol): Use outermost_context_p.
979         * coffread.c (coff_symtab_read): Use outermost_context_p.
980
981 2018-07-16  Tom Tromey  <tom@tromey.com>
982
983         * dwarf2read.c (using_directives, read_func_scope)
984         (read_lexical_block_scope): Update.
985         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
986         * buildsym.h (local_using_directives, global_using_directives):
987         Don't declare.
988         (get_local_using_directives, set_local_using_directives)
989         (get_global_using_directives): Declare.
990         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
991         m_global_using_directives>: New members.
992         (finish_block_internal, prepare_for_building)
993         (reset_symtab_globals, end_symtab_get_static_block)
994         (push_context): Update.
995         (get_local_using_directives, set_local_using_directives)
996         (get_global_using_directives): New functions.
997         (buildsym_init): Update.
998
999 2018-07-16  Tom Tromey  <tom@tromey.com>
1000
1001         * xcoffread.c (xcoff_initial_scan): Don't call
1002         free_pending_blocks.
1003         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
1004         * buildsym.h (class scoped_free_pendings): Add constructor.
1005         (free_pending_blocks): Don't declare.
1006         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
1007         (free_pending_blocks): Now static.
1008
1009 2018-07-16  Tom Tromey  <tom@tromey.com>
1010
1011         * buildsym.h (push_subfile, pop_subfile): Update declarations.
1012         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
1013         member.
1014         (struct subfile_stack): Remove.
1015         (subfile_stack): Remove.
1016         (push_subfile, pop_subfile, buildsym_init): Update.
1017
1018 2018-07-16  Tom Tromey  <tom@tromey.com>
1019
1020         * buildsym.c (push_subfile): Use gdb_assert.
1021         (pop_subfile): Use gdb_assert.
1022
1023 2018-07-16  Tom Tromey  <tom@tromey.com>
1024
1025         * buildsym.h (merge_symbol_lists): Remove.
1026         * buildsym.c (merge_symbol_lists): Remove.
1027
1028 2018-07-16  Tom Tromey  <tom@tromey.com>
1029
1030         * stabsread.c (scan_file_globals): Update comment.
1031         * stabsread.h (scan_file_globals): Move from buildsym.h.
1032         * buildsym.h (scan_file_globals): Move to stabsread.h.
1033
1034 2018-07-16  Tom Tromey  <tom@tromey.com>
1035
1036         * xcoffread.c (xcoff_new_init): Update.
1037         * mipsread.c (mipscoff_new_init): Update.
1038         * mdebugread.c (mdebug_build_psymtabs): Update.
1039         * elfread.c (elf_new_init): Update.
1040         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1041         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1042         * buildsym.h (buildsym_new_init): Don't declare.
1043         * buildsym.c (buildsym_new_init): Remove.
1044
1045 2018-07-16  Tom Tromey  <tom@tromey.com>
1046
1047         * stabsread.h (within_function): Move from buildsym.h.
1048         * stabsread.c (start_stabs): Clear within_function.
1049         * coffread.c (coff_start_symtab): Clear within_function.
1050         * buildsym.h (within_function): Move to stabsread.h.
1051         * buildsym.c (prepare_for_building): Update.
1052
1053 2018-07-16  Tom Tromey  <tom@tromey.com>
1054
1055         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1056         * dwarf2read.c (dwarf2_start_symtab): Don't set
1057         processing_gcc_compilation.
1058         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1059
1060 2018-07-16  Tom Tromey  <tom@tromey.com>
1061
1062         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1063         (next_symbol_text_func): Move from buildsym.h.
1064         * stabsread.c (hashname): Move from buildsym.c.
1065         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1066         (next_symbol_text_func, hashname): Move to stabsread.h.
1067         * buildsym.c: Don't include bcache.h
1068         (hashname): Move to stasbread.c.
1069
1070 2018-07-16  Tom Tromey  <tom@tromey.com>
1071
1072         * buildsym.h (context_stack_size): Don't declare.
1073         * buildsym.c (context_stack_size): New global.
1074
1075 2018-07-16  Tom Tromey  <tom@tromey.com>
1076
1077         * dbxread.c (processing_acc_compilation): New global.
1078         * buildsym.h (processing_acc_compilation): Don't declare.
1079
1080 2018-07-16  Tom Tromey  <tom@tromey.com>
1081
1082         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1083         * dbxread.c (read_ofile_symtab): Update.
1084         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1085         * buildsym.h (last_source_start_addr): Remove.
1086         (set_last_source_start_addr, get_last_source_start_addr):
1087         Declare.
1088         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1089         parameter.
1090         (struct buildsym_compunit) <m_last_source_start_addr>: New
1091         member.
1092         (prepare_for_building): Remove start_addr parameter.
1093         (start_symtab, restart_symtab, end_symtab_get_static_block)
1094         (end_symtab_with_blockvector): Update.
1095         (set_last_source_start_addr, get_last_source_start_addr): New
1096         functions.
1097
1098 2018-07-16  Tom Tromey  <tom@tromey.com>
1099
1100         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1101         member.
1102         (have_line_numbers): Remove.
1103         (record_line, prepare_for_building, end_symtab_get_static_block)
1104         (augment_type_symtab): Update.
1105
1106 2018-07-16  Tom Tromey  <tom@tromey.com>
1107
1108         * buildsym.c (~buildsym_compunit): Free the macro table.
1109         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1110         methods.
1111         <m_pending_macros>: New member.
1112         (pending_macros): Remove.
1113         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1114         (reset_symtab_globals, end_symtab_get_static_block)
1115         (end_symtab_with_blockvector, augment_type_symtab)
1116         (buildsym_init): Update.
1117
1118 2018-07-16  Tom Tromey  <tom@tromey.com>
1119
1120         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1121         parameter.
1122         (buildsym_compunit::set_last_source_file): New method.
1123         <m_last_source_file>: New member.
1124         (prepare_for_building): Remove "name" parameter.
1125         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1126         (last_source_file): Remove.
1127         (set_last_source_file, get_last_source_file): Update.
1128
1129 2018-07-16  Tom Tromey  <tom@tromey.com>
1130
1131         * buildsym.c (prepare_for_building): Add assert.
1132
1133 2018-07-16  Tom Tromey  <tom@tromey.com>
1134
1135         * buildsym.c (~buildsym_compunit): Update.
1136         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1137         (start_subfile, patch_subfile_names)
1138         (end_symtab_with_blockvector): Update.
1139
1140 2018-07-16  Tom Tromey  <tom@tromey.com>
1141
1142         * buildsym.c (struct buildsym_compunit): Add constructor,
1143         destructor, initializers.
1144         (start_buildsym_compunit): Remove.
1145         (free_buildsym_compunit): Use "delete".
1146         (start_symtab, restart_symtab): Use "new".
1147
1148 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1149
1150         * symfile.c (set_objfile_default_section_offset): Remove struct
1151         keyword.
1152
1153 2018-07-14  Stafford Horne  <shorne@gmail.com>
1154
1155         * (Responsible Maintainers): Add myself as or1k maintainer.
1156
1157 2018-07-13  Tom Tromey  <tom@tromey.com>
1158
1159         * symfile.c (set_objfile_default_section_offset): Use extra braces
1160         around initializer.
1161
1162 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1163
1164         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1165         non-branching basr.
1166
1167 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1168
1169         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1170         unittests/cli-utils-selftests.c
1171         * unittests/cli-utils-selftests.c: New file.
1172
1173 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1174
1175         * NEWS: Mention new commands. Mention change to 'thread apply'.
1176
1177 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1178
1179         * thread.c (thr_try_catch_cmd): New function.
1180         (thread_apply_all_command): Handle qcs flags.
1181         (thread_apply_command): Handle qcs flags.
1182         (taas_command): New function.
1183         (tfaas_command): New function.
1184         (_initialize_thread): Update to setup the new commands 'taas
1185         and 'tfaas'. Change doc string for 'thread apply'.
1186
1187 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1188
1189         * stack.c: (trailing_outermost_frame): New function, mostly
1190         extracted from backtrace_command_1.
1191         (leading_innermost_frame): New function.
1192         (backtrace_command_1): Update to call trailing_outermost_frame.
1193         (frame_apply_command_count): New function.
1194         (frame_apply_level_command): New function.
1195         (frame_apply_all_command): New function.
1196         (frame_apply_command): New function.
1197         (faas_command): New function.
1198         (frame_cmd_list): New variable.
1199         (_initialize_stack): Update to setup the new commands 'frame apply'
1200         and 'faas'.
1201
1202 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1203
1204         * cli-utils.c (number_or_range_parser::get_number): Only handle
1205         numbers or convenience var as numbers.
1206         (parse_flags): New function.
1207         (parse_flags_qcs): New function.
1208         (number_or_range_parser::finished): Ensure parsing end is detected
1209         before end of string.
1210         * cli-utils.h (parse_flags): New function.
1211         (parse_flags_qcs): New function.
1212         (number_or_range_parser): Remove m_finished bool.
1213         (number_or_range_parser::skip_range): Set m_in_range to false.
1214
1215 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1216
1217         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1218         on Windows.
1219
1220 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1221             Jan Kratochvil  <jan.kratochvil@redhat.com>
1222             Paul Fertser  <fercerpav@gmail.com>
1223             Tsutomu Seki  <sekiriki@gmail.com>
1224             Pedro Alves  <palves@redhat.com>
1225
1226         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1227         'unittests/parse-connection-spec-selftests.c'.
1228         (COMMON_SFILES): Add 'common/netstuff.c'.
1229         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1230         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1231         * common/netstuff.c: New file.
1232         * common/netstuff.h: New file.
1233         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1234         (wait_for_connect): Update comment.  New parameter
1235         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1236         Use 'sock' directly instead of 'scb->fd'.
1237         (try_connect): New function, with code from 'net_open'.
1238         (net_open): Rewrite main loop to deal with multiple
1239         sockets/addresses.  Handle IPv6-style hostnames; implement
1240         support for IPv6 connections.
1241         * unittests/parse-connection-spec-selftests.c: New file.
1242
1243 2018-07-11  Pedro Alves  <palves@redhat.com>
1244
1245         PR gdb/23377
1246         * remote.c (remote_target::remote_detach_pid): Call
1247         set_current_process.
1248
1249 2018-07-11  Pedro Alves  <palves@redhat.com>
1250
1251         * h8300-tdep.c (h8300_gdbarch_init): Remove
1252         set_gdbarch_ecoff_reg_to_regnum calls.
1253
1254 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1255
1256         PR c++/23373
1257         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1258         offsets/sizes for static members of a class/struct.
1259
1260 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1261
1262         * target-descriptions.c (tdesc_register_bitsize): Rename.
1263         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1264         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1265         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1266
1267 2018-07-10  Tom Tromey  <tom@tromey.com>
1268
1269         * breakpoint.c (moribund_locations): Now static and a
1270         std::vector.
1271         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1272         (build_bpstat_chain, update_global_location_list)
1273         (breakpoint_retire_moribund): Update.
1274         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1275         VEC.
1276
1277 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1278
1279         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1280         (riscv_register_reggroup_p): Use new function, remove unneeded
1281         parenthesis.
1282         (riscv_push_dummy_call): Extend assert to compare against xlen or
1283         flen based on register type.
1284
1285 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1286
1287         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1288
1289 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1290
1291         * remote.c (show_hardware_watchpoint_limit): New function.
1292         (show_hardware_watchpoint_length_limit): New function.
1293         (show_hardware_breakpoint_limit): New function.
1294         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1295         where appropriate, update help text.
1296
1297 2018-07-09  Tom Tromey  <tom@tromey.com>
1298
1299         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1300         (CLIBS): Don't mention NAT_CLIBS.
1301
1302 2018-07-09  Tom Tromey  <tom@tromey.com>
1303
1304         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1305         (LIBGDB_OBS, clean mostlyclean): Update.
1306         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1307
1308 2018-07-09  Tom Tromey  <tom@tromey.com>
1309
1310         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1311         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1312         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1313
1314 2018-07-09  Tom Tromey  <tom@tromey.com>
1315
1316         * Makefile.in (ALLDEPFILES): Remove exec.c.
1317         (COMMON_OBS): Remove exec.o.
1318         (COMMON_SFILES): Add exec.c.
1319
1320 2018-07-09  Tom Tromey  <tom@tromey.com>
1321
1322         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1323
1324 2018-07-09  Tom Tromey  <tom@tromey.com>
1325
1326         * Makefile.in (clean mostlyclean): Remove stamp-version.
1327         (version.c): Depend on stamp-version.
1328         (stamp-version): New rule, from version.c rule.
1329
1330 2018-07-09  Tom Tromey  <tom@tromey.com>
1331
1332         * Makefile.in (init.c): Depend on stamp-init.
1333         (stamp-init): New rule, from init.c rule.
1334         (clean mostlyclean): Remove stamp-init.
1335
1336 2018-07-09  Tom Tromey  <tom@tromey.com>
1337
1338         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1339         SUBDIR_GCC_COMPILE_SRCS.
1340
1341 2018-07-09  Tom Tromey  <tom@tromey.com>
1342
1343         * Makefile.in (init.c): Remove some unused sed rules.
1344
1345 2018-07-09  Tom Tromey  <tom@tromey.com>
1346
1347         * Makefile.in (TSOBS): Remove.
1348         (INIT_FILES): Update.
1349         (LIBGDB_OBS): Update.
1350         (COMMON_SFILES): Add inflow.c.
1351         (SFILES): Remove inflow.c.
1352
1353 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1354
1355         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1356
1357 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1358
1359         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1360         get_saveloc_name, is_signal_frame_name, step_name,
1361         init_remote_name, create_addr_space_name,
1362         destroy_addr_space_name, search_unwind_table_name,
1363         find_dyn_list_name): Constify.
1364
1365 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1366
1367         * darwin-nat.c (darwin_pthread_kill): New function.
1368         (darwin_resume_thread): Use darwin_pthread_kill.
1369
1370 2018-07-05  Tom de Vries  <tdevries@suse.de>
1371
1372         * macroexp.c (macro_buffer) <operator=>: New member function.
1373
1374 2018-07-04  Tom Tromey  <tom@tromey.com>
1375
1376         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1377
1378 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1379
1380         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1381         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1382         * maint.c: Likewise.
1383         * top.c: Likewise.
1384
1385 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1386
1387         * NEWS: Create a new section for the next release branch.
1388         Rename the section of the current branch, now that it has
1389         been cut.
1390
1391 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1392
1393         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1394         * version.in: Bump version to 8.2.50.DATE-git.
1395
1396 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1397             Pedro Alves  <palves@redhat.com>
1398
1399         * linux-nat.c (linux_init_ptrace): Rename to ...
1400         (linux_init_ptrace_procfs): ... this.  Call
1401         linux_proc_init_warnings.
1402         (linux_nat_target::post_attach)
1403         (linux_nat_target::post_startup_inferior): Adjust.
1404         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1405         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1406
1407 2018-07-04  Tom de Vries  <tdevries@suse.de>
1408
1409         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
1410         check ...
1411         (read_comp_unit_head): ... here.
1412
1413 2018-07-03  Tom Tromey  <tom@tromey.com>
1414
1415         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
1416         (stop_tracing, tstatus_command)
1417         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
1418         (print_one_static_tracepoint_marker): Update.
1419         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
1420         std::vector.
1421         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
1422         VEC.
1423         (all_tracepoints, static_tracepoints_here): Return std::vector.
1424
1425 2018-07-03  Tom Tromey  <tom@tromey.com>
1426
1427         * common/ptid.c (ptid_equal): Remove.
1428         * common/ptid.h (ptid_equal): Don't declare.
1429         * ada-tasks.c: Update.
1430         * breakpoint.c: Update.
1431         * common/agent.c: Update.
1432         * corelow.c: Update.
1433         * darwin-nat-info.c: Update.
1434         * darwin-nat.c: Update.
1435         * dcache.c: Update.
1436         * dtrace-probe.c: Update.
1437         * dummy-frame.c: Update.
1438         * fbsd-nat.c: Update.
1439         * frame.c: Update.
1440         * gdbthread.h: Update.
1441         * gnu-nat.c: Update.
1442         * go32-nat.c: Update.
1443         * inf-loop.c: Update.
1444         * inf-ptrace.c: Update.
1445         * infcall.c: Update.
1446         * infcmd.c: Update.
1447         * inflow.c: Update.
1448         * infrun.c: Update.
1449         * linux-fork.c: Update.
1450         * linux-nat.c: Update.
1451         * linux-thread-db.c: Update.
1452         * mi/mi-cmd-var.c: Update.
1453         * mi/mi-interp.c: Update.
1454         * mi/mi-main.c: Update.
1455         * nto-procfs.c: Update.
1456         * ppc-linux-tdep.c: Update.
1457         * procfs.c: Update.
1458         * python/py-inferior.c: Update.
1459         * python/py-record-btrace.c: Update.
1460         * python/py-record.c: Update.
1461         * ravenscar-thread.c: Update.
1462         * regcache.c: Update.
1463         * remote-sim.c: Update.
1464         * remote.c: Update.
1465         * sol-thread.c: Update.
1466         * solib.c: Update.
1467         * target.c: Update.
1468         * tui/tui-stack.c: Update.
1469         * varobj.c: Update.
1470         * windows-nat.c: Update.
1471         * windows-tdep.c: Update.
1472
1473 2018-07-03  Tom Tromey  <tom@tromey.com>
1474
1475         * common/ptid.c (ptid_match): Remove.
1476         * common/ptid.h (ptid_match): Don't declare.
1477         * fbsd-nat.c: Update.
1478         * infcmd.c: Update.
1479         * infrun.c: Update.
1480         * linux-nat.c: Update.
1481         * record-btrace.c: Update.
1482         * regcache.c: Update.
1483         * remote.c: Update.
1484
1485 2018-07-03  Tom Tromey  <tom@tromey.com>
1486
1487         * common/ptid.c (ptid_tid_p): Remove.
1488         * common/ptid.h (ptid_tid_p): Don't declare.
1489         * sol-thread.c: Update.
1490
1491 2018-07-03  Tom Tromey  <tom@tromey.com>
1492
1493         * common/ptid.c (ptid_lwp_p): Remove.
1494         * common/ptid.h (ptid_lwp_p): Don't declare.
1495         * fbsd-nat.c: Update.
1496         * linux-nat.c: Update.
1497         * nat/linux-procfs.c: Update.
1498         * nat/x86-linux-dregs.c: Update.
1499         * sol-thread.c: Update.
1500
1501 2018-07-03  Tom Tromey  <tom@tromey.com>
1502
1503         * common/ptid.c (ptid_is_pid): Remove.
1504         * common/ptid.h (ptid_is_pid): Don't declare.
1505         * infrun.c: Update.
1506         * linux-nat.c: Update.
1507         * mi/mi-interp.c: Update.
1508         * remote.c: Update.
1509         * thread.c: Update.
1510
1511 2018-07-03  Tom Tromey  <tom@tromey.com>
1512
1513         * common/ptid.c (ptid_get_tid): Remove.
1514         * common/ptid.h (ptid_get_tid): Don't declare.
1515         * ada-tasks.c: Update.
1516         * aix-thread.c: Update.
1517         * bsd-uthread.c: Update.
1518         * darwin-nat.c: Update.
1519         * fbsd-nat.c: Update.
1520         * i386-darwin-nat.c: Update.
1521         * infrun.c: Update.
1522         * linux-tdep.c: Update.
1523         * nto-procfs.c: Update.
1524         * ppc-ravenscar-thread.c: Update.
1525         * python/py-infthread.c: Update.
1526         * ravenscar-thread.c: Update.
1527         * sol-thread.c: Update.
1528         * sparc-ravenscar-thread.c: Update.
1529         * windows-nat.c: Update.
1530
1531 2018-07-03  Tom Tromey  <tom@tromey.com>
1532
1533         * common/ptid.c (ptid_get_lwp): Remove.
1534         * common/ptid.h (ptid_get_lwp): Don't declare.
1535         * aarch64-linux-nat.c: Update.
1536         * ada-tasks.c: Update.
1537         * aix-thread.c: Update.
1538         * amd64-linux-nat.c: Update.
1539         * arm-linux-nat.c: Update.
1540         * corelow.c: Update.
1541         * fbsd-nat.c: Update.
1542         * fbsd-tdep.c: Update.
1543         * gnu-nat.c: Update.
1544         * i386-cygwin-tdep.c: Update.
1545         * i386-gnu-nat.c: Update.
1546         * i386-linux-nat.c: Update.
1547         * ia64-linux-nat.c: Update.
1548         * inf-ptrace.c: Update.
1549         * infrun.c: Update.
1550         * linux-fork.c: Update.
1551         * linux-nat.c: Update.
1552         * linux-tdep.c: Update.
1553         * linux-thread-db.c: Update.
1554         * mips-linux-nat.c: Update.
1555         * nat/aarch64-linux-hw-point.c: Update.
1556         * nat/aarch64-linux.c: Update.
1557         * nat/linux-btrace.c: Update.
1558         * nat/linux-osdata.c: Update.
1559         * nat/linux-procfs.c: Update.
1560         * nat/x86-linux-dregs.c: Update.
1561         * obsd-nat.c: Update.
1562         * ppc-fbsd-nat.c: Update.
1563         * ppc-linux-nat.c: Update.
1564         * procfs.c: Update.
1565         * python/py-infthread.c: Update.
1566         * ravenscar-thread.c: Update.
1567         * remote.c: Update.
1568         * s390-linux-nat.c: Update.
1569         * sol-thread.c: Update.
1570         * sol2-tdep.c: Update.
1571         * spu-linux-nat.c: Update.
1572         * x86-linux-nat.c: Update.
1573         * xtensa-linux-nat.c: Update.
1574
1575 2018-07-03  Tom Tromey  <tom@tromey.com>
1576
1577         * common/ptid.c (ptid_get_pid): Remove.
1578         * common/ptid.h (ptid_get_pid): Don't declare.
1579         * aarch64-linux-nat.c: Update.
1580         * ada-lang.c: Update.
1581         * aix-thread.c: Update.
1582         * alpha-bsd-nat.c: Update.
1583         * amd64-fbsd-nat.c: Update.
1584         * amd64-linux-nat.c: Update.
1585         * arm-linux-nat.c: Update.
1586         * arm-nbsd-nat.c: Update.
1587         * auxv.c: Update.
1588         * break-catch-syscall.c: Update.
1589         * breakpoint.c: Update.
1590         * bsd-uthread.c: Update.
1591         * corelow.c: Update.
1592         * ctf.c: Update.
1593         * darwin-nat.c: Update.
1594         * fbsd-nat.c: Update.
1595         * fbsd-tdep.c: Update.
1596         * gcore.c: Update.
1597         * gnu-nat.c: Update.
1598         * hppa-nbsd-nat.c: Update.
1599         * hppa-obsd-nat.c: Update.
1600         * i386-fbsd-nat.c: Update.
1601         * ia64-linux-nat.c: Update.
1602         * inf-ptrace.c: Update.
1603         * infcmd.c: Update.
1604         * inferior.c: Update.
1605         * inferior.h: Update.
1606         * inflow.c: Update.
1607         * infrun.c: Update.
1608         * linux-fork.c: Update.
1609         * linux-nat.c: Update.
1610         * linux-tdep.c: Update.
1611         * linux-thread-db.c: Update.
1612         * m68k-bsd-nat.c: Update.
1613         * mi/mi-interp.c: Update.
1614         * mi/mi-main.c: Update.
1615         * mips-linux-nat.c: Update.
1616         * mips-nbsd-nat.c: Update.
1617         * mips64-obsd-nat.c: Update.
1618         * nat/aarch64-linux-hw-point.c: Update.
1619         * nat/aarch64-linux.c: Update.
1620         * nat/linux-btrace.c: Update.
1621         * nat/linux-osdata.c: Update.
1622         * nat/linux-procfs.c: Update.
1623         * nat/x86-linux-dregs.c: Update.
1624         * nto-procfs.c: Update.
1625         * obsd-nat.c: Update.
1626         * ppc-linux-nat.c: Update.
1627         * ppc-nbsd-nat.c: Update.
1628         * ppc-obsd-nat.c: Update.
1629         * proc-service.c: Update.
1630         * procfs.c: Update.
1631         * python/py-inferior.c: Update.
1632         * python/py-infthread.c: Update.
1633         * ravenscar-thread.c: Update.
1634         * record.c: Update.
1635         * remote-sim.c: Update.
1636         * remote.c: Update.
1637         * rs6000-nat.c: Update.
1638         * s390-linux-nat.c: Update.
1639         * sh-nbsd-nat.c: Update.
1640         * sol-thread.c: Update.
1641         * sparc-nat.c: Update.
1642         * sparc64-tdep.c: Update.
1643         * spu-linux-nat.c: Update.
1644         * spu-tdep.c: Update.
1645         * target-debug.h: Update.
1646         * target.c: Update.
1647         * thread.c: Update.
1648         * tid-parse.c: Update.
1649         * tracefile-tfile.c: Update.
1650         * vax-bsd-nat.c: Update.
1651         * windows-nat.c: Update.
1652         * x86-linux-nat.c: Update.
1653         * x86-nat.c: Update.
1654
1655 2018-07-03  Tom Tromey  <tom@tromey.com>
1656
1657         * common/ptid.c (pid_to_ptid): Remove.
1658         * common/ptid.h (pid_to_ptid): Don't declare.
1659         * aix-thread.c: Update.
1660         * arm-linux-nat.c: Update.
1661         * common/ptid.c: Update.
1662         * common/ptid.h: Update.
1663         * corelow.c: Update.
1664         * ctf.c: Update.
1665         * darwin-nat.c: Update.
1666         * fbsd-nat.c: Update.
1667         * fork-child.c: Update.
1668         * gnu-nat.c: Update.
1669         * go32-nat.c: Update.
1670         * inf-ptrace.c: Update.
1671         * infcmd.c: Update.
1672         * inferior.c: Update.
1673         * infrun.c: Update.
1674         * linux-fork.c: Update.
1675         * linux-nat.c: Update.
1676         * nat/aarch64-linux-hw-point.c: Update.
1677         * nat/fork-inferior.c: Update.
1678         * nat/x86-linux-dregs.c: Update.
1679         * nto-procfs.c: Update.
1680         * obsd-nat.c: Update.
1681         * procfs.c: Update.
1682         * progspace.c: Update.
1683         * remote.c: Update.
1684         * rs6000-nat.c: Update.
1685         * s390-linux-nat.c: Update.
1686         * sol-thread.c: Update.
1687         * spu-linux-nat.c: Update.
1688         * target.c: Update.
1689         * top.c: Update.
1690         * tracefile-tfile.c: Update.
1691         * windows-nat.c: Update.
1692
1693 2018-07-03  Tom Tromey  <tom@tromey.com>
1694
1695         * common/ptid.h (ptid_build): Don't declare.
1696         * common/ptid.c (ptid_build): Remove.
1697         * aix-thread.c: Update.
1698         * bsd-kvm.c: Update.
1699         * bsd-uthread.c: Update.
1700         * common/agent.c: Update.
1701         * common/ptid.c: Update.
1702         * common/ptid.h: Update.
1703         * corelow.c: Update.
1704         * darwin-nat.c: Update.
1705         * fbsd-nat.c: Update.
1706         * gnu-nat.c: Update.
1707         * linux-fork.c: Update.
1708         * linux-nat.c: Update.
1709         * linux-thread-db.c: Update.
1710         * nat/linux-osdata.c: Update.
1711         * nat/linux-procfs.c: Update.
1712         * nto-procfs.c: Update.
1713         * obsd-nat.c: Update.
1714         * proc-service.c: Update.
1715         * procfs.c: Update.
1716         * ravenscar-thread.c: Update.
1717         * remote-sim.c: Update.
1718         * remote.c: Update.
1719         * sol-thread.c: Update.
1720         * target.c: Update.
1721         * windows-nat.c: Update.
1722
1723 2018-07-03  Tom Tromey  <tom@tromey.com>
1724
1725         * infrun.c (follow_exec): Use exit_inferior_silent.
1726         * inferior.c (exit_inferior_num_silent): Remove.
1727         * inferior.h (exit_inferior_num_silent): Don't declare.
1728
1729 2018-07-03  Tom Tromey  <tom@tromey.com>
1730
1731         PR cli/23340:
1732         * darwin-nat.c (darwin_attach_pid): Reset inferior and
1733         inferior_ptid on error.
1734
1735 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
1736             Simon Marchi  <simon.marchi@polymtl.ca>
1737
1738         PR tdep/8282
1739         * disasm.h (gdb_disassembler): Add
1740         `m_disassembler_options_holder'. member
1741         * disasm.c (get_all_disassembler_options): New function.
1742         (gdb_disassembler::gdb_disassembler): Use it.
1743         (gdb_buffered_insn_length_init_dis): Likewise.
1744         (gdb_buffered_insn_length): Adjust accordingly.
1745         (set_disassembler_options): Handle options with arguments.
1746         (show_disassembler_options_sfunc): Likewise.  Add a leading new
1747         line if showing options with descriptions.
1748         (disassembler_options_completer): Adapt to using the
1749         `disasm_options_and_args_t' structure.
1750         * mips-tdep.c (mips_disassembler_options): New variable.
1751         (mips_disassembler_options_o32): Likewise.
1752         (mips_disassembler_options_n32): Likewise.
1753         (mips_disassembler_options_n64): Likewise.
1754         (gdb_print_insn_mips): Don't set `disassembler_options'.
1755         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
1756         functions.
1757         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
1758         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
1759         `gdbarch_disassembler_options_implicit' and
1760         `gdbarch_valid_disassembler_options'.
1761         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
1762         `disasm_options_and_args_t' structure.
1763         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
1764         method.
1765         (valid_disassembler_options): Switch from `disasm_options_t' to
1766         the `disasm_options_and_args_t' structure.
1767         * NEWS: Document `set disassembler-options' support for the MIPS
1768         target.
1769         * gdbarch.h: Regenerate.
1770         * gdbarch.c: Regenerate.
1771
1772 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1773
1774         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
1775
1776 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
1777
1778         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
1779         parameter in call to amd64_target_description.
1780         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
1781         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
1782         (amd64fbsd_init_abi): Likewise.
1783         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
1784         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
1785         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
1786         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
1787
1788 2018-06-29  Pedro Alves  <palves@redhat.com>
1789
1790         * gdb/amd64-tdep.h (amd64_create_target_description): Add
1791         "segments" parameter.
1792         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
1793         (_initialize_amd64_tdep): Update call to
1794         amd64_create_target_description.
1795         (amd64_target_description): Add "segments" parameter.  Adjust
1796         the implementation to use it.
1797         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
1798         call to amd64_create_target_description.
1799         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
1800         * gdb/arch/amd64.h (amd64_create_target_description): Add
1801         "segments" register.
1802         * gdb/arch/amd64.c (amd64_create_target_description): Add
1803         "segments" parameter.  Call create_feature_i386_64bit_segments
1804         only if SEGMENTS is true.
1805         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
1806         call to amd64_create_target_description.
1807
1808 2018-06-29  Pedro Alves  <palves@redhat.com>
1809
1810         * thread.c (thread_target_id_str): New, factored out from ...
1811         (print_thread_info_1): ... here.  Use it to compute the max
1812         "Target Id" column width.
1813
1814 2018-06-29  Pedro Alves  <palves@redhat.com>
1815
1816         * remote.c (remote_target::extra_thread_info): Delete
1817         'display_buf' and 'n' locals.  from the cache, regardless of
1818         packet mechanims is in use.  Use cache for qThreadExtra and qP
1819         methods too.
1820
1821 2018-06-29  Pedro Alves  <palves@redhat.com>
1822
1823         * blockframe.c (find_pc_sect_containing_function): New function.
1824         * breakpoint.c (print_breakpoint_location): Don't call
1825         find_pc_sect_function.
1826         * linespec.c (create_sals_line_offset): Record the location's
1827         symbol in the sal.
1828         * linespec.c (convert_address_location_to_sals): Fill in sal's
1829         symbol with find_pc_sect_containing_function.
1830         * symtab.c (find_function_start_sal): Rename to ...
1831         (find_function_start_sal_1): ... this.
1832         (find_function_start_sal): Reimplement as wrapper around
1833         find_function_start_sal_1, and use
1834         find_pc_sect_containing_function to fill in the sal's symbol.
1835         (find_function_start_sal(symbol*, bool)): Adjust.
1836         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
1837         comments.
1838         (find_pc_sect_containing_function): Declare.
1839
1840 2018-06-29  Pedro Alves  <palves@redhat.com>
1841
1842         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
1843         true if the the location has no symbol.
1844
1845 2018-06-28  Tom Tromey  <tom@tromey.com>
1846
1847         * NEWS: Mention --enable-codesign.
1848         * silent-rules.mk (ECHO_SIGN): New variable.
1849         * configure.ac: Add --enable-codesign.
1850         * configure: Rebuild.
1851         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
1852         (gdb$(EXEEXT)): Optionally invoke codesign.
1853
1854 2018-06-28  Pedro Alves  <palves@redhat.com>
1855
1856         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
1857         comments.
1858         (switch_to_thread_no_regs): Adjust comment.
1859         * infcmd.c (stop_pc): Delete.
1860         (post_create_inferior, info_program_command): Replace references
1861         to stop_pc with references to thread_info->suspend.stop_pc.
1862         * inferior.h (stop_pc): Delete declaration.
1863         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
1864         (handle_inferior_event_1, handle_signal_stop)
1865         (process_event_stop_test, keep_going_stepped_thread)
1866         (handle_step_into_function, handle_step_into_function_backward)
1867         (print_stop_location): Replace references to stop_pc with
1868         references to thread_info->suspend.stop_pc.
1869         (struct infcall_suspend_state) <stop_pc>: Delete field.
1870         (save_infcall_suspend_state, restore_infcall_suspend_state):
1871         Remove references to inf_stat->stop_pc.
1872         * linux-fork.c (fork_load_infrun_state): Likewise.
1873         * record-btrace.c (record_btrace_set_replay): Likewise.
1874         * record-full.c (record_full_goto_entry): Likewise.
1875         * remote.c (print_one_stopped_thread): Likewise.
1876         * target.c (target_resume): Extend comment.
1877         * thread.c (set_executing_thread): New.
1878         (set_executing): Use it.
1879         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
1880         Remove references to stop_pc.
1881
1882 2018-06-28  Pedro Alves  <palves@redhat.com>
1883
1884         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
1885         Moving fetching stop_pc until after ecs->event_thread is refreshed.
1886
1887 2018-06-28  Tom Tromey  <tom@tromey.com>
1888
1889         * coffread.c (coff_symfile_finish): Update.
1890         * xcoffread.c (xcoff_symfile_finish): Update.
1891         * elfread.c (elf_symfile_finish): Update.
1892         * symfile.h (dwarf2_free_objfile): Don't declare.
1893         * dwarf2read.c (_initialize_dwarf2_read): Use
1894         register_objfile_data_with_cleanup.
1895         (dwarf2_free_objfile): Now static.  Change signature.
1896
1897 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1898
1899         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
1900         option "-o" to add-symbol-file-load to add an offset to each
1901         section's load address.
1902         * symfile.c (set_objfile_default_section_offset): New function.
1903
1904 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1905
1906         * symfile.c (add_symbol_file_command): Make sure that sections
1907         with the same name are sorted in the same order.
1908
1909 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1910
1911         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
1912         require the second argument.  If omitted, load sections at the
1913         addresses specified in the file.
1914
1915 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1916
1917         * symfile.c (symbol_file_command, symbol_file_add_main_1)
1918         (_initialize_symfile): Add option "-o" to symbol-file to add an
1919         offset to each section of the symbol file.
1920
1921 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1922
1923         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
1924
1925 2018-06-27  Tom Tromey  <tom@tromey.com>
1926
1927         * stack.c (_initialize_stack): Update "func" help text.
1928
1929 2018-06-27  Tom Tromey  <tom@tromey.com>
1930
1931         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
1932         std::vector.
1933         (unwind_infopy_str, pyuw_create_unwind_info)
1934         (unwind_infopy_add_saved_register, pyuw_sniffer)
1935         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
1936         Update.
1937         (struct saved_reg): Add constructor.
1938         <value>: Now a gdbpy_ref<>.
1939
1940 2018-06-27  Tom Tromey  <tom@tromey.com>
1941
1942         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
1943
1944 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1945
1946         * gdb-gdb.py.in: Format using autopep8.
1947
1948 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1949
1950         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
1951         (type_lookup_function): Recognize CORE_ADDR values.
1952
1953 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1954
1955         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
1956         print tag_name.
1957
1958 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1959
1960         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
1961         <__lt__>: Add.
1962
1963 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1964
1965         * gdb-gdb.py: Move to...
1966         * gdb-gdb.py.in: ... here.
1967         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
1968         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
1969         dependencies.
1970         (distclean): Remove gdb-gdb.py when cleaning.
1971         (gdb-gdb.py, gdb-gdb.gdb): New rules.
1972         * configure: Re-generate.
1973
1974 2018-06-27  Pedro Alves  <palves@redhat.com>
1975
1976         * proc-service.c (get_ps_regcache): New.
1977         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
1978         (ps_lsetfpregs): Use it.
1979
1980 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
1981
1982         PR gdb/21695
1983         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
1984         (dwarf_decode_lines_1): Adjust.
1985
1986 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1987
1988         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
1989         override.
1990         <info_proc>: Likewise.
1991
1992 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
1993
1994         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
1995         to windows_fetch_one_register, and only handle the case of
1996         fetching one register.  Move the code that reloads the context
1997         and iterates over all registers if R is negative to...
1998         (windows_nat_target::fetch_registers): ... here.
1999         (do_windows_store_inferior_registers): Rename to
2000         windows_store_one_register, and only handle the case of storing
2001         one register.  Move the code that handles the case where r is
2002         negative to...
2003         (windows_nat_target::store_registers) ... here.
2004
2005 2018-06-26  Tom Tromey  <tom@tromey.com>
2006
2007         PR rust/22574:
2008         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
2009         * rust-lang.c (rust_print_struct_def): Add podata parameter.
2010         Update.
2011         (rust_internal_print_type): Add podata parameter.
2012         (rust_print_type): Update.
2013
2014 2018-06-26  Tom Tromey  <tom@tromey.com>
2015
2016         * typeprint.h (struct print_offset_data) <update, finish,
2017         maybe_print_hole>: New methods.
2018         <indentation>: New constant.
2019         * typeprint.c (print_offset_data::indentation): Define.
2020         (print_offset_data::maybe_print_hole, print_offset_data::update)
2021         (print_offset_data::finish): Move from c-typeprint.c and rename.
2022         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
2023         (print_spaces_filtered_with_print_options): Update.
2024         (c_print_type_union_field_offset, maybe_print_hole)
2025         (c_print_type_struct_field_offset): Move to typeprint.c and
2026         rename.
2027         (c_type_print_base_struct_union): Update.
2028
2029 2018-06-25  Pedro Alves  <palves@redhat.com>
2030
2031         * gdbthread.h (thread_info_ref, delete_thread)
2032         (delete_thread_silent, first_thread_of_inferior)
2033         (any_thread_of_inferior, switch_to_thread)
2034         (enable_thread_stack_temporaries)
2035         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2036         (get_last_thread_stack_temporary)
2037         (value_in_thread_stack_temporaries, can_access_registers_thread):
2038         Spell out "struct thread_info" instead of just "thread_info".
2039         * inferior.h (notice_new_inferior): Likewise.
2040
2041 2018-06-25  Pedro Alves  <palves@redhat.com>
2042
2043         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2044         pass thread_info pointer to delete_thread.
2045         (windows_nat_target::detach): Pass inferior pointer to
2046         detach_inferior.
2047         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2048         delete_thread.
2049         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2050         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2051         and pass a thread_info pointer to delete_thread.
2052         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2053         pass thread_info pointer to delete_thread.
2054         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2055         delete_thread_silent call.
2056         * procfs.c (procfs_target::detach): Pass inferior pointer to
2057         detach_inferior.
2058         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2059         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2060         delete_thread_silent call.
2061         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2062         pass thread_info pointer to delete_thread.
2063         (windows_nat_target::detach): Pass inferior pointer to
2064         delete_inferior.
2065
2066 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2067
2068         * regcache.c (readable_regcache::read_part): Fix asserts.
2069         (reg_buffer::raw_collect_part): New function.
2070         (regcache::write_part): Fix asserts.
2071         (reg_buffer::raw_supply_part): New function.
2072         (regcache::transfer_regset_register): New helper function.
2073         (regcache::transfer_regset): Call new functions.
2074         (regcache_supply_regset): Use gdb_byte*.
2075         (regcache::supply_regset): Likewise.
2076         (regcache_collect_regset): Likewise.
2077         (regcache::collect_regset): Likewise.
2078         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2079         (reg_buffer::raw_supply_part): Likewise.
2080         (regcache::transfer_regset_register): Likewise.
2081         (regcache::transfer_regset): Use gdb_byte*.
2082
2083 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2084
2085         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2086
2087 2018-06-21  Pedro Alves  <palves@redhat.com>
2088
2089         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2090         instead of a ptid_t.  All callers adjusted.
2091         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2092         adjusted.
2093         (print_ada_task_info, display_current_task_id, task_command_1):
2094         Adjust.
2095         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2096         inferior_thread.
2097         (breakpoint_kind): Adjust.
2098         (remove_breakpoints_pid): Rename to ...
2099         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2100         pointer.  All callers adjusted.
2101         (bpstat_clear_actions): Use inferior_thread.
2102         (get_bpstat_thread): New.
2103         (bpstat_do_actions): Use it.
2104         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2105         to take a thread_info pointer.  All callers adjusted.
2106         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2107         (breakpoint_re_set_thread): Use inferior_thread.
2108         * breakpoint.h (struct inferior): Forward declare.
2109         (bpstat_stop_status): Update.
2110         (remove_breakpoints_pid): Delete.
2111         (remove_breakpoints_inf): New.
2112         * bsd-uthread.c (bsd_uthread_target::wait)
2113         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2114         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2115         (maint_btrace_packet_history_cmd)
2116         (maint_btrace_clear_packet_history_cmd): Adjust.
2117         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2118         inferior_thread.
2119         * cli/cli-interp.c: Include "inferior.h".
2120         * common/refcounted-object.h (struct
2121         refcounted_object_ref_policy): New.
2122         * compile/compile-object-load.c: Include gdbthread.h.
2123         (store_regs): Use inferior_thread.
2124         * corelow.c (core_target::close): Use current_inferior.
2125         (core_target_open): Adjust to use first_thread_of_inferior and use
2126         the current inferior.
2127         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2128         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2129         <thread>: ... this new field.  All references adjusted.
2130         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2131         Take a thread_info pointer instead of a ptid_t.
2132         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2133         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2134         thread_info pointer instead of a ptid_t.
2135         * elfread.c: Include "inferior.h".
2136         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2137         Use inferior_thread.
2138         * eval.c (evaluate_subexp): Likewise.
2139         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2140         inferior_thread.
2141         * gdb_proc_service.h (struct thread_info): Forward declare.
2142         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2143         <thread>: ... this new field.  All references adjusted.
2144         * gdbarch.h, gdbarch.c: Regenerate.
2145         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2146         'thread' parameter.  All implementations and callers adjusted.
2147         * gdbthread.h (thread_info) <set_running>: New method.
2148         (delete_thread, delete_thread_silent): Take a thread_info pointer
2149         instead of a ptid.
2150         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2151         (first_thread_of_process): Delete, replaced by ...
2152         (first_thread_of_inferior): ... this new function.  All callers
2153         adjusted.
2154         (any_live_thread_of_process): Delete, replaced by ...
2155         (any_live_thread_of_inferior): ... this new function.  All callers
2156         adjusted.
2157         (switch_to_thread, switch_to_no_thread): Declare.
2158         (is_executing): Delete.
2159         (enable_thread_stack_temporaries): Update comment.
2160         <enable_thread_stack_temporaries>: Take a thread_info pointer
2161         instead of a ptid_t.  Incref the thread.
2162         <~enable_thread_stack_temporaries>: Decref the thread.
2163         <m_ptid>: Delete
2164         <m_thr>: New.
2165         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2166         (get_last_thread_stack_temporary)
2167         (value_in_thread_stack_temporaries, can_access_registers_thread):
2168         Take a thread_info pointer instead of a ptid_t.  All callers
2169         adjusted.
2170         * infcall.c (get_call_return_value): Use inferior_thread.
2171         (run_inferior_call): Work with thread pointers instead of ptid_t.
2172         (call_function_by_hand_dummy): Work with thread pointers instead
2173         of ptid_t.  Use thread_info_ref.
2174         * infcmd.c (proceed_thread_callback): Access thread's state
2175         directly.
2176         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2177         access thread's state directly.
2178         (continue_command): Use inferior_thread.
2179         (info_program_command): Use find_thread_ptid and access thread
2180         state directly.
2181         (proceed_after_attach_callback): Use thread state directly.
2182         (notice_new_inferior): Take a thread_info pointer instead of a
2183         ptid_t.  All callers adjusted.
2184         (exit_inferior): Take an inferior pointer instead of a pid.  All
2185         callers adjusted.
2186         (exit_inferior_silent): New.
2187         (detach_inferior): Delete.
2188         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2189         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2190         (detach_inferior_command, kill_inferior_command): Use
2191         find_inferior_id instead of valid_gdb_inferior_id and
2192         gdb_inferior_id_to_pid.
2193         (inferior_command): Use inferior and thread pointers.
2194         * inferior.h (struct thread_info): Forward declare.
2195         (notice_new_inferior): Take a thread_info pointer instead of a
2196         ptid_t.  All callers adjusted.
2197         (detach_inferior): Delete declaration.
2198         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2199         instead of a pid.  All callers adjusted.
2200         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2201         (valid_gdb_inferior_id): Delete.
2202         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2203         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2204         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2205         ...
2206         <inf>: ... this new field.
2207         <step_ptid>: Delete, replaced by ...
2208         <step_thread>: ... this new field.
2209         (get_displaced_stepping_state): Take an inferior pointer instead
2210         of a pid.  All callers adjusted.
2211         (displaced_step_in_progress_any_inferior): Adjust.
2212         (displaced_step_in_progress_thread): Take a thread pointer instead
2213         of a ptid_t.  All callers adjusted.
2214         (displaced_step_in_progress, add_displaced_stepping_state): Take
2215         an inferior pointer instead of a pid.  All callers adjusted.
2216         (get_displaced_step_closure_by_addr): Adjust.
2217         (remove_displaced_stepping_state): Take an inferior pointer
2218         instead of a pid.  All callers adjusted.
2219         (displaced_step_prepare_throw, displaced_step_prepare)
2220         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2221         All callers adjusted.
2222         (start_step_over): Adjust.
2223         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2224         displaced step queue.
2225         (do_target_resume): Adjust.
2226         (fetch_inferior_event): Use inferior_thread.
2227         (context_switch, get_inferior_stop_soon): Take an
2228         execution_control_state pointer instead of a ptid_t.  All callers
2229         adjusted.
2230         (switch_to_thread_cleanup): Delete.
2231         (stop_all_threads): Use scoped_restore_current_thread.
2232         * inline-frame.c: Include "gdbthread.h".
2233         (inline_state) <inline_state>: Take a thread pointer instead of a
2234         ptid_t.  All callers adjusted.
2235         <ptid>: Delete, replaced by ...
2236         <thread>: ... this new field.
2237         (find_inline_frame_state): Take a thread pointer instead of a
2238         ptid_t.  All callers adjusted.
2239         (skip_inline_frames, step_into_inline_frame)
2240         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2241         pointer instead of a ptid_t.  All callers adjusted.
2242         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2243         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2244         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2245         pointers directly.
2246         * linux-nat.c (get_detach_signal): Likewise.
2247         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2248         (thread_db_notice_clone): Adjust.
2249         (thread_db_find_new_threads_silently)
2250         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2251         a thread pointer instead of a ptid_t.  All callers adjusted.
2252         * mi/mi-cmd-var.c: Include "inferior.h".
2253         (mi_cmd_var_update_iter): Update to use thread pointers.
2254         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2255         inferior directly.
2256         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2257         out to ...
2258         (mi_output_running): ... this new function.
2259         (mi_on_resume_1): Adjust to use it.
2260         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2261         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2262         directly.
2263         (interrupt_thread_callback): : Adjust to use thread and inferior
2264         pointers.
2265         * proc-service.c: Include "gdbthread.h".
2266         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2267         * progspace-and-thread.c: Include "inferior.h".
2268         * progspace.c: Include "inferior.h".
2269         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2270         hold a reference to an inferior_object.
2271         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2272         inferior_thread.
2273         * python/py-inferior.c (struct inferior_object): Give the type a
2274         tag name instead of a typedef.
2275         (python_on_normal_stop): No need to check if the current thread is
2276         listed.
2277         (inferior_to_inferior_object): Change return type to
2278         inferior_object.  All callers adjusted.
2279         (find_thread_object): Delete, bits factored out to ...
2280         (thread_to_thread_object): ... this new function.
2281         * python/py-infthread.c (create_thread_object): Use
2282         inferior_to_inferior_object.
2283         (thpy_is_stopped): Use thread pointer directly.
2284         (gdbpy_selected_thread): Use inferior_thread.
2285         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2286         field, replaced with ...
2287         <thread>: ... this new field.  All users adjusted.
2288         (btpy_insn_or_gap_new): Drop const.
2289         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2290         callers adjusted.
2291         * python/py-record.c: Include "gdbthread.h".
2292         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2293         a ptid_t.  All callers adjusted.
2294         (gdbpy_current_recording): Use inferior_thread.
2295         * python/py-record.h (recpy_record_object) <ptid>: Delete
2296         field, replaced with ...
2297         <thread>: ... this new field.  All users adjusted.
2298         (recpy_element_object) <ptid>: Delete
2299         field, replaced with ...
2300         <thread>: ... this new field.  All users adjusted.
2301         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2302         a ptid_t.  All callers adjusted.
2303         * python/py-threadevent.c: Include "gdbthread.h".
2304         (get_event_thread): Use thread_to_thread_object.
2305         * python/python-internal.h (struct inferior_object): Forward
2306         declare.
2307         (find_thread_object, find_inferior_object): Delete declarations.
2308         (thread_to_thread_object, inferior_to_inferior_object): New
2309         declarations.
2310         * record-btrace.c: Include "inferior.h".
2311         (require_btrace_thread): Use inferior_thread.
2312         (record_btrace_frame_sniffer)
2313         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2314         (get_thread_current_frame): Use scoped_restore_current_thread and
2315         switch_to_thread.
2316         (get_thread_current_frame): Use thread pointer directly.
2317         (record_btrace_replay_at_breakpoint): Use thread's inferior
2318         pointer directly.
2319         * record-full.c: Include "inferior.h".
2320         * regcache.c: Include "gdbthread.h".
2321         (get_thread_arch_regcache): Use the inferior's address space
2322         directly.
2323         (get_thread_regcache, registers_changed_thread): New.
2324         * regcache.h (get_thread_regcache(thread_info *thread)): New
2325         overload.
2326         (registers_changed_thread): New.
2327         (remote_target) <remote_detach_1>: Swap order of parameters.
2328         (remote_add_thread): <remote_add_thread>: Return the new thread.
2329         (get_remote_thread_info(ptid_t)): New overload.
2330         (remote_target::remote_notice_new_inferior): Use thread pointers
2331         directly.
2332         (remote_target::process_initial_stop_replies): Use
2333         thread_info::set_running.
2334         (remote_target::remote_detach_1, remote_target::detach)
2335         (extended_remote_target::detach): Adjust.
2336         * stack.c (frame_show_address): Use inferior_thread.
2337         * target-debug.h (target_debug_print_thread_info_pp): New.
2338         * target-delegates.c: Regenerate.
2339         * target.c (default_thread_address_space): Delete.
2340         (memory_xfer_partial_1): Use current_inferior.
2341         (target_detach): Use current_inferior.
2342         (target_thread_address_space): Delete.
2343         (generic_mourn_inferior): Use current_inferior.
2344         * target.h (struct target_ops) <thread_address_space>: Delete.
2345         (target_thread_address_space): Delete.
2346         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2347         pointers directly.
2348         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2349         thread pointer instead of a ptid_t.  Adjust all callers.
2350         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2351         (first_thread_of_process): Delete, replaced by ...
2352         (first_thread_of_inferior): ... this new function.  All callers
2353         adjusted.
2354         (any_thread_of_process): Rename to ...
2355         (any_thread_of_inferior): ... this, and take an inferior pointer.
2356         (any_live_thread_of_process): Rename to ...
2357         (any_live_thread_of_inferior): ... this, and take an inferior
2358         pointer.
2359         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2360         (value_in_thread_stack_temporaries)
2361         (get_last_thread_stack_temporary): Take a thread pointer instead
2362         of a ptid_t.  Adjust all callers.
2363         (thread_info::set_running): New.
2364         (validate_registers_access): Use inferior_thread.
2365         (can_access_registers_ptid): Rename to ...
2366         (can_access_registers_thread): ... this, and take a thread
2367         pointer.
2368         (print_thread_info_1): Adjust to compare thread pointers instead
2369         of ptids.
2370         (switch_to_no_thread, switch_to_thread): Make extern.
2371         (scoped_restore_current_thread::~scoped_restore_current_thread):
2372         Use m_thread pointer directly.
2373         (scoped_restore_current_thread::scoped_restore_current_thread):
2374         Use inferior_thread.
2375         (thread_command): Use thread pointer directly.
2376         (thread_num_make_value_helper): Use inferior_thread.
2377         * top.c (execute_command): Use inferior_thread.
2378         * tui/tui-interp.c: Include "inferior.h".
2379         * varobj.c (varobj_create): Use inferior_thread.
2380         (value_of_root_1): Use find_thread_global_id instead of
2381         global_thread_id_to_ptid.
2382
2383 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2384
2385         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2386         possible.
2387         (regcache::write_part): Likewise.
2388         (readable_regcache::cooked_read_part): Update comment.
2389         (readable_regcache::cooked_write_part): Likewise.
2390         * regcache.h: (readable_regcache::read_part): Likewise.
2391         (regcache::write_part): Likewise.
2392
2393 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2394             Dirk Schubert  <dirk.schubert@arm.com>
2395
2396         * aarch64-linux-nat.c (post_attach): New.
2397         (aarch64_linux_nat_target::post_attach): Override post_attach to
2398         record the number of hardware debug registers.
2399
2400 2018-06-20  Tom Tromey  <tom@tromey.com>
2401
2402         * python/py-param.c (add_setshow_generic): Make parameters const.
2403         (parmpy_init): Update.
2404
2405 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2406
2407         * regcache.h (regcache_cooked_read_ftype): Rename to...
2408         (register_read_ftype): ...this, change type to function_view.
2409         (class reg_buffer) <save>: Remove src parameter.
2410         (readonly_detached_regcache) <readonly_detached_regcache>: Make
2411         parameter non-const in first overload.  Remove src parameter in
2412         second overload.
2413         * regcache.c (do_cooked_read): Remove.
2414         (readonly_detached_regcache::readonly_detached_regcache): Make
2415         parameter non-const, adjust call to other constructor.
2416         (reg_buffer::save): Remove src parameter.
2417         * frame.c (do_frame_register_read): Remove.
2418         (frame_save_as_regcache): Use lambda function.
2419         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
2420         parameter to ppu2spu_data *.
2421         (ppu2spu_sniffer): Use lambda function.
2422
2423 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2424
2425         * record-full.c (record_full_target::insert_breakpoint): Remove
2426         "struct" keyword, add const.
2427
2428 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
2429
2430         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
2431         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
2432         * configure.ac: Remove AC_PREREQ, add missing quoting.
2433         * gnulib/configure.ac: Modernize usage of
2434         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
2435         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
2436         (AUTOMAKE_VERSION): Bump to 1.15.1.
2437         * configure: Re-generate.
2438         * config.in: Re-generate.
2439         * aclocal.m4: Re-generate.
2440         * gnulib/aclocal.m4: Re-generate.
2441         * gnulib/config.in: Re-generate.
2442         * gnulib/configure: Re-generate.
2443         * gnulib/import/Makefile.in: Re-generate.
2444
2445 2018-06-19  Pedro Alves  <palves@redhat.com>
2446
2447         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
2448         (lookup_minimal_symbol_by_pc_section): ... here with
2449         gdb_assert_not_reached added.
2450
2451 2018-06-19  Pedro Alves  <palves@redhat.com>
2452
2453         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
2454         parameter with a block parameter.  Compare location's block symbol
2455         with the frame's block instead of addresses.
2456         (skip_inline_frames): Pass the current block instead of the
2457         frame's address.  Break out as soon as we determine the frame
2458         should not be skipped.
2459
2460 2018-06-18  Tom Tromey  <tom@tromey.com>
2461
2462         * solib-aix.c (solib_aix_get_section_offsets): Return
2463         unique_xmalloc_ptr.
2464         (solib_aix_solib_create_inferior_hook): Update.
2465
2466 2018-06-18  Tom Tromey  <tom@tromey.com>
2467
2468         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
2469
2470 2018-06-18  Tom Tromey  <tom@tromey.com>
2471
2472         * solib-frv.c (frv_relocate_main_executable): Use
2473         unique_xmalloc_ptr.
2474         * solib-dsbt.c (dsbt_relocate_main_executable): Use
2475         unique_xmalloc_ptr.
2476
2477 2018-06-18  Tom Tromey  <tom@tromey.com>
2478
2479         * objfiles.h (inhibit_section_map_updates): Update.
2480         (resume_section_map_updates, resume_section_map_updates_cleanup):
2481         Remove.
2482         * solib-svr4.c (svr4_handle_solib_event): Update.
2483         * objfiles.c (inhibit_section_map_updates): Return
2484         scoped_restore_tmpl<int>.
2485         (resume_section_map_updates, resume_section_map_updates_cleanup):
2486         Remove.
2487
2488 2018-06-18  Tom Tromey  <tom@tromey.com>
2489
2490         * valprint.h (read_string): Update.
2491         * valprint.c (read_string): Change type of "buffer".
2492         (val_print_string): Update.
2493         * python/py-value.c (valpy_string): Update.
2494         * language.h (struct language_defn) <la_get_string>: Change
2495         type of "buffer".
2496         (default_get_string, c_get_string): Update.
2497         * language.c (default_get_string): Change type of "buffer".
2498         * guile/scm-value.c (gdbscm_value_to_string): Update.
2499         * c-lang.c (c_get_string): Change type of "buffer".
2500
2501 2018-06-18  Tom Tromey  <tom@tromey.com>
2502
2503         * ser-mingw.c (struct pipe_state_destroyer): New.
2504         (pipe_state_up): New typedef.
2505         (cleanup_pipe_state): Remove.
2506         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
2507
2508 2018-06-18  Tom Tromey  <tom@tromey.com>
2509
2510         * rust-lang.h (rust_yyerror): Don't declare.
2511         * rust-lang.c (rust_language_defn): Update.
2512         * rust-exp.y (yyerror): Now static.
2513         * parse.c (parse_exp_in_context_1): Update.
2514         * p-lang.h (p_yyerror): Don't declare.
2515         * p-lang.c (p_language_defn): Update.
2516         * p-exp.y (yyerror): Now static.
2517         * opencl-lang.c (opencl_language_defn): Update.
2518         * objc-lang.c (objc_language_defn): Update.
2519         * m2-lang.h (m2_yyerror): Don't declare.
2520         * m2-lang.c (m2_language_defn): Update.
2521         * m2-exp.y (yyerror): Now static.
2522         * language.h (struct language_defn) <la_error>: Remove.
2523         * language.c (unk_lang_error): Remove.
2524         (unknown_language_defn, auto_language_defn): Remove.
2525         * go-lang.h (go_yyerror): Don't declare.
2526         * go-lang.c (go_language_defn): Update.
2527         * go-exp.y (yyerror): Now static.
2528         * f-lang.h (f_yyerror): Don't declare.
2529         * f-lang.c (f_language_defn): Update.
2530         * f-exp.y (yyerror): Now static.
2531         * d-lang.h (d_yyerror): Don't declare.
2532         * d-lang.c (d_language_defn): Update.
2533         * d-exp.y (yyerror): Now static.
2534         * c-lang.h (c_yyerror): Don't declare.
2535         * c-lang.c (c_language_defn, cplus_language_defn)
2536         (asm_language_defn, minimal_language_defn): Update.
2537         * c-exp.y (yyerror): Now static.
2538         * ada-lang.h (ada_yyerror): Don't declare.
2539         * ada-lang.c (ada_language_defn): Update.
2540         * ada-exp.y (yyerror): Now static.
2541
2542 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2543
2544         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
2545         (store_sveregs_to_thread): Likewise.
2546         (aarch64_linux_fetch_inferior_registers): Check for SVE.
2547         (aarch64_linux_store_inferior_registers): Likewise.
2548         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
2549         function.
2550         (aarch64_sve_regs_copy_to_regcache): Likewise.
2551         (aarch64_sve_regs_copy_from_regcache): Likewise.
2552         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
2553         declaration.
2554         (aarch64_sve_regs_copy_to_regcache): Likewise.
2555         (aarch64_sve_regs_copy_from_regcache): Likewise.
2556         (sve_context): Structure from Linux headers.
2557         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
2558         (SVE_SIG_ZREG_SIZE): Likewise.
2559         (SVE_SIG_PREG_SIZE): Likewise.
2560         (SVE_SIG_FFR_SIZE): Likewise.
2561         (SVE_SIG_REGS_OFFSET): Likewise.
2562         (SVE_SIG_ZREGS_OFFSET): Likewise.
2563         (SVE_SIG_ZREG_OFFSET): Likewise.
2564         (SVE_SIG_ZREGS_SIZE): Likewise.
2565         (SVE_SIG_PREGS_OFFSET): Likewise.
2566         (SVE_SIG_PREG_OFFSET): Likewise.
2567         (SVE_SIG_PREGS_SIZE): Likewise.
2568         (SVE_SIG_FFR_OFFSET): Likewise.
2569         (SVE_SIG_REGS_SIZE): Likewise.
2570         (SVE_SIG_CONTEXT_SIZE): Likewise.
2571         (SVE_PT_REGS_MASK): Likewise.
2572         (SVE_PT_REGS_FPSIMD): Likewise.
2573         (SVE_PT_REGS_SVE): Likewise.
2574         (SVE_PT_VL_INHERIT): Likewise.
2575         (SVE_PT_VL_ONEXEC): Likewise.
2576         (SVE_PT_REGS_OFFSET): Likewise.
2577         (SVE_PT_FPSIMD_OFFSET): Likewise.
2578         (SVE_PT_FPSIMD_SIZE): Likewise.
2579         (SVE_PT_SVE_ZREG_SIZE): Likewise.
2580         (SVE_PT_SVE_PREG_SIZE): Likewise.
2581         (SVE_PT_SVE_FFR_SIZE): Likewise.
2582         (SVE_PT_SVE_FPSR_SIZE): Likewise.
2583         (SVE_PT_SVE_FPCR_SIZE): Likewise.
2584         (__SVE_SIG_TO_PT): Likewise.
2585         (SVE_PT_SVE_OFFSET): Likewise.
2586         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
2587         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
2588         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
2589         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
2590         (SVE_PT_SVE_PREG_OFFSET): Likewise.
2591         (SVE_PT_SVE_PREGS_SIZE): Likewise.
2592         (SVE_PT_SVE_FFR_OFFSET): Likewise.
2593         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
2594         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
2595         (SVE_PT_SVE_SIZE): Likewise.
2596         (SVE_PT_SIZE): Likewise.
2597         (HAS_SVE_STATE): New define.
2598
2599 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2600
2601         * nat/aarch64-sve-linux-sigcontext.h: New file.
2602         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
2603         new files.
2604         (SVE_VQ_MIN): Likewise.
2605         (SVE_VQ_MAX): Likewise.
2606         (SVE_VL_MIN): Likewise.
2607         (SVE_VL_MAX): Likewise.
2608         (SVE_NUM_ZREGS): Likewise.
2609         (SVE_NUM_PREGS): Likewise.
2610         (sve_vl_valid): Likewise.
2611         (struct user_sve_header): Likewise.
2612
2613 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
2614             Richard Bunt <Richard.Bunt@arm.com>
2615
2616         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
2617         was requested by GDB.
2618
2619 2018-06-15  Tom de Vries  <tdevries@suse.de>
2620
2621         * MAINTAINERS (Write After Approval): Add Tom de Vries.
2622
2623 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
2624
2625         * gnulib/update-gnulib.sh: Print expected versions of
2626         autoconf/aclocal.
2627
2628 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
2629
2630         * arch-utils.c (default_type_align): Use type_length_units.
2631         * gdbtypes.c (type_align): Use type_length_units.
2632
2633 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2634
2635         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
2636         of 'define' command.
2637
2638 2018-06-14  Tom de Vries  <tdevries@suse.de>
2639
2640         PR cli/22573
2641         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
2642         get_no_prettyformat_print_options.
2643
2644 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
2645
2646         * sparc-nat.h: Include target.h.
2647         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
2648         <fetch_registers>: Remove this argument in function call.
2649         <store_registers>: Remove this argument in function call, remove
2650         extra semicolon.
2651         <low_forget_process>: Call sparc64_forget_process instead of
2652         sparc_forget_process.
2653
2654 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2655
2656         * procfs.c (_initialize_procfs): Use add_inf_child_target.
2657         (procfs_target::make_corefile_notes): Adjust to new
2658         target_read_alloc return type.
2659
2660 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2661             Stephen Roberts  <stephen.roberts@arm.com>
2662
2663         PR gdb/22882
2664         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
2665         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
2666         Move should_notify_stop local into more inner scope.
2667
2668 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2669             Stephen Roberts  <stephen.roberts@arm.com>
2670
2671         PR gdb/22882
2672         * infrun.c (resume_1): Add call to mark_async_event_handler.
2673
2674 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2675
2676         * infrun.c (do_target_wait): Change old version of $pc printed.
2677
2678 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
2679
2680         * dwarf2read.c (read_index_from_section): Rename to...
2681         (read_gdb_index_from_section): ... this, update all callers.
2682         (dwarf2_read_index): Rename to...
2683         (dwarf2_read_gdb_index): ... this, update all callers.
2684
2685 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
2686
2687         * gdb/hppa-linux-nat.c
2688         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
2689         hppa_linux_nat_target::fetch_registers.
2690
2691 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2692
2693         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
2694         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
2695         (AARCH64_DWARF_SVE_FFR): Likewise.
2696         (AARCH64_DWARF_SVE_P0): Likewise.
2697         (AARCH64_DWARF_SVE_Z0): Likewise.
2698
2699 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2700
2701         * common/common-regcache.h (raw_compare): New function.
2702         * regcache.c (regcache::raw_compare): Likewise.
2703         * regcache.h (regcache::raw_compare): New declaration.
2704
2705 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2706
2707         * common/common-regcache.h (reg_buffer_common): New structure.
2708         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
2709         (reg_buffer::raw_supply): Likewise.
2710         (reg_buffer::raw_supply_integer): Likewise.
2711         (reg_buffer::raw_supply_zeroed): Likewise.
2712         (reg_buffer::raw_collect): Likewise.
2713         (reg_buffer::raw_collect_integer): Likewise.
2714         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
2715         (reg_buffer::raw_supply): Likewise.
2716         (reg_buffer::raw_supply_integer): Likewise.
2717         (reg_buffer::raw_supply_zeroed): Likewise.
2718         (reg_buffer::raw_collect): Likewise.
2719         (reg_buffer::raw_collect_integer): Likewise.
2720
2721 2018-06-10  Tom Tromey  <tom@tromey.com>
2722
2723         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
2724         (class remote_state) <stop_reply_queue>: Now std::vector.
2725         (remote_state::~remote_state)
2726         (remote_target::stop_reply_queue_length): Update.
2727         (struct queue_iter_param, remove_child_of_pending_fork)
2728         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
2729         (check_pending_event_prevents_wildcard_vcont_callback)
2730         (remove_stop_reply_for_inferior)
2731         (remove_stop_reply_of_remote_state)
2732         (remote_notif_remove_once_on_match)
2733         (stop_reply_match_ptid_and_ws)
2734         (remote_kill_child_of_pending_fork): Remove.
2735         (remote_target::remove_new_fork_children)
2736         (remote_target::check_pending_events_prevent_wildcard_vcont)
2737         (remote_target::discard_pending_stop_replies)
2738         (remote_target::discard_pending_stop_replies_in_queue)
2739         (remote_target::remote_notif_remove_queued_reply)
2740         (remote_target::queued_stop_reply)
2741         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
2742         (remote_target::wait, remote_target::kill_new_fork_children)
2743         (remote_target::async): Update.
2744
2745 2018-06-10  Tom Tromey  <tom@tromey.com>
2746
2747         * record-full.c (record_full_arch_list_cleanups): Remove.
2748         (record_full_message): Use try/catch.
2749         (record_full_wait_cleanups): Remove.
2750         (record_full_wait_1): Use try/catch.
2751         (record_full_restore): Likewise.
2752
2753 2018-06-10  Tom Tromey  <tom@tromey.com>
2754
2755         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
2756         declare VEC.  Add constructor.
2757         <in_target_beneath>: Now bool.
2758         (record_full_breakpoints): Now a std::vector, static.
2759         (record_full_sync_record_breakpoints)
2760         (record_full_init_record_breakpoints)
2761         (record_full_target::insert_breakpoint)
2762         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
2763
2764 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
2765
2766         * dwarf2read.c (process_cu_includes): Remove struct keyword.
2767         * serial.c (serial_interface_lookup): Remove struct keyword.
2768
2769 2018-06-10  Tom Tromey  <tom@tromey.com>
2770
2771         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
2772         method.
2773         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
2774         a method.
2775         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
2776         method.
2777         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
2778         "beneath" as a method.
2779         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
2780         Use "beneath" as a method.
2781
2782 2018-06-10  Tom Tromey  <tom@tromey.com>
2783
2784         * tracefile.c (struct trace_file_writer_deleter): New.
2785         <operator()>: Rename from trace_file_writer_xfree.
2786         (trace_file_writer_up): New typedef.
2787         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
2788
2789 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2790
2791         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
2792         <m_registers, m_register_status>: Change type to
2793         std::unique_ptr.
2794         * regcache.c (reg_buffer::reg_buffer): Use new instead of
2795         XCNEWVEC.
2796
2797 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2798
2799         * common/common-regcache.h (enum register_status): Add
2800         underlying type "signed char".
2801         * regcache.h (reg_buffer) <m_register_status>: Change type to
2802         register_status *.
2803         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
2804         register_status instead of signed char.
2805         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
2806         (reg_buffer::get_register_status): Remove cast.
2807         (readable_regcache::raw_read): Remove cast.
2808         (readable_regcache::cooked_read): Remove cast.
2809
2810 2018-06-09  Tom Tromey  <tom@tromey.com>
2811
2812         * source.c (reverse_search_command, forward_search_command): Use
2813         scoped_fd.
2814
2815 2018-06-09  Tom Tromey  <tom@tromey.com>
2816
2817         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
2818         (serial_ops_list): Now static, std::vector.
2819         (serial_interface_lookup, serial_add_interface): Update.
2820
2821 2018-06-09  Tom Tromey  <tom@tromey.com>
2822
2823         * dwarf2read.c (process_cu_includes): Update.
2824         (process_full_comp_unit): Update.
2825         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
2826         std::vector.
2827
2828 2018-06-08  Paul Koning  <paul_koning@dell.com>
2829
2830         PR gdb/23252
2831
2832         * python/python.c (do_start_initialization):
2833         Avoid call to internal Python API.
2834         (init__gdb_module): New function.
2835
2836 2018-06-08  Gary Benson <gbenson@redhat.com>
2837
2838         * linux-thread-db.c (valprint.h): New include.
2839         (struct check_thread_db_info): New structure.
2840         (check_thread_db_on_load, tdb_testinfo): New static globals.
2841         (check_thread_db, check_thread_db_callback): New functions.
2842         (try_thread_db_load_1): Run integrity checks if requested.
2843         (maintenance_check_libthread_db): New function.
2844         (_initialize_thread_db): Register "maint check libthread-db"
2845         and "maint set/show check-libthread-db".
2846         * NEWS: Mention the above new commands.
2847
2848 2018-06-08  Tom Tromey  <tom@tromey.com>
2849
2850         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
2851         now a method.
2852
2853 2018-06-08  Tom Tromey  <tom@tromey.com>
2854
2855         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
2856
2857 2018-06-08  Tom Tromey  <tom@tromey.com>
2858
2859         * common/btrace-common.h (struct btrace_data): Add constructor,
2860         destructor, move assignment operator.
2861         <empty, clear, fini>: New methods.
2862         <format>: Initialize.
2863         (btrace_data_init, btrace_data_fini, btrace_data_clear)
2864         (btrace_data_empty): Don't declare.
2865         * common/btrace-common.c (btrace_data_init): Remove.
2866         (btrace_data::fini): Rename from btrace_data_fini.
2867         (btrace_data::empty): Rename from btrace_data_empty.
2868         (btrace_data::clear): Rename from btrace_data_clear.  Return
2869         bool.
2870         * btrace.h (make_cleanup_btrace_data): Don't declare.
2871         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
2872         (parse_xml_btrace): Update.
2873         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
2874         (maint_btrace_clear_packet_history_cmd): Update.
2875
2876 2018-06-07  Pedro Alves  <palves@redhat.com>
2877
2878         * target.h (target_ops) <beneath>: Now a method.  All references
2879         updated.
2880         (class target_stack): New.
2881         * target.c (g_target_stack): New.
2882         (g_current_top_target): Delete.
2883         (current_top_target): Get the top target out of g_target_stack.
2884         (target_stack::push, target_stack::unpush): New.
2885         (push_target, unpush_target): Reimplement.
2886         (target_is_pushed): Reimplement in terms of g_target_stack.
2887         (target_ops::beneath, target_stack::find_beneath): New.
2888
2889 2018-06-07  Pedro Alves  <palves@redhat.com>
2890
2891         * target.h (find_target_beneath): Delete declaration.
2892         * target.c (find_target_beneath): Delete definition.
2893         * aix-thread.c: All callers of find_target_beneath adjusted to
2894         call target_ops::beneath instead.
2895         * bsd-uthread.c: Likewise.
2896         * linux-thread-db.c: Likewise.
2897         * ravenscar-thread.c: Likewise.
2898         * sol-thread.c: Likewise.
2899         * spu-multiarch.c: Likewise.
2900
2901 2018-06-07  Pedro Alves  <palves@redhat.com>
2902
2903         * target.h (target_ops) <beneath>: Now a method.  All references
2904         updated.
2905         (target_ops) <m_beneath>: New.
2906         * target.c (target_ops::beneath): New.
2907         * corelow.c: Adjust all references to target_ops::beneath.
2908         * linux-thread-db.c: Likewise.
2909         * make-target-delegates: Likewise.
2910         * record-btrace.c: Likewise.
2911         * record-full.c: Likewise.
2912         * remote.c: Likewise.
2913         * target.c: Likewise.
2914         * target-delegates.c: Regenerate.
2915
2916 2018-06-07  Pedro Alves  <palves@redhat.com>
2917
2918         * target.h (target_stack): Delete.
2919         (current_top_target): Declare function.
2920         * target.c (target_stack): Delete.
2921         (g_current_top_target): New.
2922         (current_top_target): New function.
2923         * auxv.c: Use current_top_target instead of target_stack
2924         throughout.
2925         * avr-tdep.c: Likewise.
2926         * breakpoint.c: Likewise.
2927         * corefile.c: Likewise.
2928         * elfread.c: Likewise.
2929         * eval.c: Likewise.
2930         * exceptions.c: Likewise.
2931         * frame.c: Likewise.
2932         * gdbarch-selftests.c: Likewise.
2933         * gnu-v3-abi.c: Likewise.
2934         * ia64-tdep.c: Likewise.
2935         * ia64-vms-tdep.c: Likewise.
2936         * infcall.c: Likewise.
2937         * infcmd.c: Likewise.
2938         * infrun.c: Likewise.
2939         * linespec.c: Likewise.
2940         * linux-tdep.c: Likewise.
2941         * minsyms.c: Likewise.
2942         * ppc-linux-nat.c: Likewise.
2943         * ppc-linux-tdep.c: Likewise.
2944         * procfs.c: Likewise.
2945         * regcache.c: Likewise.
2946         * remote.c: Likewise.
2947         * rs6000-tdep.c: Likewise.
2948         * s390-linux-nat.c: Likewise.
2949         * s390-tdep.c: Likewise.
2950         * solib-aix.c: Likewise.
2951         * solib-darwin.c: Likewise.
2952         * solib-dsbt.c: Likewise.
2953         * solib-spu.c: Likewise.
2954         * solib-svr4.c: Likewise.
2955         * solib-target.c: Likewise.
2956         * sparc-tdep.c: Likewise.
2957         * sparc64-tdep.c: Likewise.
2958         * spu-tdep.c: Likewise.
2959         * symfile.c: Likewise.
2960         * symtab.c: Likewise.
2961         * target-descriptions.c: Likewise.
2962         * target-memory.c: Likewise.
2963         * target.c: Likewise.
2964         * target.h: Likewise.
2965         * tracefile-tfile.c: Likewise.
2966         * tracepoint.c: Likewise.
2967         * valops.c: Likewise.
2968         * valprint.c: Likewise.
2969         * value.c: Likewise.
2970         * windows-tdep.c: Likewise.
2971         * mi/mi-main.c: Likewise.
2972
2973 2018-06-07  Tom Tromey  <tom@tromey.com>
2974
2975         * valprint.h (build_address_symbolic): Declare.
2976         * printcmd.c (print_address_symbolic): Update.
2977         (build_address_symbolic): Change "name" and "filename" to
2978         std::string.
2979         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
2980         Update.
2981         * defs.h (build_address_symbolic): Remove declaration.
2982
2983 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
2984
2985         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
2986         (aarch64_vnv_type): Add function.
2987         (aarch64_pseudo_register_name): Add V regs for SVE.
2988         (aarch64_pseudo_register_type): Likewise.
2989         (aarch64_pseudo_register_reggroup_p): Likewise.
2990         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
2991         (aarch64_pseudo_read_value): Add V regs for SVE.
2992         (aarch64_pseudo_write_2): Use V0 offset for SVE
2993         (aarch64_pseudo_write): Add V regs for SVE.
2994         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
2995
2996 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
2997
2998         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
2999         (sve_vl_from_vq): Likewise.
3000
3001 2018-06-05  Tom Tromey  <tom@tromey.com>
3002
3003         * cli/cli-cmds.c (show_version): Update.
3004         * top.c (print_gdb_version): Add "interactive" parameter.
3005         Update.
3006         * main.c (captured_main_1): Update.
3007         * top.h (print_gdb_version): Add "interactive" parameter and a
3008         comment.
3009
3010 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
3011
3012         * common/enum-flags.h: Add trailing semicolon to example in
3013         comment.
3014
3015 2018-06-05  Tom Tromey  <tom@tromey.com>
3016
3017         PR cli/12326:
3018         * NEWS: Add entry about pager.
3019         * utils.c (pagination_disabled_for_command): New global.
3020         (prompt_for_continue): Allow "c" response to prompt.
3021         (reinitialize_more_filter): Clear
3022         pagination_disabled_for_command.
3023         (fputs_maybe_filtered): Check pagination_disabled_for_command.
3024
3025 2018-06-04  Tom Tromey  <tom@tromey.com>
3026
3027         * ada-lang.h (ada_lookup_symbol_list): Update.
3028         * ada-lang.c (resolve_subexp): Update.
3029         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3030         parameter.
3031         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3032         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3033         results parameter to std::vector.
3034         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3035         Update.
3036         * ada-exp.y (block_lookup): Update.
3037         (select_possible_type_sym): Change type of syms.  Remove nsyms
3038         parameter.
3039         (write_var_or_type, write_name_assoc): Update.
3040
3041 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3042
3043         * windows-nat.c (windows_nat_target::xfer_partial): Return
3044         TARGET_XFER_E_IO if we need to delegate to the target beneath
3045         but BENEATH is NULL.
3046
3047 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3048
3049         * Makefile.in (config.status): Add configure.nat as a
3050         dependency.
3051
3052 2018-06-04  Tom Tromey  <tom@tromey.com>
3053
3054         * cp-name-parser.y (cpname_state): Add method declarations.
3055         (HANDLE_QUAL): Update.
3056         (cpname_state::d_grab, cpname_state::fill_comp)
3057         (cpname_state::make_operator, cpname_state::make_dtor)
3058         (cpname_state::make_builtin_type, cpname_state::make_name)
3059         (cpname_state::d_qualify, cpname_state::d_int_type)
3060         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3061         (%union): Move earlier.
3062
3063 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3064
3065         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3066
3067 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3068
3069         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3070         (aarch64_pseudo_write_1): Likewise.
3071         (aarch64_pseudo_read_value): Use helper.
3072         (aarch64_pseudo_write): Likewise.
3073
3074 2018-06-04  Pedro Alves  <palves@redhat.com>
3075
3076         * darwin-nat.c (darwin_ops): Delete.
3077         (darwin_attach_pid): Use get_native_target.
3078
3079 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3080
3081         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3082         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3083
3084 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3085
3086         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3087         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3088         (aarch64_gdbarch_init): Check for SVE.
3089         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3090
3091 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3092
3093         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3094         * aarch64-tdep.h (aarch64_read_description): Likewise.
3095         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3096         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3097         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3098         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3099         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3100
3101 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3102
3103         * value.c (value_fetch_lazy_bitfield): New.
3104         (value_fetch_lazy_memory): New.
3105         (value_fetch_lazy_register): New.
3106         (value_fetch_lazy): Factor out to smaller functions.
3107
3108 2018-06-01  Tom Tromey  <tom@tromey.com>
3109
3110         * cp-name-parser.y (backslashable, represented): Now const.
3111
3112 2018-06-01  Tom Tromey  <tom@tromey.com>
3113
3114         * cp-name-parser.y: Include parser-defs.h.
3115         (parser_fprintf): Remove declaration.
3116
3117 2018-06-01  Tom Tromey  <tom@tromey.com>
3118
3119         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3120         %parse-param.
3121         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3122         (global_result): Remove globals.
3123         (struct cpname_state): New.
3124         (yyparse): Don't declare.
3125         (yylex, yyerror): Move declarations after %union.
3126         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3127         (make_name): Add state parameter.
3128         Update all callers.
3129         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3130         parameter.
3131         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3132         Update.
3133         (yylex): Add lvalp, state parameters.
3134         (yyerror): Add state parameter.
3135         (cp_demangled_name_to_comp): Update.
3136
3137 2018-06-01  Tom Tromey  <tom@tromey.com>
3138
3139         * cp-name-parser.y (parser_fprintf): Declare.
3140         (GDB_YY_REMAP_PREFIX): Define.
3141         Include yy-remap.h.  Don't redefine yy* identifiers.
3142
3143 2018-06-01  Tom Tromey  <tom@tromey.com>
3144
3145         * python/py-type.c (typy_legacy_template_argument): Update.
3146         * cp-support.h (cp_demangled_name_to_comp): Update.
3147         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3148         parameter to be a "std::string *".
3149         (main): Update.
3150
3151 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3152
3153         * ada-lex.l: Include "diagnostics.h" instead of
3154         "common/diagnostics.h".
3155         * unittests/environ-selftests.c: Likewise.
3156         * common/diagnostics.h: Moved to ../include.
3157
3158 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3159
3160         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3161         to language_mode_manual while calling breakpoint_re_set_one.
3162
3163 2018-06-01  Tom Tromey  <tom@tromey.com>
3164
3165         * valops.c (value_cast_structs, destructor_name_p): Update.
3166         * symtab.c (gdb_mangle_name): Update.
3167         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3168         Update.
3169         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3170         (pascal_object_print_value_fields, pascal_object_print_value):
3171         Update.
3172         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3173         * linespec.c (find_methods): Update.
3174         * gdbtypes.h (type_name_no_tag): Remove.
3175         (type_name_or_error): Rename from type_name_no_tag_or_error.
3176         * gdbtypes.c (type_name_no_tag): Remove.
3177         (type_name_or_error): Rename from type_name_no_tag_or_error.
3178         (lookup_struct_elt_type, check_typedef): Update.
3179         * expprint.c (print_subexp_standard): Update.
3180         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3181         * d-namespace.c (d_lookup_nested_symbol): Update.
3182         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3183         (cp_print_class_member): Update.
3184         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3185         * completer.c (add_struct_fields): Update.
3186         * c-typeprint.c (cp_type_print_derivation_info)
3187         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3188         Update.
3189         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3190         (ada_prefer_type, ada_is_exception_sym): Update.
3191
3192 2018-06-01  Tom Tromey  <tom@tromey.com>
3193
3194         * valops.c (enum_constant_from_type, value_namespace_elt)
3195         (value_maybe_namespace_elt): Update.
3196         * valarith.c (find_size_for_pointer_math): Update.
3197         * target-descriptions.c (make_gdb_type): Update.
3198         * symmisc.c (print_symbol): Update.
3199         * stabsread.c (define_symbol, read_type)
3200         (complain_about_struct_wipeout, add_undefined_type)
3201         (cleanup_undefined_types_1): Update.
3202         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3203         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3204         (rust_internal_print_type, rust_composite_type)
3205         (rust_evaluate_funcall, rust_evaluate_subexp)
3206         (rust_inclusive_range_type_p): Update.
3207         * python/py-type.c (typy_get_tag): Update.
3208         * p-typeprint.c (pascal_type_print_base): Update.
3209         * mdebugread.c (parse_symbol, parse_type): Update.
3210         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3211         Update.
3212         * guile/scm-type.c (gdbscm_type_tag): Update.
3213         * go-lang.c (sixg_string_p): Update.
3214         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3215         Update.
3216         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3217         (TYPE_TAG_NAME): Remove.
3218         * gdbtypes.c (type_name_no_tag): Simplify.
3219         (check_typedef, check_types_equal, recursive_dump_type)
3220         (copy_type_recursive, arch_composite_type): Update.
3221         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3222         in summary mode when needed.
3223         * eval.c (evaluate_funcall): Update.
3224         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3225         (process_structure_scope, read_enumeration_type)
3226         (read_namespace_type, read_module_type, determine_prefix): Update.
3227         * cp-support.c (inspect_type): Update.
3228         * coffread.c (process_coff_symbol, decode_base_type): Update.
3229         * c-varobj.c (c_is_path_expr_parent): Update.
3230         * c-typeprint.c (c_type_print_base_struct_union): Update.
3231         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3232         summary when using C language.
3233         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3234         (gen_maybe_namespace_elt): Update.
3235         * ada-lang.c (ada_type_name): Simplify.
3236         (empty_record, ada_template_to_fixed_record_type_1)
3237         (template_to_static_fixed_type)
3238         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3239
3240 2018-06-01  Tom Tromey  <tom@tromey.com>
3241
3242         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3243         c_print_type.
3244         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3245         (c_print_type): Update.
3246         (c_print_type): New overload.
3247         (c_type_print_varspec_prefix, c_type_print_args)
3248         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3249         (c_type_print_base_struct_union, c_type_print_base_1)
3250         (cp_type_print_method_args): Add "language" parameter.
3251         (c_type_print_base): Update.
3252         * c-lang.h (c_print_type): Add new overload.
3253
3254 2018-06-01  Tom Tromey  <tom@tromey.com>
3255
3256         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3257         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3258
3259 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3260
3261         * aarch64-tdep.c (aarch64_sve_register_names): New const
3262         var.
3263         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3264         (AARCH64_SVE_Z_REGS_NUM): New define.
3265         (AARCH64_SVE_P_REGS_NUM): Likewise.
3266         (AARCH64_SVE_NUM_REGS): Likewise.
3267
3268 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3269
3270         * nat/linux-ptrace.h [__alpha__]
3271         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3272         definitions.
3273
3274 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3275
3276         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3277         the endianness selected.
3278         * NEWS: Document `set endian auto' mode operation update.
3279
3280 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3281
3282         * Makefile.in: Add new header.
3283         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3284         (sve_vl_from_vg): Likewise.
3285         (sve_vq_from_vl): Likewise.
3286         (sve_vl_from_vq): Likewise.
3287         (sve_vq_from_vg): Likewise.
3288         (sve_vg_from_vq): Likewise.
3289         * configure.nat: Add new c file.
3290         * nat/aarch64-sve-linux-ptrace.c: New file.
3291         * nat/aarch64-sve-linux-ptrace.h: New file.
3292
3293 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3294
3295         * aarch64-linux-nat.c (aarch64_linux_read_description):
3296         Add parmeter zero.
3297         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3298         Likewise.
3299         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3300         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3301         (aarch64_gdbarch_init): Add parmeter zero.
3302         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3303         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3304         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3305         parmeter.
3306         * doc/gdb.texinfo: Describe SVE feature
3307         * features/aarch64-sve.c: New file.
3308
3309 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3310
3311         PR gdb/23210
3312         * gdbarch.sh (significant_addr_bit): Default to zero when
3313         not set by target architecture.
3314         * gdbarch.c: Re-generated.
3315         * utils.c (address_significant): Update.
3316
3317 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3318
3319         * stack.c (func_command): Remove trailing newline in call to error.
3320
3321 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3322
3323         * regcache.h (regcache_raw_collect): Remove, update callers to
3324         use regcache::raw_collect.
3325         * regcache.c (regcache_raw_collect): Remove.
3326
3327 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3328
3329         * regcache.h (regcache_raw_supply): Remove, update callers to
3330         use detached_regcache::raw_supply.
3331         * regcache.c (regcache_raw_supply): Remove.
3332
3333 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3334
3335         * regcache.h (regcache_cooked_write_part): Remove, update
3336         callers to use regcache::cooked_write_part.
3337         * regcache.c (regcache_cooked_write_part): Remove.
3338
3339 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3340
3341         * regcache.h (regcache_cooked_read_part): Remove, update callers
3342         to use readable_regcache::cooked_read_part.
3343         * regcache.c (regcache_cooked_read_part): Remove.
3344
3345 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3346
3347         * regcache.h (regcache_cooked_read_value): Remove, update
3348         callers to use readable_regcache::cooked_read_value.
3349         * regcache.c (regcache_cooked_read_value): Remove.
3350
3351 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3352
3353         * regcache.h (regcache_cooked_write): Remove, update callers to
3354         use regcache::cooked_write.
3355         * regcache.c (regcache_cooked_write): Remove.
3356
3357 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3358
3359         * regcache.h (regcache_invalidate): Remove, update callers to
3360         use detached_regcache::invalidate instead.
3361         * regcache.c (regcache_invalidate): Remove.
3362
3363 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3364
3365         * regcache.h (regcache_raw_write_part): Remove, update callers
3366         to use regcache::raw_write_part instead.
3367         * regcache.c (regcache_raw_write_part): Remove.
3368
3369 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3370
3371         * regcache.h (regcache_raw_read_part): Remove, update callers to
3372         use readable_regcache::raw_read_part instead.
3373         * regcache.c (regcache_raw_read_part): Remove.
3374
3375 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3376
3377         * regcache.h (regcache_cooked_read): Remove, update callers to
3378         use readable_regcache::cooked_read instead.
3379         * regcache.c (regcache_cooked_read): Remove.
3380
3381 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3382
3383         * regcache.h (regcache_raw_write): Remove, update callers to use
3384         regcache::raw_write instead.
3385         * regcache.c (regcache_raw_write): Remove.
3386
3387 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3388
3389         * regcache.h (regcache_raw_read): Remove, update callers to use
3390         readable_regcache::raw_read instead.
3391         * regcache.c (regcache_raw_read): Remove.
3392
3393 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3394
3395         * regcache.h (regcache_raw_update): Remove, update callers to
3396         use readable_regcache::raw_update instead.
3397         * regcache.c (regcache_raw_update): Remove.
3398
3399 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3400
3401         * regcache.h (regcache_register_status): Remove, update callers
3402         to use reg_buffer::get_register_status directly instead.
3403         * regcache.c (regcache_register_status): Remove.
3404
3405 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3406
3407         * regcache.h (regcache_get_ptid): Remove, update all callers to
3408         call regcache::ptid instead.
3409         * regcache.c (regcache_get_ptid): Remove.
3410
3411 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3412
3413         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
3414
3415 2018-05-30  Pedro Alves  <palves@redhat.com>
3416
3417         * common/common-exceptions.h (exception_rethrow): Use
3418         ATTRIBUTE_NORETURN.
3419
3420 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
3421
3422         * breakpoint.c (print_solib_event, check_status_catch_solib):
3423         Remove struct keyword in range-based for loops.
3424         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
3425         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
3426         Likewise.
3427         * linespec.c (find_superclass_methods, search_minsyms_for_name):
3428         Likewise.
3429         * symfile.c (addr_info_make_relative): Likewise.
3430         * thread.c (value_in_thread_stack_temporaries): Likewise.
3431
3432 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
3433
3434         PR gdb/16841
3435         * valops.c (value_struct_elt_for_reference): Call check_typedef on
3436         aggregate type to get its real type before accessing it.
3437
3438 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
3439
3440         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
3441         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
3442         * coff-pe-read.c (add_pe_forwarded_sym): Replace
3443         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
3444         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
3445         * jit.c (jit_breakpoint_re_set_internal): Likewise.
3446         * printcmd.c (info_address_command): Likewise.
3447
3448 2018-05-29  Tom Tromey  <tom@tromey.com>
3449
3450         * windows-nat.c (handle_exception): Update fall-through comment.
3451
3452 2018-05-29  Tom Tromey  <tom@tromey.com>
3453
3454         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
3455         (struct program_space) <added_solibs>: Now a std::vector.
3456         * breakpoint.c (print_solib_event): Update.
3457         (check_status_catch_solib): Update.
3458         * progspace.c (clear_program_space_solib_cache): Update.
3459         * solib.c (update_solib_list): Update.
3460
3461 2018-05-29  Tom Tromey  <tom@tromey.com>
3462
3463         * python/py-type.c (typy_richcompare): Update.
3464         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
3465         * gdbtypes.h (types_deeply_equal): Return bool.
3466         (types_equal): Likewise.
3467         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
3468         declare VEC.
3469         (check_types_equal): Change worklist to std::vector.  Return
3470         bool.
3471         (struct type_equality_entry): Add constructor.
3472         (compare_maybe_null_strings): Return bool.
3473         (check_types_worklist): Return bool.  Change worklist to
3474         std::vector.
3475         (types_deeply_equal): Use std::vector.
3476         (types_equal): Return bool.
3477         (compare_maybe_null_strings): Simplify.
3478
3479 2018-05-29  Tom Tromey  <tom@tromey.com>
3480
3481         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
3482
3483 2018-05-29  Tom Tromey  <tom@tromey.com>
3484
3485         * objc-lang.h: Don't include cp-support.h.
3486         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
3487         declare VEC.
3488
3489 2018-05-27  Tom Tromey  <tom@tromey.com>
3490
3491         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
3492
3493 2018-05-25  Tom Tromey  <tom@tromey.com>
3494
3495         * value.c (value::location): Initialize.
3496
3497 2018-05-25  Tom Tromey  <tom@tromey.com>
3498
3499         * dbxread.c (init_bincl_list): Remove.
3500         (bincl_list): Now a std::vector.
3501         (bincls_allocated, next_bincl): Remove.
3502         (free_bincl_list, do_free_bincl_list_cleanup)
3503         (make_cleanup_free_bincl_list): Remove.
3504         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
3505         unique_xmalloc_ptr.
3506         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
3507         (struct header_file_location): Add constructor.
3508         (add_bincl_to_list): Remove.
3509
3510 2018-05-25  Tom Tromey  <tom@tromey.com>
3511
3512         * tui/tui.c (tui_enable): Update.
3513         * mi/mi-interp.c (mi_interp::init): Update.
3514         * interps.h (class interp) <name>: New method.
3515         <m_name>: Rename from name.
3516         (~scoped_restore_interp): Update.
3517         * interps.c (interp::interp): Update.
3518         (interp_add, interp_set, interp_lookup_existing)
3519         (current_interp_named_p): Update.
3520
3521 2018-05-25  Tom Tromey  <tom@tromey.com>
3522
3523         * interps.c (interp_name): Remove.
3524         * mi/mi-interp.c (mi_interp::init): Update.
3525         * interps.h (interp_name): Remove.
3526         (~scoped_restore_interp): Update.
3527         * tui/tui.c (tui_enable): Update.
3528
3529 2018-05-25  Tom Tromey  <tom@tromey.com>
3530
3531         * utils.c (fputs_maybe_filtered): Update.
3532         * linespec.c (decode_line_full): Update.
3533         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
3534         (mi_print_breakpoint_for_event, mi_solib_loaded)
3535         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
3536         (mi_user_selected_context_changed): Update.
3537         * mi/mi-main.c (mi_execute_command): Update.
3538         * cli/cli-script.c (execute_control_command): Update.
3539         * python/python.c (execute_gdb_command): Update.
3540         * solib.c (info_sharedlibrary_command): Update.
3541         * interps.c (interp_ui_out): Remove.
3542         * interps.h (interp_ui_out): Remove.
3543
3544 2018-05-25  Tom Tromey  <tom@tromey.com>
3545
3546         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
3547         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
3548         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
3549
3550 2018-05-25  Tom Tromey  <tom@tromey.com>
3551
3552         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
3553         * interps.c (interp_exec): Use scoped_restore.
3554
3555 2018-05-25  Tom Tromey  <tom@tromey.com>
3556
3557         * remote.c (remote_target::remote_file_get): Use
3558         gdb::byte_vector.
3559         (remote_target::remote_file_put): Likewise.
3560
3561 2018-05-25  Tom Tromey  <tom@tromey.com>
3562
3563         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
3564         a std::string.
3565         (get_pe_section_index, add_pe_exported_sym): Update.
3566         (read_pe_exported_syms): Use gdb::def_vector.
3567
3568 2018-05-25  Tom Tromey  <tom@tromey.com>
3569
3570         * frame.c (remove_prev_frame): Remove.
3571         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
3572
3573 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
3574
3575         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
3576         Remove prototypes.
3577         * mips-linux-nat.c (supply_fpregset): Always call
3578         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
3579         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
3580         `mips_fill_fpregset'.
3581         * mips-linux-tdep.c (mips_supply_fpregset)
3582         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
3583         (mips_fill_fpregset_wrapper): Remove functions.
3584         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
3585         (mips_linux_fpregset): Remove variable.
3586         (mips_linux_iterate_over_regset_sections): Use
3587         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
3588         (mips_linux_o32_sigframe_init): Remove comment.
3589
3590 2018-05-25  Pedro Alves  <palves@redhat.com>
3591
3592         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
3593         (struct readahead_cache, struct packet_reg, struct
3594         remote_arch_state, class remote_state): Move higher up in the
3595         file.
3596         (remote_target::m_remote_state): Now an object instead of a pointer.
3597         (remote_target::get_remote_state): Adjust.
3598
3599 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3600
3601         * stack.c (select_and_print_frame): Delete.
3602         (struct function_bounds): Move struct within function.
3603         (func_command): Most content moved into new function
3604         find_frame_for_function, use new function, print result, add
3605         function comment.
3606         (find_frame_for_function): New function, now returns a result.
3607
3608 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3609
3610         * stack.c (iterate_over_block_arg_vars): Fix comment.
3611         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
3612
3613 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3614
3615         PR gdb/23203
3616         * frame.c
3617         (scoped_restore_selected_frame::scoped_restore_selected_frame):
3618         Define.
3619         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
3620         Define.
3621         * frame.h (class scoped_restore_selected_frame): New class.
3622         * stack.c (print_frame_local_vars): Remove catching and rethrowing
3623         of any exception, use scoped_restore_selected_frame to restore the
3624         frame instead.
3625
3626 2018-05-24  Pedro Alves  <palves@redhat.com>
3627
3628         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
3629         override.
3630
3631 2018-05-23  Tom Tromey  <tom@tromey.com>
3632
3633         * complaints.c (struct complaints): Remove.
3634         (symfile_complaint_book): Remove.
3635         (series): New global.
3636         (complaint_internal): Update.
3637         (clear_complaints): Update.
3638
3639 2018-05-23  Tom Tromey  <tom@tromey.com>
3640
3641         * complaints.c (counters): New global.
3642         (struct complain): Remove.
3643         (struct complaints) <root>: Remove.
3644         (complaint_sentinel): Remove.
3645         (symfile_complaint_book): Update.
3646         (find_complaint) Remove.
3647         (complaint_internal, clear_complaints): Update.
3648
3649 2018-05-23  Tom Tromey  <tom@tromey.com>
3650
3651         * complaints.c (struct complain) <file, line>: Remove.
3652         (find_complaint): Remove file, line parameters.
3653         (complaint_internal): Update.
3654
3655 2018-05-23  Tom Tromey  <tom@tromey.com>
3656
3657         * complaints.c (vcomplaint): Remove.
3658         (complaint_internal) Merge in contents of vcomplaint.
3659
3660 2018-05-23  Tom Tromey  <tom@tromey.com>
3661
3662         * complaints.c (struct complaints) <explanation>: Remove.
3663         (symfile_explanations): Remove.
3664         (symfile_complaint_book): Update.
3665         (vcomplaint): Update.
3666         (struct explanation): Remove.
3667
3668 2018-05-23  Tom Tromey  <tom@tromey.com>
3669
3670         * complaints.c (symfile_complaints): Remove.
3671         (complaint_internal): Remove "complaints" parameter.
3672         (clear_complaints, vcomplaint): Remove "c" parameter.
3673         (get_complaints): Remove.
3674         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
3675         (dwarf2_debug_line_missing_file_complaint)
3676         (dwarf2_debug_line_missing_end_sequence_complaint)
3677         (dwarf2_complex_location_expr_complaint)
3678         (dwarf2_const_value_length_mismatch_complaint)
3679         (dwarf2_section_buffer_overflow_complaint)
3680         (dwarf2_macro_malformed_definition_complaint)
3681         (dwarf2_invalid_attrib_class_complaint)
3682         (create_addrmap_from_index, dw2_symtab_iter_next)
3683         (dw2_expand_marked_cus)
3684         (dw2_debug_names_iterator::find_vec_in_debug_names)
3685         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
3686         (create_debug_type_hash_table, init_cutu_and_read_dies)
3687         (partial_die_parent_scope, add_partial_enumeration)
3688         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
3689         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
3690         (read_import_statement, read_file_scope, create_dwo_cu_reader)
3691         (create_cus_hash_table, create_dwp_hash_table)
3692         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
3693         (dwarf2_rnglists_process, dwarf2_ranges_process)
3694         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
3695         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
3696         (handle_struct_member_die, process_structure_scope)
3697         (read_array_type, read_common_block, read_module_type)
3698         (read_tag_pointer_type, read_typedef, read_base_type)
3699         (read_subrange_type, load_partial_dies, partial_die_info::read)
3700         (partial_die_info::read, partial_die_info::read)
3701         (partial_die_info::read, read_checked_initial_length_and_offset)
3702         (dwarf2_string_attr, read_formatted_entries)
3703         (dwarf_decode_line_header)
3704         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3705         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
3706         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
3707         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
3708         (get_signatured_type, get_DW_AT_signature_type)
3709         (decode_locdesc, file_file_name, consume_improper_spaces)
3710         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
3711         (dwarf_decode_macro_bytes, dwarf_decode_macros)
3712         (dwarf2_symbol_mark_computed, set_die_type)
3713         (read_attribute_value): Update.
3714         * stap-probe.c (handle_stap_probe, get_stap_base_address):
3715         Update.
3716         * dbxread.c (unknown_symtype_complaint)
3717         (lbrac_mismatch_complaint, repeated_header_complaint)
3718         (set_namestring, function_outside_compilation_unit_complaint)
3719         (read_dbx_symtab, process_one_symbol): Update.
3720         * gdbtypes.c (stub_noname_complaint): Update.
3721         * windows-nat.c (handle_unload_dll): Update.
3722         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
3723         (decode_base_type): Update.
3724         * xcoffread.c (bf_notfound_complaint, ef_complaint)
3725         (eb_complaint, record_include_begin, record_include_end)
3726         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
3727         (process_xcoff_symbol, read_symbol)
3728         (function_outside_compilation_unit_complaint)
3729         (scan_xcoff_symtab): Update.
3730         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
3731         * buildsym.c (finish_block_internal, make_blockvector)
3732         (end_symtab_get_static_block, augment_type_symtab): Update.
3733         * dtrace-probe.c (dtrace_process_dof)
3734         (dtrace_static_probe_ops::get_probes): Update.
3735         * complaints.h (struct complaint): Don't declare.
3736         (symfile_complaints): Remove.
3737         (complaint_internal): Remove "complaints" parameter.
3738         (complaint): Likewise.
3739         (clear_complaints): Likewise.
3740         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3741         (reread_symbols): Update.
3742         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
3743         (dwarf2_frame_cache, decode_frame_entry): Update.
3744         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
3745         * objc-lang.c (lookup_objc_class, lookup_child_selector)
3746         (info_selectors_command): Update.
3747         * macrotab.c (macro_include, check_for_redefinition)
3748         (macro_undef): Update.
3749         * objfiles.c (filter_overlapping_sections): Update.
3750         * stabsread.c (invalid_cpp_abbrev_complaint)
3751         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
3752         (define_symbol, error_type, read_type, rs6000_builtin_type)
3753         (stabs_method_name_from_physname, read_member_functions)
3754         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
3755         (attach_fields_to_type, complain_about_struct_wipeout)
3756         (read_range_type, read_args, common_block_start)
3757         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
3758         Update.
3759         * mdebugread.c (index_complaint, unknown_ext_complaint)
3760         (basic_type_complaint, bad_tag_guess_complaint)
3761         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
3762         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
3763         (parse_procedure, parse_lines)
3764         (function_outside_compilation_unit_complaint)
3765         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
3766         (bad_tag_guess_complaint, reg_value_complaint): Update.
3767         * cp-support.c (demangled_name_complaint): Update.
3768         * macroscope.c (sal_macro_scope): Update.
3769         * dwarf-index-write.c (class debug_names): Update.
3770
3771 2018-05-23  Tom Tromey  <tom@tromey.com>
3772
3773         * complaints.c (clear_complaints): Remove "noisy" parameter.
3774         * complaints.h (clear_complaints): Update.
3775         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3776         (reread_symbols): Update.
3777
3778 2018-05-23  Tom Tromey  <tom@tromey.com>
3779
3780         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
3781         SUBSEQUENT_MESSAGE.
3782         (vcomplaint, clear_complaints): Update.
3783         (symfile_explanations): Remove some messages.
3784
3785 2018-05-23  Tom Tromey  <tom@tromey.com>
3786
3787         * complaints.c (internal_complaint): Remove.
3788         * complaints.h (internal_complaint): Remove.
3789
3790 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
3791
3792         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
3793
3794 2018-05-22  Pedro Alves  <palves@redhat.com>
3795
3796         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
3797         (remote_fileio_badfd, remote_fileio_return_errno)
3798         (remote_fileio_return_success, remote_fileio_func_open)
3799         (remote_fileio_func_open, remote_fileio_func_close)
3800         (remote_fileio_func_read, remote_fileio_func_write)
3801         (remote_fileio_func_lseek, remote_fileio_func_rename)
3802         (remote_fileio_func_unlink, remote_fileio_func_stat)
3803         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
3804         (remote_fileio_func_isatty, remote_fileio_func_system): Add
3805         remote_target parameter.
3806         (remote_fio_func_map) <func>: Add remote_target parameter.
3807         (do_remote_fileio_request, remote_fileio_request):
3808         * remote-fileio.h (remote_fileio_request):
3809         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
3810         remote_target parameter.
3811         (remote_notif_process, handle_notification): Adjust to pass down
3812         the remote.
3813         (remote_notif_state_allocate): Add remote_target parameter.  Save
3814         it.
3815         * remote-notif.h (struct remote_target): Forward declare.
3816         (struct notif_client) <parse, ack, can_get_pending_events>: Add
3817         remote_target parameter.
3818         (struct remote_notif_state) <remote>: New field.
3819         (remote_notif_ack, remote_notif_parse): Add remote_target
3820         parameter.
3821         (remote_notif_state_allocate, remote_notif_state_allocate): Add
3822         remote_target parameter.
3823         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
3824         (threads_listing_context, rmt_thread_action, protocol_feature)
3825         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
3826         (packet_result, struct threads_listing_context, remote_state):
3827         Move definitions and declarations higher up.
3828         (remote_target) <~remote_target>: Declare.
3829         (remote_download_command_source, remote_file_put, remote_file_get)
3830         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
3831         (remote_hostio_pread_vFile, remote_hostio_send_command)
3832         (remote_hostio_set_filesystem, remote_hostio_open)
3833         (remote_hostio_close, remote_hostio_unlink, remote_state)
3834         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
3835         (get_memory_write_packet_size, get_memory_read_packet_size)
3836         (append_pending_thread_resumptions, remote_detach_1)
3837         (append_resumption, remote_resume_with_vcont)
3838         (add_current_inferior_and_thread, wait_ns, wait_as)
3839         (process_stop_reply, remote_notice_new_inferior)
3840         (process_initial_stop_replies, remote_add_thread)
3841         (btrace_sync_conf, remote_btrace_maybe_reopen)
3842         (remove_new_fork_children, kill_new_fork_children)
3843         (discard_pending_stop_replies, stop_reply_queue_length)
3844         (check_pending_events_prevent_wildcard_vcont)
3845         (discard_pending_stop_replies_in_queue, stop_reply)
3846         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
3847         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
3848         (remote_interrupt_as, remote_interrupt_ns)
3849         (remote_get_noisy_reply, remote_query_attached)
3850         (remote_add_inferior, remote_current_thread, get_current_thread)
3851         (set_thread, set_general_thread, set_continue_thread)
3852         (set_general_process, write_ptid)
3853         (remote_unpack_thread_info_response, remote_get_threadinfo)
3854         (parse_threadlist_response, remote_get_threadlist)
3855         (remote_threadlist_iterator, remote_get_threads_with_ql)
3856         (remote_get_threads_with_qxfer)
3857         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
3858         (get_offsets, remote_check_symbols, remote_supported_packet)
3859         (remote_query_supported, remote_packet_size)
3860         (remote_serial_quit_handler, remote_detach_pid)
3861         (remote_vcont_probe, remote_resume_with_hc)
3862         (send_interrupt_sequence, interrupt_query)
3863         (remote_notif_get_pending_events, fetch_register_using_p)
3864         (send_g_packet, process_g_packet, fetch_registers_using_g)
3865         (store_register_using_P, store_registers_using_G)
3866         (set_remote_traceframe, check_binary_download)
3867         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
3868         (remote_xfer_live_readonly_partial, remote_read_bytes)
3869         (remote_send_printf, remote_flash_write, readchar)
3870         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
3871         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
3872         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
3873         (extended_remote_disable_randomization, extended_remote_run)
3874         (send_environment_packet, extended_remote_environment_support)
3875         (extended_remote_set_inferior_cwd, remote_write_qxfer)
3876         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
3877         (packet_command): Now methods of ...
3878         (remote_target): ... this class.
3879         (m_remote_state) <remote_target>: New field.
3880         (struct remote_state) <stop_reply_queue,
3881         remote_async_inferior_event_token, wait_forever_enabled_p>: New
3882         fields.
3883         (remote_state::remote_state): Allocate stop_reply_queue.
3884         (remote_state): Delete global.
3885         (get_remote_state_raw): Delete.
3886         (remote_target::get_remote_state): Allocate m_remote_state on
3887         demand.
3888         (get_current_remote_target): New.
3889         (remote_ops, extended_remote_ops): Delete.
3890         (wait_forever_enabled_p, remote_async_inferior_event_token):
3891         Delete, moved to struct remote_state.
3892         (remote_target::close): Delete self.  Destruction bits split to
3893         ...
3894         (remote_target::~remote_target): ... this.
3895         (show_memory_packet_size): Adjust to use
3896         get_current_remote_target.
3897         (struct protocol_feature) <func>: Add remote_target parameter.
3898         All callers adjusted.
3899         (curr_quit_handler_target): New.
3900         (remote_serial_quit_handler): Reimplement.
3901         (remote_target::open_1): Adjust to use get_current_remote_target.
3902         Heap-allocate remote_target/extended_remote_target instances.
3903         (vcont_builder::vcont_builder): Add remote_target parameter, and
3904         save it in m_remote.  All callers adjusted.
3905         (vcont_builder::m_remote): New field.
3906         (vcont_builder::restart, vcont_builder::flush)
3907         (vcont_builder::push_action): Use it.
3908         (remote_target::commit_resume): Use it.
3909         (struct queue_iter_param) <remote>: New field.
3910         (remote_target::remove_new_fork_children): Fill in 'remote' field.
3911         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
3912         (check_pending_event_prevents_wildcard_vcont_callback)
3913         (remote_target::check_pending_events_prevent_wildcard_vcont)
3914         (remote_target::discard_pending_stop_replies)
3915         (remote_target::discard_pending_stop_replies_in_queue)
3916         (remote_target::remote_notif_remove_queued_reply): Fill in
3917         'remote' field.
3918         (remote_notif_get_pending_events): New.
3919         (remote_target::readchar, remote_target::remote_serial_write):
3920         Save/restore curr_quit_handler_target.
3921         (putpkt): New.
3922         (kill_new_fork_children): Fill in 'remote' field.
3923         (packet_command): Use get_current_remote_target, defer to
3924         remote_target method of same name.
3925         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
3926         parameter, and save it in m_remote.  All callers adjusted.
3927         (scoped_remote_fd::release): Use m_remote.
3928         (scoped_remote_fd::m_remote): New field.
3929         (remote_file_put, remote_file_get, remote_file_delete): Use
3930         get_current_remote_target, defer to remote_target method of same
3931         name.
3932         (remote_btrace_reset): Add remote_state paremeter.  Update all
3933         callers.
3934         (remote_async_inferior_event_handler). Pass down 'data'.
3935         (remote_new_objfile): Use get_current_remote_target.
3936         (remote_target::vcont_r_supported): New.
3937         (set_range_stepping): Use get_current_remote_target and
3938         remote_target::vcont_r_supported.
3939         (_initialize_remote): Don't allocate 'remote_state' and
3940         'stop_reply_queue' globals.
3941         * remote.h (struct remote_target): Forward declare.
3942         (getpkt, putpkt, remote_notif_get_pending_events): Add
3943         'remote_target' parameter.
3944
3945 2018-05-22  Pedro Alves  <palves@redhat.com>
3946
3947         * remote.c (vcont_builder): Now a class.  Make all data members
3948         private.
3949         (vcont_builder) <vcont_builder, restart, flush, push_action>:
3950         Declare methods.
3951         (vcont_builder_restart): Rename to ...
3952         (vcont_builder::restart): ... this.
3953         (vcont_builder_flush): Rename to ...
3954         (vcont_builder::flush): ... this.
3955         (vcont_builder_push_action): Rename to ...
3956         (vcont_builder::push_action): ... this.
3957         (remote_target::commit_resume): Adjust.
3958
3959 2018-05-22  Pedro Alves  <palves@redhat.com>
3960
3961         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
3962         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
3963         (get_fixed_memory_packet_size): New.
3964         (get_memory_packet_size): Use it.
3965         (set_memory_packet_size): Don't override the config size with
3966         DEFAULT_MAX_MEMORY_PACKET_SIZE.
3967         (show_memory_packet_size): Use get_fixed_memory_packet_size.
3968         Don't refer to get_memory_packet_size if not connected to a remote
3969         target.  Show "(default)" if configured size is 0.
3970
3971 2018-05-22  Pedro Alves  <palves@redhat.com>
3972
3973         * remote.c (remote_target::mourn_inferior): Move
3974         discard_pending_stop_replies call here from ...
3975         (_initialize_remote): ... here.
3976
3977 2018-05-22  Pedro Alves  <palves@redhat.com>
3978
3979         * remote.c (compare_section_command): Remove set_general_process
3980         call.
3981
3982 2018-05-22  Pedro Alves  <palves@redhat.com>
3983
3984         * remote.c (struct packet_reg, struct remote_arch_state):
3985         Move higher up in the file.
3986         (remote_state) <m_arch_states>: Store remote_arch_state values
3987         instead of remote_arch_state pointers.
3988         (remote_state::get_remote_arch_state): Adjust.
3989
3990 2018-05-22  Pedro Alves  <palves@redhat.com>
3991
3992         * remote.c: Include <unordered_map>.
3993         (remote_state): Now a class.
3994         (remote_state) <get_remote_arch_state>: Declare method.
3995         <get_remote_arch_state>: New field.
3996         (remote_arch_state) <remote_arch_state>: Declare ctor.
3997         <regs>: Now a unique_ptr.
3998         (remote_gdbarch_data_handle): Delete.
3999         (get_remote_arch_state): Delete.
4000         (remote_state::get_remote_arch_state): New.
4001         (get_remote_state): Adjust to call remote_state's
4002         get_remote_arch_state method.
4003         (init_remote_state): Delete, bits factored out to ...
4004         (remote_arch_state::remote_arch_state): ... this new method.
4005         (get_remote_packet_size, get_memory_packet_size)
4006         (process_g_packet, remote_target::fetch_registers)
4007         (remote_target::prepare_to_store, store_registers_using_G)
4008         (remote_target::store_registers, remote_target::get_trace_status):
4009         Adjust to call remote_state's method.
4010         (_initialize_remote): Remove reference to
4011         remote_gdbarch_data_handle.
4012
4013 2018-05-22  Pedro Alves  <palves@redhat.com>
4014
4015         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
4016         pread>: New method declarations.
4017         (remote_target::open_1): Adjust.
4018         (readahead_cache_invalidate): Rename to ...
4019         (readahead_cache::invalidate): ... this, and adjust to be a class
4020         method.
4021         (readahead_cache_invalidate_fd): Rename to ...
4022         (readahead_cache::invalidate_fd): ... this, and adjust to be a
4023         class method.
4024         (remote_hostio_pwrite): Adjust.
4025         (remote_hostio_pread_from_cache): Rename to ...
4026         (readahead_cache::pread): ... this, and adjust to be a class
4027         method.
4028         (remote_hostio_close): Adjust.
4029
4030 2018-05-22  Pedro Alves  <palves@redhat.com>
4031
4032         * remote.c (remote_hostio_close_cleanup): Delete.
4033         (class scoped_remote_fd): New.
4034         (remote_file_put, remote_file_get): Use it.
4035
4036 2018-05-22  Pedro Alves  <palves@redhat.com>
4037
4038         (struct vCont_action_support): Use bool and initialize all fields.
4039         (struct readahead_cache): Initialize all fields.
4040         (remote_state): Use bool and initialize all fields.
4041         (remote_state::remote_state, remote_state::~remote_state): New.
4042         (new_remote_state): Delete.
4043         (_initialize_remote): Use new to allocate remote_state.
4044
4045 2018-05-22  Pedro Alves  <palves@redhat.com>
4046             張俊芝  <zjz@zjz.name>
4047
4048         PR gdb/22973
4049         * c-exp.y: Include "c-support.h".
4050         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4051         of tolower.  Use c_ident_is_alpha to scan names.
4052         * c-lang.c: Include "c-support.h".
4053         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4054         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4055         * c-support.h: New file, with bits factored out from ...
4056         * cp-name-parser.y: ... this file.
4057         Include "c-support.h".
4058         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4059         c-support.h and renamed.
4060         (symbol_end, yylex): Adjust.
4061
4062 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4063
4064         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4065         parameter type to CORE_ADDR.
4066         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4067         parameter type in declaration to CORE_ADDR.
4068         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4069         target_auxv_search to get AT_HWCAP and use the result to get the
4070         target description.
4071         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4072         to CORE_ADDR. Remove the cast of the return value to unsigned
4073         long. Fix error predicate of target_auxv_search.
4074         (ppc_linux_nat_target::read_description): Change the type of the
4075         hwcap variable to CORE_ADDR.
4076
4077 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4078
4079         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4080         if the size of fpscr is larger than 32 bits.
4081
4082 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4083
4084         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4085         (ppc32_linux_vsxregmap): New global.
4086         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4087         regcache_supply_regset, and regcache_collect_regset.
4088         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4089         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4090         (fetch_vsx_register, store_vsx_register): Remove.
4091         (fetch_vsx_registers): Add regno parameter. Get regset using
4092         ppc_linux_vsxregset. Use regset to supply registers.
4093         (store_vsx_registers): Add regno parameter. Get regset using
4094         ppc_linux_vsxregset. Use regset to collect registers.
4095         (fetch_register): Call fetch_vsx_registers instead of
4096         fetch_vsx_register.
4097         (store_register): Call store_vsx_registers instead of
4098         store_vsx_register.
4099         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4100         new regno parameter.
4101         (store_ppc_registers): Call store_vsx_registers with -1 for the
4102         new regno parameter.
4103         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4104         (ppc_collect_vsxregset): Remove.
4105
4106 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4107
4108         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4109         offset fields.
4110         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4111         for vector register offset fields.
4112         (ppc64_fbsd_reg_offsets): Likewise.
4113         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4114         to vector register offset fields.
4115         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4116         to vector register offset fields.
4117         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4118         vector register offset fields.
4119         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4120         initializers for vector register offset fields.
4121         (rs6000_aix64_reg_offsets): Likewise.
4122         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4123         (ppc_supply_vrregset): Remove.
4124         (ppc_collect_vrregset): Remove.
4125         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4126         (ppc_linux_vrregset) : New function.
4127         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4128         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4129         (ppc32_linux_vrregset): Remove.
4130         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4131         and use result instead of ppc32_linux_vrregset.
4132         (ppc32_linux_reg_offsets): Remove initializers for vector register
4133         offset fields.
4134         (ppc64_linux_reg_offsets): Likewise.
4135         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4136         * ppc-linux-nat.c: Include regset.h.
4137         (gdb_vrregset_t): Adjust comment to account for little-endian
4138         mode.
4139         (supply_vrregset, fill_vrregset): Remove.
4140         (fetch_altivec_register, store_altivec_register): Remove.
4141         (fetch_altivec_registers): Add regno parameter. Get regset using
4142         ppc_linux_vrregset. Use regset to supply registers.
4143         (store_altivec_registers): Add regno parameter. Get regset using
4144         ppc_linux_vrregset. Use regset to collect registers.
4145         (fetch_register): Call fetch_altivec_registers instead of
4146         fetch_altivec_register.
4147         (store_register): Call store_altivec_registers instead of
4148         store_altivec_register.
4149         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4150         the new regno parameter.
4151         (store_ppc_registers): Call store_altivec_registers with -1 for
4152         the new regno parameter.
4153
4154 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4155
4156         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4157         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4158         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4159         (gdb_vrregset_t): Change array type size to
4160         PPC_LINUX_SIZEOF_VRREGSET.
4161         (gdb_vsxregset_t): Change array type size to
4162         PPC_LINUX_SIZEOF_VSXREGSET.
4163         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4164         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4165         PPC_LINUX_SIZEOF_VSXREGSET.
4166
4167 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4168
4169         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4170         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4171         nat/ppc-linux.c.
4172         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4173         ppc_linux_target_wordsize with tid.
4174         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4175         wordsize with tid.
4176         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4177         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4178         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4179         tid parameter. Remove static specifier.
4180         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4181         (ppc_linux_target_wordsize): New declaration.
4182
4183 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4184
4185         * arch/ppc-linux-common.c: New file.
4186         * arch/ppc-linux-common.h: New file.
4187         * arch/ppc-linux-tdesc.h: New file.
4188         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4189         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4190         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4191         arch/ppc-linux-tdesc.h.
4192         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4193         arch/ppc-linux-tdesc.h.
4194         (ppc_linux_nat_target::read_description): Remove target
4195         description matching code. Fill a ppc_linux_features struct and
4196         call ppc_linux_match_description with it. Move comment about ISA
4197         2.05 to ppc-linux-common.c.
4198         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4199         arch/ppc-linux-tdesc.h.
4200         (ppc_linux_core_read_description): Remove target description
4201         matching code. Fill a ppc_linux_features struct and call
4202         ppc_linux_match_description with it.
4203         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4204         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4205         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4206         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4207         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4208         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4209         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4210         (tdesc_powerpc_e500l): Remove.
4211
4212 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4213
4214         * ada-lang.c (catch_assert_command): Pass empty string instead
4215         of NULL for excep_string argument.
4216
4217 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4218
4219         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4220         the width of the requested register exceeds the width of the
4221         `ptrace' data type.
4222
4223 2018-05-21  Tom Tromey  <tom@tromey.com>
4224
4225         * printcmd.c (output_command): Remove.
4226         (output_command_const): Rename to output_command.
4227         * valprint.h (output_command): Rename from output_command_const.
4228         * tracepoint.c (trace_dump_actions): Call output_command.
4229
4230 2018-05-21  Tom Tromey  <tom@tromey.com>
4231
4232         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4233         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4234         * ada-lang.h (create_ada_exception_catchpoint): Update.
4235         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4236         std::string.
4237         (create_excep_cond_exprs, ~ada_catchpoint)
4238         (should_stop_exception, print_one_exception)
4239         (print_mention_exception, print_recreate_exception): Update.
4240         (ada_get_next_arg): Remove.
4241         (catch_ada_exception_command_split): Use std::string.  Change type
4242         of "excep_string", "cond_string".
4243         (catch_ada_exception_command): Update.
4244         (create_ada_exception_catchpoint): Change type of excep_string.
4245         (ada_exception_sal): Remove excep_string parameter.
4246         (~ada_catchpoint): Remove.
4247
4248 2018-05-21  Tom Tromey  <tom@tromey.com>
4249
4250         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4251         cleanup.
4252
4253 2018-05-21  Tom Tromey  <tom@tromey.com>
4254
4255         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4256         Return unique_xmalloc_ptr.
4257         (print_it_exception): Update.
4258
4259 2018-05-21  Tom Tromey  <tom@tromey.com>
4260
4261         * tracepoint.c (trace_dump_actions): Use std::string.
4262
4263 2018-05-21  Tom Tromey  <tom@tromey.com>
4264
4265         * symfile.c (reread_symbols): Use std::string for original_name.
4266
4267 2018-05-21  Tom Tromey  <tom@tromey.com>
4268
4269         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4270         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4271         constructor.
4272
4273 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4274
4275         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4276         instance to...
4277         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4278         * objfiles.c (get_objfile_bfd_data): Allocate
4279         objfile_per_bfd_storage with obstack_new when allocating on
4280         obstack.
4281
4282 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4283
4284         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4285         OBSTACK_ZALLOC.
4286         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4287         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4288         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4289         (add_pending): Likewise.
4290         (parse_symbol): Likewise.
4291         (parse_partial_symbols): Likewise.
4292         (psymtab_to_symtab_1): Likewise.
4293         (new_psymtab): Likewise.
4294         (elfmdebug_build_psymtabs): Likewise.
4295         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4296         * objfiles.c (get_objfile_bfd_data): Likewise.
4297         (objfile_register_static_link): Likewise.
4298         * psymtab.c (allocate_psymtab): Likewise.
4299         * stabsread.c (read_member_functions): Likewise.
4300         * xcoffread.c (xcoff_end_psymtab): Likewise.
4301
4302 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4303
4304         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4305         compiler supports std::is_trivially_constructible.
4306         * common/poison.h: Include obstack.h.
4307         (IsMallocable): Define to is_trivially_constructible if the
4308         compiler supports it, define to true_type otherwise.
4309         (xobnew): New.
4310         (XOBNEW): Redefine.
4311         (xobnewvec): New.
4312         (XOBNEWVEC): Redefine.
4313         * gdb_obstack.h (obstack_zalloc): New.
4314         (OBSTACK_ZALLOC): Redefine.
4315         (obstack_calloc): New.
4316         (OBSTACK_CALLOC): Redefine.
4317         (obstack_new): New.
4318         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4319         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4320         gdbarch.c.
4321         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4322         obstack_calloc/obstack_zalloc.
4323         (gdbarch_obstack_zalloc): Remove.
4324         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4325
4326 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4327
4328         * stack.c (backtrace_command_1): Remove useless variable int i.
4329
4330 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4331
4332         * stack.c (print_frame_info): Fix comment.
4333
4334 2018-05-18  Tom Tromey  <tom@tromey.com>
4335
4336         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4337         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4338         (~dwarf2_per_objfile): Update
4339         (dwarf2_get_dwz_file): Use new.
4340         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4341         unique_ptr.
4342
4343 2018-05-18  Tom Tromey  <tom@tromey.com>
4344
4345         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4346         unique_ptr.
4347         * dwarf2read.c (struct dwp_file): Add constructor and
4348         initializers.
4349         (open_and_init_dwp_file): Return a unique_ptr.
4350         (dwarf2_per_objfile, create_dwp_hash_table)
4351         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4352         (lookup_dwo_unit_in_dwp): Update.
4353         (open_and_init_dwp_file, get_dwp_file): Update.
4354
4355 2018-05-18  Tom Tromey  <tom@tromey.com>
4356
4357         * dwarf2read.c (dwarf2_per_objfile): Update.
4358         (struct mapped_index): Add initializers.
4359         (dwarf2_read_index): Use new.
4360         (dw2_symtab_iter_init): Update.
4361         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4362         unique_ptr.
4363
4364 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4365
4366         * dwarf2read.c (mapped_index) <total_size>: Remove.
4367
4368 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4369
4370         * unittests/format_pieces-selftests.c (test_format_specifier):
4371         Add ARI comments.
4372
4373 2018-05-18  Tom Tromey  <tom@tromey.com>
4374
4375         * c-typeprint.c (maybe_print_hole): New function.
4376         (c_print_type_struct_field_offset): Update.
4377         (c_type_print_base_struct_union): Call maybe_print_hole.
4378
4379 2018-05-17  Keith Seitz  <keiths@redhat.com>
4380
4381         * breakpoint.c (build_bpstat_chain): New function, moved from
4382         bpstat_stop_status.
4383         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4384         If no stop chain is passed, call build_bpstat_chain to build it.
4385         * breakpoint.h (build_bpstat_chain): Declare.
4386         (bpstat_stop_status): Move documentation here from breakpoint.c.
4387         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4388         build the stop chain and pass it to skip_inline_frames.
4389         Pass this stop chain to bpstat_stop_status.
4390         * inline-frame.c: Include breakpoint.h.
4391         (stopped_by_user_bp_inline_frame): New function.
4392         (skip_inline_frames): Add parameter `stop_chain'.
4393         Move documention to inline-frame.h.
4394         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4395         whether the frame should be elided.
4396         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4397         Add moved documentation and update for new parameter.
4398
4399 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4400
4401         PR cli/14975
4402         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4403         unittests/format_pieces-selftests.c.
4404         * common/format.h (format_piece) <operator==>: New.
4405         (format_pieces) <operator[]>: Remove.
4406         * common/format.c (format_pieces::format_pieces): Handle \e.
4407         * unittests/format_pieces-selftests.c: New.
4408
4409 2018-05-17  Tom Tromey  <tom@tromey.com>
4410
4411         PR symtab/23010:
4412         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
4413         (dw2_instantiate_symtab): Add skip_partial parameter.
4414         (dw2_find_last_source_symtab, dw2_map_expand_apply)
4415         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
4416         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
4417         (dw2_expand_symtabs_matching_one)
4418         (dw2_find_pc_sect_compunit_symtab)
4419         (dw2_debug_names_lookup_symbol)
4420         (dw2_debug_names_expand_symtabs_for_function): Update.
4421         (init_cutu_and_read_dies): Add skip_partial parameter.
4422         (process_psymtab_comp_unit, build_type_psymtabs_1)
4423         (process_skeletonless_type_unit, load_partial_comp_unit)
4424         (psymtab_to_symtab_1): Update.
4425         (load_full_comp_unit): Add skip_partial parameter.
4426         (process_imported_unit_die, dwarf2_read_addr_index)
4427         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
4428         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
4429         (read_signatured_type): Update.
4430
4431 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4432
4433         * value.c (release_value): Remove unused variable.
4434         (record_latest_value): Likewise.
4435         (access_value_history): Likewise.
4436         (preserve_values): Likewise.
4437
4438 2018-05-17  Tom Tromey  <tom@tromey.com>
4439
4440         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
4441         Initialize.
4442
4443 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
4444
4445         PR gdb/22286
4446         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
4447         Also handle registers whose width is not a multiple of
4448         PTRACE_TYPE_RET.
4449         (linux_nat_trad_target::store_register): Likewise.
4450
4451 2018-05-16  Tom Tromey  <tom@tromey.com>
4452
4453         * gdbcore.h (core_bfd): Redefine.
4454         * corelow.c (core_target::close): Update.
4455         (core_target_open): Update.
4456         * progspace.h (struct program_space) <cbfd>: Now a
4457         gdb_bfd_ref_ptr.
4458
4459 2018-05-16  Tom Tromey  <tom@tromey.com>
4460
4461         PR cli/19551:
4462         * symfile-add-flags.h (enum symfile_add_flags)
4463         <SYMFILE_NOT_FILENAME>: New constant.
4464         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
4465         objfile name from BFD.
4466         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
4467         * minidebug.c (find_separate_debug_file_in_section): Put
4468         ".gnu_debugdata" into BFD's file name.
4469
4470 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
4471
4472         * regcache.c (regcache_read_ftype, regcache_write_ftype):
4473         Remove.
4474
4475 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
4476
4477         PR binutils/21446
4478         * aarch64-tdep.c (aarch64_analyze_prologue,
4479         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
4480         Indicate not interested in errors.
4481
4482 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4483
4484         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
4485         Supply the MIPS_ZERO_REGNUM register.
4486
4487 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4488
4489         * mips-tdep.c (mask_address_var): Make variable static.
4490
4491 2018-05-14  Tom Tromey  <tom@tromey.com>
4492
4493         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
4494
4495 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
4496
4497         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
4498         FXSAVE_ADDR for the mxcsr register.
4499
4500 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
4501
4502         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
4503
4504 2018-05-11  Pedro Alves  <palves@redhat.com>
4505
4506         * corelow.c (core_target) <core_target>: No longer inline.
4507         Initialize m_core_gdbarch, m_core_vec and build the section table
4508         here.
4509         <~core_target>: New.
4510         <core_gdbarch, get_core_register_section>: New methods.
4511         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
4512         factored out from ...
4513         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
4514         (core_ops): Delete.
4515         (sniff_core_bfd): Add gdbarch parameter.
4516         (core_close): Delete, merged into ...
4517         (core_target::close): ... here.  Delete self.
4518         (core_close_cleanup): Delete.
4519         (core_target_open): Allocate a core_target on the heap.  Use a
4520         unique_ptr instead of a cleanup.  Bits moved into the core_target
4521         ctor.  Adjust to use core_target methods instead of globals.
4522         (get_core_register_section): Rename to ...
4523         (core_target::get_core_register_section): ... this and adjust.
4524         (struct get_core_registers_cb_data): New.
4525         (get_core_registers_cb): Use it.  Use bool.
4526         (core_target::fetch_registers, core_target::files_info)
4527         (core_target::xfer_partial, core_target::read_description)
4528         (core_target::pid_to, core_target::thread_name): Adjust to
4529         reference class fields instead of globals.
4530         * target.h (struct target_ops_deleter, target_ops_up): New.
4531
4532 2018-05-11  Pedro Alves  <palves@redhat.com>
4533
4534         * corefile.c (core_file_command): Move to corelow.c.
4535         * corelow.c (the_core_target): Delete.
4536         (core_file_command): Moved from corefile.c.  Check exec_bfd
4537         instead of the_core_target.  Use target_detach instead of calling
4538         into the_core_target directly.
4539         (maybe_say_no_core_file_now): New.
4540         (core_target::detach): Use it.
4541         (_initialize_corelow): Remove references to the_core_target.
4542         * gdbcore.h (the_core_target): Delete.
4543
4544 2018-05-11  Tom Tromey  <tromey@redhat.com>
4545             Pedro Alves  <palves@redhat.com>
4546
4547         * corefile.c (core_bfd): Remove.
4548         * gdbcore.h (core_bfd): Now a macro.
4549         * progspace.h (struct program_space) <cbfd>: New field.
4550
4551 2018-05-11  Tom Tromey  <tom@tromey.com>
4552
4553         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
4554         gdb::def_vector.
4555
4556 2018-05-10  Tom Tromey  <tom@tromey.com>
4557
4558         * configure: Rebuild.
4559         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
4560
4561 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
4562
4563         PR server/23158:
4564         * regformats/regdat.sh: Adjust script, following the addition
4565         of the new expedite_regs parameter to init_target_desc.
4566
4567 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
4568     
4569         PR gdb/23127
4570         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
4571         set_gdbarch_significant_addr_bit.
4572         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
4573         set_gdbarch_significant_addr_bit.
4574         * utils.c (address_significant): Update to sign extend addr.
4575
4576 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
4577
4578         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
4579         (xtensa_linux_init_abi): Limit tdep->num_regs by
4580         tdep->num_nopriv_regs.
4581         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
4582         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
4583         not initialized.
4584
4585 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
4586
4587         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
4588
4589 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
4590
4591         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
4592         (I387_MXCSR_INIT_VAL): New constant.
4593         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
4594         buffer if it was supplied by the inferior.
4595         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
4596         (i387_xsave_get_clear_bv): New function.
4597         (i387_supply_xsave): Only read x87 control registers from the
4598         xsave buffer if the feature is enabled, and the state will have
4599         been written, otherwise, provide a suitable default.
4600         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
4601         including x87 control registers.  Update control registers if they
4602         have changed from the default value, and mark features as enabled
4603         as required.
4604         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
4605
4606 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
4607
4608         * spu-tdep.c (info_spu_event_command): Fix output formatting.
4609
4610 2018-05-07  Tom Tromey  <tom@tromey.com>
4611
4612         * configure: Rebuild.
4613         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
4614
4615 2018-05-07  Tom Tromey  <tom@tromey.com>
4616
4617         PR tdep/20362:
4618         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
4619         bit.  Use correct value for VDIV.
4620
4621 2018-05-04  Tom Tromey  <tom@tromey.com>
4622
4623         * configure: Rebuild.
4624         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
4625
4626 2018-05-04  Tom Tromey  <tom@tromey.com>
4627
4628         * linux-record.c (record_linux_system_call) <case
4629         RECORD_SYS_RECVFROM>: Add "break".
4630
4631 2018-05-04  Tom Tromey  <tom@tromey.com>
4632
4633         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
4634         Add missing "break".
4635         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
4636         Add missing "break".
4637
4638 2018-05-04  Tom Tromey  <tom@tromey.com>
4639
4640         * rs6000-tdep.c (ppc_process_record_op4)
4641         (ppc_process_record_op63): Add fall-through comment.
4642
4643 2018-05-04  Tom Tromey  <tom@tromey.com>
4644
4645         * i386-tdep.c (i386_process_record): Add fall-through comment.
4646
4647 2018-05-04  Tom Tromey  <tom@tromey.com>
4648
4649         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
4650         comment.
4651
4652 2018-05-04  Tom Tromey  <tom@tromey.com>
4653
4654         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
4655         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
4656         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
4657         comment.
4658         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
4659         comment.
4660         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
4661         comment.
4662
4663 2018-05-04  Tom Tromey  <tom@tromey.com>
4664
4665         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
4666
4667 2018-05-04  Tom Tromey  <tom@tromey.com>
4668
4669         * s390-tdep.c (s390_process_record): Fix fall-through comments.
4670         * xcoffread.c (scan_xcoff_symtab): Move comment later.
4671         * symfile.c (section_is_mapped): Fix fall-through comment.
4672         * stabsread.c (define_symbol, read_member_functions): Fix
4673         fall-through comment.
4674         * s390-linux-tdep.c (s390_process_record): Fix fall-through
4675         comment.
4676         * remote.c (remote_wait_as): Fix fall-through comment.
4677         * p-exp.y (yylex): Fix fall-through comment.
4678         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
4679         comment.
4680         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
4681         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
4682         * jv-exp.y (yylex): Fix fall-through comment.
4683         * go-exp.y (lex_one_token): Fix fall-through comment.
4684         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
4685         fall-through comment.
4686         * f-exp.y (yylex): Fix fall-through comment.
4687         * dwarf2read.c (process_die): Fix fall-through comments.
4688         * dbxread.c (process_one_symbol): Fix fall-through comment.
4689         * d-exp.y (lex_one_token): Fix fall-through comment.
4690         * cp-name-parser.y (yylex): Fix fall-through comment.
4691         * coffread.c (coff_symtab_read): Fix fall-through comment.
4692         * c-exp.y (lex_one_token): Fix fall-through comment.
4693         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
4694         comment.
4695         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
4696         comment.
4697
4698 2018-05-04  Tom Tromey  <tom@tromey.com>
4699
4700         PR python/22730:
4701         * NEWS: Mention gdb.execute change.
4702         * gdbcmd.h (execute_control_command): Don't declare.
4703         * python/python.c (execute_gdb_command): Use read_command_lines_1,
4704         execute_control_commands, execute_control_commands_to_string.
4705         * cli/cli-script.h (execute_control_commands)
4706         (execute_control_commands_to_string): Declare.
4707         (execute_control_command): Add from_tty parameter.
4708         * cli/cli-script.c (execute_control_commands)
4709         (execute_control_commands_to_string): New functions.
4710         (execute_user_command): Use execute_control_commands.
4711         (execute_control_command_1): Add "from_tty" parameter.  Update.
4712         (execute_control_command): Likewise.
4713
4714 2018-05-04  Tom Tromey  <tom@tromey.com>
4715
4716         PR python/22731:
4717         * NEWS: Mention that breakpoint commands are writable.
4718         * python/py-breakpoint.c (bppy_set_commands): New function.
4719         (breakpoint_object_getset) <"commands">: Use it.
4720
4721 2018-05-04  Tom Tromey  <tom@tromey.com>
4722
4723         * tracepoint.c (actions_command): Update.
4724         * mi/mi-cmd-break.c (mi_command_line_array)
4725         (mi_command_line_array_cnt, mi_command_line_array_ptr)
4726         (mi_read_next_line): Remove.
4727         (mi_cmd_break_commands): Update.
4728         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
4729         function_view.
4730         * cli/cli-script.c (get_command_line): Update.
4731         (process_next_line): Use function_view.  Constify.
4732         (recurse_read_control_structure, read_command_lines)
4733         (read_command_lines_1): Change argument types to function_view.
4734         (do_define_command, document_command): Update.
4735         * breakpoint.h (check_tracepoint_command): Don't declare.
4736         * breakpoint.c (check_tracepoint_command): Remove.
4737         (commands_command_1, create_tracepoint_from_upload): Update.
4738
4739 2018-05-04  Tom Tromey  <tom@tromey.com>
4740
4741         PR gdb/11750:
4742         * cli/cli-script.h (enum command_control_type) <define_control>:
4743         New constant.
4744         * cli/cli-script.c (multi_line_command_p): Handle define_control.
4745         (build_command_line, execute_control_command_1)
4746         (process_next_line): Likewise.
4747         (do_define_command): New function, extracted from define_command.
4748         (define_command): Use it.
4749
4750 2018-05-04  Tom Tromey  <tom@tromey.com>
4751
4752         * tracepoint.c (actions_command): Update.
4753         * cli/cli-script.h (read_command_lines): Update.
4754         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
4755         (MAX_TMPBUF): Remove define.
4756         (define_command): Use string_printf.
4757         (document_command): Likewise.
4758         * breakpoint.c (commands_command_1): Update.
4759
4760 2018-05-04  Tom Tromey  <tom@tromey.com>
4761
4762         * top.c (execute_command): Update.
4763         * cli/cli-script.h (print_command_lines): Now varargs.
4764         * cli/cli-script.c (print_command_lines): Now varargs.
4765         (execute_control_command_1) <case while_control, case if_control>:
4766         Update.
4767
4768 2018-05-04  Tom Tromey  <tom@tromey.com>
4769
4770         * tracepoint.c (all_tracepoint_actions): Rename from
4771         all_tracepoint_actions_and_cleanup.  Change return type.
4772         (actions_command, encode_actions_1, encode_actions)
4773         (trace_dump_actions, tdump_command): Update.
4774         * remote.c (remote_download_command_source): Update.
4775         * python/python.c (gdbpy_eval_from_control_command)
4776         (python_command, python_interactive_command): Update.
4777         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
4778         * guile/guile.c (guile_command)
4779         (gdbscm_eval_from_control_command, guile_command): Update.
4780         * compile/compile.c (compile_code_command)
4781         (compile_print_command, compile_to_object): Update.
4782         * cli/cli-script.h (struct command_lines_deleter): New.
4783         (counted_command_line): New typedef.
4784         (struct command_line): Add constructor, destructor.
4785         <body_list>: Remove.
4786         <body_list_0, body_list_1>: New members.
4787         (command_line_up): Remove typedef.
4788         (read_command_lines, read_command_lines_1, get_command_line):
4789         Update.
4790         (copy_command_lines): Don't declare.
4791         * cli/cli-script.c (build_command_line): Use "new".
4792         (get_command_line): Return counted_command_line.
4793         (print_command_lines, execute_user_command)
4794         (execute_control_command_1, while_command, if_command): Update.
4795         (realloc_body_list): Remove.
4796         (process_next_line, recurse_read_control_structure): Update.
4797         (read_command_lines, read_command_lines_1): Return counted_command_line.
4798         (free_command_lines): Use "delete".
4799         (copy_command_lines): Remove.
4800         (define_command, document_command, show_user_1): Update.
4801         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
4802         a counted_command_line.
4803         * breakpoint.h (counted_command_line): Remove typedef.
4804         (breakpoint_set_commands): Update.
4805         * breakpoint.c (check_no_tracepoint_commands)
4806         (validate_commands_for_breakpoint): Update.
4807         (breakpoint_set_commands): Change commands to be a
4808         counted_command_line.
4809         (commands_command_1, update_dprintf_command_list)
4810         (create_tracepoint_from_upload): Update.
4811
4812 2018-05-04  Tom Tromey  <tom@tromey.com>
4813
4814         * cli/cli-decode.h (cmd_list_element): New constructor.
4815         (~cmd_list_element): New destructor.
4816         (struct cmd_list_element): Add initializers.
4817         * cli/cli-decode.c (do_add_cmd): Use "new".
4818         (delete_cmd): Use "delete".
4819
4820 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
4821             Pedro Alves <palves@redhat.com>
4822
4823         PR breakpoints/19806 and support for PR external/20207.
4824         * NEWS: Mention Aarch64 watchpoint improvements.
4825         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
4826         watchpoints and PR external/20207 watchpoints.
4827         * nat/aarch64-linux-hw-point.c
4828         (kernel_supports_any_contiguous_range): New.
4829         (aarch64_watchpoint_offset): New.
4830         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
4831         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
4832         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
4833         (aarch64_align_watchpoint): New parameters aligned_offset_p and
4834         next_addr_orig_p.  Support PR external/20207 watchpoints.
4835         (aarch64_downgrade_regs): New.
4836         (aarch64_dr_state_insert_one_point): New parameters offset and
4837         addr_orig.
4838         (aarch64_dr_state_remove_one_point): Likewise.
4839         (aarch64_handle_breakpoint): Update caller.
4840         (aarch64_handle_aligned_watchpoint): Likewise.
4841         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
4842         aligned_offset.
4843         (aarch64_linux_set_debug_regs): Remove const from state.  Call
4844         aarch64_downgrade_regs.
4845         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
4846         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
4847         (DR_CONTROL_MASK): ... this.
4848         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
4849         (unsigned int aarch64_watchpoint_offset): New prototype.
4850         (aarch64_linux_set_debug_regs): Remove const from state.
4851         * utils.c (align_up, align_down): Move to ...
4852         * common/common-utils.c (align_up, align_down): ... here.
4853         * utils.h (align_up, align_down): Move to ...
4854         * common/common-utils.h (align_up, align_down): ... here.
4855
4856 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
4857
4858         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
4859         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
4860         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
4861         Re-implement to match the ABI as summarized in GCC's
4862         gcc/config/sparc/sparc.c.  All callers updated.
4863         (sparc32_store_arguments): Remove assertion.
4864
4865 2018-05-04  Tom Tromey  <tom@tromey.com>
4866
4867         * printcmd.c: Don't include tui.h.
4868         (decode_format): Use skip_spaces.
4869
4870 2018-05-04  Tom Tromey  <tom@tromey.com>
4871
4872         PR gdb/22619:
4873         * printcmd.c (last_count): New global.
4874         (x_command): Use saved count when repeating.
4875
4876 2018-05-04  Tom Tromey  <tom@tromey.com>
4877
4878         * nto-procfs.c (do_closedir_cleanup): Remove.
4879         (procfs_pidlist): Use gdb_dir_up.
4880         * procfs.c (do_closedir_cleanup): Remove.
4881         (proc_update_threads): Use gdb_dir_up.
4882         * common/filestuff.h (struct gdb_dir_deleter): New.
4883         (gdb_dir_up): New typedef.
4884
4885 2018-05-04  Tom Tromey  <tom@tromey.com>
4886
4887         * ada-lang.c (print_mention_exception): Use std::string.
4888
4889 2018-05-04  Tom Tromey  <tom@tromey.com>
4890
4891         * ada-lang.c (create_excep_cond_exprs): Update.
4892         (ada_exception_catchpoint_cond_string): Use std::string.
4893
4894 2018-05-04  Tom Tromey  <tom@tromey.com>
4895
4896         * ada-lang.c (xget_renaming_scope): Return std::string.
4897         (old_renaming_is_invisible): Update.
4898
4899 2018-05-04  Tom Tromey  <tom@tromey.com>
4900
4901         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
4902         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
4903
4904 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
4905
4906         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
4907
4908 2018-05-04  Tom Tromey  <tom@tromey.com>
4909
4910         * remote.c (remote_query_supported_append): Change type.
4911         (remote_check_symbols): Update.
4912
4913 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
4914
4915         PR gdb/11420
4916         * configure.ac: Prepend libpython.
4917         * python/python-config.py: Likewise.
4918         * configure: Regenerate.
4919
4920 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
4921
4922         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
4923
4924 2018-05-03  Pedro Alves  <palves@redhat.com>
4925
4926         * s390-linux-nat.c
4927         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
4928         override.  Write 'true' instead of '1'.
4929         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
4930         declaration.
4931
4932 2018-05-02  Pedro Alves  <palves@redhat.com>
4933
4934         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
4935         add_inf_child_target.
4936         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
4937         add_inf_child_target.
4938         * aix-thread.c (aix_thread_target_info): New.
4939         (aix_thread_target) <shortname, longname, doc>: Delete.
4940         <info>: New.
4941         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
4942         add_inf_child_target.
4943         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
4944         add_inf_child_target.
4945         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
4946         add_inf_child_target.
4947         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
4948         add_inf_child_target.
4949         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
4950         add_inf_child_target.
4951         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
4952         add_inf_child_target.
4953         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
4954         add_inf_child_target.
4955         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
4956         add_inf_child_target.
4957         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
4958         add_inf_child_target.
4959         * bfd-target.c (target_bfd_target_info): New.
4960         (target_bfd) <shortname, longname, doc>: Delete.
4961         <info>: New.
4962         * bsd-kvm.c (bsd_kvm_target_info): New.
4963         (bsd_kvm_target) <shortname, longname, doc>: Delete.
4964         <info>: New.
4965         (bsd_kvm_target::open): Rename to ...
4966         (bsd_kvm_target_open): ... this.  Adjust.
4967         * bsd-uthread.c (bsd_uthread_target_info): New.
4968         (bsd_uthread_target) <shortname, longname, doc>: Delete.
4969         <info>: New.
4970         * corefile.c (core_file_command): Adjust.
4971         * corelow.c (core_target_info): New.
4972         (core_target) <shortname, longname, doc>: Delete.
4973         <info>: New.
4974         (core_target::open): Rename to ...
4975         (core_target_open): ... this.  Adjust.
4976         * ctf.c (ctf_target_info): New.
4977         (ctf_target) <shortname, longname, doc>: Delete.
4978         <info>: New.
4979         (ctf_target::open): Rename to ...
4980         (ctf_target_open): ... this.
4981         (_initialize_ctf): Adjust.
4982         * exec.c (exec_target_info): New.
4983         (exec_target) <shortname, longname, doc>: Delete.
4984         <info>: New.
4985         (exec_target::open): Rename to ...
4986         (exec_target_open): ... this.
4987         * gdbcore.h (core_target_open): Declare.
4988         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
4989         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
4990         add_inf_child_target.
4991         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
4992         add_inf_child_target.
4993         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
4994         add_inf_child_target.
4995         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
4996         add_inf_child_target.
4997         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
4998         add_inf_child_target.
4999         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
5000         add_inf_child_target.
5001         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
5002         add_inf_child_target.
5003         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
5004         add_inf_child_target.
5005         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
5006         add_inf_child_target.
5007         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
5008         add_inf_child_target.
5009         * inf-child.c (inf_child_target_info): New.
5010         (inf_child_target::info): New.
5011         (inf_child_open_target): Remove 'target' parameter.  Use
5012         get_native_target instead.
5013         (inf_child_target::open): Delete.
5014         (add_inf_child_target): New.
5015         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
5016         Delete.
5017         <info>: New.
5018         (add_inf_child_target): Declare.
5019         (inf_child_open_target): Declare.
5020         * linux-thread-db.c (thread_db_target_info): New.
5021         (thread_db_target) <shortname, longname, doc>: Delete.
5022         <info>: New.
5023         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
5024         add_inf_child_target.
5025         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
5026         add_inf_child_target.
5027         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
5028         add_inf_child_target.
5029         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5030         add_inf_child_target.
5031         * make-target-delegates (print_class): Adjust.
5032         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5033         add_inf_child_target.
5034         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5035         add_inf_child_target.
5036         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5037         add_inf_child_target.
5038         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5039         add_inf_child_target.
5040         * nto-procfs.c (nto_native_target_info): New.
5041         (nto_procfs_target_native) <shortname, longname, doc>:
5042         Delete.
5043         <info>: New.
5044         (nto_procfs_target_info): New.
5045         (nto_procfs_target_procfs) <shortname, longname, doc>:
5046         Delete.
5047         <info>: New.
5048         (init_procfs_targets): Adjust.
5049         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5050         add_inf_child_target.
5051         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5052         add_inf_child_target.
5053         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5054         add_inf_child_target.
5055         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5056         add_inf_child_target.
5057         * ravenscar-thread.c (ravenscar_target_info): New.
5058         (ravenscar_thread_target) <shortname, longname, doc>:
5059         Delete.
5060         <info>: New.
5061         * record-btrace.c (record_btrace_target_info):
5062         (record_btrace_target) <shortname, longname, doc>: Delete.
5063         <info>: New.
5064         (record_btrace_target::open): Rename to ...
5065         (record_btrace_target_open): ... this.  Adjust.
5066         * record-full.c (record_longname, record_doc): New.
5067         (record_full_base_target) <shortname, longname, doc>: Delete.
5068         <info>: New.
5069         (record_full_target_info): New.
5070         (record_full_target): <shortname>: Delete.
5071         <info>: New.
5072         (record_full_core_open_1, record_full_open_1): Update comments.
5073         (record_full_base_target::open): Rename to ...
5074         (record_full_open): ... this.
5075         (cmd_record_full_restore): Update.
5076         (_initialize_record_full): Update.
5077         * remote-sim.c (remote_sim_target_info): New.
5078         (gdbsim_target) <shortname, longname, doc>: Delete.
5079         <info>: New.
5080         (gdbsim_target::open): Rename to ...
5081         (gdbsim_target_open): ... this.
5082         (_initialize_remote_sim): Adjust.
5083         * remote.c (remote_doc): New.
5084         (remote_target_info): New.
5085         (remote_target) <shortname, longname, doc>: Delete.
5086         <info>: New.
5087         (extended_remote_target_info): New.
5088         (extended_remote_target) <shortname, longname, doc>: Delete.
5089         <info>: New.
5090         (remote_target::open_1): Make static.  Adjust.
5091         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5092         * s390-linux-nat.c (_initialize_s390_nat): Use
5093         add_inf_child_target.
5094         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5095         add_inf_child_target.
5096         * sol-thread.c (thread_db_target_info): New.
5097         (sol_thread_target) <shortname, longname, doc>: Delete.
5098         <info>: New.
5099         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5100         add_inf_child_target.
5101         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5102         add_inf_child_target.
5103         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5104         add_inf_child_target.
5105         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5106         add_inf_child_target.
5107         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5108         add_inf_child_target.
5109         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5110         add_inf_child_target.
5111         * spu-linux-nat.c (_initialize_spu_nat): Use
5112         add_inf_child_target.
5113         * spu-multiarch.c (spu_multiarch_target_info): New.
5114         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5115         <info>: New.
5116         * target-delegates.c: Regenerate.
5117         * target.c: Include <unordered_map>.
5118         (target_ops_p): Delete.
5119         (DEF_VEC_P(target_ops_p)): Delete.
5120         (target_factories): New.
5121         (test_target_info): New.
5122         (test_target_ops::info): New.
5123         (open_target): Adjust to use target_factories.
5124         (add_target_with_completer): Rename to ...
5125         (add_target): ... this.  Change prototype.  Register target_info
5126         and open callback in target_factories.  Register target_info in
5127         command context instead of target_ops.
5128         (add_target): Delete old implementation.
5129         (add_deprecated_target_alias): Change prototype.  Adjust.
5130         (the_native_target): New.
5131         (set_native_target, get_native_target): New.
5132         (find_default_run_target): Use the_native_target.
5133         (find_attach_target, find_run_target): Simplify.
5134         (target_ops::open): Delete.
5135         (dummy_target_info): New.
5136         (dummy_target::shortname, dummy_target::longname)
5137         (dummy_target::doc): Delete.
5138         (dummy_target::info): New.
5139         (debug_target::shortname, debug_target::longname)
5140         (debug_target::doc): Delete.
5141         (debug_target::info): New.
5142         * target.h (struct target_info): New.
5143         (target_ops::~target_ops): Add comment.
5144         (target_ops::info): New.
5145         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5146         longer virtual.  Implement in terms of target_info.
5147         (set_native_target, get_native_target): Declare.
5148         (target_open_ftype): New.
5149         (add_target, add_target_with_completer)
5150         (add_deprecated_target_alias): Change prototype.
5151         (test_target) <shortname, longname, doc>: Delete.
5152         <info>: New.
5153         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5154         add_inf_child_target.
5155         * tracefile-tfile.c (tfile_target_info): New.
5156         (tfile_target) <shortname, longname, doc>: Delete.
5157         <info>: New.
5158         (tfile_target::open): Rename to ...
5159         (tfile_target_open): ... this.
5160         (_initialize_tracefile_tfile): Adjust.
5161         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5162         add_inf_child_target.
5163         * windows-nat.c (_initialize_windows_nat): Use
5164         add_inf_child_target.
5165         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5166         add_inf_child_target.
5167
5168 2018-05-02  Pedro Alves  <palves@redhat.com>
5169
5170         * linux-nat.h (linux_nat_target) <low_new_thread,
5171         low_delete_thread, low_new_fork, low_forget_process,
5172         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5173         New virtual methods.
5174         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5175         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5176         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5177         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5178         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5179         Delete.
5180         * linux-fork.c (delete_fork): Adjust to call low method.
5181         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5182         (linux_nat_new_fork, linux_nat_forget_process_hook)
5183         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5184         (linux_nat_status_is_event):
5185         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5186         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5187         to call low method.
5188         (sigtrap_is_event): Rename to ...
5189         (linux_nat_target::low_status_is_event): ... this.
5190         (linux_nat_set_status_is_event): Delete.
5191         (save_stop_reason, linux_nat_wait_1)
5192         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5193         low methods.
5194         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5195         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5196         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5197         (linux_nat_set_prepare_to_resume): Delete.
5198         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5199         low virtual methods.
5200         * amd64-linux-nat.c: Likewise.
5201         * arm-linux-nat.c: Likewise.
5202         * i386-linux-nat.c: Likewise.
5203         * ia64-linux-nat.c: Likewise.
5204         * mips-linux-nat.c: Likewise.
5205         * ppc-linux-nat.c: Likewise.
5206         * s390-linux-nat.c: Likewise.
5207         * sparc64-linux-nat.c: Likewise.
5208         * x86-linux-nat.c: Likewise.
5209         * x86-linux-nat.h: Include "nat/x86-linux.h".
5210         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5211         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5212         Override methods.
5213
5214 2018-05-02  Pedro Alves  <palves@redhat.com>
5215
5216         * target.h (target_ops)
5217         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5218         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5219         stopped_by_watchpoint, have_continuable_watchpoint,
5220         stopped_data_address, watchpoint_addr_within_range,
5221         can_accel_watchpoint_condition, can_run, thread_alive,
5222         has_all_memory, has_memory, has_stack, has_registers,
5223         has_execution, can_async_p, is_async_p, supports_non_stop,
5224         always_non_stop_p, can_execute_reverse, supports_multi_process,
5225         supports_enable_disable_tracepoint,
5226         supports_disable_randomization, supports_string_tracing,
5227         supports_evaluation_of_breakpoint_conditions,
5228         can_run_breakpoint_commands, filesystem_is_local,
5229         can_download_tracepoint, get_trace_state_variable_value,
5230         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5231         record_is_replaying, record_will_replay,
5232         augmented_libraries_svr4_read>: Adjust to return bool.
5233         * aarch64-linux-nat.c: All implementations adjusted.
5234         * aix-thread.c: All implementations adjusted.
5235         * arm-linux-nat.c: All implementations adjusted.
5236         * breakpoint.c: All implementations adjusted.
5237         * bsd-kvm.c: All implementations adjusted.
5238         * bsd-uthread.c: All implementations adjusted.
5239         * corelow.c: All implementations adjusted.
5240         * ctf.c: All implementations adjusted.
5241         * darwin-nat.c: All implementations adjusted.
5242         * darwin-nat.h: All implementations adjusted.
5243         * exec.c: All implementations adjusted.
5244         * fbsd-nat.c: All implementations adjusted.
5245         * fbsd-nat.h: All implementations adjusted.
5246         * gnu-nat.c: All implementations adjusted.
5247         * gnu-nat.h: All implementations adjusted.
5248         * go32-nat.c: All implementations adjusted.
5249         * ia64-linux-nat.c: All implementations adjusted.
5250         * inf-child.c: All implementations adjusted.
5251         * inf-child.h: All implementations adjusted.
5252         * inf-ptrace.c: All implementations adjusted.
5253         * inf-ptrace.h: All implementations adjusted.
5254         * linux-nat.c: All implementations adjusted.
5255         * linux-nat.h: All implementations adjusted.
5256         * mips-linux-nat.c: All implementations adjusted.
5257         * nto-procfs.c: All implementations adjusted.
5258         * ppc-linux-nat.c: All implementations adjusted.
5259         * procfs.c: All implementations adjusted.
5260         * ravenscar-thread.c: All implementations adjusted.
5261         * record-btrace.c: All implementations adjusted.
5262         * record-full.c: All implementations adjusted.
5263         * remote-sim.c: All implementations adjusted.
5264         * remote.c: All implementations adjusted.
5265         * s390-linux-nat.c: All implementations adjusted.
5266         * sol-thread.c: All implementations adjusted.
5267         * spu-multiarch.c: All implementations adjusted.
5268         * target-delegates.c: All implementations adjusted.
5269         * target.c: All implementations adjusted.
5270         * target.h: All implementations adjusted.
5271         * tracefile-tfile.c: All implementations adjusted.
5272         * tracefile.c: All implementations adjusted.
5273         * tracefile.h: All implementations adjusted.
5274         * windows-nat.c: All implementations adjusted.
5275         * x86-linux-nat.h: All implementations adjusted.
5276         * x86-nat.h: All implementations adjusted.
5277
5278 2018-05-02  Pedro Alves  <palves@redhat.com>
5279
5280         * make-target-delegates (scan_target_h): Don't trim lines here.
5281         Replace sequences of tabs and/or whitespace with a single
5282         whitespace.
5283         (top level, parsing methods): Trim each line before processing it
5284         here.
5285
5286 2018-05-02  Pedro Alves  <palves@redhat.com>
5287             John Baldwin  <jhb@freebsd.org>
5288
5289         * target.h (enum strata) <debug_stratum>: New.
5290         (struct target_ops) <all delegation methods>: Replace by C++
5291         virtual methods, and drop "to_" prefix.  All references updated
5292         throughout.
5293         <to_shortname, to_longname, to_doc, to_data,
5294         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5295         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5296         virtual methods.  All references updated throughout.
5297         <can_attach, supports_terminal_ours, can_create_inferior,
5298         get_thread_control_capabilities, attach_no_wait>: New
5299         virtual methods.
5300         <insert_breakpoint, remove_breakpoint>: Now
5301         TARGET_DEFAULT_NORETURN methods.
5302         <info_proc>: Now returns bool.
5303         <to_magic>: Delete.
5304         (OPS_MAGIC): Delete.
5305         (current_target): Delete.  All references replaced by references
5306         to ...
5307         (target_stack): ... this.  New.
5308         (target_shortname, target_longname): Adjust.
5309         (target_can_run): Now a function declaration.
5310         (default_child_has_all_memory, default_child_has_memory)
5311         (default_child_has_stack, default_child_has_registers)
5312         (default_child_has_execution): Remove target_ops parameter.
5313         (complete_target_initialization): Delete.
5314         (memory_breakpoint_target): New template class.
5315         (test_target_ops): Refactor as a C++ class with virtual methods.
5316         * make-target-delegates (NAME_PART): Tighten.
5317         (POINTER_PART, CP_SYMBOL): New.
5318         (SIMPLE_RETURN_PART): Reimplement.
5319         (VEC_RETURN_PART): Expect less.
5320         (RETURN_PART, VIRTUAL_PART): New.
5321         (METHOD): Adjust to C++ virtual methods.
5322         (scan_target_h): Remove reference to C99.
5323         (dname): Output "target_ops::" prefix.
5324         (write_function_header): Adjust to output a C++ class method.
5325         (write_declaration): New.
5326         (write_delegator): Adjust to output a C++ class method.
5327         (tdname): Output "dummy_target::" prefix.
5328         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5329         method.
5330         (tdefault_names, debug_names): Delete.
5331         (return_types, tdefaults, styles, argtypes_array): New.
5332         (top level): All methods are delegators.
5333         (print_class): New.
5334         (top level): Print dummy_target and debug_target classes.
5335         * target-delegates.c: Regenerate.
5336         * target-debug.h (target_debug_print_enum_info_proc_what)
5337         (target_debug_print_thread_control_capabilities)
5338         (target_debug_print_thread_info_p): New.
5339         * target.c (dummy_target): Delete.
5340         (the_dummy_target, the_debug_target): New.
5341         (target_stack): Now extern.
5342         (set_targetdebug): Push/unpush debug target.
5343         (default_child_has_all_memory, default_child_has_memory)
5344         (default_child_has_stack, default_child_has_registers)
5345         (default_child_has_execution): Remove target_ops parameter.
5346         (complete_target_initialization): Delete.
5347         (add_target_with_completer): No longer call
5348         complete_target_initialization.
5349         (target_supports_terminal_ours): Use regular delegation.
5350         (update_current_target): Delete.
5351         (push_target): No longer check magic number.  Don't call
5352         update_current_target.
5353         (unpush_target): Don't call update_current_target.
5354         (target_is_pushed): No longer check magic number.
5355         (target_require_runnable): Skip for all stratums over
5356         process_stratum.
5357         (target_ops::info_proc): New.
5358         (target_info_proc): Use find_target_at and
5359         find_default_run_target.
5360         (target_supports_disable_randomization): Use regular delegation.
5361         (target_get_osdata): Use find_target_at.
5362         (target_ops::open, target_ops::close, target_ops::can_attach)
5363         (target_ops::attach, target_ops::can_create_inferior)
5364         (target_ops::create_inferior, target_ops::can_run)
5365         (target_can_run): New.
5366         (default_fileio_target): Use regular delegation.
5367         (target_ops::fileio_open, target_ops::fileio_pwrite)
5368         (target_ops::fileio_pread, target_ops::fileio_fstat)
5369         (target_ops::fileio_close, target_ops::fileio_unlink)
5370         (target_ops::fileio_readlink): New.
5371         (target_fileio_open_1, target_fileio_unlink)
5372         (target_fileio_readlink): Always call the target method.  Handle
5373         FILEIO_ENOSYS.
5374         (return_zero, return_zero_has_execution): Delete.
5375         (init_dummy_target): Delete.
5376         (dummy_target::dummy_target, dummy_target::shortname)
5377         (dummy_target::longname, dummy_target::doc)
5378         (debug_target::debug_target, debug_target::shortname)
5379         (debug_target::longname, debug_target::doc): New.
5380         (target_supports_delete_record): Use regular delegation.
5381         (setup_target_debug): Delete.
5382         (maintenance_print_target_stack): Skip debug_stratum.
5383         (initialize_targets): Instantiate the_dummy_target and
5384         the_debug_target.
5385         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5386         use target_stack.
5387         (target_auxv_search, fprint_target_auxv): Adjust.
5388         (info_auxv_command): Adjust to use target_stack.
5389         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5390         * exceptions.c (print_flush): Handle a NULL target_stack.
5391         * regcache.c (target_ops_no_register): Refactor as class with
5392         virtual methods.
5393
5394         * exec.c (exec_target): New class.
5395         (exec_ops): Now an exec_target.
5396         (exec_open, exec_close_1, exec_get_section_table)
5397         (exec_xfer_partial, exec_files_info, exec_has_memory)
5398         (exec_make_note_section): Refactor as exec_target methods.
5399         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5400         Delete.
5401         (exec_target::find_memory_regions): New.
5402         (_initialize_exec): Don't call init_exec_ops.
5403         * gdbcore.h (exec_file_clear): Delete.
5404
5405         * corefile.c (core_target): Delete.
5406         (core_file_command): Adjust.
5407         * corelow.c (core_target): New class.
5408         (the_core_target): New.
5409         (core_close): Remove target_ops parameter.
5410         (core_close_cleanup): Adjust.
5411         (core_target::close): New.
5412         (core_open, core_detach, get_core_registers, core_files_info)
5413         (core_xfer_partial, core_thread_alive, core_read_description)
5414         (core_pid_to_str, core_thread_name, core_has_memory)
5415         (core_has_stack, core_has_registers, core_info_proc): Rework as
5416         core_target methods.
5417         (ignore, core_remove_breakpoint, init_core_ops): Delete.
5418         (_initialize_corelow): Initialize the_core_target.
5419         * gdbcore.h (core_target): Delete.
5420         (the_core_target): New.
5421
5422         * ctf.c: (ctf_target): New class.
5423         (ctf_ops): Now a ctf_target.
5424         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
5425         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
5426         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
5427         methods.
5428         (init_ctf_ops): Delete.
5429         (_initialize_ctf): Don't call it.
5430         * tracefile-tfile.c (tfile_target): New class.
5431         (tfile_ops): Now a tfile_target.
5432         (tfile_open, tfile_close, tfile_files_info)
5433         (tfile_get_tracepoint_status, tfile_trace_find)
5434         (tfile_fetch_registers, tfile_xfer_partial)
5435         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
5436         Refactor as tfile_target methods.
5437         (tfile_xfer_partial_features): Remove target_ops parameter.
5438         (init_tfile_ops): Delete.
5439         (_initialize_tracefile_tfile): Don't call it.
5440         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
5441         (tracefile_has_stack, tracefile_has_registers)
5442         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
5443         tracefile_target methods.
5444         (init_tracefile_ops): Delete.
5445         (tracefile_target::tracefile_target): New.
5446         * tracefile.h: Include "target.h".
5447         (tracefile_target): New class.
5448         (init_tracefile_ops): Delete.
5449
5450         * spu-multiarch.c (spu_multiarch_target): New class.
5451         (spu_ops): Now a spu_multiarch_target.
5452         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
5453         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
5454         (spu_search_memory, spu_mourn_inferior): Refactor as
5455         spu_multiarch_target methods.
5456         (init_spu_ops): Delete.
5457         (_initialize_spu_multiarch): Remove references to init_spu_ops,
5458         complete_target_initialization.
5459
5460         * ravenscar-thread.c (ravenscar_thread_target): New class.
5461         (ravenscar_ops): Now a ravenscar_thread_target.
5462         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
5463         (ravenscar_thread_alive, ravenscar_pid_to_str)
5464         (ravenscar_fetch_registers, ravenscar_store_registers)
5465         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
5466         (ravenscar_stopped_by_hw_breakpoint)
5467         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
5468         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
5469         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
5470         methods.
5471         (init_ravenscar_thread_ops): Delete.
5472         (_initialize_ravenscar): Remove references to
5473         init_ravenscar_thread_ops and complete_target_initialization.
5474
5475         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
5476         (bsd_uthread_target): New class.
5477         (bsd_uthread_ops): Now a bsd_uthread_target.
5478         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
5479         (bsd_uthread_close, bsd_uthread_mourn_inferior)
5480         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
5481         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
5482         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
5483         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
5484         (bsd_uthread_target): Delete function.
5485         (_initialize_bsd_uthread): Remove reference to
5486         complete_target_initialization.
5487
5488         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
5489         (target_bfd): ... this new class.
5490         (target_bfd_xfer_partial, target_bfd_get_section_table)
5491         (target_bfd_close): Refactor as target_bfd methods.
5492         (target_bfd::~target_bfd): New.
5493         (target_bfd_reopen): Adjust.
5494         (target_bfd::close): New.
5495
5496         * record-btrace.c (record_btrace_target): New class.
5497         (record_btrace_ops): Now a record_btrace_target.
5498         (record_btrace_open, record_btrace_stop_recording)
5499         (record_btrace_disconnect, record_btrace_close)
5500         (record_btrace_async, record_btrace_info)
5501         (record_btrace_insn_history, record_btrace_insn_history_range)
5502         (record_btrace_insn_history_from, record_btrace_call_history)
5503         (record_btrace_call_history_range)
5504         (record_btrace_call_history_from, record_btrace_record_method)
5505         (record_btrace_is_replaying, record_btrace_will_replay)
5506         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
5507         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
5508         (record_btrace_store_registers, record_btrace_prepare_to_store)
5509         (record_btrace_to_get_unwinder)
5510         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
5511         (record_btrace_commit_resume, record_btrace_wait)
5512         (record_btrace_stop, record_btrace_can_execute_reverse)
5513         (record_btrace_stopped_by_sw_breakpoint)
5514         (record_btrace_supports_stopped_by_sw_breakpoint)
5515         (record_btrace_stopped_by_hw_breakpoint)
5516         (record_btrace_supports_stopped_by_hw_breakpoint)
5517         (record_btrace_update_thread_list, record_btrace_thread_alive)
5518         (record_btrace_goto_begin, record_btrace_goto_end)
5519         (record_btrace_goto, record_btrace_stop_replaying_all)
5520         (record_btrace_execution_direction)
5521         (record_btrace_prepare_to_generate_core)
5522         (record_btrace_done_generating_core): Refactor as
5523         record_btrace_target methods.
5524         (init_record_btrace_ops): Delete.
5525         (_initialize_record_btrace): Remove reference to
5526         init_record_btrace_ops.
5527         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
5528         the execution_direction global.
5529         (record_full_base_target, record_full_target)
5530         (record_full_core_target): New classes.
5531         (record_full_ops): Now a record_full_target.
5532         (record_full_core_ops): Now a record_full_core_target.
5533         (record_full_target::detach, record_full_target::disconnect)
5534         (record_full_core_target::disconnect)
5535         (record_full_target::mourn_inferior, record_full_target::kill):
5536         New.
5537         (record_full_open, record_full_close, record_full_async): Refactor
5538         as methods of the record_full_base_target class.
5539         (record_full_resume, record_full_commit_resume): Refactor
5540         as methods of the record_full_target class.
5541         (record_full_wait, record_full_stopped_by_watchpoint)
5542         (record_full_stopped_data_address)
5543         (record_full_stopped_by_sw_breakpoint)
5544         (record_full_supports_stopped_by_sw_breakpoint)
5545         (record_full_stopped_by_hw_breakpoint)
5546         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
5547         methods of the record_full_base_target class.
5548         (record_full_store_registers, record_full_xfer_partial)
5549         (record_full_insert_breakpoint, record_full_remove_breakpoint):
5550         Refactor as methods of the record_full_target class.
5551         (record_full_can_execute_reverse, record_full_get_bookmark)
5552         (record_full_goto_bookmark, record_full_execution_direction)
5553         (record_full_record_method, record_full_info, record_full_delete)
5554         (record_full_is_replaying, record_full_will_replay)
5555         (record_full_goto_begin, record_full_goto_end, record_full_goto)
5556         (record_full_stop_replaying): Refactor as methods of the
5557         record_full_base_target class.
5558         (record_full_core_resume, record_full_core_kill)
5559         (record_full_core_fetch_registers)
5560         (record_full_core_prepare_to_store)
5561         (record_full_core_store_registers, record_full_core_xfer_partial)
5562         (record_full_core_insert_breakpoint)
5563         (record_full_core_remove_breakpoint)
5564         (record_full_core_has_execution): Refactor
5565         as methods of the record_full_core_target class.
5566         (record_full_base_target::supports_delete_record): New.
5567         (init_record_full_ops): Delete.
5568         (init_record_full_core_ops): Delete.
5569         (record_full_save): Refactor as method of the
5570         record_full_base_target class.
5571         (_initialize_record_full): Remove references to
5572         init_record_full_ops and init_record_full_core_ops.
5573
5574         * remote.c (remote_target, extended_remote_target): New classes.
5575         (remote_ops): Now a remote_target.
5576         (extended_remote_ops): Now an extended_remote_target.
5577         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
5578         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
5579         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
5580         (remote_pass_signals, remote_set_syscall_catchpoint)
5581         (remote_program_signals, )
5582         (remote_thread_always_alive): Remove target_ops parameter.
5583         (remote_thread_alive, remote_thread_name)
5584         (remote_update_thread_list, remote_threads_extra_info)
5585         (remote_static_tracepoint_marker_at)
5586         (remote_static_tracepoint_markers_by_strid)
5587         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
5588         (remote_open): Refactor as methods of remote_target.
5589         (extended_remote_open, extended_remote_detach)
5590         (extended_remote_attach, extended_remote_post_attach):
5591         (extended_remote_supports_disable_randomization)
5592         (extended_remote_create_inferior): : Refactor as method of
5593         extended_remote_target.
5594         (remote_set_permissions, remote_open_1, remote_detach)
5595         (remote_follow_fork, remote_follow_exec, remote_disconnect)
5596         (remote_resume, remote_commit_resume, remote_stop)
5597         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
5598         (remote_terminal_ours, remote_wait, remote_fetch_registers)
5599         (remote_prepare_to_store, remote_store_registers)
5600         (remote_flash_erase, remote_flash_done, remote_files_info)
5601         (remote_kill, remote_mourn, remote_insert_breakpoint)
5602         (remote_remove_breakpoint, remote_insert_watchpoint)
5603         (remote_watchpoint_addr_within_range)
5604         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
5605         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
5606         (remote_supports_stopped_by_sw_breakpoint)
5607         (remote_stopped_by_hw_breakpoint)
5608         (remote_supports_stopped_by_hw_breakpoint)
5609         (remote_stopped_by_watchpoint, remote_stopped_data_address)
5610         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
5611         (remote_verify_memory): Refactor as methods of remote_target.
5612         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
5613         parameter.
5614         (remote_xfer_partial, remote_get_memory_xfer_limit)
5615         (remote_search_memory, remote_rcmd, remote_memory_map)
5616         (remote_pid_to_str, remote_get_thread_local_address)
5617         (remote_get_tib_address, remote_read_description): Refactor as
5618         methods of remote_target.
5619         (remote_target::fileio_open, remote_target::fileio_pwrite)
5620         (remote_target::fileio_pread, remote_target::fileio_close): New.
5621         (remote_hostio_readlink, remote_hostio_fstat)
5622         (remote_filesystem_is_local, remote_can_execute_reverse)
5623         (remote_supports_non_stop, remote_supports_disable_randomization)
5624         (remote_supports_multi_process, remote_supports_cond_breakpoints)
5625         (remote_supports_enable_disable_tracepoint)
5626         (remote_supports_string_tracing)
5627         (remote_can_run_breakpoint_commands, remote_trace_init)
5628         (remote_download_tracepoint, remote_can_download_tracepoint)
5629         (remote_download_trace_state_variable, remote_enable_tracepoint)
5630         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
5631         (remote_trace_start, remote_get_trace_status)
5632         (remote_get_tracepoint_status, remote_trace_stop)
5633         (remote_trace_find, remote_get_trace_state_variable_value)
5634         (remote_save_trace_data, remote_get_raw_trace_data)
5635         (remote_set_disconnected_tracing, remote_core_of_thread)
5636         (remote_set_circular_trace_buffer, remote_traceframe_info)
5637         (remote_get_min_fast_tracepoint_insn_len)
5638         (remote_set_trace_buffer_size, remote_set_trace_notes)
5639         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
5640         (remote_disable_btrace, remote_teardown_btrace)
5641         (remote_read_btrace, remote_btrace_conf)
5642         (remote_augmented_libraries_svr4_read, remote_load)
5643         (remote_pid_to_exec_file, remote_can_do_single_step)
5644         (remote_execution_direction, remote_thread_handle_to_thread_info):
5645         Refactor as methods of remote_target.
5646         (init_remote_ops, init_extended_remote_ops): Delete.
5647         (remote_can_async_p, remote_is_async_p, remote_async)
5648         (remote_thread_events, remote_upload_tracepoints)
5649         (remote_upload_trace_state_variables): Refactor as methods of
5650         remote_target.
5651         (_initialize_remote): Remove references to init_remote_ops and
5652         init_extended_remote_ops.
5653
5654         * remote-sim.c (gdbsim_target): New class.
5655         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
5656         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
5657         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
5658         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
5659         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
5660         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
5661         Refactor as methods of gdbsim_target.
5662         (gdbsim_ops): Now a gdbsim_target.
5663         (init_gdbsim_ops): Delete.
5664         (gdbsim_cntrl_c): Adjust.
5665         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
5666
5667         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
5668         (the_amd64_linux_nat_target): New.
5669         (amd64_linux_fetch_inferior_registers)
5670         (amd64_linux_store_inferior_registers): Refactor as methods of
5671         amd64_linux_nat_target.
5672         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
5673         * i386-linux-nat.c: Don't include "linux-nat.h".
5674         (i386_linux_nat_target): New class.
5675         (the_i386_linux_nat_target): New.
5676         (i386_linux_fetch_inferior_registers)
5677         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
5678         as methods of i386_linux_nat_target.
5679         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
5680         * inf-child.c (inf_child_ops): Delete.
5681         (inf_child_fetch_inferior_registers)
5682         (inf_child_store_inferior_registers): Delete.
5683         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
5684         methods of inf_child_target.
5685         (inf_child_target::supports_terminal_ours)
5686         (inf_child_target::terminal_init)
5687         (inf_child_target::terminal_inferior)
5688         (inf_child_target::terminal_ours_for_output)
5689         (inf_child_target::terminal_ours, inf_child_target::interrupt)
5690         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
5691         New.
5692         (inf_child_open, inf_child_disconnect, inf_child_close)
5693         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
5694         (inf_child_post_startup_inferior, inf_child_can_run)
5695         (inf_child_pid_to_exec_file): Refactor as methods of
5696         inf_child_target.
5697         (inf_child_follow_fork): Delete.
5698         (inf_child_target::can_create_inferior)
5699         (inf_child_target::can_attach): New.
5700         (inf_child_target::has_all_memory, inf_child_target::has_memory)
5701         (inf_child_target::has_stack, inf_child_target::has_registers)
5702         (inf_child_target::has_execution): New.
5703         (inf_child_fileio_open, inf_child_fileio_pwrite)
5704         (inf_child_fileio_pread, inf_child_fileio_fstat)
5705         (inf_child_fileio_close, inf_child_fileio_unlink)
5706         (inf_child_fileio_readlink, inf_child_use_agent)
5707         (inf_child_can_use_agent): Refactor as methods of
5708         inf_child_target.
5709         (return_zero, inf_child_target): Delete.
5710         (inf_child_target::inf_child_target): New.
5711         * inf-child.h: Include "target.h".
5712         (inf_child_target): Delete function prototype.
5713         (inf_child_target): New class.
5714         (inf_child_open_target, inf_child_mourn_inferior)
5715         (inf_child_maybe_unpush_target): Delete.
5716         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
5717         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
5718         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
5719         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
5720         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
5721         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
5722         (inf_ptrace_wait, inf_ptrace_xfer_partial)
5723         (inf_ptrace_thread_alive, inf_ptrace_files_info)
5724         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
5725         methods of inf_ptrace_target.
5726         (inf_ptrace_target): Delete function.
5727         * inf-ptrace.h: Include "inf-child.h".
5728         (inf_ptrace_target): Delete function declaration.
5729         (inf_ptrace_target): New class.
5730         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
5731         * linux-nat.c (linux_target): New.
5732         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
5733         (linux_nat_target::~linux_nat_target): New.
5734         (linux_child_post_attach, linux_child_post_startup_inferior)
5735         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
5736         (linux_child_remove_fork_catchpoint)
5737         (linux_child_insert_vfork_catchpoint)
5738         (linux_child_remove_vfork_catchpoint)
5739         (linux_child_insert_exec_catchpoint)
5740         (linux_child_remove_exec_catchpoint)
5741         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
5742         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
5743         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
5744         (linux_nat_stopped_data_address)
5745         (linux_nat_stopped_by_sw_breakpoint)
5746         (linux_nat_supports_stopped_by_sw_breakpoint)
5747         (linux_nat_stopped_by_hw_breakpoint)
5748         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
5749         (linux_nat_kill, linux_nat_mourn_inferior)
5750         (linux_nat_xfer_partial, linux_nat_thread_alive)
5751         (linux_nat_update_thread_list, linux_nat_pid_to_str)
5752         (linux_nat_thread_name, linux_child_pid_to_exec_file)
5753         (linux_child_static_tracepoint_markers_by_strid)
5754         (linux_nat_is_async_p, linux_nat_can_async_p)
5755         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
5756         (linux_nat_supports_multi_process)
5757         (linux_nat_supports_disable_randomization, linux_nat_async)
5758         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
5759         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
5760         (linux_nat_fileio_open, linux_nat_fileio_readlink)
5761         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
5762         methods of linux_nat_target.
5763         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
5764         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
5765         parameter.
5766         (check_stopped_by_watchpoint): Adjust.
5767         (linux_xfer_partial): Delete.
5768         (linux_target_install_ops, linux_target, linux_nat_add_target):
5769         Delete.
5770         (linux_nat_target::linux_nat_target): New.
5771         * linux-nat.h: Include "inf-ptrace.h".
5772         (linux_nat_target): New.
5773         (linux_target, linux_target_install_ops, linux_nat_add_target):
5774         Delete function declarations.
5775         (linux_target): Declare global.
5776         * linux-thread-db.c (thread_db_target): New.
5777         (thread_db_target::thread_db_target): New.
5778         (thread_db_ops): Delete.
5779         (the_thread_db_target): New.
5780         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
5781         (thread_db_update_thread_list, thread_db_pid_to_str)
5782         (thread_db_extra_thread_info)
5783         (thread_db_thread_handle_to_thread_info)
5784         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
5785         (thread_db_resume): Refactor as methods of thread_db_target.
5786         (init_thread_db_ops): Delete.
5787         (_initialize_thread_db): Remove reference to init_thread_db_ops.
5788         * x86-linux-nat.c: Don't include "linux-nat.h".
5789         (super_post_startup_inferior): Delete.
5790         (x86_linux_nat_target::~x86_linux_nat_target): New.
5791         (x86_linux_child_post_startup_inferior)
5792         (x86_linux_read_description, x86_linux_enable_btrace)
5793         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
5794         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
5795         methods of x86_linux_nat_target.
5796         (x86_linux_create_target): Delete.  Bits folded ...
5797         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
5798         pointer.
5799         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
5800         (x86_linux_nat_target): New class.
5801         (x86_linux_create_target): Delete.
5802         (x86_linux_add_target): Now takes a linux_nat_target pointer.
5803         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
5804         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
5805         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
5806         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
5807         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
5808         make extern.
5809         (x86_use_watchpoints): Delete.
5810         * x86-nat.h: Include "breakpoint.h" and "target.h".
5811         (x86_use_watchpoints): Delete.
5812         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
5813         (x86_stopped_by_watchpoint, x86_stopped_data_address)
5814         (x86_insert_watchpoint, x86_remove_watchpoint)
5815         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
5816         (x86_stopped_by_hw_breakpoint): New declarations.
5817         (x86_nat_target): New template class.
5818
5819         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
5820         (the_ppc_linux_nat_target): New.
5821         (ppc_linux_fetch_inferior_registers)
5822         (ppc_linux_can_use_hw_breakpoint)
5823         (ppc_linux_region_ok_for_hw_watchpoint)
5824         (ppc_linux_ranged_break_num_registers)
5825         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
5826         (ppc_linux_insert_mask_watchpoint)
5827         (ppc_linux_remove_mask_watchpoint)
5828         (ppc_linux_can_accel_watchpoint_condition)
5829         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
5830         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
5831         (ppc_linux_watchpoint_addr_within_range)
5832         (ppc_linux_masked_watch_num_registers)
5833         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
5834         (ppc_linux_read_description): Refactor as methods of
5835         ppc_linux_nat_target.
5836         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
5837
5838         * procfs.c (procfs_xfer_partial): Delete forward declaration.
5839         (procfs_target): New class.
5840         (the_procfs_target): New.
5841         (procfs_target): Delete function.
5842         (procfs_auxv_parse, procfs_attach, procfs_detach)
5843         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
5844         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
5845         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
5846         (procfs_create_inferior, procfs_update_thread_list)
5847         (procfs_thread_alive, procfs_pid_to_str)
5848         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
5849         (procfs_stopped_data_address, procfs_insert_watchpoint)
5850         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
5851         (proc_find_memory_regions, procfs_info_proc)
5852         (procfs_make_note_section): Refactor as methods of procfs_target.
5853         (_initialize_procfs): Adjust.
5854         * sol-thread.c (sol_thread_target): New class.
5855         (sol_thread_ops): Now a sol_thread_target.
5856         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
5857         (sol_thread_fetch_registers, sol_thread_store_registers)
5858         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
5859         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
5860         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
5861         (init_sol_thread_ops): Delete.
5862         (_initialize_sol_thread): Adjust.  Remove references to
5863         init_sol_thread_ops and complete_target_initialization.
5864
5865         * windows-nat.c (windows_nat_target): New class.
5866         (windows_fetch_inferior_registers)
5867         (windows_store_inferior_registers, windows_resume, windows_wait)
5868         (windows_attach, windows_detach, windows_pid_to_exec_file)
5869         (windows_files_info, windows_create_inferior)
5870         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
5871         (windows_close, windows_pid_to_str, windows_xfer_partial)
5872         (windows_get_tib_address, windows_get_ada_task_ptid)
5873         (windows_thread_name, windows_thread_alive): Refactor as
5874         windows_nat_target methods.
5875         (do_initial_windows_stuff): Adjust.
5876         (windows_target): Delete function.
5877         (_initialize_windows_nat): Adjust.
5878
5879         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
5880         (darwin_mourn_inferior, darwin_kill_inferior)
5881         (darwin_create_inferior, darwin_attach, darwin_detach)
5882         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
5883         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
5884         (darwin_supports_multi_process): Refactor as darwin_nat_target
5885         methods.
5886         (darwin_resume_to, darwin_files_info): Delete.
5887         (_initialize_darwin_inferior): Rename to ...
5888         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
5889         * darwin-nat.h: Include "inf-child.h".
5890         (darwin_nat_target): New class.
5891         (darwin_complete_target): Delete.
5892         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
5893         (darwin_target): New.
5894         (i386_darwin_fetch_inferior_registers)
5895         (i386_darwin_store_inferior_registers): Refactor as methods of
5896         darwin_nat_target.
5897         (darwin_complete_target): Delete, with ...
5898         (_initialize_i386_darwin_nat): ... bits factored out here.
5899
5900         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
5901         (the_alpha_linux_nat_target): New.
5902         (alpha_linux_register_u_offset): Refactor as
5903         alpha_linux_nat_target method.
5904         (_initialize_alpha_linux_nat): Adjust.
5905         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
5906         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
5907         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
5908         methods of linux_nat_trad_target.
5909         (linux_trad_target): Delete.
5910         * linux-nat-trad.h (linux_trad_target): Delete function.
5911         (linux_nat_trad_target): New class.
5912         * mips-linux-nat.c (mips_linux_nat_target): New class.
5913         (super_fetch_registers, super_store_registers, super_close):
5914         Delete.
5915         (the_mips_linux_nat_target): New.
5916         (mips64_linux_regsets_fetch_registers)
5917         (mips64_linux_regsets_store_registers)
5918         (mips64_linux_fetch_registers, mips64_linux_store_registers)
5919         (mips_linux_register_u_offset, mips_linux_read_description)
5920         (mips_linux_can_use_hw_breakpoint)
5921         (mips_linux_stopped_by_watchpoint)
5922         (mips_linux_stopped_data_address)
5923         (mips_linux_region_ok_for_hw_watchpoint)
5924         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
5925         (mips_linux_close): Refactor as methods of mips_linux_nat.
5926         (_initialize_mips_linux_nat): Adjust to C++ification.
5927
5928         * aix-thread.c (aix_thread_target): New class.
5929         (aix_thread_ops): Now an aix_thread_target.
5930         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
5931         (aix_thread_fetch_registers, aix_thread_store_registers)
5932         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
5933         (aix_thread_thread_alive, aix_thread_pid_to_str)
5934         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
5935         Refactor as methods of aix_thread_target.
5936         (init_aix_thread_ops): Delete.
5937         (_initialize_aix_thread): Remove references to init_aix_thread_ops
5938         and complete_target_initialization.
5939         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
5940         (rs6000_nat_target): New class.
5941         (the_rs6000_nat_target): New.
5942         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
5943         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
5944         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
5945         (super_create_inferior): Delete.
5946         (_initialize_rs6000_nat): Adjust to C++ification.
5947
5948         * arm-linux-nat.c (arm_linux_nat_target): New class.
5949         (the_arm_linux_nat_target): New.
5950         (arm_linux_fetch_inferior_registers)
5951         (arm_linux_store_inferior_registers, arm_linux_read_description)
5952         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
5953         (arm_linux_remove_hw_breakpoint)
5954         (arm_linux_region_ok_for_hw_watchpoint)
5955         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
5956         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
5957         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
5958         arm_linux_nat_target.
5959         (_initialize_arm_linux_nat): Adjust to C++ification.
5960
5961         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
5962         (the_aarch64_linux_nat_target): New.
5963         (aarch64_linux_fetch_inferior_registers)
5964         (aarch64_linux_store_inferior_registers)
5965         (aarch64_linux_child_post_startup_inferior)
5966         (aarch64_linux_read_description)
5967         (aarch64_linux_can_use_hw_breakpoint)
5968         (aarch64_linux_insert_hw_breakpoint)
5969         (aarch64_linux_remove_hw_breakpoint)
5970         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
5971         (aarch64_linux_region_ok_for_hw_watchpoint)
5972         (aarch64_linux_stopped_data_address)
5973         (aarch64_linux_stopped_by_watchpoint)
5974         (aarch64_linux_watchpoint_addr_within_range)
5975         (aarch64_linux_can_do_single_step): Refactor as methods of
5976         aarch64_linux_nat_target.
5977         (super_post_startup_inferior): Delete.
5978         (_initialize_aarch64_linux_nat): Adjust to C++ification.
5979
5980         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
5981         (the_hppa_linux_nat_target): New.
5982         (hppa_linux_fetch_inferior_registers)
5983         (hppa_linux_store_inferior_registers): Refactor as methods of
5984         hppa_linux_nat_target.
5985         (_initialize_hppa_linux_nat): Adjust to C++ification.
5986
5987         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
5988         (the_ia64_linux_nat_target): New.
5989         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
5990         (ia64_linux_stopped_data_address)
5991         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
5992         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
5993         ia64_linux_nat_target methods.
5994         (super_xfer_partial): Delete.
5995         (_initialize_ia64_linux_nat): Adjust to C++ification.
5996
5997         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
5998         (the_m32r_linux_nat_target): New.
5999         (m32r_linux_fetch_inferior_registers)
6000         (m32r_linux_store_inferior_registers): Refactor as
6001         m32r_linux_nat_target methods.
6002         (_initialize_m32r_linux_nat): Adjust to C++ification.
6003
6004         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
6005         (the_m68k_linux_nat_target): New.
6006         (m68k_linux_fetch_inferior_registers)
6007         (m68k_linux_store_inferior_registers): Refactor as
6008         m68k_linux_nat_target methods.
6009         (_initialize_m68k_linux_nat): Adjust to C++ification.
6010
6011         * s390-linux-nat.c (s390_linux_nat_target): New class.
6012         (the_s390_linux_nat_target): New.
6013         (s390_linux_fetch_inferior_registers)
6014         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
6015         (s390_insert_watchpoint, s390_remove_watchpoint)
6016         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
6017         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
6018         (s390_auxv_parse, s390_read_description): Refactor as methods of
6019         s390_linux_nat_target.
6020         (_initialize_s390_nat): Adjust to C++ification.
6021
6022         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
6023         (the_sparc_linux_nat_target): New.
6024         (_initialize_sparc_linux_nat): Adjust to C++ification.
6025         * sparc-nat.c (sparc_fetch_inferior_registers)
6026         (sparc_store_inferior_registers): Remove target_ops parameter.
6027         * sparc-nat.h (sparc_fetch_inferior_registers)
6028         (sparc_store_inferior_registers): Remove target_ops parameter.
6029         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6030         (the_sparc64_linux_nat_target): New.
6031         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6032
6033         * spu-linux-nat.c (spu_linux_nat_target): New class.
6034         (the_spu_linux_nat_target): New.
6035         (spu_child_post_startup_inferior, spu_child_post_attach)
6036         (spu_child_wait, spu_fetch_inferior_registers)
6037         (spu_store_inferior_registers, spu_xfer_partial)
6038         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6039         methods.
6040         (_initialize_spu_nat): Adjust to C++ification.
6041
6042         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6043         (the_tilegx_linux_nat_target): New.
6044         (fetch_inferior_registers, store_inferior_registers):
6045         Refactor as methods.
6046         (_initialize_tile_linux_nat): Adjust to C++ification.
6047
6048         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6049         (the_xtensa_linux_nat_target): New.
6050         (xtensa_linux_fetch_inferior_registers)
6051         (xtensa_linux_store_inferior_registers): Refactor as
6052         xtensa_linux_nat_target methods.
6053         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6054
6055         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6056         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6057         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6058         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6059         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6060         (fbsd_stopped_by_sw_breakpoint)
6061         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6062         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6063         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6064         (fbsd_post_startup_inferior, fbsd_post_attach)
6065         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6066         (fbsd_set_syscall_catchpoint)
6067         (super_xfer_partial, super_resume, super_wait)
6068         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6069         (fbsd_handle_debug_trap): Remove target_ops parameter.
6070         (fbsd_nat_add_target): Delete.
6071         * fbsd-nat.h: Include "inf-ptrace.h".
6072         (fbsd_nat_add_target): Delete.
6073         (USE_SIGTRAP_SIGINFO): Define.
6074         (fbsd_nat_target): New class.
6075
6076         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6077         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6078         (amd64bsd_target): Delete.
6079         * amd64-bsd-nat.h: New file.
6080         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6081         "x86-bsd-nat.h".
6082         (amd64_fbsd_nat_target): New class.
6083         (the_amd64_fbsd_nat_target): New.
6084         (amd64fbsd_read_description): Refactor as method of
6085         amd64_fbsd_nat_target.
6086         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6087         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6088         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6089         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6090         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6091         (i386bsd_target): Delete.
6092         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6093         (i386bsd_fetch_inferior_registers)
6094         (i386bsd_store_inferior_registers): Declare.
6095         (i386_bsd_nat_target): New class.
6096         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6097         (the_i386_fbsd_nat_target): New.
6098         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6099         i386_fbsd_nat_target methods.
6100         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6101         (_initialize_i386fbsd_nat): Adjust to C++ification.
6102         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6103         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6104         (_initialize_x86_bsd_nat): Adjust to C++ification.
6105         * x86-bsd-nat.h: Include "x86-nat.h".
6106         (x86bsd_target): Delete declaration.
6107         (x86bsd_nat_target): New class.
6108
6109         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6110         (the_aarch64_fbsd_nat_target): New.
6111         (aarch64_fbsd_fetch_inferior_registers)
6112         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6113         aarch64_fbsd_nat_target.
6114         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6115         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6116         (the_alpha_bsd_nat_target): New.
6117         (alphabsd_fetch_inferior_registers)
6118         (alphabsd_store_inferior_registers): Refactor as
6119         alpha_bsd_nat_target methods.
6120         (_initialize_alphabsd_nat): Refactor as methods of
6121         alpha_bsd_nat_target.
6122         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6123         (the_amd64_nbsd_nat_target): New.
6124         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6125         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6126         (the_amd64_obsd_nat_target): New.
6127         (_initialize_amd64obsd_nat): Adjust to C++ification.
6128         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6129         (the_arm_fbsd_nat_target): New.
6130         (arm_fbsd_fetch_inferior_registers)
6131         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6132         (_initialize_arm_fbsd_nat): Refactor as methods of
6133         arm_fbsd_nat_target.
6134         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6135         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6136         (the_arm_netbsd_nat_target): New.
6137         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6138         arm_netbsd_nat_target.
6139         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6140         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6141         (the_hppa_nbsd_nat_target): New.
6142         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6143         hppa_nbsd_nat_target methods.
6144         (_initialize_hppanbsd_nat): Adjust to C++ification.
6145         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6146         (the_hppa_obsd_nat_target): New.
6147         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6148         methods of hppa_obsd_nat_target.
6149         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6150         add_target.
6151         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6152         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6153         add_target.
6154         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6155         (_initialize_i386obsd_nat): Use add_target.
6156         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6157         (the_m68k_bsd_nat_target): New.
6158         (m68kbsd_fetch_inferior_registers)
6159         (m68kbsd_store_inferior_registers): Refactor as methods of
6160         m68k_bsd_nat_target.
6161         (_initialize_m68kbsd_nat): Adjust to C++ification.
6162         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6163         (the_mips_fbsd_nat_target): New.
6164         (mips_fbsd_fetch_inferior_registers)
6165         (mips_fbsd_store_inferior_registers): Refactor as methods of
6166         mips_fbsd_nat_target.
6167         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6168         add_target.
6169         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6170         (the_mips_nbsd_nat_target): New.
6171         (mipsnbsd_fetch_inferior_registers)
6172         (mipsnbsd_store_inferior_registers): Refactor as methods of
6173         mips_nbsd_nat_target.
6174         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6175         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6176         (the_mips64_obsd_nat_target): New.
6177         (mips64obsd_fetch_inferior_registers)
6178         (mips64obsd_store_inferior_registers): Refactor as methods of
6179         mips64_obsd_nat_target.
6180         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6181         add_target.
6182         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6183         nbsd_nat_target.
6184         * nbsd-nat.h: Include "inf-ptrace.h".
6185         (nbsd_nat_target): New class.
6186         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6187         (obsd_wait): Refactor as methods of obsd_nat_target.
6188         (obsd_add_target): Delete.
6189         * obsd-nat.h: Include "inf-ptrace.h".
6190         (obsd_nat_target): New class.
6191         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6192         (the_ppc_fbsd_nat_target): New.
6193         (ppcfbsd_fetch_inferior_registers)
6194         (ppcfbsd_store_inferior_registers): Refactor as methods of
6195         ppc_fbsd_nat_target.
6196         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6197         add_target.
6198         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6199         (the_ppc_nbsd_nat_target): New.
6200         (ppcnbsd_fetch_inferior_registers)
6201         (ppcnbsd_store_inferior_registers): Refactor as methods of
6202         ppc_nbsd_nat_target.
6203         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6204         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6205         (the_ppc_obsd_nat_target): New.
6206         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6207         methods of ppc_obsd_nat_target.
6208         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6209         add_target.
6210         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6211         (the_sh_nbsd_nat_target): New.
6212         (shnbsd_fetch_inferior_registers)
6213         (shnbsd_store_inferior_registers): Refactor as methods of
6214         sh_nbsd_nat_target.
6215         (_initialize_shnbsd_nat): Adjust to C++ification.
6216         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6217         (inf_ptrace_xfer_partial): Delete.
6218         (sparc_xfer_partial, sparc_target): Delete.
6219         * sparc-nat.h (sparc_fetch_inferior_registers)
6220         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6221         (sparc_target): Delete function declaration.
6222         (sparc_target): New template class.
6223         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6224         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6225         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6226         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6227         add_target.
6228         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6229         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6230         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6231         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6232         add_target.
6233         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6234         (the_vax_bsd_nat_target): New.
6235         (vaxbsd_fetch_inferior_registers)
6236         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6237         methods.
6238         (_initialize_vaxbsd_nat): Adjust to C++ification.
6239
6240         * bsd-kvm.c (bsd_kvm_target): New class.
6241         (bsd_kvm_ops): Now a bsd_kvm_target.
6242         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6243         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6244         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6245         bsd_kvm_target.
6246         (bsd_kvm_return_one): Delete.
6247         (bsd_kvm_add_target): Adjust to C++ification.
6248
6249         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6250         (nto_procfs_target_procfs): New classes.
6251         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6252         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6253         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6254         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6255         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6256         (procfs_remove_hw_breakpoint, procfs_resume)
6257         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6258         (procfs_kill_inferior, procfs_store_registers)
6259         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6260         as methods of nto_procfs_target.
6261         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6262         (nto_native_ops): Delete.
6263         (procfs_open, procfs_native_open): Delete.
6264         (nto_native_ops): Now an nto_procfs_target_native.
6265         (init_procfs_targets): Adjust to C++ification.
6266         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6267         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6268         Refactor as methods of nto_procfs_target.
6269
6270         * go32-nat.c (go32_nat_target): New class.
6271         (the_go32_nat_target): New.
6272         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6273         (go32_store_registers, go32_xfer_partial, go32_files_info)
6274         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6275         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6276         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6277         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6278         (go32_target): Delete.
6279         (_initialize_go32_nat): Adjust to C++ification.
6280
6281         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6282         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6283         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6284         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6285         gnu_nat_target.
6286         (gnu_target): Delete.
6287         * gnu-nat.h (gnu_target): Delete.
6288         (gnu_nat_target): New class.
6289         * i386-gnu-nat.c (gnu_base_target): New.
6290         (i386_gnu_nat_target): New class.
6291         (the_i386_gnu_nat_target): New.
6292         (_initialize_i386gnu_nat): Adjust to C++ification.
6293
6294 2018-05-02  Pedro Alves  <palves@redhat.com>
6295
6296         * bfd-target.c (target_bfd_xclose): Rename to ...
6297         (target_bfd_close): ... this.
6298         (target_bfd_reopen): Adjust.
6299         * target.c (target_close): Remove references to to_xclose.
6300         * target.h (target_ops::to_xclose): Delete.
6301         (target_ops::to_close): Update comments.
6302
6303 2018-05-02  Pedro Alves  <palves@redhat.com>
6304
6305         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6306         "linux-nat.h".
6307         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6308         * inf-ptrace.c (inf_ptrace_register_u_offset)
6309         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6310         (inf_ptrace_store_register, inf_ptrace_store_registers)
6311         (inf_ptrace_trad_target): Move to ...
6312         * linux-nat-trad.c: ... this new file.
6313         * linux-nat-trad.h: New file.
6314         * linux-nat.c (linux_target_install_ops): Make extern.
6315         (linux_trad_target): Delete.
6316         * linux-nat.h (linux_trad_target): Delete declaration.
6317         (linux_target_install_ops): Declare.
6318         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6319         "linux-nat.h".
6320
6321 2018-05-02  Pedro Alves  <palves@redhat.com>
6322
6323         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6324         procfs_target/add_target here.
6325         * procfs.c (procfs_target): Make static.
6326         (_initialize_procfs): Call add_target here.
6327         * procfs.h (struct target_ops): Remove forward declaration.
6328         (procfs_target): Remove declaration.
6329         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6330
6331 2018-05-02  Pedro Alves  <palves@redhat.com>
6332
6333         * procfs.c (procfs_stopped_by_watchpoint)
6334         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6335         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6336         Forward declare.
6337         (procfs_use_watchpoints): Delete, move contents...
6338         (procfs_target): ... here.
6339         * procfs.h (procfs_use_watchpoints): Delete declaration.
6340         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6341         procfs_use_watchpoints.
6342         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6343         procfs_use_watchpoints.
6344
6345 2018-05-02  Tom Tromey  <tom@tromey.com>
6346
6347         PR python/20084:
6348         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6349         and var_zuinteger_unlimited.
6350         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6351         and PARAM_ZUINTEGER_UNLIMITED.
6352         (set_parameter_value): Handle var_zuinteger and
6353         var_zuinteger_unlimited.
6354         (add_setshow_generic): Likewise.
6355         (parmpy_init): Likewise.
6356
6357 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6358
6359         PR rust/23124
6360         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6361         pointer is not null before dereferencing it.
6362
6363 2018-04-30  Tom Tromey  <tom@tromey.com>
6364
6365         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6366         is_mi_like_p.
6367
6368 2018-04-30  Tom Tromey  <tom@tromey.com>
6369
6370         * breakpoint.c (mention): Remove use of is_mi_like_p.
6371         (print_mention_ranged_breakpoint): Likewise.
6372         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6373         of is_mi_like_p.
6374
6375 2018-04-30  Tom Tromey  <tom@tromey.com>
6376
6377         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6378
6379 2018-04-30  Tom Tromey  <tom@tromey.com>
6380
6381         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6382         (info_spu_event_command): Remove some uses of is_mi_like_p.
6383
6384 2018-04-30  Tom Tromey  <tom@tromey.com>
6385
6386         * python/py-framefilter.c (py_print_single_arg)
6387         (enumerate_locals, py_print_args, py_print_frame): Remove some
6388         uses of is_mi_like_p.
6389
6390 2018-04-30  Tom Tromey  <tom@tromey.com>
6391
6392         * ui-out.c: Update.
6393         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6394         * ui-out.h (ui_out::is_mi_like_p): Now const.
6395         (ui_out::do_is_mi_like_p): Now const.
6396         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6397
6398 2018-04-30  Tom Tromey  <tom@tromey.com>
6399
6400         * varobj.c (varobj_set_visualizer): Use new_reference.
6401         * python/python.c (gdbpy_decode_line): Use new_reference.
6402         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6403         new_reference.
6404
6405 2018-04-30  Tom Tromey  <tom@tromey.com>
6406
6407         * varobj.c (install_new_value): Use new_reference.
6408         * value.h (value_incref): Return void.  Swap intro comment with
6409         value_decref.
6410         * value.c (set_value_parent): Use new_reference.
6411         (value_incref): Return void.  Update intro comment.
6412         (release_value): Use new_reference.
6413         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
6414
6415 2018-04-30  Tom Tromey  <tom@tromey.com>
6416
6417         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
6418         * gdb_bfd.h (new_bfd_ref): Remove.
6419         (gdb_bfd_open): Update comment.
6420         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
6421         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
6422         (gdb_bfd_fdopenr): Use new_reference.
6423         * exec.c (exec_file_attach): Use new_reference.
6424
6425 2018-04-30  Tom Tromey  <tom@tromey.com>
6426
6427         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
6428         method.
6429
6430 2018-04-30  Tom Tromey  <tom@tromey.com>
6431
6432         * jit.c (jit_read_code_entry): Use type_align.
6433         * i386-tdep.c (i386_gdbarch_init): Don't call
6434         set_gdbarch_long_long_align_bit.
6435         * gdbarch.sh: Remove long_long_align_bit.
6436         * gdbarch.c, gdbarch.h: Rebuild.
6437         * arc-tdep.c (arc_type_align): New function.
6438         (arc_gdbarch_init): Use arc_type_align.  Don't call
6439         set_gdbarch_long_long_align_bit.
6440
6441 2018-04-30  Tom Tromey  <tom@tromey.com>
6442
6443         * rust-lang.c (rust_type_alignment): Remove.
6444         (rust_composite_type): Use type_align.
6445
6446 2018-04-30  Tom Tromey  <tom@tromey.com>
6447
6448         * NEWS: Mention Type.align.
6449         * python/py-type.c (typy_get_alignof): New function.
6450         (type_object_getset): Add "alignof".
6451
6452 2018-04-30  Tom Tromey  <tom@tromey.com>
6453
6454         PR exp/17095:
6455         * NEWS: Update.
6456         * std-operator.def (UNOP_ALIGNOF): New operator.
6457         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
6458         New.
6459         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
6460         * c-lang.c (c_op_print_tab): Add alignof.
6461         * c-exp.y (ALIGNOF): New token.
6462         (exp): Add "ALIGNOF" production.
6463         (ident_tokens): Add _Alignof and alignof.
6464
6465 2018-04-30  Tom Tromey  <tom@tromey.com>
6466
6467         * i386-tdep.c (i386_type_align): New function.
6468         (i386_gdbarch_init): Update.
6469         * gdbarch.sh (type_align): New method.
6470         * gdbarch.c, gdbarch.h: Rebuild.
6471         * arch-utils.h (default_type_align): Declare.
6472         * arch-utils.c (default_type_align): New function.
6473         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
6474         (struct type) <align_log2>: New field.
6475         <instance_flags>: Now a bitfield.
6476         (TYPE_RAW_ALIGN): New macro.
6477         (type_align, type_raw_align, set_type_align): Declare.
6478         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
6479         functions.
6480         * dwarf2read.c (quirk_rust_enum): Set type alignment.
6481         (get_alignment, maybe_set_alignment): New functions.
6482         (read_structure_type, read_enumeration_type, read_array_type)
6483         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
6484         (read_subrange_type, read_base_type): Set type alignment.
6485
6486 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
6487
6488         * dwarf2read.c (read_index_from_section): Use bool.
6489
6490 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
6491
6492         PR gdb/22950
6493         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
6494         with #ifdef.
6495
6496 2018-04-29  John Reiser  <jreiser@BitWagon.com>
6497
6498         PR build/22873
6499         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
6500         last step, and do it atomically.
6501
6502 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
6503
6504         * compile/compile-c-types.c (convert_int, convert_float):
6505         Update for C FE v1.
6506
6507 2018-04-27  Tom Tromey  <tom@tromey.com>
6508
6509         PR rust/22545:
6510         * rust-lang.c (rust_inclusive_range_type_p): New function.
6511         (rust_range): Handle inclusive ranges.
6512         (rust_compute_range): Likewise.
6513         * rust-exp.y (struct rust_op) <inclusive>: New field.
6514         (DOTDOTEQ): New constant.
6515         (range_expr): Add "..=" productions.
6516         (operator_tokens): Add "..=" token.
6517         (ast_range): Add "inclusive" parameter.
6518         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
6519         ranges.
6520         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
6521         bounds values.
6522         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
6523         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
6524         Update comments.
6525         * expprint.c (print_subexp_standard): Handle new bounds values.
6526         (dump_subexp_body_standard): Likewise.
6527
6528 2018-04-27  Tom Tromey  <tom@tromey.com>
6529
6530         * configure: Rebuild.
6531         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
6532         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
6533         "OVERRIDE".
6534         (class symbol_needs_eval_context): Likewise.
6535         * dwarf2read.c (mock_mapped_index::symbol_name_count)
6536         (mock_mapped_index::symbol_name_at): Use "override".  Remove
6537         "virtual".
6538         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
6539         "override".
6540         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
6541         * aarch64-tdep.c (instruction_reader::read): Use "override".
6542         (instruction_reader_test::read): Likewise.
6543         * arm-tdep.c (instruction_reader::read): Use "override".
6544         (instruction_reader_thumb::read): Likewise.
6545
6546 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
6547
6548         PR remote/9665
6549         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
6550         instead of remote_send.
6551         (remote_send): Remove.
6552
6553 2018-04-26  Pedro Alves  <palves@redhat.com>
6554
6555         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
6556         find_function_start_sal instead of find_pc_line.
6557
6558 2018-04-26  Pedro Alves  <palves@redhat.com>
6559
6560         * breakpoint.c (set_breakpoint_location_function): Handle
6561         mst_data_gnu_ifunc.
6562         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
6563         * elfread.c (elf_symtab_read): Give data symbols with
6564         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
6565         (elf_rel_plt_read): Update comment.
6566         * linespec.c (convert_linespec_to_sals): Handle
6567         mst_data_gnu_ifunc.
6568         (minsym_found): Handle mst_data_gnu_ifunc.
6569         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
6570         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
6571         * parse.c (find_minsym_type_and_address): Handle
6572         mst_data_gnu_ifunc.
6573         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
6574         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
6575         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
6576         comment.
6577         <mst_data_gnu_ifunc>: New enumerator.
6578
6579 2018-04-26  Pedro Alves  <palves@redhat.com>
6580
6581         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
6582         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
6583         'want_trampoline' parameter by a lookup_msym_prefer parameter.
6584         Handle it.
6585         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
6586         (lookup_minimal_symbol_by_pc): Adjust.
6587         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
6588         (lookup_solib_trampoline_symbol_by_pc): Adjust.
6589         * minsyms.h (lookup_msym_prefer): New enum.
6590         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6591         parameter by a lookup_msym_prefer parameter.
6592
6593 2018-04-26  Pedro Alves  <palves@redhat.com>
6594
6595         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
6596         ends in "@plt" instead of looking at the symbol's section.
6597
6598 2018-04-26  Pedro Alves  <palves@redhat.com>
6599
6600         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
6601         all references.
6602         (find_pc_partial_function_gnu_ifunc): Rename to ...
6603         (find_pc_partial_function): ... this, and remove references to
6604         'is_gnu_ifunc_p'.
6605         (find_pc_partial_function): Delete old implementation.
6606         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
6607
6608 2018-04-26  Pedro Alves  <palves@redhat.com>
6609
6610         * linespec.c (struct bound_minimal_symbol_search_key): New.
6611         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
6612         skip first line if we found a GNU ifunc minimal symbol by name.
6613         (compare_msymbols): Change parameters to work with a destructured
6614         lhs minsym.
6615         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
6616         functions.
6617
6618 2018-04-26  Pedro Alves  <palves@redhat.com>
6619
6620         * breakpoint.c (set_breakpoint_location_function): Don't resolve
6621         ifunc targets here.  Instead, if we have an ifunc minsym, use its
6622         address/name.
6623         (add_location_to_breakpoint): Store the minsym and the objfile in
6624         the breakpoint location.
6625         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
6626         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
6627         Record the minsym in the sal.
6628         * symtab.h (symtab_and_line) <msymbol>: New field.
6629
6630 2018-04-26  Pedro Alves  <palves@redhat.com>
6631
6632         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
6633         unless we actually resolved the ifunc.
6634
6635 2018-04-26  Pedro Alves  <palves@redhat.com>
6636
6637         * c-exp.y (variable production): Prefer ifunc minsyms over
6638         regular function symbols.
6639         * symtab.c (find_gnu_ifunc): New function.
6640         * minsyms.h (lookup_msym_prefer): New enum.
6641         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6642         parameter by a lookup_msym_prefer parameter.
6643         * symtab.h (find_gnu_ifunc): New declaration.
6644
6645 2018-04-26  Pedro Alves  <palves@redhat.com>
6646
6647         * blockframe.c (find_gnu_ifunc_target_type): New function.
6648         (find_function_type): New.
6649         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
6650         return a value with a memory address.
6651         (eval_call): For calls to GNU ifunc functions, try to find the
6652         type of the target function from the type that the resolver
6653         returns.
6654         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
6655         symbols.
6656         * infcall.c (find_function_return_type): Delete.
6657         (find_function_addr): Add 'function_type' parameter.  For calls to
6658         GNU ifunc functions, try to find the type of the target function
6659         from the type that the resolver returns, and return it via
6660         FUNCTION_TYPE.
6661         (call_function_by_hand_dummy): Adjust to use the function type
6662         returned by find_function_addr.
6663         (find_function_addr): Add 'function_type' parameter and move
6664         description here.
6665         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
6666         declarations.
6667
6668 2018-04-26  Pedro Alves  <palves@redhat.com>
6669
6670         * c-exp.y (variable production): Skip finding an alias for ifunc
6671         symbols.
6672
6673 2018-04-26  Pedro Alves  <palves@redhat.com>
6674
6675         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
6676
6677 2018-04-25  Pedro Alves  <palves@redhat.com>
6678
6679         * infcmd.c (kill_command): Print the pid as string, not the whole
6680         thread's ptid.  Add comment.  s/has been killed/killed/ in output
6681         message.
6682         * remote.c (remote_detach_1): Print the pid as string, not the
6683         whole thread's ptid.
6684
6685 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
6686             Sergio Durigan Junior  <sergiodj@redhat.com>
6687             Pedro Alves  <palves@redhat.com>
6688
6689         * infcmd.c (kill_command): Print message when inferior has
6690         been killed.
6691         * inferior.c (print_inferior_events): Remove 'static'.  Set as
6692         '1'.
6693         (add_inferior): Improve message printed when
6694         'print_inferior_events' is on.
6695         (exit_inferior): Remove message printed when
6696         'print_inferior_events' is on.
6697         (detach_inferior): Improve message printed when
6698         'print_inferior_events' is on.
6699         (initialize_inferiors): Use 'add_inferior_silent' to set
6700         'current_inferior_'.
6701         * inferior.h (print_inferior_events): Declare here as
6702         'extern'.
6703         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
6704         '[Detaching...]' messages when 'print_inferior_events' is on.
6705         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
6706         as prefix/suffix for messages.  Remove periods.  Fix erroneous
6707         'Detaching after fork from child...', replace it by '... from
6708         parent...'.
6709         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
6710         prefix/suffix when printing 'Detaching...' messages.  Print
6711         them when 'print_inferior_events' is on.
6712         * remote.c (remote_detach_1): Print message when detaching
6713         from inferior and '!is_fork_parent'.
6714
6715 2018-04-24  Tom Tromey  <tom@tromey.com>
6716
6717         * cli-out.h: Reindent.
6718
6719 2018-04-24  Tom Tromey  <tom@tromey.com>
6720
6721         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
6722         (cli_ui_out::do_field_string): Use fputs_filtered.
6723         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
6724
6725 2018-04-23  Tom Tromey  <tom@tromey.com>
6726
6727         * guile/scm-frame.c (gdbscm_frame_read_var): Use
6728         gdb::unique_xmalloc_ptr.
6729
6730 2018-04-23  Tom Tromey  <tom@tromey.com>
6731
6732         * configure: Rebuild.
6733
6734 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
6735
6736         PR gdb/23095
6737         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
6738         prepare_for_testing.  Set normal_bp to r_debug_state if target
6739         is bsd.
6740
6741 2018-04-21  Pedro Alves  <palves@redhat.com>
6742             Rajendra SY  <rajendra.sy@gmail.com>
6743
6744         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
6745         * remote.c (extended_remote_attach): In all-stop mode, mark the
6746         thread as executing.
6747
6748 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6749
6750         * thread.c (thread_apply_all_command): Fix comment.
6751         (thread_command): Fix comment.
6752
6753 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
6754
6755         * common/tdesc.h (tdesc_create_feature): Remove xml filename
6756         parameter.
6757         * features/aarch64-core.c (create_feature_aarch64_core):
6758         Regenerate.
6759         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
6760         Likewise.
6761         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
6762         Likewise.
6763         * features/i386/32bit-avx512.c
6764         (create_feature_i386_32bit_avx512): Likewise.
6765         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
6766         Likewise.
6767         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
6768         Likewise.
6769         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
6770         Likewise.
6771         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
6772         Likewise.
6773         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
6774         Likewise.
6775         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
6776         Likewise.
6777         * features/i386/64bit-avx512.c
6778         (create_feature_i386_64bit_avx512): Likewise.
6779         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
6780         Likewise.
6781         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
6782         Likewise.
6783         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
6784         Likewise.
6785         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
6786         Likewise.
6787         * features/i386/64bit-segments.c
6788         (create_feature_i386_64bit_segments): Likewise.
6789         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
6790         Likewise.
6791         * features/i386/x32-core.c
6792         (create_feature_i386_x32_core): Likewise.
6793         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
6794         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
6795         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
6796         * target-descriptions.c: In generated code, don't pass xml
6797         filename.
6798
6799 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6800
6801         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
6802         (print_xml_feature::visit_post): Likewise.
6803         (print_xml_feature::visit): Likewise.
6804         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
6805         (print_xml_feature): Add new class.
6806         * regformats/regdat.sh: Null xmltarget on feature targets.
6807         * target-descriptions.c (struct target_desc): Add xmltarget.
6808         (maintenance_check_tdesc_xml_convert): Add unittest function.
6809         (tdesc_get_features_xml): Add function to get xml.
6810         (maintenance_check_xml_descriptions): Test xml generation.
6811         * xml-tdesc.c (string_read_description_xml): Add function.
6812         * xml-tdesc.h (string_read_description_xml): Add declaration.
6813
6814 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6815
6816         * features/Makefile: Add feature marker to targets with new style
6817         target descriptions.
6818         * regformats/aarch64.dat: Regenerate.
6819         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
6820         * regformats/i386/amd64-avx-linux.dat: Likewise.
6821         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
6822         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
6823         * regformats/i386/amd64-linux.dat: Likewise.
6824         * regformats/i386/amd64-mpx-linux.dat: Likewise.
6825         * regformats/i386/amd64.dat: Likewise.
6826         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
6827         * regformats/i386/i386-avx-linux.dat: Likewise.
6828         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
6829         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
6830         * regformats/i386/i386-linux.dat: Likewise.
6831         * regformats/i386/i386-mmx-linux.dat: Likewise.
6832         * regformats/i386/i386-mpx-linux.dat: Likewise.
6833         * regformats/i386/i386.dat: Likewise.
6834         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
6835         * regformats/i386/x32-avx-linux.dat: Likewise.
6836         * regformats/i386/x32-linux.dat: Likewise.
6837         * regformats/tic6x-c62x-linux.dat: Likewise.
6838         * regformats/tic6x-c64x-linux.dat: Likewise.
6839         * regformats/tic6x-c64xp-linux.dat: Likewise.
6840         * regformats/regdat.sh: Parse feature marker.
6841
6842 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6843
6844         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
6845         (tdesc_osabi_name): Likewise.
6846         * target-descriptions.c (tdesc_architecture_name): Add new
6847         function.
6848         (tdesc_osabi_name): Likewise.
6849
6850 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6851
6852         * common/tdesc.c (tdesc_predefined_type): Move to here.
6853         (tdesc_named_type): Likewise.
6854         (tdesc_create_vector): Likewise.
6855         (tdesc_create_struct): Likewise.
6856         (tdesc_set_struct_size): Likewise.
6857         (tdesc_create_union): Likewise.
6858         (tdesc_create_flags): Likewise.
6859         (tdesc_create_enum): Likewise.
6860         (tdesc_add_field): Likewise.
6861         (tdesc_add_typed_bitfield): Likewise.
6862         (tdesc_add_bitfield): Likewise.
6863         (tdesc_add_flag): Likewise.
6864         (tdesc_add_enum_value): Likewise.
6865         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
6866         (struct tdesc_type_vector): Likewise.
6867         (struct tdesc_type_field): Likewise.
6868         (struct tdesc_type_with_fields): Likewise.
6869         (tdesc_create_enum): Add declaration.
6870         (tdesc_add_typed_bitfield): Likewise.
6871         (tdesc_add_enum_value): Likewise.
6872         * target-descriptions.c (tdesc_type_field): Move from here.
6873         (tdesc_type_builtin): Likewise.
6874         (tdesc_type_vector): Likewise.
6875         (tdesc_type_with_fields): Likewise.
6876         (tdesc_predefined_types): Likewise.
6877         (tdesc_named_type): Likewise.
6878         (tdesc_create_vector): Likewise.
6879         (tdesc_create_struct): Likewise.
6880         (tdesc_set_struct_size): Likewise.
6881         (tdesc_create_union): Likewise.
6882         (tdesc_create_flags): Likewise.
6883         (tdesc_create_enum): Likewise.
6884         (tdesc_add_field): Likewise.
6885         (tdesc_add_typed_bitfield): Likewise.
6886         (tdesc_add_bitfield): Likewise.
6887         (tdesc_add_flag): Likewise.
6888         (tdesc_add_enum_value): Likewise.
6889         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
6890         (tdesc_add_typed_bitfield): Likewise.
6891         (tdesc_add_enum_value): Likewise.
6892
6893 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6894
6895         * common/tdesc.c (tdesc_feature::accept): Move to here.
6896         (tdesc_feature::operator==): Likewise.
6897         (tdesc_create_reg): Likewise.
6898         * common/tdesc.h (tdesc_type_kind): Likewise.
6899         (struct tdesc_type): Likewise.
6900         (struct tdesc_feature): Likewise.
6901         * regformats/regdat.sh: Create a feature.
6902         * target-descriptions.c (tdesc_type_kind): Move from here.
6903         (tdesc_type): Likewise.
6904         (tdesc_type_up): Likewise.
6905         (tdesc_feature): Likewise.
6906         (tdesc_create_reg): Likewise.
6907
6908 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6909
6910         * Makefile.in: Add arch/tdesc.c
6911         * common/tdesc.c: New file.
6912         * common/tdesc.h (tdesc_element_visitor): Move to here.
6913         (tdesc_element): Likewise.
6914         (tdesc_reg): Likewise.
6915         (tdesc_reg_up): Likewise.
6916         * regformats/regdef.h (reg): Add offset to constructors.
6917         * target-descriptions.c (tdesc_element_visitor): Move from here.
6918         (tdesc_element): Likewise.
6919         (tdesc_reg): Likewise.
6920         (tdesc_reg_up): Likewise.
6921
6922 2018-04-17  Tom Tromey  <tom@tromey.com>
6923
6924         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
6925         discriminant field.
6926
6927 2018-04-17  Tom Tromey  <tom@tromey.com>
6928
6929         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
6930
6931 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6932
6933         * symtab.c (print_symbol_info): Skip printing filename and line
6934         number when `last' is NULL.
6935         (symtab_symbol_info): Use empty string instead of NULL for first
6936         invocation of print_symbol_info.
6937         (rbreak_command): Pass NULL to `last' parameter of
6938         print_symbol_info.
6939
6940 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
6941
6942         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
6943         instead of nullptr.
6944
6945 2018-04-16  Pedro Alves  <palves@redhat.com>
6946
6947         * MAINTAINERS (sh): Remove.
6948         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
6949         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
6950         (ALLDEPFILES): Remove sh64-tdep.c.
6951         * NEWS: Mentions that support for SH-5/SH64 is removed.
6952         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
6953         (sh*-*-openbsd*): Ditto.
6954         (sh64-*-elf*): Remove.
6955         (sh*): Remove.
6956         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
6957         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
6958         * sh-tdep.c: No longer include "sh64-tdep.h".
6959         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
6960         * sh64-tdep.c, sh64-tdep.h: Remove files.
6961
6962 2018-04-16  Pedro Alves  <palves@redhat.com>
6963
6964         * MAINTAINERS: Remove m88k.
6965         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
6966         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
6967         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
6968         * NEWS: Mention that support for m88k was removed.
6969         * configure.host (m88*-*-*): Remove support.
6970         * configure.nat (m88k-*-*): Remove support.
6971         * configure.tgt (m88*-*-openbsd*): Remove.
6972         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
6973
6974 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
6975
6976         * configure.tgt (x86_tobjs): New variable.
6977         (amd64_tobjs, i386_tobjs): Use it.
6978
6979 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6980
6981         * symtab.c (print_symbol_info): Precede the symbol definition by
6982         the line number when available.
6983         * NEWS: Advertise this enhancement.
6984
6985 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6986
6987         * NEWS (New options): announce set/show record btrace cpu.
6988         * btrace.c: Include record-btrace.h.
6989         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
6990         the vendor is unknown.
6991         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
6992         Maybe overwrite the btrace configuration's cpu.
6993         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
6994         (btrace_fetch): Add cpu parameter.  Update callers.
6995         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
6996         Maybe overwrite the btrace configuration's cpu.  Skip enabling
6997         errata workarounds if the vendor is unknown.
6998         * python/py-record-btrace.c: Include record-btrace.h.
6999         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
7000         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
7001         * record-btrace.c (record_btrace_cpu_state_kind): New.
7002         (record_btrace_cpu): New.
7003         (set_record_btrace_cpu_cmdlist): New.
7004         (record_btrace_get_cpu): New.
7005         (require_btrace_thread, record_btrace_info)
7006         (record_btrace_resume_thread): Call record_btrace_get_cpu.
7007         (cmd_set_record_btrace_cpu_none): New.
7008         (cmd_set_record_btrace_cpu_auto): New.
7009         (cmd_set_record_btrace_cpu): New.
7010         (cmd_show_record_btrace_cpu): New.
7011         (_initialize_record_btrace): Initialize set/show record btrace cpu
7012         commands.
7013         * record-btrace.h (record_btrace_get_cpu): New.
7014
7015 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7016
7017         * record.c (set_record_command): Fix typo in message.
7018
7019 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7020
7021         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
7022
7023 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7024
7025         * infrun.c (process_event_stop_test): Call
7026         gdbarch_in_indirect_branch_thunk.
7027         * gdbarch.sh (in_indirect_branch_thunk): New.
7028         * gdbarch.c: Regenerated.
7029         * gdbarch.h: Regenerated.
7030         * x86-tdep.h: New.
7031         * x86-tdep.c: New.
7032         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7033         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7034         (ALLDEPFILES): Add x86-tdep.c.
7035         * arch-utils.h (default_in_indirect_branch_thunk): New.
7036         * arch-utils.c (default_in_indirect_branch_thunk): New.
7037         * i386-tdep: Include x86-tdep.h.
7038         (i386_in_indirect_branch_thunk): New.
7039         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7040         function.
7041         * amd64-tdep: Include x86-tdep.h.
7042         (amd64_in_indirect_branch_thunk): New.
7043         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7044
7045 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7046
7047         PR gdb/23053
7048         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7049         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7050         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7051         regression.
7052
7053 2018-04-12  Tom Tromey  <tom@tromey.com>
7054
7055         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7056         (rust_evaluate_subexp): Likewise.
7057
7058 2018-04-12  Pedro Alves  <palves@redhat.com>
7059
7060         * procfs.c (procfs_detach): Make forward declaration's prototype
7061         match definition's protototype.
7062         (proc_get_LDT_entry): Remove stale do_cleanups call.
7063
7064 2018-04-12  Pedro Alves  <palves@redhat.com>
7065
7066         * target.h (target_ops::to_has_exited): Delete.
7067         (target_has_exited): Delete.
7068         * target-delegates.c: Regenerate.
7069
7070 2018-04-11  Pedro Alves  <palves@redhat.com>
7071
7072         * target.c (fileio_fh_t::t): Add comment.
7073         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7074         (target_fileio_close): Handle a NULL target.
7075         (invalidate_fileio_fh): New.
7076         (target_close): Call it.
7077         * remote.c (remote_hostio_send_command): No longer check whether
7078         remote_desc is open.
7079
7080 2018-04-11  Pedro Alves  <palves@redhat.com>
7081
7082         * target.c (fileio_fh_t): Make it a named struct instead of a
7083         typedef.
7084         (fileio_fh_t::is_closed): New method.
7085         (DEF_VEC_O (fileio_fh_t)): Remove.
7086         (fileio_fhandles): Now a std::vector.
7087         (is_closed_fileio_fh): Delete.
7088         (acquire_fileio_fd): Adjust.  Rename parameters.
7089         (release_fileio_fd): Adjust.
7090         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7091         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7092         (target_fileio_close): Adjust.
7093
7094 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7095
7096         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7097         index.
7098
7099 2018-04-10  Pedro Alves  <palves@redhat.com>
7100
7101         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7102         (scoped_finish_thread_state): New class.
7103         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7104         cleanup.
7105         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7106         (fetch_inferior_event, normal_stop): Likewise.
7107         * thread.c (finish_thread_state_cleanup): Delete.
7108
7109 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7110             Pedro Alves  <palves@redhat.com>
7111
7112         * value.c: Include "selftest.h" and "common/array-view.h".
7113         (struct range) <operator ==>: New.
7114         (test_ranges_contain): New.
7115         (check_ranges_vector): New.
7116         (test_insert_into_bit_range_vector): New.
7117         (_initialize_values): Register selftests.
7118         * common/array-view.h (operator==, operator!=): New.
7119
7120 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7121
7122         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7123         an iterator.
7124         * inline-frame.c: Include <algorithm>.
7125         (struct inline_state): Add constructor.
7126         (inline_state_s): Remove.
7127         (DEF_VEC_O(inline_state_s)): Remove.
7128         (inline_states): Change type to std::vector.
7129         (find_inline_frame_state): Adjust to std::vector.
7130         (allocate_inline_frame_state): Remove.
7131         (clear_inline_frame_state): Adjust to std::vector.
7132         (skip_inline_frames): Adjust to std::vector.
7133
7134 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7135
7136         * tracepoint.h (struct trace_state_variable): Add constructor.
7137         <name>: Change type to std::string.
7138         * tracepoint.c (tsv_s): Remove.
7139         (DEF_VEC_O(tsv_s)): Remove.
7140         (tvariables): Change to std::vector.
7141         (create_trace_state_variable): Adjust to std::vector.
7142         (find_trace_state_variable): Likewise.
7143         (find_trace_state_variable_by_number): Likewise.
7144         (delete_trace_state_variable): Likewise.
7145         (trace_variable_command): Adjust to std::string.
7146         (delete_trace_variable_command): Likewise.
7147         (tvariables_info_1): Adjust to std::vector.
7148         (save_trace_state_variables): Likewise.
7149         (start_tracing): Likewise.
7150         (merge_uploaded_trace_state_variables): Adjust to std::vector
7151         and std::string.
7152         * target.h (struct target_ops)
7153         <to_download_trace_state_variable>: Pass reference to
7154         trace_state_variable.
7155         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7156         * target-delegates.c: Re-generate.
7157         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7158         (mi_tsv_deleted): Likewise.
7159         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7160         * remote.c (remote_download_trace_state_variable): Change
7161         pointer to reference and adjust.
7162         * make-target-delegates (parse_argtypes): Handle references.
7163         (write_function_header): Likewise.
7164         (munge_type): Likewise.
7165
7166 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7167
7168         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7169         string_view-selftests.c.
7170         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7171         testsuite.
7172         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7173         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7174         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7175         * unittests/basic_string_view/element_access/char/1.cc:
7176         Likewise.
7177         * unittests/basic_string_view/element_access/char/empty.cc:
7178         Likewise.
7179         * unittests/basic_string_view/element_access/char/front_back.cc:
7180         Likewise.
7181         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7182         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7183         Likewise.
7184         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7185         Likewise.
7186         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7187         Likewise.
7188         * unittests/basic_string_view/operations/compare/char/1.cc:
7189         Likewise.
7190         * unittests/basic_string_view/operations/compare/char/13650.cc:
7191         Likewise.
7192         * unittests/basic_string_view/operations/copy/char/1.cc:
7193         Likewise.
7194         * unittests/basic_string_view/operations/data/char/1.cc:
7195         Likewise.
7196         * unittests/basic_string_view/operations/find/char/1.cc:
7197         Likewise.
7198         * unittests/basic_string_view/operations/find/char/2.cc:
7199         Likewise.
7200         * unittests/basic_string_view/operations/find/char/3.cc:
7201         Likewise.
7202         * unittests/basic_string_view/operations/find/char/4.cc:
7203         Likewise.
7204         * unittests/basic_string_view/operations/rfind/char/1.cc:
7205         Likewise.
7206         * unittests/basic_string_view/operations/rfind/char/2.cc:
7207         Likewise.
7208         * unittests/basic_string_view/operations/rfind/char/3.cc:
7209         Likewise.
7210         * unittests/basic_string_view/operations/substr/char/1.cc:
7211         Likewise.
7212         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7213         * unittests/string_view-selftests.c: New file.
7214
7215 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7216
7217         * unittests/basic_string_view/capacity/1.cc: New file.
7218         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7219         * unittests/basic_string_view/cons/char/1.cc: New file.
7220         * unittests/basic_string_view/cons/char/2.cc: New file.
7221         * unittests/basic_string_view/cons/char/3.cc: New file.
7222         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7223         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7224         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7225         * unittests/basic_string_view/element_access/char/1.cc: New file.
7226         * unittests/basic_string_view/element_access/char/2.cc: New file.
7227         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7228         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7229         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7230         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7231         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7232         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7233         * unittests/basic_string_view/include.cc: New file.
7234         * unittests/basic_string_view/inserters/char/1.cc: New file.
7235         * unittests/basic_string_view/inserters/char/2.cc: New file.
7236         * unittests/basic_string_view/inserters/char/3.cc: New file.
7237         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7238         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7239         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7240         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7241         * unittests/basic_string_view/literals/types.cc: New file.
7242         * unittests/basic_string_view/literals/values.cc: New file.
7243         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7244         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7245         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7246         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7247         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7248         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7249         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7250         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7251         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7252         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7253         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7254         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7255         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7256         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7257         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7258         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7259         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7260         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7261         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7262         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7263         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7264         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7265         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7266         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7267         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7268         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7269         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7270         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7271         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7272         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7273         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7274         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7275         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7276         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7277         * unittests/basic_string_view/operators/char/2.cc: New file.
7278         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7279         * unittests/basic_string_view/range_access/char/1.cc: New file.
7280         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7281         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7282         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7283         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7284         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7285         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7286         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7287         * unittests/basic_string_view/typedefs.cc: New file.
7288         * unittests/basic_string_view/types/1.cc: New file.
7289
7290 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7291
7292         * common/gdb_string_view.h: Remove libstdc++ implementation
7293         details, adjust to gdb reality.
7294         * common/gdb_string_view.tcc: Likewise.
7295         * cli/cli-script.c (struct string_view): Remove.
7296         (user_args) <m_args>: Change element type to gdb::string_view.
7297         (user_args::insert_args): Adjust.
7298
7299 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7300
7301         * common/gdb_string_view.h: New file.
7302         * common/gdb_string_view.tcc: New file.
7303
7304 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7305
7306         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7307         * configure: Re-generate.
7308
7309 2018-04-09  Pedro Alves  <palves@redhat.com>
7310
7311         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7312         (set_target_gdbarch): Call
7313         gdb::observers::architecture_changed.notify instead of
7314         observer_notify_architecture_changed.
7315
7316 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7317
7318         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7319         (do_restore_current_traceframe_cleanup): Remove.
7320         (restore_current_traceframe_cleanup_dtor): Remove.
7321         (make_cleanup_restore_current_traceframe): Remove.
7322         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7323         New.
7324         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7325         * infrun.c (fetch_inferior_event): Use
7326         scoped_restore_current_traceframe.
7327
7328 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7329
7330         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7331         Remove.
7332         <n_allocated_type_units>: Remove.
7333         <all_type_units>: Change to std::vector.
7334         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7335         to std::vector change.
7336         (dwarf2_per_objfile::get_cutu): Likewise.
7337         (dwarf2_per_objfile::get_tu): Likewise.
7338         (create_signatured_type_table_from_index): Likewise.
7339         (create_signatured_type_table_from_debug_names): Likewise.
7340         (dw2_symtab_iter_next): Likewise.
7341         (dw2_print_stats): Likewise.
7342         (dw2_expand_all_symtabs): Likewise.
7343         (dw2_expand_marked_cus): Likewise.
7344         (dw2_debug_names_iterator::next): Likewise.
7345         (dwarf2_initialize_objfile): Likewise.
7346         (add_signatured_type_cu_to_table): Likewise.
7347         (create_all_type_units): Likewise.
7348         (add_type_unit): Likewise.
7349         (struct tu_abbrev_offset): Add constructor.
7350         (build_type_psymtabs_1): Adjust to std::vector change.
7351         (print_tu_stats): Likewise.
7352         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7353         (write_debug_names): Likewise.
7354
7355 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7356
7357         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7358         Make an std::vector.
7359         <n_comp_units>: Remove.
7360         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7361         to std::vector change.
7362         (dwarf2_per_objfile::get_cutu): Likewise.
7363         (dwarf2_per_objfile::get_cu): Likewise.
7364         (create_cus_from_index): Likewise.
7365         (create_addrmap_from_index): Likewise.
7366         (create_addrmap_from_aranges): Likewise.
7367         (dwarf2_read_index): Likewise.
7368         (dw2_find_last_source_symtab): Likewise.
7369         (dw2_map_symtabs_matching_filename): Likewise.
7370         (dw2_symtab_iter_next): Likewise.
7371         (dw2_print_stats): Likewise.
7372         (dw2_expand_all_symtabs): Likewise.
7373         (dw2_expand_symtabs_with_fullname): Likewise.
7374         (dw2_expand_marked_cus): Likewise.
7375         (dw2_map_symbol_filenames): Likewise.
7376         (create_cus_from_debug_names): Likewise.
7377         (dwarf2_read_debug_names): Likewise.
7378         (dw2_debug_names_iterator::next): Likewise.
7379         (dwarf2_initialize_objfile): Likewise.
7380         (set_partial_user): Likewise.
7381         (dwarf2_build_psymtabs_hard): Likewise.
7382         (read_comp_units_from_section): Remove arguments, adjust to
7383         std::vector change.
7384         (create_all_comp_units): Adjust to std::vector and
7385         read_comp_units_from_section changes.
7386         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7387         change.
7388         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7389         (psyms_seen_size): Likewise.
7390         (write_gdbindex): Likewise.
7391         (write_debug_names): Likewise.
7392
7393 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7394
7395         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7396         with dwarf2_per_objfile.
7397         (create_cus_from_index): Likewise.
7398         (create_signatured_type_table_from_index): Likewise.
7399         (dwarf2_read_index): Likewise.
7400         (dwarf2_initialize_objfile): Likewise.
7401         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7402         per_cu rather than get_dwarf2_per_objfile.
7403
7404 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7405
7406         * dwarf2read.h (struct signatured_type): Forward declare.
7407         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7408         New methods.
7409         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
7410         (dw2_get_cutu): ...this.
7411         (dwarf2_per_objfile::get_cu): Rename from...
7412         (dw2_get_cu): ...this.
7413         (dwarf2_per_objfile::get_tu): New.
7414         (create_addrmap_from_index): Adjust.
7415         (create_addrmap_from_aranges): Adjust.
7416         (dw2_find_last_source_symtab): Adjust.
7417         (dw2_map_symtabs_matching_filename): Adjust.
7418         (dw2_symtab_iter_next): Adjust.
7419         (dw2_print_stats): Adjust.
7420         (dw2_expand_all_symtabs): Adjust.
7421         (dw2_expand_symtabs_with_fullname): Adjust.
7422         (dw2_expand_marked_cus): Adjust.
7423         (dw_expand_symtabs_matching_file_matcher): Adjust.
7424         (dw2_map_symbol_filenames): Adjust.
7425         (dw2_debug_names_iterator::next): Adjust.
7426         (dwarf2_initialize_objfile): Adjust.
7427         (set_partial_user): Adjust.
7428         (dwarf2_build_psymtabs_hard): Adjust.
7429
7430 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7431
7432         * dwarf2read.c (create_signatured_type_table_from_debug_names):
7433         Remove unused variables.
7434         (dw2_map_symtabs_matching_filename): Likewise.
7435         (dwarf2_record_block_ranges): Likewise.
7436         (dwarf2_read_addr_index): Likewise.
7437         (follow_die_offset): Likewise.
7438
7439 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7440
7441         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
7442         to symbol_file_add_main.
7443
7444 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7445
7446         PR mi/22299
7447         * mi/mi-console.c (do_fputc_async_safe): New.
7448         (mi_console_file::write_async_safe): New.
7449         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
7450         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
7451         New.
7452         * ui-file.c (ui_file::putstrn): Adjust call to
7453         fputstrn_unfiltered.
7454         * utils.c (printchar): Replace do_fputs and do_fprintf
7455         parameters by do_fputc.
7456         (fputstr_filtered): Adjust call to printchar.
7457         (fputstr_unfiltered): Likewise.
7458         (fputstrn_filtered): Likewise.
7459         (fputstrn_unfiltered): Add do_fputc parameter, pass to
7460         printchar.
7461         * utils.h (do_fputc_ftype): New typedef.
7462         (fputstrn_unfiltered): Add do_fputc parameter.
7463
7464 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7465
7466         * regformats/i386/i386-avx.dat: Remove.
7467
7468 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7469
7470         PR gdb/22979
7471         * amd64-tdep.c (amd64_none_init_abi): New function.
7472         (amd64_x32_none_init_abi): New function.
7473         (_initialize_amd64_tdep): Register handlers for x86-64 and
7474         x64_32 with GDB_OSABI_NONE.
7475         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
7476         GDB_OSABI_NONE osabi.
7477
7478 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7479
7480         PR gdb/22980
7481         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
7482         GDB_OSABI_NONE.
7483         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
7484         * osabi.c (gdb_osabi_names): Add "unknown" entry.
7485
7486 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7487
7488         * common/byte-vector.h (char_vector): New type.
7489         * target.h (target_read_alloc): Return
7490         gdb::optional<byte_vector>.
7491         (target_read_stralloc): Return gdb::optional<char_vector>.
7492         (target_get_osdata): Return gdb::optional<char_vector>.
7493         * target.c (target_read_alloc_1): Templatize.  Replacement
7494         manual memory management with vector.
7495         (target_read_alloc): Change return type, adjust.
7496         (target_read_stralloc): Change return type, adjust.
7497         (target_get_osdata): Change return type, adjust.
7498         * auxv.c (struct auxv_info) <length>: Remove.
7499         <data>: Change type to gdb::optional<byte_vector>.
7500         (auxv_inferior_data_cleanup): Free auxv_info with delete.
7501         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
7502         (target_auxv_search): Adjust.
7503         (fprint_target_auxv): Adjust.
7504         * avr-tdep.c (avr_io_reg_read_command): Adjust.
7505         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
7506         (linux_make_corefile_notes): Adjust.
7507         * osdata.c (get_osdata): Adjust.
7508         * remote.c (remote_get_threads_with_qxfer): Adjust.
7509         (remote_memory_map): Adjust.
7510         (remote_traceframe_info): Adjust.
7511         (btrace_read_config): Adjust.
7512         (remote_read_btrace): Adjust.
7513         (remote_pid_to_exec_file): Adjust.
7514         * solib-aix.c (solib_aix_get_library_list): Adjust.
7515         * solib-dsbt.c (decode_loadmap): Don't free buf.
7516         (dsbt_get_initial_loadmaps): Adjust.
7517         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
7518         * solib-target.c (solib_target_current_sos): Adjust.
7519         * tracepoint.c (sdata_make_value): Adjust.
7520         * xml-support.c (xinclude_start_include): Adjust.
7521         (xml_fetch_content_from_file): Adjust.
7522         * xml-support.h (xml_fetch_another): Change return type.
7523         (xml_fetch_content_from_file): Change return type.
7524         * xml-syscall.c (xml_init_syscalls_info): Adjust.
7525         * xml-tdesc.c (file_read_description_xml): Adjust.
7526         (fetch_available_features_from_target): Change return type.
7527         (target_fetch_description_xml): Adjust.
7528         (target_read_description_xml): Adjust.
7529
7530 2018-04-06  Tom Tromey  <tom@tromey.com>
7531
7532         * value.c (~value): Update.
7533         (struct value) <contents>: Now unique_xmalloc_ptr.
7534         (value_contents_bits_eq, allocate_value_contents)
7535         (value_contents_raw, value_contents_all_raw)
7536         (value_contents_for_printing, value_contents_for_printing_const)
7537         (set_value_enclosing_type): Update.
7538
7539 2018-04-06  Tom Tromey  <tom@tromey.com>
7540
7541         * value.c (range_s): Remove typedef, VEC.
7542         (struct range): Add operator<.
7543         (range_lessthan): Remove.
7544         (ranges_contain): Change type.
7545         (~value): Update.
7546         (struct value) <unavailable, optimized_out>: Now std::vector.
7547         (value_entirely_available)
7548         (value_entirely_covered_by_range_vector)
7549         (value_entirely_unavailable, value_entirely_optimized_out):
7550         Update.
7551         (insert_into_bit_range_vector): Change argument type.
7552         (find_first_range_overlap): Likewise.
7553         (struct ranges_and_idx, value_contents_bits_eq)
7554         (require_not_optimized_out, require_available): Update.
7555         (ranges_copy_adjusted): Change argument types.
7556         (value_optimized_out, value_copy, value_fetch_lazy): Update.
7557
7558 2018-04-06  Tom Tromey  <tom@tromey.com>
7559
7560         * value.c (~value): Update.
7561         (struct value) <parent>: Now a value_ref_ptr.
7562         (value_parent, set_value_parent, value_address, value_copy):
7563         Update.
7564
7565 2018-04-06  Tom Tromey  <tom@tromey.com>
7566
7567         * value.c (struct value): Add constructor, destructor, and member
7568         initializers.
7569         (allocate_value_lazy, value_decref): Update.
7570
7571 2018-04-06  Tom Tromey  <tom@tromey.com>
7572
7573         * value.c (struct value) <released, next>: Remove.
7574         (all_values): Now a std::vector.
7575         (allocate_value_lazy): Update.
7576         (value_next): Remove.
7577         (value_mark, value_free_to_mark, release_value)
7578         (value_release_to_mark): Update.
7579
7580 2018-04-06  Tom Tromey  <tom@tromey.com>
7581
7582         * value.h (fetch_subexp_value, value_release_to_mark): Update.
7583         (free_value_chain): Remove.
7584         * value.c (free_value_chain): Remove.
7585         (value_release_to_mark): Return a std::vector.
7586         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
7587         std::vector.
7588         (check_condition): Update.
7589         * eval.c (fetch_subexp_value): Change "val_chain" to a
7590         std::vector.
7591         * breakpoint.c (update_watchpoint): Update.
7592         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
7593
7594 2018-04-06  Tom Tromey  <tom@tromey.com>
7595
7596         * value.h (free_all_values): Remove.
7597         * value.c (free_all_values): Remove.
7598
7599 2018-04-06  Tom Tromey  <tom@tromey.com>
7600
7601         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
7602         (value_history_chain, value_history_count): Remove.
7603         (value_history): New global.
7604         (record_latest_value, access_value_history, show_values)
7605         (preserve_values): Update.
7606
7607 2018-04-06  Tom Tromey  <tom@tromey.com>
7608
7609         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
7610         * varobj.c (varobj_set_display_format, varobj_set_value)
7611         (install_default_visualizer, construct_visualizer)
7612         (install_new_value, ~varobj, varobj_get_value_type)
7613         (my_value_of_variable, varobj_editable_p): Update.
7614         * c-varobj.c (c_describe_child, c_value_of_variable)
7615         (cplus_number_of_children, cplus_describe_child): Update.
7616         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
7617         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
7618         (ada_value_of_variable, ada_value_is_changeable_p): Update.
7619
7620 2018-04-06  Tom Tromey  <tom@tromey.com>
7621
7622         * printcmd.c (last_examine_address): Change type to
7623         value_ref_ptr.
7624         (do_examine, x_command): Update.
7625
7626 2018-04-06  Tom Tromey  <tom@tromey.com>
7627
7628         * value.c (release_value): Update.
7629         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
7630         (struct bpstats) <val>: Now a value_ref_ptr.
7631         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7632         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7633         (~watchpoint, print_it_watchpoint, watch_command_1)
7634         (invalidate_bp_value_on_memory_change): Update.
7635
7636 2018-04-06  Tom Tromey  <tom@tromey.com>
7637
7638         * varobj.c (varobj_clear_saved_item)
7639         (update_dynamic_varobj_children, install_new_value, ~varobj):
7640         Update.
7641         * value.h (value_incref): Move declaration earlier.
7642         (value_decref): Rename from value_free.
7643         (struct value_ref_policy): New.
7644         (value_ref_ptr): New typedef.
7645         (struct value_deleter): Remove.
7646         (gdb_value_up): Remove typedef.
7647         (release_value): Change return type.
7648         (release_value_or_incref): Remove.
7649         * value.c (set_value_parent): Update.
7650         (value_incref): Change return type.
7651         (value_decref): Rename from value_free.
7652         (value_free_to_mark, free_all_values, free_value_chain): Update.
7653         (release_value): Return value_ref_ptr.
7654         (release_value_or_incref): Remove.
7655         (record_latest_value, set_internalvar, clear_internalvar):
7656         Update.
7657         * stack.c (info_frame_command): Don't call value_free.
7658         * python/py-value.c (valpy_dealloc, valpy_new)
7659         (value_to_value_object): Update.
7660         * printcmd.c (do_examine): Update.
7661         * opencl-lang.c (lval_func_free_closure): Update.
7662         * mi/mi-main.c (register_changed_p): Don't call value_free.
7663         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
7664         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
7665         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
7666         value_free.
7667         * guile/scm-value.c (vlscm_free_value_smob)
7668         (vlscm_scm_from_value): Update.
7669         * frame.c (frame_register_unwind, frame_unwind_register_signed)
7670         (frame_unwind_register_unsigned, get_frame_register_bytes)
7671         (put_frame_register_bytes): Don't call value_free.
7672         * findvar.c (address_from_register): Don't call value_free.
7673         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
7674         * dwarf2loc.c (entry_data_value_free_closure)
7675         (value_of_dwarf_reg_entry, free_pieced_value_closure)
7676         (dwarf2_evaluate_loc_desc_full): Update.
7677         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7678         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7679         (~watchpoint, watch_command_1)
7680         (invalidate_bp_value_on_memory_change): Update.
7681         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
7682
7683 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
7684
7685         PR gdb/23022
7686         * warning.m4: Add -Wno-error=deprecated-register.
7687         * configure: Re-generate.
7688
7689 2018-04-05  Tom Tromey  <tom@tromey.com>
7690
7691         * linespec.h: Remove include of "vec.h".
7692
7693 2018-04-05  Tom Tromey  <tom@tromey.com>
7694
7695         * linespec.c (typep): Remove typedef.
7696         (find_methods, find_superclass_methods): Take a std::vector.
7697         (find_method): Use std::vector.
7698
7699 2018-04-05  Tom Tromey  <tom@tromey.com>
7700
7701         * utils.c (compare_strings): Remove.
7702         * utils.h (compare_strings): Remove.
7703         * objc-lang.h (find_imps): Update.
7704         * objc-lang.c (find_methods): Take a std::vector.
7705         (uniquify_strings, find_imps): Likewise.
7706         * linespec.c (find_methods): Take a std::vector.
7707         (decode_objc): Use std::vector.
7708         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
7709         a std::vector.
7710         (find_method, find_function_symbols): Use std::vector.
7711
7712 2018-04-05  Tom Tromey  <tom@tromey.com>
7713
7714         * completer.c (completion_tracker::completion_tracker): Remove
7715         cast.
7716         (completion_tracker::discard_completions): Likewise.
7717         * breakpoint.c (ambiguous_names_p): Remove cast.
7718         * ada-lang.c (_initialize_ada_language): Remove cast.
7719         * utils.h (streq): Update.
7720         (streq_hash): Add new declaration.
7721         * utils.c (streq): Return bool.
7722         (streq_hash): New function.
7723
7724 2018-04-05  Tom Tromey  <tom@tromey.com>
7725
7726         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
7727         Remove a string copy.
7728
7729 2018-04-05  Tom Tromey  <tom@tromey.com>
7730
7731         * linespec.c (filter_results): Use std::vector.
7732         (decode_line_2, decode_line_full): Update.
7733
7734 2018-04-05  Tom Tromey  <tom@tromey.com>
7735
7736         * linespec.c (canonical_to_fullform): Return std::string.
7737         (filter_results): Update.
7738         (struct decode_line_2_item): Add constructor.
7739         <fullform, displayform>: Now std::string.
7740         (decode_line_2_compare_items): Now a std::sort comparator.
7741         (decode_line_2): Update.
7742
7743 2018-04-05  Tom Tromey  <tom@tromey.com>
7744
7745         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
7746         (unexpected_linespec_error): Update.
7747         (linespec_parse_basic, parse_linespec): Update.
7748
7749 2018-04-05  Tom Tromey  <tom@tromey.com>
7750
7751         * linespec.c (linespec_parse_basic): Reindent.
7752
7753 2018-04-05  Tom Tromey  <tom@tromey.com>
7754
7755         * minsyms.h (iterate_over_minimal_symbols): Update.
7756         * minsyms.c (iterate_over_minimal_symbols): Take a
7757         gdb::function_view.
7758         * linespec.c (struct collect_minsyms): Remove.
7759         (compare_msyms): Now a std::sort comparator.
7760         (add_minsym): Add parameters.
7761         (search_minsyms_for_name): Update.  Use std::vector.
7762
7763 2018-04-03  Tom Tromey  <tom@tromey.com>
7764
7765         * mipsread.c (read_alphacoff_dynamic_symtab): Use
7766         gdb::byte_vector.
7767
7768 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7769
7770         * MAINTAINERS (Write After Approval): Add Weimin Pan.
7771
7772 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7773
7774         PR gdb/16959
7775         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
7776         printing static type.
7777
7778 2018-04-01  Tom Tromey  <tom@tromey.com>
7779
7780         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
7781         (rs6000_xfer_shared_libraries): Update.
7782
7783 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
7784
7785         * common/gdb_vecs.h (char_ptr): Remove.
7786         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
7787
7788 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7789
7790         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
7791         with std::vector.
7792         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
7793
7794 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7795
7796         * tracepoint.h (struct uploaded_tp): Initialize fields.
7797         <actions, step_actions, cmd_strings>: Change type to
7798         std::vector<char *>.
7799         * tracepoint.c (get_uploaded_tp): Allocate with new.
7800         (free_uploaded_tps): Free with delete.
7801         (parse_tracepoint_definition): Adjust to std::vector change.
7802         * breakpoint.c (read_uploaded_action): Likewise.
7803         (create_tracepoint_from_upload): Likewise.
7804         * ctf.c (ctf_write_uploaded_tp): Likewise.
7805         (SET_ARRAY_FIELD): Likewise.
7806         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
7807
7808 2018-03-30  Tom Tromey  <tom@tromey.com>
7809
7810         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
7811         std::unique_ptr.
7812         (svr4_keep_data_in_core): Update.
7813         (svr4_read_so_list): Update.
7814
7815 2018-03-30  Tom Tromey  <tom@tromey.com>
7816
7817         * windows-nat.c (handle_output_debug_string, handle_exception):
7818         Update.
7819         * target.h (target_read_string): Update.
7820         * target.c (target_read_string): Change "string" to
7821         unique_xmalloc_ptr.
7822         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
7823         Update.
7824         * solib-frv.c (frv_current_sos): Update.
7825         * solib-dsbt.c (dsbt_current_sos): Update.
7826         * solib-darwin.c (darwin_current_sos): Update.
7827         * linux-thread-db.c (inferior_has_bug): Update.
7828         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
7829         Update.  Remove alloca.
7830         * ada-lang.c (ada_main_name): Update.
7831
7832 2018-03-30  Tom Tromey  <tom@tromey.com>
7833
7834         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
7835         (struct dwo_file_deleter): New.
7836         (dwo_file_up): New typedef.
7837         (open_and_init_dwo_file): Use dwo_file_up.
7838         (free_dwo_file_cleanup): Remove.
7839
7840 2018-03-30  Tom Tromey  <tom@tromey.com>
7841
7842         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
7843         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
7844
7845 2018-03-30  Tom Tromey  <tom@tromey.com>
7846
7847         * dwarf2read.c (class free_cached_comp_units): New class.
7848         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
7849         (free_cached_comp_units): Remove function.
7850
7851 2018-03-30  Tom Tromey  <tom@tromey.com>
7852
7853         * utils.h (make_cleanup_unpush_target): Remove.
7854         * inf-ptrace.c (struct target_unpusher): New.
7855         (target_unpush_up) New typedef.
7856         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
7857         target_unpush_up.
7858         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
7859
7860 2018-03-27  Tom Tromey  <tom@tromey.com>
7861
7862         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
7863
7864 2018-03-27  Pedro Alves  <palves@redhat.com>
7865             Tom Tromey  <tom@tromey.com>
7866
7867         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
7868         destructor.  Now a class.
7869         (gdb_readline_wrapper_cleanup): Remove function.
7870         (gdb_readline_wrapper): Remove cleanups.
7871
7872 2018-03-27  Tom Tromey  <tom@tromey.com>
7873
7874         * typeprint.h (struct type_print_options) <local_typedefs,
7875         global_typedefs>: Remove "struct" keyword.
7876         (class typedef_hash_table): New class.
7877         (recursively_update_typedef_hash, add_template_parameters)
7878         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
7879         (find_typedef_in_hash): Don't declare.
7880         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
7881         (typedef_hash_table::recursively_update): Rename from
7882         recursively_update_typedef_hash.  Now a member.
7883         (typedef_hash_table::add_template_parameters): Rename from
7884         add_template_parameters.  Now a member.
7885         (typedef_hash_table::typedef_hash_table): Now a constructor;
7886         rename from create_typedef_hash.
7887         (typedef_hash_table::~typedef_hash_table): Now a destructor;
7888         rename from free_typedef_hash.
7889         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
7890         (do_free_global_table): Remove.
7891         (typedef_hash_table::typedef_hash_table): New constructor; renamed
7892         from copy_type_recursive.
7893         (create_global_typedef_table): Remove.
7894         (typedef_hash_table::find_global_typedef): Now a member of
7895         typedef_hash_table.
7896         (typedef_hash_table::find_typedef): Rename from
7897         find_typedef_in_hash; now a member.
7898         (whatis_exp): Update.
7899         * extension.h (struct ext_lang_type_printers): Add constructor and
7900         destructor.
7901         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
7902         declare.
7903         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
7904         Now a constructor; rename from start_ext_lang_type_printers.
7905         (ext_lang_type_printers): Now a destructor; rename from
7906         free_ext_lang_type_printers.
7907         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
7908         Update.
7909         (c_type_print_base_struct_union): Update.  Remove cleanups.
7910
7911 2018-03-27  Tom Tromey  <tom@tromey.com>
7912
7913         * dwarf-index-write.c: Include <cmath>.
7914
7915 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7916
7917         * NEWS: Add entry describing new "set|show varsize-limit" command.
7918         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
7919         command.
7920         * printcmd.c (_initialize_printcmd): Add "set var" alias of
7921         "set variable".
7922
7923 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
7924
7925         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
7926         dwarf-index-write.c
7927         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
7928         * dwarf-index-common.c: New file.
7929         * dwarf-index-common.h: New file.
7930         * dwarf-index-write.c: New file.
7931         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
7932         (struct dwarf2_section_info): Move from here.
7933         (dwarf2_section_info_def): Likewise.
7934         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
7935         (offset_type): Likewise.
7936         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
7937         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
7938         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
7939         (byte_swap): Likewise.
7940         (MAYBE_SWAP): Likewise.
7941         (dwarf2_per_cu_ptr): Likewise.
7942         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
7943         (struct tu_stats): Likewise.
7944         (struct dwarf2_per_objfile): Likewise.
7945         (struct dwarf2_per_cu_data): Likewise.
7946         (struct signatured_type): Likewise.
7947         (sig_type_ptr): Likewise.
7948         (DEF_VEC_P (sig_type_ptr)): Likewise.
7949         (INDEX4_SUFFIX): Likewise.
7950         (INDEX5_SUFFIX): Likewise.
7951         (DEBUG_STR_SUFFIX): Likewise.
7952         (dwarf2_read_section): Make non-static.
7953         (mapped_index_string_hash): Move from here.
7954         (dwarf5_djb_hash): Likewise.
7955         (file_write): Likewise.
7956         (class data_buf): Likewise.
7957         (struct symtab_index_entry): Likewise.
7958         (struct mapped_symtab): Likewise.
7959         (find_slot): Likewise.
7960         (hash_expand): Likewise.
7961         (add_index_entry): Likewise.
7962         (uniquify_cu_indices): Likewise.
7963         (class c_str_view): Likewise.
7964         (class c_str_view_hasher): Likewise.
7965         (class vector_hasher): Likewise.
7966         (write_hash_table): Likewise.
7967         (psym_index_map): Likewise.
7968         (struct addrmap_index_data): Likewise.
7969         (add_address_entry): Likewise.
7970         (add_address_entry_worker): Likewise.
7971         (write_address_map): Likewise.
7972         (symbol_kind): Likewise.
7973         (write_psymbols): Likewise.
7974         (struct signatured_type_index_data): Likewise.
7975         (write_one_signatured_type): Likewise.
7976         (recursively_count_psymbols): Likewise.
7977         (recursively_write_psymbols): Likewise.
7978         (class debug_names): Likewise.
7979         (check_dwarf64_offsets): Likewise.
7980         (psyms_seen_size): Likewise.
7981         (write_gdbindex): Likewise.
7982         (write_debug_names): Likewise.
7983         (assert_file_size): Likewise.
7984         (write_psymtabs_to_index): Likewise.
7985         (save_gdb_index_command): Likewise.
7986         (_initialize_dwarf2_read): Don't register the "save gdb-index"
7987         command.
7988         * dwarf2read.h: New file.
7989
7990 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7991
7992         PR gdb/22670
7993         * dwarf2read.c (dwarf2_physname): Do not return the demangled
7994         symbol name if the CU's language stores symbol names in linkage
7995         format.
7996         * language.h (struct language_defn)
7997         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
7998         all instances of this struct.
7999
8000 2018-03-26  Tom Tromey  <tom@tromey.com>
8001
8002         * stack.c (backtrace_command_1): Remove verbose code.
8003
8004 2018-03-26  Tom Tromey  <tom@tromey.com>
8005
8006         * python/py-framefilter.c (py_print_type): Don't catch
8007         exceptions.  Return void.
8008         (py_print_value): Likewise.
8009         (py_print_single_arg): Likewise.
8010         (enumerate_args): Don't catch exceptions.
8011         (py_print_args): Likewise.
8012         (py_print_frame): Likewise.
8013         (gdbpy_apply_frame_filter): Catch exceptions here.
8014
8015 2018-03-26  Tom Tromey  <tom@tromey.com>
8016
8017         * stack.c (_initialize_stack): Remove trailing newlines from help
8018         text.  Add "Usage" line to "backtrace" help.
8019
8020 2018-03-26  Tom Tromey  <tom@tromey.com>
8021
8022         PR python/16486:
8023         * python/py-framefilter.c (py_print_args): Call wrap_hint.
8024
8025 2018-03-26  Tom Tromey  <tom@tromey.com>
8026
8027         * python/py-framefilter.c (py_print_single_arg): Return
8028         EXT_LANG_BT_ERROR from catch.
8029
8030 2018-03-26  Tom Tromey  <tom@tromey.com>
8031
8032         PR backtrace/15584:
8033         * stack.c (backtrace_command_1): Move some code into no-filters
8034         "if".
8035
8036 2018-03-26  Tom Tromey  <tom@tromey.com>
8037
8038         * python/py-framefilter.c (throw_quit_or_print_exception): New
8039         function.
8040         (gdbpy_apply_frame_filter): Use it.
8041
8042 2018-03-26  Tom Tromey  <tom@tromey.com>
8043
8044         PR cli/17716:
8045         * python/py-framefilter.c (py_print_type, py_print_value)
8046         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8047         RETURN_MASK_ERROR.
8048
8049 2018-03-26  Tom Tromey  <tom@tromey.com>
8050
8051         * python/py-framefilter.c (enumerate_args): Use
8052         gdb::unique_xmalloc_ptr.
8053
8054 2018-03-26  Tom Tromey  <tom@tromey.com>
8055
8056         * python/py-framefilter.c (py_print_frame): Return
8057         EXT_LANG_BT_OK.
8058         (gdbpy_apply_frame_filter): Update comment.
8059         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8060         Remove.
8061         <EXT_LANG_BT_NO_FILTERS>: Change value.
8062
8063 2018-03-26  Tom Tromey  <tom@tromey.com>
8064
8065         PR backtrace/15582:
8066         * stack.c (backtrace_command): Parse "hide" argument.
8067         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8068         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8069         constant.
8070
8071 2018-03-26  Tom Tromey  <tom@tromey.com>
8072
8073         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8074         add "flags".
8075         (backtrace_command): Remove "fulltrace", add "flags".
8076
8077 2018-03-26  Tom Tromey  <tom@tromey.com>
8078
8079         * stack.c (backtrace_command): Rewrite command line parsing.
8080
8081 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8082
8083         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8084
8085 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8086
8087         * filename-seen-cache.h: Add include guard.
8088
8089 2018-03-26  Keith Seitz  <keiths@redhat.com>
8090
8091         * symfile.c (place_section): Remove "struct" from section_addr_info
8092         in comment.
8093         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8094         "struct" keyword from section_addr_info.
8095
8096 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8097
8098         * regformats/regdef.h (reg): Add constructors.
8099
8100 2018-03-25  Pedro Alves  <palves@redhat.com>
8101
8102         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8103         if then/else bodies in var_func_name extraction.
8104
8105 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8106
8107         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8108         lookup_minimal_symbol() to find symbol entry.
8109         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8110
8111 2018-03-23  Keith Seitz  <keiths@redhat.com>
8112
8113         PR c++/22968
8114         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8115         nested type definitions for C++, too.
8116
8117 2018-03-23  Tom Tromey  <tom@tromey.com>
8118
8119         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8120         a typedef.
8121         (macho_register_oso): Remove.
8122         (macho_symtab_read): Take a std::vector.
8123         (oso_el_compare_name): Now a std::sort comparator.
8124         (macho_symfile_read_all_oso): Take a std::vector.
8125         (macho_symfile_read): Use std::vector.  Remove cleanups.
8126
8127 2018-03-22  Tom Tromey  <tom@tromey.com>
8128
8129         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8130         (record_full_goto_bookmark): Use std::string.
8131
8132 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8133
8134         PR tdep/18295
8135         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8136         a single mask.
8137
8138 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8139
8140         * rs6000-tdep.c (store_insn_p): New function.
8141         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8142         and cr_reg to their unshifted values. Use store_insn_p to
8143         match LR saves using either R1 or fdata->alloca_reg. Use
8144         store_insn_p to match CR saves. Set alloca_reg_offset
8145         when alloca_reg and framep are set. Remove lr_reg shift
8146         when assigning to fdata->lr_register.
8147
8148 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8149
8150         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8151         command line args instead of emitting a warning.
8152
8153 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8154
8155         * tracepoint.h (struct static_tracepoint_marker): Initialize
8156         fields, define default constructor, move constructor and move
8157         assignment, disable the rest.
8158         <str_id, extra>: Make std::string.
8159         (release_static_tracepoint_marker): Remove.
8160         (free_current_marker): Remove.
8161         * tracepoint.c (free_current_marker): Remove.
8162         (parse_static_tracepoint_marker_definition): Adjust to
8163         std::string, use new hex2str overload.
8164         (release_static_tracepoint_marker): Remove.
8165         (print_one_static_tracepoint_marker): Get marker by reference
8166         and adjust to std::string.
8167         (info_static_tracepoint_markers_command): Adjust to std::vector
8168         changes
8169         * target.h (static_tracepoint_marker_p): Remove typedef.
8170         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8171         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8172         bool.
8173         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8174         * target-debug.h
8175         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8176         (target_debug_print_std_vector_static_tracepoint_marker): New.
8177         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8178         to...
8179         (target_debug_print_static_tracepoint_marker_p): ... this.
8180         * target-delegates.c: Re-generate.
8181         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8182         Make std::string.
8183         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8184         (decode_static_tracepoint_spec): Adjust to std::vector.
8185         (tracepoint_print_one_detail): Adjust to std::string.
8186         (strace_marker_decode_location): Adjust to std::string.
8187         (update_static_tracepoint): Adjust to std::string, remove call
8188         to release_static_tracepoint_marker.
8189         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8190         Adjust to std::vector.
8191         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8192         (remote_static_tracepoint_markers_by_strid): Adjust to
8193         std::vector.
8194         * common/rsp-low.h (hex2str): New overload with explicit count
8195         of bytes.
8196         * common/rsp-low.c (hex2str): New overload with explicit count
8197         of bytes.
8198         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8199         (_initialize_rsp_low_selftests): Add test_hex2str test.
8200         * unittests/tracepoint-selftests.c
8201         (test_parse_static_tracepoint_marker_definition): Adjust to
8202         std::string.
8203
8204 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8205
8206         * tracepoint.c (parse_static_tracepoint_marker_definition):
8207         Consider case where the definition is followed by more
8208         definitions.
8209         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8210         tracepoint-selftests.c.
8211         * unittests/tracepoint-selftests.c: New.
8212
8213 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8214
8215         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8216         Carvalho.
8217
8218 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8219
8220         * symtab.c (find_pc_sect_line): fixed indentation.
8221
8222 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8223
8224         * symtab.c (find_pc_sect_line): now uses binary search.
8225
8226 2018-03-19  Tom Tromey  <tom@tromey.com>
8227
8228         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8229         "IDENT" production.
8230
8231 2018-03-19  Pedro Alves  <palves@redhat.com>
8232             Tom Tromey  <tom@tromey.com>
8233
8234         * unittests/observable-selftests.c: New file.
8235         * common/observable.h: New file.
8236         * observable.h: New file.
8237         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8238         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8239         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8240         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8241         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8242         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8243         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8244         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8245         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8246         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8247         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8248         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8249         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8250         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8251         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8252         tui/tui-interp.c, valops.c: Update all users.
8253         * tui/tui-hooks.c (tui_bp_created_observer)
8254         (tui_bp_deleted_observer, tui_bp_modified_observer)
8255         (tui_inferior_exit_observer, tui_before_prompt_observer)
8256         (tui_normal_stop_observer, tui_register_changed_observer):
8257         Remove.
8258         (tui_observers_token): New global.
8259         (attach_or_detach, tui_attach_detach_observers): New functions.
8260         (tui_install_hooks, tui_remove_hooks): Use
8261         tui_attach_detach_observers.
8262         * record-btrace.c (record_btrace_thread_observer): Remove.
8263         (record_btrace_thread_observer_token): New global.
8264         * observer.sh: Remove.
8265         * observer.c: Rename to observable.c.
8266         * observable.c (namespace gdb_observers): Define new objects.
8267         (observer_debug): Move into gdb_observers namespace.
8268         (struct observer, struct observer_list, xalloc_observer_list_node)
8269         (xfree_observer_list_node, generic_observer_attach)
8270         (generic_observer_detach, generic_observer_notify): Remove.
8271         (_initialize_observer): Update.
8272         Don't include observer.inc.
8273         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8274         (clean mostlyclean): Likewise.
8275         (observer.h, observer.inc): Remove targets.
8276         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8277         (COMMON_SFILES): Use observable.c, not observer.c.
8278         * .gitignore: Remove observer.h.
8279
8280 2018-03-18  Tom Tromey  <tom@tromey.com>
8281
8282         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8283         gdb::def_vector.
8284         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8285
8286 2018-03-17  Tom Tromey  <tom@tromey.com>
8287
8288         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8289
8290 2018-03-17  Tom Tromey  <tom@tromey.com>
8291
8292         * target.c (class scoped_target_fd): New.
8293         (target_fileio_close_cleanup): Remove.
8294         (target_fileio_read_alloc_1): Use scoped_target_fd.
8295
8296 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8297
8298         * silent-rules.mk: New.
8299         * Makefile.in: Include silent-rules.mk
8300         (srcdir, VPATH, top_srcdir): Move up.
8301         (COMPILE): Add ECHO_CXX.
8302         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8303         (init.c): Add ECHO_INIT_C.
8304         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8305         (version.c): Add ECHO_GEN.
8306         (printcmd.o): Add ECHO_CXX.
8307         (target-float.o): Add ECHO_CXX.
8308         (ada-exp.o): Add ECHO_CXX.
8309         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8310         (insight$(EXEEXT)): Add ECHO_CXXLD.
8311         * gnulib/configure.ac: Add AM_SILENT_RULES.
8312         * gnulib/aclocal.m4: Re-generate.
8313         * gnulib/configure: Re-generate.
8314         * gnulib/import/Makefile.in: Re-generate.
8315
8316 2018-03-16  Tom Tromey  <tom@tromey.com>
8317
8318         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8319         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8320         * utils.c (do_free_section_addr_info)
8321         (make_cleanup_free_section_addr_info): Remove.
8322         * symfile.h (struct other_sections): Add constructor.
8323         (struct section_addr_info): Remove.
8324         (section_addr_info): New typedef.
8325         (struct sym_fns) <sym_offsets>: Change type of parameter.
8326         (build_section_addr_info_from_objfile)
8327         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8328         (default_symfile_offsets, symbol_file_add)
8329         (symbol_file_add_from_bfd)
8330         (build_section_addr_info_from_section_table): Update.
8331         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8332         * symfile.c (alloc_section_addr_info): Remove.
8333         (build_section_addr_info_from_section_table): Change return type.
8334         Update.
8335         (build_section_addr_info_from_bfd)
8336         (build_section_addr_info_from_objfile): Likewise.
8337         (free_section_addr_info): Remove.
8338         (relative_addr_info_to_section_offsets): Change type of "addrs".
8339         (addrs_section_compar): Now a std::sort comparator.
8340         (addrs_section_sort): Change return type.
8341         (addr_info_make_relative): Change type of "addrs".  Update.
8342         (default_symfile_offsets, syms_from_objfile_1)
8343         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8344         (symbol_file_add_separate): Update.
8345         (symbol_file_add): Change type of "addrs".  Update.
8346         (add_symbol_file_command): Update.  Remove cleanups.
8347         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8348         cleanups.
8349         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8350         * solib.c (solib_read_symbols): Update.
8351         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8352         * machoread.c (macho_symfile_offsets): Update.
8353         * jit.c (jit_bfd_try_read_symtab): Update.
8354
8355 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8356
8357         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8358         unittests/utils-selftests.c.
8359         * unittests/utils-selftests.c: New file.
8360
8361 2018-03-14  Tom Tromey  <tom@tromey.com>
8362
8363         PR cli/14977:
8364         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8365         for NULL.
8366
8367 2018-03-14  Tom Tromey  <tom@tromey.com>
8368
8369         PR cli/19918:
8370         * printcmd.c (printf_pointer): Allow "-" in format.
8371
8372 2018-03-14  Tom Tromey  <tom@tromey.com>
8373
8374         * printcmd.c (_initialize_printcmd): Add usage to printf.
8375
8376 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8377
8378         * MAINTAINERS: Update my email address.
8379
8380 2018-03-13  Tom Tromey  <tom@tromey.com>
8381
8382         * machoread.c (macho_check_dsym): Change filenamep to a
8383         std::string*.
8384         (macho_symfile_read): Update.
8385         * symfile.c (load_command): Use std::string.
8386
8387 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8388
8389         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8390         to error message string.
8391         (riscv_register_name): Use xsnprintf instead of sprintf.
8392         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8393         internal_error.
8394         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8395         error.
8396         (riscv_push_dummy_call): Likewise.
8397
8398 2018-03-12  Tom Tromey  <tom@tromey.com>
8399
8400         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8401         Use gdb::byte_vector.
8402         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8403
8404 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8405
8406         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8407         parameter type to readable_regcache.
8408         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
8409         the declaration.
8410
8411 2018-03-11  Tom Tromey  <tom@tromey.com>
8412
8413         * dwarf2read.c (struct nextfield): Add initializers.
8414         (struct nextfnfield): Remove.
8415         (struct fnfieldlist): Add initializers.  Remove "length" and
8416         "head", use std::vector.
8417         (struct decl_field_list): Remove.
8418         (struct field_info): Add initializers.
8419         <fields, baseclasses>: Now std::vector.
8420         <nbaseclasses, nfnfields, typedef_field_list_count,
8421         nested_types_list_count>: Remove.
8422         (dwarf2_add_field, dwarf2_add_type_defn)
8423         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
8424         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
8425         (process_structure_scope): Update.
8426
8427 2018-03-11  Tom Tromey  <tom@tromey.com>
8428
8429         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
8430         for use by std::sort.
8431         (build_type_psymtabs_1): Use std::vector.
8432
8433 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
8434
8435         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
8436         and LIBMPFR in the printed configuration.
8437
8438 2018-03-08  Tom Tromey  <tom@tromey.com>
8439
8440         * source.c (get_filename_and_charpos): Use scoped_fd.
8441         * nto-procfs.c (procfs_open_1): Use scoped_fd.
8442         (procfs_pidlist): Likewise.
8443         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
8444         (iterate_over_mappings): Likewise.
8445
8446 2018-03-08  Tom Tromey  <tom@tromey.com>
8447
8448         * infcall.c (struct call_return_meta_info)
8449         <stack_temporaries_enabled>: Remove.
8450         (get_call_return_value, call_function_by_hand_dummy): Update.
8451         * thread.c (disable_thread_stack_temporaries): Remove.
8452         (enable_thread_stack_temporaries): Remove.
8453         (thread_stack_temporaries_enabled_p): Return bool.
8454         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
8455         (get_last_thread_stack_temporary): Update.
8456         * eval.c (evaluate_subexp): Update.
8457         * gdbthread.h (class enable_thread_stack_temporaries): Now a
8458         class, not a function.
8459         (value_ptr, value_vec): Remove typedefs.
8460         (class thread_info) <stack_temporaries_enabled>: Now bool.
8461         <stack_temporaries>: Now a std::vector.
8462         (thread_stack_temporaries_enabled_p)
8463         (value_in_thread_stack_temporaries): Return bool.
8464
8465 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
8466
8467         * remote.c (putpkt_binary): Fix omitted bytes reporting.
8468         (getpkt_or_notif_sane_1): Likewise.
8469
8470 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8471
8472         * build-id.c (build_id_to_debug_bfd): Use std::string.
8473
8474 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8475
8476         * build-id.c (find_separate_debug_file_by_buildid): Return
8477         std::string.
8478         * build-id.h (find_separate_debug_file_by_buildid): Return
8479         std::string.
8480         * coffread.c (coff_symfile_read): Adjust to std::string.
8481         * elfread.c (elf_symfile_read): Adjust to std::string.
8482         * symfile.c (separate_debug_file_exists): Change parameter to
8483         std::string.
8484         (find_separate_debug_file): Return std::string.
8485         (find_separate_debug_file_by_debuglink): Return std::string.
8486         * symfile.h (find_separate_debug_file_by_debuglink): Return
8487         std::string.
8488
8489 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8490
8491         * common/xml-utils.c (xml_escape_text): Move code to...
8492         (xml_escape_text_append): ... this new function.
8493         * common/xml-utils.h (xml_escape_text_append): New declaration.
8494         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
8495         New function.
8496         (_initialize_xml_utils): register test_xml_escape_text_append as
8497         a selftest.
8498
8499 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
8500
8501         * defs.h: Remove MAX_REGISTER_SIZE.
8502         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
8503         asserts.
8504         * python/py-unwind.c (pyuw_sniffer): Likewise.
8505
8506 2018-03-07  Tom Tromey  <tom@tromey.com>
8507
8508         * linux-tdep.c (linux_info_proc): Update.
8509         * target.h (struct target_ops) <to_fileio_readlink>: Return
8510         optional<string>.
8511         (target_fileio_readlink): Return optional<string>.
8512         * remote.c (remote_hostio_readlink): Return optional<string>.
8513         * inf-child.c (inf_child_fileio_readlink): Return
8514         optional<string>.
8515         * target.c (target_fileio_readlink): Return optional<string>.
8516
8517 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
8518
8519         * regcache.c (cooked_read_test): Add riscv to the list of
8520         architectures that have a save_reggroup.
8521
8522 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8523
8524         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
8525         value is not a dynamic class object.
8526
8527 2018-03-06  Tom Tromey  <tom@tromey.com>
8528
8529         * rust-exp.y: Formatting fixes.
8530
8531 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8532
8533         * riscv-tdep.c (riscv_register_name): Remove target description
8534         support.
8535         (riscv_gdbarch_init): Remove target description check.
8536
8537 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8538
8539         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
8540         comment.
8541         * riscv-tdep.h: Likewise.
8542
8543 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8544
8545         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
8546         (riscv_pseudo_register_write): Delete.
8547         (riscv_gdbarch_init): Remove all use of pseudo registers.
8548
8549 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8550
8551         * record-btrace.c (btrace_print_lines): Replace cleanup
8552         parameter with RAII equivalents.
8553         (btrace_insn_history): Replace cleanup with RAII equivalents.
8554         * ui-out.h (make_cleanup_ui_out_list_begin_end,
8555         make_cleanup_ui_out_tuple_begin_end): Remove.
8556         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
8557         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
8558         make_cleanup_ui_out_list_begin_end): Remove.
8559
8560 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8561
8562         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
8563         parameter types to std::vector.  Use bool.
8564         (record_btrace_wait): Replace VEC(tp_t) with
8565         std::vector<thread_info *>.
8566         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
8567
8568 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8569
8570         * record-btrace.c (record_btrace_disable_callback): Remove.
8571         (struct scoped_btrace_disable): New.
8572         (record_btrace_open): Use scoped_btrace_disable.
8573
8574 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8575
8576         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
8577         reading values from registers.
8578
8579 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8580
8581         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
8582         where appropriate.
8583
8584 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8585
8586         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
8587         change parameter type.  Use GDB's print functions, and use
8588         core_addr_to_string where appropriate.
8589         (riscv_push_dummy_call): Use core_addr_to_string where
8590         appropriate, update call to riscv_print_arg_location, and reindent
8591         a few lines.
8592         (riscv_return_value): Update call to riscv_print_arg_location.
8593
8594 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8595             Tim Newsome <tim@sifive.com>
8596             Albert Ou <a0u@eecs.berkeley.edu>
8597             Darius Rad <darius@bluespec.com>
8598
8599         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
8600         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
8601         (ALLDEPFILES): Add riscv-tdep.c
8602         * configure.tgt: Add riscv support.
8603         * riscv-tdep.c: New file.
8604         * riscv-tdep.h: New file.
8605         * NEWS: Mention new target.
8606         * MAINTAINERS: Add entry for riscv.
8607
8608 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8609
8610         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
8611         fields within aggregates.
8612
8613 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
8614
8615         * record-btrace.c (btrace_print_lines): Change type of flags to
8616         gdb_disassembly_flags.
8617
8618 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8619
8620         * fbsd-nat.c: Include "inf-ptrace.h".
8621         (USE_SIGTRAP_SIGINFO): Conditionally define.
8622         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
8623         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
8624         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
8625         function.
8626         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
8627         Likewise.
8628         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
8629         Likewise.
8630         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
8631         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
8632         "supports_stopped_by_hw_breakpoint" target methods.
8633
8634 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8635
8636         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
8637         * fbsd-nat.c (debug_fbsd_nat): New variable.
8638         (show_fbsd_nat_debug): New function.
8639         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
8640         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
8641
8642 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8643
8644         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
8645         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
8646         prototype.
8647         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
8648         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
8649         method.
8650
8651 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8652
8653         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
8654         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
8655
8656 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8657
8658         * charset.c (struct charset_vector): New.
8659         (charsets): Change type to charset_vector.
8660         (find_charset_names): Adjust.
8661         (add_one): Adjust.
8662         (_initialize_charset): Adjust.
8663
8664 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8665
8666         * progspace.h (struct program_space) <deleted_solibs>: Change
8667         type to std::vector<std::string>.
8668         * progspace.c (clear_program_space_solib_cache): Adjust.
8669         * breakpoint.c (print_solib_event): Adjust.
8670         (check_status_catch_solib): Adjust.
8671         * solib.c (update_solib_list): Adjust.
8672         * ui-out.h (class ui_out) <field_string>: New overload.
8673         * ui-out.c (ui_out::field_string): New overload.
8674
8675 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8676
8677         * progspace.h (struct program_space): Add constructor and
8678         destructor, initialize fields.
8679         (add_program_space): Remove.
8680         * progspace.c (add_program_space): Rename to...
8681         (program_space::program_space): ... this.
8682         (release_program_space): Rename to...
8683         (program_space::~program_space): ... this.
8684         (delete_program_space): Use delete to delete program_space.
8685         (initialize_progspace): Use new to allocate program_space.
8686         * inferior.c (add_inferior_with_spaces): Likewise.
8687         (clone_inferior_command): Likewise.
8688         * infrun.c (follow_fork_inferior): Likewise.
8689         (handle_vfork_child_exec_or_exit): Likewise.
8690
8691 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8692
8693         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
8694         (delim_string_to_char_ptr_vec): Return std::vector of
8695         gdb::unique_xmalloc_ptr.
8696         (dirnames_to_char_ptr_vec_append): Take std::vector of
8697         gdb::unique_xmalloc_ptr.
8698         (dirnames_to_char_ptr_vec): Return std::vector of
8699         gdb::unique_xmalloc_ptr.
8700         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
8701         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
8702         (delim_string_to_char_ptr_vec): Return an std::vector of
8703         gdb::unique_xmalloc_ptr, adjust the code.
8704         (dirnames_to_char_ptr_vec_append): Take an std::vector of
8705         gdb::unique_xmalloc_ptr, adjust the code.
8706         (dirnames_to_char_ptr_vec): Return an std::vector of
8707         gdb::unique_xmalloc_ptr, adjust the code.
8708         * auto-load.c (auto_load_safe_path_vec): Change type to
8709         std::vector of gdb::unique_xmalloc_ptr.
8710         (auto_load_expand_dir_vars): Return an std::vector of
8711         gdb::unique_xmalloc_ptr, adjust the code.
8712         (auto_load_safe_path_vec_update): Adjust.
8713         (filename_is_in_auto_load_safe_path_vec): Adjust.
8714         (auto_load_objfile_script_1): Adjust.
8715         * build-id.c (build_id_to_debug_bfd): Adjust.
8716         * linux-thread-db.c (thread_db_load_search): Adjust.
8717         * source.c (add_path): Adjust.
8718         (openp): Adjust.
8719         * symfile.c (find_separate_debug_file): Adjust.
8720         * utils.c (do_free_char_ptr_vec): Remove.
8721         (make_cleanup_free_char_ptr_vec): Remove.
8722
8723 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
8724
8725         PR gdb/22907
8726         * common/pathstuff.c: Conditionally include "<windows.h>".
8727
8728 2018-03-01  Georg Sauthoff  <mail@georg.so>
8729
8730         PR gdb/22888
8731         * gcore.in: Quote variables and switch interpreter to bash.
8732
8733 2018-03-01  Tom Tromey  <tom@tromey.com>
8734
8735         * dwarf2read.c (alloc_discriminant_info): Fix default_index
8736         assertion.  Add assertion for discriminant_index.
8737         (quirk_rust_enum): Use correct base type name in univariant case.
8738
8739 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
8740
8741         * record.c (get_call_history_modifiers): Return a
8742         record_print_flags.
8743         (cmd_record_call_history): Adjust.
8744         * record-btrace.c (record_btrace_call_history): Adjust.
8745         (record_btrace_call_history_range): Adjust.
8746         (record_btrace_call_history_from): Adjust.
8747         * target-debug.h (target_debug_print_record_print_flags): New.
8748         * target-delegates.c: Re-generate.
8749         * target.c (target_call_history): Change flags type.
8750         (target_call_history_from): Likewise.
8751         (target_call_history_range): Likewise.
8752         * target.h (struct target_ops) <target_call_history>: Likewise.
8753         (target_call_history_from): Likewise.
8754         (target_call_history_range): Likewise.
8755
8756 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8757             Simon Marchi  <simon.marchi@polymtl.ca>
8758
8759         * common/common-utils.c: Include "sys/stat.h".
8760         (is_regular_file): Move here from "source.c"; change return
8761         type to "bool".
8762         * common/common-utils.h (is_regular_file): New prototype.
8763         * common/pathstuff.c (contains_dir_separator): New function.
8764         * common/pathstuff.h (contains_dir_separator): New prototype.
8765         * source.c: Don't include "sys/stat.h".
8766         (is_regular_file): Move to "common/common-utils.c".
8767
8768 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8769
8770         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
8771         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
8772         * auto-load.c: Include "common/pathstuff.h".
8773         * common/common-def.h (current_directory): Move here.
8774         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
8775         function.
8776         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
8777         prototype.
8778         * common/pathstuff.c: New file.
8779         * common/pathstuff.h: New file.
8780         * compile/compile.c: Include "common/pathstuff.h".
8781         * defs.h (current_directory): Move to "common/common-defs.h".
8782         * dwarf2read.c: Include "common/pathstuff.h".
8783         * exec.c: Likewise.
8784         * guile/scm-safe-call.c: Likewise.
8785         * linux-thread-db.c: Likewise.
8786         * main.c: Likewise.
8787         * nto-tdep.c: Likewise.
8788         * objfiles.c: Likewise.
8789         * source.c: Likewise.
8790         * symtab.c: Likewise.
8791         * utils.c: Include "common/pathstuff.h".
8792         (gdb_realpath): Move to "common/pathstuff.c".
8793         (gdb_realpath_keepfile): Likewise.
8794         (gdb_abspath): Likewise.
8795         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
8796         (gdb_realpath_keepfile): Likewise.
8797         (gdb_abspath): Likewise.
8798
8799 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
8800
8801         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
8802         wildcard process pid for super_resume for kernels with a
8803         specific bug.
8804
8805 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
8806
8807         * compile/compile.c (get_args): Add additional comments
8808         explaining function.
8809
8810 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
8811             Tom Tromey  <tom@tromey.com>
8812
8813         * target.h (memory_write_request_s): Remove typedef.  Don't define
8814         VEC.
8815         (target_write_memory_blocks): Change argument to std::vector.
8816         (struct memory_write_request): Add constructor.
8817         * target-memory.c (compare_block_starting_address): Return bool.
8818         Change argument types.
8819         (claim_memory): Change arguments to use std::vector.
8820         (split_regular_and_flash_blocks, blocks_to_erase)
8821         (compute_garbled_blocks): Likewise.
8822         (cleanup_request_data, cleanup_write_requests_vector): Remove.
8823         (target_write_memory_blocks): Change argument to std::vector.
8824         * symfile.c (struct load_section_data): Add constructor and
8825         destructor.  Use std::vector for "requests".
8826         (struct load_progress_data): Add initializers.
8827         (load_section_callback): Update.  Use "new".
8828         (clear_memory_write_data): Remove.
8829         (generic_load): Update.
8830
8831 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
8832
8833         * arch/aarch64.h: Use common/tdesc.h.
8834
8835 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8836
8837         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
8838         architecture with a 64-bit ABI.
8839
8840 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8841
8842         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
8843         ahead of target description loading.
8844
8845 2018-02-26  Tom Tromey  <tom@tromey.com>
8846
8847         * stack.c (backtrace_command_1): Update.
8848         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
8849         of "flags".
8850         * python/py-framefilter.c (py_print_frame)
8851         (gdbpy_apply_frame_filter): Change type of "flags".
8852         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
8853         of "flags".
8854         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
8855         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
8856         * extension.h (enum frame_filter_flag): Rename from
8857         frame_filter_flags.
8858         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
8859         (apply_ext_lang_frame_filter): Change type of "flags".
8860         * extension.c (apply_ext_lang_frame_filter): Change type of
8861         "flags".
8862         * extension-priv.h (struct extension_language_ops)
8863         <apply_frame_filter>: Change type of "flags".
8864
8865 2018-02-26  Tom Tromey  <tom@tromey.com>
8866
8867         PR python/16497:
8868         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
8869         off-by-one in py_end computation.
8870         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
8871         PRINT_MORE_FRAMES.
8872         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
8873         constant.
8874
8875 2018-02-26  Tom Tromey  <tom@tromey.com>
8876
8877         * dwarf2read.c (struct variant_field): New.
8878         (struct nextfield) <variant>: New field.
8879         (dwarf2_add_field): Handle DW_TAG_variant_part.
8880         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
8881         discriminated union.
8882         (read_structure_type): Handle DW_TAG_variant_part.
8883         (handle_struct_member_die): New function, extracted from
8884         process_structure_scope.  Handle DW_TAG_variant.
8885         (process_structure_scope): Handle discriminated unions.  Call
8886         handle_struct_member_die.
8887
8888 2018-02-26  Tom Tromey  <tom@tromey.com>
8889
8890         * rust-lang.h (rust_last_path_segment): Declare.
8891         * rust-lang.c (rust_last_path_segment): Now public.  Change
8892         contract.
8893         (struct disr_info): Remove.
8894         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
8895         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
8896         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
8897         (rust_enum_p, rust_enum_variant): New function.
8898         (rust_underscore_fields): Remove "offset" parameter.
8899         (rust_print_enum): New function.
8900         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
8901         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
8902         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
8903         enums.
8904         (rust_internal_print_type): New function, from rust_print_type.
8905         Remove enum code.
8906         (rust_print_type): Call rust_internal_print_type.
8907         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
8908         Update enum handling.
8909         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
8910         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
8911         (rust_union_quirks): New functions.
8912         (process_full_comp_unit, process_full_type_unit): Call
8913         rust_union_quirks.
8914         (process_structure_scope): Update rust_unions if necessary.
8915
8916 2018-02-26  Tom Tromey  <tom@tromey.com>
8917
8918         * value.h (value_union_variant): Declare.
8919         * valops.c (value_union_variant): New function.
8920         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
8921         (struct discriminant_info): New.
8922         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
8923         enumerator.
8924         (struct main_type) <flag_discriminated_union>: New field.
8925
8926 2018-02-26  Tom Tromey  <tom@tromey.com>
8927
8928         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8929         unittests/unpack-selftests.c.
8930         * unittests/unpack-selftests.c: New file.
8931         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
8932
8933 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8934
8935         * dwarf2read.c (struct partial_die_info) <read>: New method.
8936         (read_partial_die): Remove the declaration.
8937         (load_partial_dies): Update.
8938         (partial_die_info::partial_die_info):
8939         (read_partial_die): Change it to partial_die_info::read.
8940
8941 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8942
8943         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
8944         (fixup_partial_die): Remove declaration.
8945         (scan_partial_symbols): Update.
8946         (partial_die_parent_scope): Likewise.
8947         (partial_die_full_name): Likewise.
8948         (fixup_partial_die): Change it to partial_die_info::fixup.
8949
8950 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8951
8952         * dwarf2read.c (read_partial_die): Update the declaration.
8953         (load_partial_dies): Caller update.
8954         (read_partial_die): Remove one argument abbrev_len.
8955
8956 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8957
8958         * dwarf2read.c (struct partial_die_info): Add ctor, delete
8959         assignment operator.
8960         (load_partial_dies): Use ctor and copy ctor.
8961         (read_partial_die): Update.
8962         (dwarf2_cu::find_partial_die): Use ctor.
8963
8964 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8965
8966         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
8967         (find_partial_die_in_comp_unit): Change it to
8968         dwarf2_cu::find_partial_die.
8969         (find_partial_die): Update.
8970
8971 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8972
8973         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
8974         is NULL.
8975
8976 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8977
8978         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
8979
8980 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
8981
8982         * arch/amd64.h: Use common/tdesc.h.
8983         * arch/i386.c: Likewise.
8984         * arch/i386.h: Likewise.
8985         * arch/tic6x.c: Likewise.
8986         * arch/tdesc.h: Move file from here...
8987         * common/tdesc.h: ...to here.
8988         * features/aarch64-core.c: Regenerate.
8989         * features/aarch64-fpu.c: Regenerate.
8990         * features/i386/32bit-avx.c: Regenerate.
8991         * features/i386/32bit-avx512.c: Regenerate.
8992         * features/i386/32bit-core.c: Regenerate.
8993         * features/i386/32bit-linux.c: Regenerate.
8994         * features/i386/32bit-mpx.c: Regenerate.
8995         * features/i386/32bit-pkeys.c: Regenerate.
8996         * features/i386/32bit-sse.c: Regenerate.
8997         * features/i386/64bit-avx.c: Regenerate.
8998         * features/i386/64bit-avx512.c: Regenerate.
8999         * features/i386/64bit-core.c: Regenerate.
9000         * features/i386/64bit-linux.c: Regenerate.
9001         * features/i386/64bit-mpx.c: Regenerate.
9002         * features/i386/64bit-pkeys.c: Regenerate.
9003         * features/i386/64bit-segments.c: Regenerate.
9004         * features/i386/64bit-sse.c: Regenerate.
9005         * features/i386/x32-core.c: Regenerate.
9006         * features/tic6x-c6xp.c: Regenerate.
9007         * features/tic6x-core.c: Regenerate.
9008         * features/tic6x-gp.c: Regenerate.
9009         * target-descriptions.c: Use common/tdesc.h.
9010         * target-descriptions.h: Likewise.
9011
9012 2018-02-24  Tom Tromey  <tom@tromey.com>
9013
9014         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
9015         (try_thread_db_load_from_dir, thread_db_load_search): Use
9016         std::string.
9017         (info_auto_load_libthread_db_compare): Return bool.  Change
9018         argument types.
9019         (info_auto_load_libthread_db): Use std::vector, std::string.
9020         Remove cleanups.
9021
9022 2018-02-24  Tom Tromey  <tom@tromey.com>
9023
9024         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
9025         std::string.
9026         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
9027         std::string*.
9028         * gdbarch.c: Rebuild.
9029         * gdbarch.h: Rebuild.
9030         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9031         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9032         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9033         std::string*.
9034
9035 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9036
9037         * gdbtypes.h (sect_offset): Change type to uint64_t.
9038         (sect_offset_str): New function.
9039         * dwarf2read.c (create_addrmap_from_aranges): Use
9040         sect_offset_str.
9041         (error_check_comp_unit_head): Likewise.
9042         (create_debug_type_hash_table): Likewise.
9043         (read_cutu_die_from_dwo): Likewise.
9044         (init_cutu_and_read_dies): Likewise.
9045         (init_cutu_and_read_dies_no_follow): Likewise.
9046         (process_psymtab_comp_unit_reader): Likewise.
9047         (partial_die_parent_scope): Likewise.
9048         (peek_die_abbrev): Likewise.
9049         (process_queue): Likewise.
9050         (dwarf2_physname): Likewise.
9051         (read_namespace_alias): Likewise.
9052         (read_import_statement): Likewise.
9053         (create_dwo_cu_reader): Likewise.
9054         (create_cus_hash_table): Likewise.
9055         (lookup_dwo_cutu): Likewise.
9056         (inherit_abstract_dies): Likewise.
9057         (read_func_scope): Likewise.
9058         (read_call_site_scope): Likewise.
9059         (dwarf2_add_member_fn): Likewise.
9060         (read_common_block): Likewise.
9061         (read_module_type): Likewise.
9062         (read_typedef): Likewise.
9063         (read_subrange_type): Likewise.
9064         (load_partial_dies): Likewise.
9065         (read_partial_die): Likewise.
9066         (find_partial_die): Likewise.
9067         (read_str_index): Likewise.
9068         (dwarf2_string_attr): Likewise.
9069         (build_error_marker_type): Likewise.
9070         (lookup_die_type): Likewise.
9071         (dump_die_shallow): Likewise.
9072         (follow_die_ref): Likewise.
9073         (dwarf2_fetch_die_loc_sect_off): Likewise.
9074         (dwarf2_fetch_constant_bytes): Likewise.
9075         (follow_die_sig): Likewise.
9076         (get_signatured_type): Likewise.
9077         (get_DW_AT_signature_type): Likewise.
9078         (dwarf2_find_containing_comp_unit): Likewise.
9079         (set_die_type): Likewise.
9080
9081 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9082
9083         * arch/aarch64.c: Include "common-defs.h".
9084         * arch/amd64.c: Likewise.
9085         * arch/i386.c: Likewise.
9086
9087 2018-02-21  Tom Tromey  <tom@tromey.com>
9088
9089         * value.h: (extract_field_op): Update.
9090         * eval.c (extract_field_op): Return a const char *.
9091         * expression.h (parse_expression_for_completion): Update.
9092         * completer.c (complete_expression): Update.
9093         (add_struct_fields): Make fieldname const.
9094         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9095         (mark_completion_tag, parse_exp_in_context_1): Update.
9096         (parse_expression_for_completion): Change "name" to
9097         unique_xmalloc_ptr*.
9098
9099 2018-02-21  Tom Tromey  <tom@tromey.com>
9100
9101         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9102
9103 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9104
9105         * avr-tdep.c (avr_read_pc): Change parameter type to
9106         readable_regcache.
9107         * gdbarch.sh (read_pc): Likewise.
9108         * gdbarch.c: Re-generated.
9109         * gdbarch.h: Re-generated.
9110         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9111         readable_regcache.
9112         * ia64-tdep.c (ia64_read_pc): Likewise.
9113         * mips-tdep.c (mips_read_pc): Likewise.
9114         * spu-tdep.c (spu_read_pc): Likewise.
9115
9116 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9117
9118         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9119         * regcache-dump.c: New file.
9120         * regcache.c: Move register_dump to regcache-dump.c.
9121         (maintenance_print_registers): Likewise.
9122         (maintenance_print_raw_registers): Likewise.
9123         (maintenance_print_cooked_registers): Likewise.
9124         (maintenance_print_register_groups): Likewise.
9125         (maintenance_print_remote_registers): Likewise.
9126         (_initialize_regcache): Likewise.
9127         * regcache.h (register_dump): Moved from regcache.c.
9128
9129 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9130
9131         * regcache.c (regcache::regcache): Update.
9132         (regcache::invalidate): Move it to detached_regcache::invalidate.
9133         (get_thread_arch_aspace_regcache): Update.
9134         (regcache::raw_update): Update.
9135         (regcache::cooked_read): Remove some code.
9136         (regcache::cooked_read_value): Likewise.
9137         (regcache::raw_write): Remove assert on m_readonly_p.
9138         (regcache::raw_supply_integer): Move it to
9139         detached_regcache::raw_supply_integer.
9140         (regcache::raw_supply_zeroed): Likewise.
9141         * regcache.h (detached_regcache) <raw_supply_integer>: New
9142         declaration.
9143         <raw_supply_zeroed, invalidate>: Likewise.
9144         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9145         <invalidate>: Likewise.
9146         <m_readonly_p>: Removed.
9147
9148 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9149
9150         * infcmd.c (get_return_value): Let stop_regs point to
9151         get_current_regcache.
9152         * regcache.c (regcache::regcache): Remove.
9153         (register_dump_reg_buffer): New class.
9154         (regcache_print): Adjust.
9155         * regcache.h (regcache): Remove constructors.
9156
9157 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9158
9159         * regcache.c (class register_dump): New class.
9160         (register_dump_regcache, register_dump_none): New class.
9161         (register_dump_remote, register_dump_groups): New class.
9162         (regcache_print): Update.
9163         * regcache.h (regcache_dump_what): Move it to regcache.c.
9164         (regcache) <dump>: Remove.
9165
9166 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9167
9168         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9169          reg_buffer_rw *.
9170         (jit_unwind_reg_set_impl): Call raw_supply.
9171         (jit_frame_sniffer): Use reg_buffer_rw.
9172         * record-full.c (record_full_core_regbuf): Change its type.
9173         (record_full_core_open_1): Use reg_buffer_rw.
9174         (record_full_close): Likewise.
9175         (record_full_core_fetch_registers): Use regcache->raw_supply.
9176         (record_full_core_store_registers): Likewise.
9177         * regcache.c (regcache::get_register_status): Move it to
9178         reg_buffer.
9179         (regcache_raw_set_cached_value): Remove.
9180         (regcache::raw_set_cached_value): Remove.
9181         (regcache::raw_write): Call raw_supply.
9182         (regcache::raw_supply): Move it to reg_buffer_rw.
9183         * regcache.h (regcache_raw_set_cached_value): Remove.
9184         (reg_buffer_rw): New class.
9185
9186 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9187
9188         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9189         readonly_detached_regcache.
9190         (dummy_frame_prev_register): Use regcache->cooked_read.
9191         * frame.c (frame_save_as_regcache): Change return type.
9192         (frame_pop): Update.
9193         * frame.h (frame_save_as_regcache): Update declaration.
9194         * inferior.h (get_infcall_suspend_state_regcache): Update
9195         declaration.
9196         * infrun.c (infcall_suspend_state) <registers>: use
9197         readonly_detached_regcache.
9198         (save_infcall_suspend_state): Don't use regcache_dup.
9199         (get_infcall_suspend_state_regcache): Change return type.
9200         * linux-fork.c (struct fork_info) <savedregs>: Change to
9201         readonly_detached_regcache.
9202         <pc>: New field.
9203         (fork_save_infrun_state): Don't use regcache_dup.
9204         (info_checkpoints_command): Adjust.
9205         * mi/mi-main.c (register_changed_p): Update declaration.
9206         (mi_cmd_data_list_changed_registers): Use
9207         readonly_detached_regcache.
9208         (register_changed_p): Change parameter type to
9209         readonly_detached_regcache.
9210         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9211         readonly_detached_regcache.
9212         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9213         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9214         New.
9215         (regcache::save): Move it to reg_buffer.
9216         (regcache::restore): Change parameter type.
9217         (regcache_dup): Remove.
9218         * regcache.h (reg_buffer) <save>: New method.
9219         (readonly_detached_regcache): New class.
9220         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9221         readonly_detached_regcache.
9222         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9223
9224 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9225
9226         * frame.c (frame_save_as_regcache): Use regcache method save.
9227         (frame_pop): Use regcache method restore.
9228         * infrun.c (restore_infcall_suspend_state): Likewise.
9229         * linux-fork.c (fork_load_infrun_state): Likewise.
9230         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9231         save.
9232         * regcache.c (regcache_save): Remove.
9233         (regcache::restore): More asserts.
9234         (regcache_cpy): Remove.
9235         * regcache.h (regcache_save): Remove the declaration.
9236         (regcache::restore): Move from private to public.
9237         Remove the friend declaration of regcache_cpy.
9238         (regcache_cpy): Remove declaration.
9239
9240 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9241
9242         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9243         parameter type to 'readable_regcache *'.
9244         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9245         * arm-tdep.c (arm_neon_quad_read): Likewise.
9246         (arm_pseudo_read): Likewise.
9247         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9248         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9249         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9250         * gdbarch.c: Re-generated.
9251         * gdbarch.h: Re-generated.
9252         * gdbarch.sh (pseudo_register_read): Change parameter type to
9253         'readable_regcache *'.
9254         (pseudo_register_read_value): Likewise.
9255         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9256         (h8300_pseudo_register_read): Likewise.
9257         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9258         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9259         (i386_pseudo_register_read_into_value): Likewise.
9260         (i386_pseudo_register_read_value): Likewise.
9261         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9262         declaration.
9263         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9264         * m32c-tdep.c (m32c_raw_read): Likewise.
9265         (m32c_read_flg): Likewise.
9266         (m32c_banked_register): Likewise.
9267         (m32c_banked_read): Likewise.
9268         (m32c_sb_read): Likewise.
9269         (m32c_part_read): Likewise.
9270         (m32c_cat_read): Likewise.
9271         (m32c_r3r2r1r0_read): Likewise.
9272         (m32c_pseudo_register_read): Likewise.
9273         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9274         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9275         (mep_pseudo_cr64_read): Likewise.
9276         (mep_pseudo_register_read): Likewise.
9277         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9278         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9279         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9280         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9281         (regcache::cooked_read): Likewise.
9282         (regcache::cooked_read_value): Likewise.
9283         (regcache_cooked_read_signed):
9284         (regcache::cooked_read): Likewise.
9285         * regcache.h (readable_regcache): New class.
9286         (regcache): Inherit readable_regcache.  Move some methods to
9287         readable_regcache.
9288         * rl78-tdep.c (rl78_pseudo_register_read): Change
9289         parameter type to 'readable_regcache *'.
9290         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9291         (e500_pseudo_register_read): Change parameter type to
9292         'readable_regcache *'.
9293         (dfp_pseudo_register_read): Likewise.
9294         (vsx_pseudo_register_read): Likewise.
9295         (efpr_pseudo_register_read): Likewise.
9296         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9297         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9298         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9299         (sh64_pseudo_register_read): Likewise.
9300         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9301         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9302         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9303         (spu_pseudo_register_read): Likewise.
9304         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9305         (xtensa_pseudo_register_read): Likewise.
9306
9307 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9308
9309         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9310         (regcache::arch): Move it to reg_buffer::arch.
9311         (regcache::register_buffer): Likewise.
9312         (regcache::assert_regnum): Likewise.
9313         (regcache::num_raw_registers): Likewise.
9314         * regcache.h (reg_buffer): New class.
9315         (regcache): Inherit reg_buffer.
9316
9317 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9318
9319         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9320         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9321
9322 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9323
9324         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9325
9326 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9327
9328         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9329         (SFILES): Remove common/*.c files.
9330         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9331         * common/common.host: Add common reference.
9332         * configure.ac: Likewise.
9333         * configure: Regenerate.
9334
9335 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9336
9337         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9338         (block_initialize_namespace): Use new.
9339         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9340         (dwarf2_free_objfile): Use delete.
9341         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9342         (copy_type_recursive): Use new.
9343         * gdb_obstack.h (allocate_on_obstack): New.
9344
9345 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9346
9347         PR gdb/22849
9348         * inferior.c (exit_inferior_1): Reset inf->control.
9349
9350 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9351
9352         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9353         declaration.
9354
9355 2018-02-14  Pedro Alves  <palves@redhat.com>
9356
9357         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9358         frame_cleanup_after_sniffer on exception.
9359
9360 2018-02-14  Tom Tromey  <tom@tromey.com>
9361
9362         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9363         const.
9364         (solib_bfd_open): Make pathname const.
9365         * solib.c (solib_bfd_open): Make pathname const.
9366         * solib-spu.c (spu_bfd_fopen): Make name const.
9367         (spu_bfd_open): Make pathname const.
9368         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9369         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9370
9371 2018-02-14  Tom Tromey  <tom@tromey.com>
9372
9373         * symfile.c (symfile_bfd_open): Update.
9374         * source.h (openp, source_full_path_of, find_and_open_source):
9375         Change argument type to unique_xmalloc_ptr.
9376         * source.c (openp): Take a unique_xmalloc_ptr.
9377         (source_full_path_of, find_and_open_source): Likewise.
9378         (open_source_file, symtab_to_fullname): Update.
9379         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9380         unique_xmalloc_ptr.
9381         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9382         (exec_file_find): Update.
9383         * psymtab.c (psymtab_to_fullname): Update.
9384         * nto-tdep.h (nto_find_and_open_solib): Update.
9385         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9386         unique_xmalloc_ptr.
9387         * exec.c (exec_file_attach): Update.
9388         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9389         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9390
9391 2018-02-14  Tom Tromey  <tom@tromey.com>
9392
9393         * solib.c: Include source.h.
9394         * nto-tdep.c: Include source.h.
9395         * mi/mi-cmd-env.c: Include source.h.
9396         * infcmd.c: Include source.h.
9397         * exec.c: Include source.h.
9398         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9399         (add_path, directory_switch, source_path, init_source_path): Move
9400         declarations...
9401         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9402         (add_path, directory_switch, source_path, init_source_path):
9403         ...here.
9404
9405 2018-02-14  Tom Tromey  <tom@tromey.com>
9406
9407         * solist.h (exec_file_find, solib_find): Return
9408         unique_xmalloc_ptr.
9409         (solib_bfd_fopen): Take a const char *.
9410         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
9411         (exec_file_find, solib_find): Likewise.
9412         (solib_bfd_fopen): Do not take ownership of "pathname".
9413         (solib_bfd_open): Use unique_xmalloc_ptr.
9414         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
9415         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
9416         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
9417         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
9418
9419 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
9420
9421         * ada-lang.c (name_match_type_from_name): Remove reference to
9422         ada_name_for_lookup in function's documentation.
9423         * ada-lang.h (ada_name_for_lookup): Delete declaration.
9424
9425 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9426
9427         * defs.h (enum openp_flags): New enum.
9428         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
9429         Move to enum openp_flags.
9430         (openp_flags): New enum flags.
9431         (openp): Change parameter type to openp_flags.
9432         * source.c (openp): Change parameter type to openp_flags.
9433         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
9434         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
9435
9436 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9437
9438         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
9439         per-command.
9440
9441 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9442
9443         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
9444         into...
9445         (class dwarf2_queue_guard): ...the destructor of this new class.
9446         (dw2_do_instantiate_symtab): Create instance of the new class
9447         dwarf2_queue_guard, remove cleanup.
9448
9449 2018-02-09  Tom Tromey  <tom@tromey.com>
9450
9451         * source.c (find_source_lines): Don't reference past the end of
9452         the vector.
9453
9454 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9455
9456         * remote.c (remote_btrace_maybe_reopen): Change error message.
9457         * btrace.c (btrace_enable): Likewise.
9458         (parse_xml_btrace): Likewise.
9459         (parse_xml_btrace_conf): Likewise.
9460
9461 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9462
9463         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
9464         (linux_enable_pt, linux_enable_bts): Call
9465         diagnose_perf_event_open_fail.
9466
9467 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9468
9469         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
9470         Remove parameter and change return type.  Update callers.  Move it.
9471         (linux_enable_bts, linux_enable_pt): Improve error message.
9472         (linux_enable_pt): Remove zero buffer size check.
9473         (linux_enable_btrace): Improve error messages.  Remove NULL return
9474         check.
9475
9476 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9477
9478         * btrace.c (btrace_enable): Remove target_supports_btrace call.
9479         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
9480         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
9481         (linux_supports_pt, linux_supports_btrace): Remove.
9482         (linux_enable_bts): Call cpu_supports_bts.
9483         * nat/linux-btrace.h (linux_supports_btrace): Remove.
9484         * remote.c (remote_supports_btrace): Remove.
9485         (init_remote_ops): Remove remote_supports_btrace.
9486         * target-delegates.c: Regenerated.
9487         * target.c (target_supports_btrace): Remove.
9488         * target.h (target_ops) <to_supports_btrace>: Remove
9489         (target_supports_btrace): Remove.
9490         * x86-linux-nat.c (x86_linux_create_target): Remove
9491         linux_supports_btrace.
9492
9493 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9494
9495         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
9496         btrace failed.
9497         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
9498         exception and use message in own exception.
9499
9500 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9501
9502         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
9503         (perf_event_pt_event_type): Use gdb_file_up.
9504         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
9505         scoped_fd, and scoped_mmap.
9506
9507 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9508
9509         * common/scoped_mmap.h: New.
9510         * unittests/scoped_mmap-selftest.c: New.
9511         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9512         unittests/scoped_mmap-selftest.c.
9513
9514 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9515
9516         * common/scoped_fd.h: New.
9517         * unittests/scoped_fd-selftest.c: New.
9518         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9519         unittests/scoped_fd-selftest.c.
9520
9521 2018-02-09  Tom Tromey  <tom@tromey.com>
9522
9523         * auto-load.c (auto_load_section_scripts): Use
9524         gdb::unique_xmalloc_ptr.
9525
9526 2018-02-09  Tom Tromey  <tom@tromey.com>
9527
9528         * auto-load.c (execute_script_contents): Use std::string.
9529
9530 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
9531
9532         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
9533         Python function, rather than a new command.
9534
9535 2018-02-08  Tom Tromey  <tom@tromey.com>
9536
9537         * solib.c (solib_find_1): Use std::string.
9538         (solib_bfd_fopen): Use unique_xmalloc_ptr.
9539
9540 2018-02-08  Tom Tromey  <tom@tromey.com>
9541
9542         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
9543
9544 2018-02-08  Tom Tromey  <tom@tromey.com>
9545
9546         * source.c (find_source_lines): Use gdb::def_vector.
9547
9548 2018-02-08  Tom Tromey  <tom@tromey.com>
9549
9550         * macrocmd.c (struct temporary_macro_definition): New.
9551         (macro_define_command): Use temporary_macro_definition.  Remove
9552         cleanups.
9553         (free_macro_definition_ptr): Remove.
9554
9555 2018-02-08  Tom Tromey  <tom@tromey.com>
9556
9557         * macroexp.c (maybe_expand): Use std::string.
9558
9559 2018-02-08  Tom Tromey  <tom@tromey.com>
9560
9561         * macroexp.c (struct macro_buffer): Add initializers for some
9562         members.
9563         (init_buffer, init_shared_buffer, free_buffer)
9564         (free_buffer_return_text): Remove.
9565         (macro_buffer): New constructors.
9566         (~macro_buffer): New destructor.
9567         (macro_buffer::set_shared): New method.
9568         (macro_buffer::resize_buffer, macro_buffer::appendc)
9569         (macro_buffer::appendmem): Now methods, not free functions.
9570         (set_token, append_tokens_without_splicing, stringify)
9571         (macro_stringify): Update.
9572         (gather_arguments): Change return type.  Remove argc_p argument,
9573         add args_ptr argument.  Use std::vector.
9574         (substitute_args): Remove argc argument.  Accept std::vector.
9575         (expand): Update.  Use std::vector.
9576         (scan, macro_expand, macro_expand_next): Update.
9577
9578 2018-02-08  Tom Tromey  <tom@tromey.com>
9579
9580         * symtab.c (default_collect_symbol_completion_matches_break_on):
9581         Use unique_xmalloc_ptr.
9582         * macroscope.h: (sal_macro_scope, user_macro_scope)
9583         (default_macro_scope): Return unique_xmalloc_ptr.
9584         * macroscope.c (sal_macro_scope, user_macro_scope)
9585         (default_macro_scope): Return unique_xmalloc_ptr.
9586         * macroexp.h (macro_expand, macro_expand_once): Return
9587         unique_xmalloc_ptr.
9588         * macroexp.c (macro_expand, macro_expand_once): Return
9589         unique_xmalloc_ptr.
9590         * macrocmd.c (macro_expand_command, macro_expand_once_command)
9591         (info_macro_command, info_macros_command): Use
9592         unique_xmalloc_ptr.
9593         * compile/compile-c-support.c (write_macro_definitions): Use
9594         unique_xmalloc_ptr.
9595         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
9596
9597 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
9598
9599         * value.c (value_static_field): Assign field type instead of
9600         containing type when returning an optimized out value.
9601
9602 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9603
9604         * ft32-tdep.c (ft32_read_pc): Remove.
9605         (ft32_write_pc): Remove.
9606         (ft32_gdbarch_init): Update.
9607         * m32r-tdep.c (m32r_read_pc): Remove.
9608         (m32r_gdbarch_init): Update.
9609         * mep-tdep.c (mep_read_pc): Remove.
9610         (mep_gdbarch_init): Update.
9611         * microblaze-tdep.c (microblaze_write_pc): Remove.
9612         (microblaze_gdbarch_init): Update.
9613         * mn10300-tdep.c (mn10300_read_pc): Remove.
9614         (mn10300_write_pc): Remove.
9615         (mn10300_gdbarch_init): Update.
9616         * moxie-tdep.c (moxie_read_pc): Remove.
9617         (moxie_write_pc): Remove.
9618         (moxie_gdbarch_init): Update.
9619
9620 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9621
9622         * expprint.c (print_subexp_standard): Handle
9623         OP_F77_UNDETERMINED_ARGLIST.
9624         (dump_subexp_body_standard): Likewise.
9625
9626 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
9627
9628         * target-descriptions.c (tdesc_element_visitor) Add empty
9629         implementations.
9630         (tdesc_type): Move make_gdb_type from here.
9631         (tdesc_type_builtin): Likewise.
9632         (tdesc_type_vector): Likewise.
9633         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
9634         (make_gdb_type_struct): Move from tdesc_type_with_fields.
9635         (make_gdb_type_union): Likewise.
9636         (make_gdb_type_flags): Likewise.
9637         (make_gdb_type_enum): Likewise.
9638         (make_gdb_type): New function.
9639         (tdesc_register_type): Use static make_gdb_type.
9640
9641 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
9642
9643         * infcmd.c (default_print_one_register_info): Align natural-format
9644         column values consistently one under another.
9645         (pad_to_column): New function.
9646
9647 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
9648
9649         * dwarf2read.c (dwarf2_physname): Move commment.
9650
9651 2018-02-01  Leszek Swirski  <leszeks@google.com>
9652
9653         * varobj.c (varobj_formatted_print_options): Allow recursive
9654         pretty printing if pretty printing is enabled.
9655
9656 2018-02-01  Leszek Swirski  <leszeks@google.com>
9657
9658         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
9659         names after a structop as a filename.
9660
9661 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9662
9663         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
9664         (arm_record_coproc_data_proc): Likewise.
9665
9666 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9667
9668         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
9669
9670 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
9671
9672         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
9673         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
9674
9675 2018-01-31  Pedro Alves  <palves@redhat.com>
9676
9677         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
9678         * inflow.c (child_terminal_save_inferior): Wrap reference to
9679         tcgetpgrp in HAVE_TERMIOS_H.
9680         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
9681         _WIN32.
9682         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
9683         always iterate over all inferiors.
9684         (gdbsim_cntrl_c): Adjust.
9685         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
9686
9687 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9688
9689         * gdbtypes.c (lookup_array_range_type): Make sure the array's
9690         index type is objfile-owned if the element type is as well.
9691
9692 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9693
9694         GDB 8.1 released.
9695
9696 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9697
9698         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
9699         "features/s390x-linux64.c".
9700         (_initialize_s390_linux_tdep): Remove initialization of tdescs
9701         s390_linux32 and s390x_linux64.
9702         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
9703         default tdesc.
9704         * s390-tdep.c: Include "features/s390-linux32.c" and
9705         "features/s390x-linux64.c".
9706         (s390_tdesc_valid): Add check for tdesc_has_registers.
9707         (s390_gdbarch_init): Make sure there is always a valid tdesc.
9708         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
9709         tdesc_s390x_linux64.
9710         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
9711         tdesc_s390x_linux64 to...
9712         * s390-tdep.h: ...here.
9713
9714 2018-01-30  Pedro Alves  <palves@redhat.com>
9715
9716         PR gdb/13211
9717         * config.in, configure: Regenerate.
9718         * configure.ac: Check for getpgid.
9719         * go32-nat.c (go32_pass_ctrlc): New.
9720         (go32_target): Install it.
9721         * inf-child.c (inf_child_target): Install
9722         child_terminal_save_inferior, child_pass_ctrlc and
9723         child_interrupt.
9724         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
9725         (inf_ptrace_target): No longer install it.
9726         * infcmd.c (interrupt_target_1): Adjust.
9727         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
9728         (child_interrupt): Declare.
9729         (inferior::terminal_state): New.
9730         * inflow.c (struct terminal_info): Update comments.
9731         (inferior_process_group): Delete.
9732         (terminal_is_ours): Delete.
9733         (gdb_tty_state): New.
9734         (child_terminal_init): Adjust.
9735         (is_gdb_terminal, sharing_input_terminal_1)
9736         (sharing_input_terminal): New functions.
9737         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
9738         Set the process's actual process group in the foreground if
9739         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
9740         mark terminal as the inferior's if not sharing GDB's terminal.
9741         Don't check attach_flag.
9742         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
9743         pass down a target_terminal_state.
9744         (child_terminal_save_inferior): New, factored out from ...
9745         (child_terminal_ours_1): ... this.  Handle
9746         target_terminal_state::is_ours_for_output.
9747         (child_interrupt, child_pass_ctrlc): New.
9748         (inflow_inferior_exit): Clear the inferior's terminal_state.
9749         (copy_terminal_info): Copy the inferior's terminal state.
9750         (_initialize_inflow): Remove reference to terminal_is_ours.
9751         * inflow.h (inferior_process_group): Delete.
9752         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
9753         * procfs.c (procfs_target): Don't install procfs_interrupt.
9754         (procfs_interrupt): Delete.
9755         * remote.c (remote_serial_quit_handler): Adjust.
9756         (remote_interrupt): Remove ptid parameter.  Adjust.
9757         * target-delegates.c: Regenerate.
9758         * target.c: Include "terminal.h".
9759         (target_terminal::terminal_state): Rename to ...
9760         (target_terminal::m_terminal_state): ... this.
9761         (target_terminal::init): Adjust.
9762         (target_terminal::inferior): Adjust to per-inferior
9763         terminal_state.
9764         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
9765         (target_terminal::ours, target_terminal::ours_for_output): Use
9766         target_terminal_is_ours_kind.
9767         (target_interrupt): Remove ptid parameter.  Adjust.
9768         (default_target_pass_ctrlc): Adjust.
9769         * target.h (target_ops::to_terminal_save_inferior): New field.
9770         (target_ops::to_interrupt): Remove ptid_t parameter.
9771         (target_interrupt): Remove ptid_t parameter.  Update comment.
9772         (target_pass_ctrlc): Update comment.
9773         * target/target.h (target_terminal_state): New scoped enum,
9774         factored out of ...
9775         (target_terminal::terminal_state): ... here.
9776         (target_terminal::inferior): Update comments.
9777         (target_terminal::restore_inferior): New.
9778         (target_terminal::is_inferior, target_terminal::is_ours)
9779         (target_terminal::is_ours_for_output): Adjust.
9780         (target_terminal::scoped_restore_terminal_state): Adjust to
9781         rename, and call restore_inferior() instead of inferior().
9782         (target_terminal::scoped_restore_terminal_state::m_state): Change
9783         type.
9784         (target_terminal::terminal_state): Rename to ...
9785         (target_terminal::m_terminal_state): ... this and change type.
9786
9787 2018-01-30  Pedro Alves  <palves@redhat.com>
9788
9789         * linux-nat.c (wait_for_signal): New function.
9790         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
9791         directly.
9792         (async_terminal_is_ours)
9793         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
9794         (linux_nat_add_target): Don't override
9795         to_terminal_inferior/to_terminal_ours.
9796
9797 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
9798
9799         * remote.c (remote_follow_fork): Don't call "detach_inferior".
9800
9801 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
9802
9803         * dwarf2read.c (free_dwo_files): Add forward-declaration.
9804         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
9805         dwarf2_per_objfile_free here.
9806         (dwarf2_per_objfile_free): Remove.
9807         (_initialize_dwarf2_read): Don't register
9808         dwarf2_per_objfile_free as a registry cleanup.
9809
9810 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9811
9812         Avoid compilation errors in MinGW native builds
9813
9814         The error is triggered by including python-internal.h, and the
9815         error message is:
9816
9817              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
9818                       from build-gnulib/import/math.h:27,
9819                       from d:/usr/Python26/include/pyport.h:235,
9820                       from d:/usr/Python26/include/Python.h:58,
9821                       from python/python-internal.h:94,
9822                       from python/py-arch.c:24:
9823              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
9824         using ::hypot;
9825                 ^~~~~
9826
9827         This happens because Python headers define 'hypot' to expand t
9828         '_hypot' in the Windows builds.
9829         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
9830         'hypoth'.  This avoids a compilation error.
9831
9832 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9833
9834         * MAINTAINERS (Write After Approval): Fix ordering.
9835
9836 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9837
9838         * MAINTAINERS (Write After Approval): Add Alan Hayward.
9839
9840 2018-01-26  Alan Modra  <amodra@gmail.com>
9841
9842         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
9843         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
9844         Remove nop.  Make const.  Comment.
9845         (powerpc32_plt_stub_so_2): New.
9846         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
9847         Correct count.  Update uses.
9848         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
9849         Move common code reading PLT entry word.  Correct
9850         powerpc32_plt_stub PLT address calculation.
9851         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
9852         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
9853         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
9854         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
9855         (ppc64_standard_linkage8): Likewise.
9856         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
9857         Correct insns description.
9858         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
9859
9860 2018-01-24  Pedro Alves  <palves@redhat.com>
9861
9862         GCC PR libstdc++/83906
9863         * gdbtypes.c (operator==(const dynamic_prop &,
9864         const dynamic_prop &)): New.
9865         (operator==(const range_bounds &, const range_bounds &)): New.
9866         (check_types_equal): Use them instead of memcmp.
9867         * gdbtypes.h (operator==(const dynamic_prop &,
9868         const dynamic_prop &)): Declare.
9869         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
9870         (operator==(const range_bounds &, const range_bounds &)): Declare.
9871         (operator!=(const range_bounds &, const range_bounds &)): Declare.
9872
9873 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9874
9875         * s390-linux-tdep.c (s390_record_address_mask)
9876         (s390_record_calc_disp_common, s390_record_calc_disp)
9877         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9878         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9879         (s390_process_record): Move to s390-tdep.c.
9880         (s390_linux_init_abi_any): Adjust.
9881         * s390-tdep.c (s390_record_address_mask)
9882         (s390_record_calc_disp_common, s390_record_calc_disp)
9883         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9884         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9885         (s390_process_record): Moved from s390-linux-tdep.c
9886         (s390_gdbarch_init): Adjust.
9887
9888 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9889
9890         * s390-linux-nat.c (s390-tdep.h): New include.
9891         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
9892         (HFILES_NO_SRCDIR): Add s390-tdep.h.
9893         (ALLDEPFILES): Add s390-tdep.c.
9894         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
9895         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
9896         * s390-tdep.h: ...this.  New file.
9897         * s390-linux-tdep.c (s390-tdep.h): New include.
9898         (_initialize_s390_tdep): Rename to...
9899         (_initialize_s390_linux_tdep): ...this and adjust.
9900         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
9901         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
9902         s390-tdep.h.
9903         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
9904         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
9905         (s390_is_partial_instruction, s390_software_single_step)
9906         (is_non_branch_ril, s390_displaced_step_copy_insn)
9907         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
9908         (s390_prologue_data, s390_addr, s390_store, s390_load)
9909         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
9910         (s390_register_call_saved, s390_guess_tracepoint_registers)
9911         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
9912         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
9913         (s390_pseudo_register_name, s390_pseudo_register_type)
9914         (s390_pseudo_register_read, s390_pseudo_register_write)
9915         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
9916         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
9917         (s390_addr_bits_remove, s390_address_class_type_flags)
9918         (s390_address_class_type_flags_to_name)
9919         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
9920         (s390_function_arg_float, s390_function_arg_vector)
9921         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
9922         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
9923         (s390_frame_align, s390_register_return_value, s390_return_value)
9924         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
9925         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
9926         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
9927         (s390_trad_frame_prev_register, s390_unwind_cache)
9928         (s390_prologue_frame_unwind_cache)
9929         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
9930         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
9931         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
9932         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
9933         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
9934         (s390_frame_base_address, s390_local_base_address)
9935         (s390_frame_base, s390_gcc_target_options)
9936         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
9937         (s390_validate_reg_range, s390_tdesc_valid)
9938         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
9939         * s390-tdep.c: ...this.  New file.
9940
9941 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9942
9943         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
9944         (s390_process_record, s390_gdbarch_tdep_alloc)
9945         (s390_linux_init_abi_any): Use/set new hook.
9946
9947 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9948
9949         * s390-linux-tdep.c (osabi.h): New include.
9950         (s390_linux_init_abi_31, s390_linux_init_abi_64)
9951         (s390_linux_init_abi_any): New functions.
9952         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
9953
9954 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9955
9956         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
9957         tdesc_has_registers check
9958
9959 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9960
9961         * s390-linux-tdep.c (s390_tdesc_valid): New function.
9962         (s390_validate_reg_range): New macro.
9963         (s390_gdbarch_init): Adjust.
9964
9965 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9966
9967         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
9968         (s390_gdbarch_tdep_alloc): Adjust.
9969         (s390_gdbarch_init): Adjust.
9970
9971 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9972
9973         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
9974         <have_tdb>: Change type to bool.
9975         (s390_gdbarch_tdep_alloc): Adjust.
9976         (s390_gdbarch_init): Adjust.
9977
9978 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9979
9980         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
9981         (gdbarch_tdep) <have_upper, have_vx>: New fields.
9982         (s390_gdbarch_tdep_alloc): New function.
9983         (s390_gdbarch_init): Allocate tdep at start and use its fields
9984         instead of separate variables.
9985
9986 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9987
9988         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
9989         when looking for cached gdbarch and add comment for remaining.
9990
9991 2018-01-22  Pedro Alves  <palves@redhat.com>
9992             Sergio Durigan Junior  <sergiodj@redhat.com>
9993
9994         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
9995         case.
9996
9997 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
9998
9999         * MAINTAINERS: Update my company e-mail address.
10000
10001 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10002
10003         * regcache.c (cooked_write_test): New function.
10004         (_initialize_regcache): Register the test.
10005
10006 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10007
10008         * ia64-tdep.c (ia64_pseudo_register_read): Call
10009         regcache->cooked_read instead of regcache_cooked_read_unsigned.
10010         * m32c-tdep.c (m32c_cat_read): Likewise.
10011         (m32c_r3r2r1r0_read): Likewise.
10012         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10013         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10014
10015 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10016
10017         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
10018         method raw_read instead of regcache_raw_read.
10019         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10020         * arm-tdep.c (arm_neon_quad_read): Likewise.
10021         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10022         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10023         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10024         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
10025         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10026         (i386_pseudo_register_read_into_value): Likewise.
10027         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10028         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10029         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10030         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10031         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10032         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10033         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10034         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10035         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10036
10037 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10038
10039         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10040         * configure.tgt: Remove target mt.
10041         * mt-tdep.c: Remove.
10042         * regcache.c (cooked_read_test): Remove the check for mt.
10043
10044 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10045
10046         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10047         instead of gdbarch_pseudo_register_read_value.
10048
10049 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10050
10051         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10052         language is Ada.
10053
10054 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10055
10056         * linespec.c (create_sals_line_offset): Remove code that preserved
10057         the symtab_and_line's line number.
10058
10059 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10060
10061         * varobj.c (varobj_create): Don't set valid_block when creating a
10062         floating varobj.
10063
10064 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10065
10066         * varobj.c (varobj_create): Remove out of date comment.
10067
10068 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10069
10070         PR mi/20395
10071         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10072         updating innermost block.
10073         * parse.c (innermost_block_tracker::update): Take extra type
10074         parameter, and check types match before updating innermost block.
10075         (write_dollar_variable): Update innermost block for registers.
10076         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10077         (innermost_block_tracker::innermost_block_tracker): Initialise
10078         m_types member.
10079         (innermost_block_tracker::reset): Take type parameter.
10080         (innermost_block_tracker::update): Take type parameter, and pass
10081         type through as needed.
10082         (innermost_block_tracker::m_types): New member.
10083         * varobj.c (varobj_create): Pass type when reseting innermost
10084         block.
10085
10086 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10087
10088         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10089         * ada-lang.c (resolve_subexp): Likewise.
10090         * breakpoint.c (set_breakpoint_condition) Likewise.
10091         (watch_command_1) Likewise.
10092         * c-exp.y (variable): Likewise.
10093         * d-exp.y (PrimaryExpression): Likewise.
10094         * f-exp.y (variable): Likewise.
10095         * go-exp.y (variable): Likewise.
10096         * m2-exp.y (variable): Likewise.
10097         * objfiles.c (objfile::~objfile): Likewise.
10098         * p-exp.y (variable): Likewise.
10099         * parse.c (innermost_block): Change type.
10100         * parser-defs.h (class innermost_block_tracker): New.
10101         (innermost_block): Change to innermost_block_tracker.
10102         * printcmd.c (display_command): Switch to innermost_block API.
10103         (do_one_display): Likewise.
10104         * rust-exp.y (do_one_display): Likewise.
10105         * symfile.c (clear_symtab_users): Likewise.
10106         * varobj.c (varobj_create): Switch to innermost_block API, replace
10107         use of innermost_block with block stored on varobj object.
10108
10109 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10110
10111         * expression.h (innermost_block): Remove declaration.
10112         * varobj.c: Add 'parser-defs.h' include.
10113
10114 2018-01-19  Tom Tromey  <tom@tromey.com>
10115
10116         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10117         symbols in the static and global blocks.
10118
10119 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10120
10121         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10122         gdb_ptrace.h, and move including gdb_wait.h ...
10123         * nat/linux-ptrace.h: ... to here.
10124
10125 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10126
10127         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10128         inf_ptrace_detach_success.
10129         (inf_ptrace_detach_success): Add inferior parameter, use it
10130         instead of inferior_ptid, pass it to detach_inferior.
10131         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10132         parameter.
10133         * inferior.c (detach_inferior): Add overload that takes an
10134         inferior object.
10135         * inferior.h (detach_inferior): Likewise.
10136         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10137         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10138         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10139
10140 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10141
10142         * target.h (struct target_ops) <to_detach>: Add inferior
10143         parameter.
10144         (target_detach): Likewise.
10145         * target.c (dispose_inferior): Pass inferior down.
10146         (target_detach): Pass inferior down.  Assert that it is equal to
10147         the current inferior.
10148         * aix-thread.c (aix_thread_detach): Pass inferior down.
10149         * corefile.c (core_file_command): Pass current_inferior() down.
10150         * corelow.c (core_detach): Add inferior parameter.
10151         * darwin-nat.c (darwin_detach): Likewise.
10152         * gnu-nat.c (gnu_detach): Likewise.
10153         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10154         * infcmd.c (detach_command): Pass current_inferior() down to
10155         target_detach.
10156         * infrun.c (follow_fork_inferior): Pass parent_inf to
10157         target_detach.
10158         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10159         target_detach.
10160         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10161         * linux-thread-db.c (thread_db_detach): Likewise.
10162         * nto-procfs.c (procfs_detach): Likewise.
10163         * procfs.c (procfs_detach): Likewise.
10164         * record.c (record_detach): Likewise.
10165         * record.h (struct inferior): Forward-declare.
10166         (record_detach): Add inferior parameter.
10167         * remote-sim.c (gdbsim_detach): Likewise.
10168         * remote.c (remote_detach_1): Likewise.
10169         (remote_detach): Likewise.
10170         (extended_remote_detach): Likewise.
10171         * sol-thread.c (sol_thread_detach): Likewise.
10172         * target-debug.h (target_debug_print_inferior_p): New macro.
10173         * target-delegates.c: Re-generate.
10174         * top.c (kill_or_detach): Pass inferior down to target_detach.
10175         * windows-nat.c (windows_detach): Add inferior parameter.
10176
10177 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10178
10179         * target.h (struct target_ops) <to_detach>: Remove args
10180         parameter.
10181         (target_detach): Likewise.
10182         * target.c (dispose_inferior): Adjust.
10183         (target_detach): Remove args parameter, adjust.
10184         * aix-thread.c (aix_thread_detach): Adjust.
10185         * corefile.c (core_file_command): Adjust.
10186         * corelow.c (core_detach): Adjust.
10187         * darwin-nat.c (darwin_detach): Adjust.
10188         * gnu-nat.c (gnu_detach): Adjust.
10189         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10190         * infcmd.c (detach_command): Adjust
10191         * infrun.c (follow_fork_inferior): Adjust.
10192         (handle_vfork_child_exec_or_exit): Adjust.
10193         * linux-fork.c (linux_fork_detach): Remove args parameter.
10194         * linux-fork.h (linux_fork_detach): Likewise.
10195         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10196         * linux-thread-db.c (thread_db_detach): Likewise.
10197         * nto-procfs.c (procfs_detach): Likewise.
10198         * procfs.c (procfs_detach): Likewise.
10199         (do_detach): Remove signo parameter.
10200         * record.c (record_detach): Remove args parameter.
10201         * record.h (record_detach): Likewise.
10202         * remote-sim.c (gdbsim_detach): Likewise.
10203         * remote.c (remote_detach_1): Likewise.
10204         (remote_detach): Likewise.
10205         (extended_remote_detach): Likewise.
10206         * sol-thread.c (sol_thread_detach): Likewise.
10207         * target-delegates.c: Re-generate.
10208         * top.c (struct qt_args) <args>: Remove field.
10209         (kill_or_detach): Don't pass args.
10210         (quit_force): Don't set args.
10211         * windows-nat.c (windows_detach): Remove args parameter.
10212
10213 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10214
10215         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10216         (arm_linux_init_abi): Install it.
10217
10218 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10219
10220         * osabi.c (gdb_osabi_names): Extend the regexp for
10221         arm-linux-gnueabihf.
10222
10223 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10224
10225         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10226         m_abbrevs.
10227         (abbrev_table::add_abbrev): Update.
10228         (abbrev_table::lookup_abbrev): Update.
10229
10230 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10231
10232         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10233
10234 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10235
10236         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10237         to "std::string".
10238
10239 2018-01-17  Tom Tromey  <tom@tromey.com>
10240
10241         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10242
10243 2018-01-17  Tom Tromey  <tom@tromey.com>
10244
10245         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10246         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10247         (create_array_type_with_stride): Update.
10248         * dwarf2read.c (set_die_type): Update.
10249
10250 2018-01-17  Tom Tromey  <tom@tromey.com>
10251
10252         * dwarf2read.c (delayed_method_info): Remove typedef.
10253         (dwarf2_cu::method_info): Now a std::vector.
10254         (add_to_method_list): Update.
10255         (free_delayed_list): Remove.
10256         (compute_delayed_physnames): Update.
10257         (process_full_comp_unit, process_full_type_unit): Clear the method
10258         list.  Remove cleanups.
10259         (psymtab_include_file_name): Add name_holder parameter.  Use
10260         unique_xmalloc_ptr.
10261         (dwarf_decode_lines): Update.
10262
10263 2018-01-17  Tom Tromey  <tom@tromey.com>
10264             Simon Marchi  <simon.marchi@ericsson.com>
10265
10266         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10267         (dwarf2_per_objfile::free_cached_comp_units)
10268         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10269         (init_cutu_and_read_dies_no_follow): Update.
10270         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10271         (dwarf2_cu::~dwarf2_cu): New.
10272         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10273         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10274
10275 2018-01-17  Tom Tromey  <tom@tromey.com>
10276             Simon Marchi  <simon.marchi@ericsson.com>
10277
10278         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10279         (struct die_reader_specs) <abbrev_table>: New member.
10280         (struct abbrev_table): Add constructor.
10281         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10282         <abbrev_obstack>: Now an auto_obstack.
10283         (abbrev_table_up): New typedef.
10284         (init_cu_die_reader): Add abbrev_table parameter.
10285         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10286         Add result_dwo_abbrev_table.
10287         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10288         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10289         Update.
10290         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10291         parameter.
10292         (skip_children): Update.
10293         (abbrev_table::alloc_abbrev): Rename from
10294         abbrev_table_alloc_abbrev.
10295         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10296         (abbrev_table::lookup_abbrev): Rename from
10297         abbrev_table_lookup_abbrev.
10298         (abbrev_table_read_table): Return abbrev_table_up.
10299         (abbrev_table_free, abbrev_table_free_cleanup)
10300         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10301         (load_partial_dies): Update.
10302
10303 2018-01-17  Tom Tromey  <tom@tromey.com>
10304
10305         * dwarf2read.c (dwarf2_compute_name): Update comment.
10306         (read_func_scope, read_variable): Update.
10307         (new_symbol): Remove.
10308         (new_symbol_full): Rename to new_symbol.
10309
10310 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10311
10312         PR gdb/16577
10313         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10314         a warning instead of throwing an error, set section size to 0 and return
10315         NULL.
10316         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10317
10318 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10319
10320         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10321         std::string.
10322         (linux_ptrace_attach_fail_reason_string): Likewise.
10323         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10324         Likewise.
10325         (linux_ptrace_attach_fail_reason_string): Likewise.
10326         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10327
10328 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10329
10330         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10331
10332 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10333
10334         PR gdb/21559
10335         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10336         checking for fs_base/gs_base fields in struct user_regs_struct.
10337         * configure: Regenerate.
10338
10339 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10340
10341         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10342         function.
10343         (aarch64_linux_init_abi): Install it to gdbarch hook
10344         gcc_target_options.
10345
10346 2018-01-15  Pedro Alves  <palves@redhat.com>
10347
10348         * common/signals-state-save-restore.c
10349         (save_original_signals_state): Fix typos.
10350
10351 2017-01-12  Tom Tromey  <tom@tromey.com>
10352             Sergio Durigan Junior  <sergiodj@redhat.com>
10353
10354         * Makefile.in (install-only): Install gdb-add-index.
10355
10356 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10357
10358         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10359
10360 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10361
10362         * infrun.c (keep_going_pass_signal): Clear step-over info when
10363         insert_breakpoints fails.
10364
10365 2018-01-11  Pedro Alves  <palves@redhat.com>
10366
10367         PR gdb/22583
10368         * infrun.c (resume): Rename to ...
10369         (resume_1): ... this.
10370         (resume): Reimplement as wrapper around resume_1.
10371
10372 2018-01-11  Pedro Alves  <palves@redhat.com>
10373
10374         PR remote/22597
10375         * remote.c (remote_parse_stop_reply): Default to the last-set
10376         general thread instead of to 'magic_null_ptid'.
10377
10378 2018-01-10  Pedro Alves  <palves@redhat.com>
10379
10380         * language.h (language_get_symbol_name_matcher): Rename ...
10381         (get_symbol_name_matcher): ... this.
10382         * language.c (language_get_symbol_name_matcher): Ditto.
10383         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10384         callers adjusted.
10385
10386 2018-01-10  Pedro Alves  <palves@redhat.com>
10387
10388         PR gdb/22670
10389         * dwarf2read.c
10390         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10391         Adjust to use language_get_symbol_name_matcher instead of
10392         language_defn::la_get_symbol_name_matcher.
10393         * language.c (language_get_symbol_name_matcher): If in Ada mode
10394         and the lookup name is a verbatim match, return Ada's matcher.
10395         * language.h (language_get_symbol_name_matcher): Adjust comment.
10396         (ada_lookup_name_info::verbatim_p):: New method.
10397
10398 2018-01-10  Pedro Alves  <palves@redhat.com>
10399
10400         PR gdb/22670
10401         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10402         minsym's language is language_auto or language_cplus, pass down
10403         language_ada instead.
10404         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10405
10406 2018-01-10  Pedro Alves  <palves@redhat.com>
10407
10408         PR gdb/22670
10409         * minsyms.c (linkage_name_str): New function.
10410         (iterate_over_minimal_symbols): Use it.
10411
10412 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10413
10414         * NEWS: Document that 'info proc' now works on FreeBSD.
10415
10416 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10417
10418         * configure.ac: Check for kinfo_getfile in libutil.
10419         * configure: Regenerate.
10420         * config.in: Regenerate.
10421         * fbsd-nat.c: Include "fbsd-tdep.h".
10422         (fbsd_fetch_cmdline): New.
10423         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
10424         rather than calling error.
10425         (fbsd_info_proc): New.
10426         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
10427         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
10428         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
10429
10430 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10431
10432         * fbsd-nat.c (struct free_deleter): Remove.
10433         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
10434
10435 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10436
10437         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
10438         NULL for an empty pathname.
10439
10440 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10441
10442         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
10443         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
10444         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
10445         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
10446         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
10447         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
10448         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
10449         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
10450         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
10451         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
10452         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
10453         (fbsd_core_fetch_timeval, fbsd_print_sigset)
10454         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
10455         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
10456         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
10457
10458 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
10459
10460         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
10461         (gnu_xfer_auxv): New function.
10462         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
10463         TARGET_OBJECT_AUXV.
10464
10465 2018-01-08  Yao Qi  <yao.qi@linaro.org>
10466             Simon Marchi  <simon.marchi@ericsson.com>
10467
10468         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
10469         common/selftest.c.
10470         (COMMON_OBS): Remove selftest.o.
10471         * configure.ac: Append selftest-arch.c and common/selftest.c to
10472         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
10473         * configure: Re-generated.
10474         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
10475         GDB_SELF_TEST.
10476         (maintenance_info_selftests): Likewise.
10477
10478 2018-01-08  Xavier Roirand  <roirand@adacore.com>
10479
10480         * ada-valprint.c (val_print_packed_array_elements): Use
10481         proper number of elements when printing an array indexed
10482         by an enumeration type.
10483
10484 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10485
10486         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
10487         (dw2_get_file_names_reader): Adjust.
10488         (lookup_dwo_signatured_type): Adjust.
10489         (lookup_dwp_signatured_type): Adjust.
10490         (lookup_signatured_type): Adjust.
10491         (create_type_unit_group): Adjust.
10492         (get_type_unit_group): Adjust.
10493         (process_psymtab_comp_unit_reader): Adjust.
10494         (build_type_psymtabs_reader): Adjust.
10495         (scan_partial_symbols): Adjust.
10496         (add_partial_symbol): Adjust.
10497         (add_partial_subprogram): Adjust.
10498         (peek_die_abbrev): Adjust.
10499         (fixup_go_packaging): Adjust.
10500         (process_imported_unit_die): Adjust.
10501         (dwarf2_compute_name): Adjust.
10502         (dwarf2_physname): Adjust.
10503         (read_import_statement): Adjust.
10504         (handle_DW_AT_stmt_list): Adjust.
10505         (read_file_scope): Adjust.
10506         (read_func_scope): Adjust.
10507         (read_lexical_block_scope): Adjust.
10508         (read_call_site_scope): Adjust.
10509         (read_variable): Adjust.
10510         (dwarf2_rnglists_process): Adjust.
10511         (dwarf2_ranges_process): Adjust.
10512         (dwarf2_ranges_read): Adjust.
10513         (dwarf2_get_pc_bounds): Adjust.
10514         (dwarf2_record_block_ranges): Adjust.
10515         (dwarf2_add_field): Adjust.
10516         (dwarf2_add_member_fn): Adjust.
10517         (read_structure_type): Adjust.
10518         (process_structure_scope): Adjust.
10519         (read_enumeration_type): Adjust.
10520         (read_array_type): Adjust.
10521         (mark_common_block_symbol_computed): Adjust.
10522         (read_common_block): Adjust.
10523         (read_namespace_type): Adjust.
10524         (read_namespace): Adjust.
10525         (read_module_type): Adjust.
10526         (read_tag_pointer_type): Adjust.
10527         (read_tag_ptr_to_member_type): Adjust.
10528         (read_tag_string_type): Adjust.
10529         (read_subroutine_type): Adjust.
10530         (read_typedef): Adjust.
10531         (read_base_type): Adjust.
10532         (attr_to_dynamic_prop): Adjust.
10533         (read_subrange_type): Adjust.
10534         (read_unspecified_type): Adjust.
10535         (dwarf2_read_abbrevs): Adjust.
10536         (load_partial_dies): Adjust.
10537         (read_partial_die): Adjust.
10538         (find_partial_die): Adjust.
10539         (guess_partial_die_structure_name): Adjust.
10540         (fixup_partial_die): Adjust.
10541         (read_attribute_value): Adjust.
10542         (read_addr_index): Adjust.
10543         (read_addr_index_from_leb128): Adjust.
10544         (read_str_index): Adjust.
10545         (dwarf2_string_attr): Adjust.
10546         (get_debug_line_section): Adjust.
10547         (dwarf_decode_line_header): Adjust.
10548         (lnp_state_machine::check_line_address): Adjust.
10549         (dwarf_decode_lines_1): Adjust.
10550         (dwarf_decode_lines): Adjust.
10551         (dwarf2_start_symtab): Adjust.
10552         (var_decode_location): Adjust.
10553         (new_symbol_full): Adjust.
10554         (dwarf2_const_value_data): Adjust.
10555         (dwarf2_const_value_attr): Adjust.
10556         (dwarf2_const_value): Adjust.
10557         (die_type): Adjust.
10558         (die_containing_type): Adjust.
10559         (build_error_marker_type): Adjust.
10560         (lookup_die_type): Adjust.
10561         (guess_full_die_structure_name): Adjust.
10562         (anonymous_struct_prefix): Adjust.
10563         (determine_prefix): Adjust.
10564         (dwarf2_name): Adjust.
10565         (follow_die_ref_or_sig): Adjust.
10566         (follow_die_offset): Adjust.
10567         (follow_die_ref): Adjust.
10568         (follow_die_sig_1): Adjust.
10569         (follow_die_sig): Adjust.
10570         (get_signatured_type): Adjust.
10571         (get_DW_AT_signature_type): Adjust.
10572         (decode_locdesc): Adjust.
10573         (dwarf_decode_macros): Adjust.
10574         (cu_debug_loc_section): Adjust.
10575         (fill_in_loclist_baton): Adjust.
10576         (dwarf2_symbol_mark_computed): Adjust.
10577         (init_one_comp_unit): Don't assign
10578         dwarf2_cu::dwarf2_per_objfile.
10579         (set_die_type): Adjust.
10580
10581 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10582
10583         * dwarf2read.c (struct mapped_debug_names): Add constructor.
10584         <dwarf2_per_objfile>: New field.
10585         (dwarf2_per_objfile): Remove global.
10586         (get_dwarf2_per_objfile): New function.
10587         (set_dwarf2_per_objfile): New function.
10588         (dwarf2_build_psymtabs_hard): Change objfile parameter to
10589         dwarf2_per_objfile.
10590         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10591         (read_abbrev_offset): Likewise.
10592         (read_indirect_string): Likewise.
10593         (read_indirect_line_string): Likewise.
10594         (read_indirect_string_at_offset): Likewise.
10595         (read_indirect_string_from_dwz): Likewise.
10596         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10597         dwarf2_per_objfile.
10598         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10599         (create_all_comp_units): Change objfile parameter to
10600         dwarf2_per_objfile.
10601         (create_all_type_units): Likewise.
10602         (process_queue): Add dwarf2_per_objfile parameter.
10603         (read_and_check_comp_unit_head): Likewise.
10604         (lookup_dwo_unit_in_dwp): Likewise.
10605         (get_dwp_file): Likewise.
10606         (process_cu_includes): Likewise.
10607         (struct free_dwo_file_cleanup_data): New struct.
10608         (dwarf2_has_info): Use get_dwarf2_per_objfile and
10609         set_dwarf2_per_objfile.
10610         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
10611         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
10612         context, adjust calls.
10613         (dw2_instantiate_symtab): Likewise.
10614         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
10615         (dw2_get_cu): Likewise.
10616         (create_cu_from_index_list): Change objfile parameter to
10617         dwarf2_per_objfile.
10618         (create_cus_from_index_list): Get dwarf2_per_objfile from
10619         context, adjust calls.
10620         (create_cus_from_index): Likewise.
10621         (create_signatured_type_table_from_index): Change objfile
10622         parameter to dwarf2_per_objfile.
10623         (create_signatured_type_table_from_debug_names): Change objfile
10624         parameter to dwarf2_per_objfile.
10625         (create_addrmap_from_index): Likewise.
10626         (create_addrmap_from_aranges): Likewise.
10627         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
10628         (dw2_setup): Remove.
10629         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
10630         context.
10631         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
10632         get_dwarf2_per_objfile.
10633         (dw2_forget_cached_source_info): Likewise.
10634         (dw2_map_symtabs_matching_filename): Likewise.
10635         (struct dw2_symtab_iterator) <index>: Remove.
10636         <dwarf2_per_objfile>: New field.
10637         (dw2_symtab_iter_init): Replace index parameter with
10638         dwarf2_per_objfile.
10639         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
10640         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
10641         (dw2_print_stats): Likewise.
10642         (dw2_dump): Likewise.
10643         (dw2_expand_symtabs_for_function): Likewise.
10644         (dw2_expand_all_symtabs): Likewise.
10645         (dw2_expand_symtabs_with_fullname): Likewise.
10646         (dw2_expand_marked_cus): Replace index and objfile parameters
10647         with dwarf2_per_objfile.
10648         (dw_expand_symtabs_matching_file_matcher): Add
10649         dwarf2_per_objfile parameter and adjust calls.
10650         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
10651         adjust calls.
10652         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
10653         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
10654         adjust calls.
10655         (create_cus_from_debug_names_list): Replace objfile parameter
10656         with dwarf2_per_objfile and adjust calls.
10657         (create_cus_from_debug_names): Likewise.
10658         (dwarf2_read_debug_names): Likewise.
10659         (mapped_debug_names::namei_to_name): Adjust call.
10660         (dw2_debug_names_iterator::next): Likewise.
10661         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
10662         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
10663         (dw2_debug_names_dump): Likewise.
10664         (dw2_debug_names_expand_symtabs_for_function): Likewise.
10665         (dw2_debug_names_expand_symtabs_matching): Likewise.
10666         (dwarf2_initialize_objfile): Likewise.
10667         (dwarf2_build_psymtabs): Likewise.
10668         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
10669         this_cu.
10670         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
10671         (read_and_check_comp_unit_head): Likewise.
10672         (read_abbrev_offset): Likewise.
10673         (create_debug_type_hash_table): Likewise.
10674         (create_debug_types_hash_table): Likewise.
10675         (create_all_type_units): Replace objfile parameter with
10676         dwarf2_per_objfile.
10677         (add_type_unit): Add dwarf2_per_objfile parameter.
10678         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
10679         with dwarf2_per_objfile.
10680         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
10681         (lookup_dwp_signatured_type): Likewise.
10682         (lookup_signatured_type): Likewise.
10683         (read_cutu_die_from_dwo): Likewise.
10684         (init_tu_and_read_dwo_dies): Likewise.
10685         (init_cutu_and_read_dies): Likewise.
10686         (init_cutu_and_read_dies_no_follow): Likewise.
10687         (allocate_type_unit_groups_table): Add objfile parameter.
10688         (create_type_unit_group): Use dwarf2_per_objfile from cu.
10689         (get_type_unit_group): Likewise.
10690         (process_psymtab_comp_unit): Update call.
10691         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
10692         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
10693         (print_tu_stats): Likewise.
10694         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
10695         in void* parameter.
10696         (build_type_psymtabs): Change objfile parameter to
10697         dwarf2_per_objfile.
10698         (process_skeletonless_type_unit): Use dwarf2_per_objfile
10699         passed in void* parameter.
10700         (process_skeletonless_type_units): Change objfile parameter to
10701         dwarf2_per_objfile.
10702         (set_partial_user): Likewise.
10703         (dwarf2_build_psymtabs_hard): Likewise.
10704         (read_comp_units_from_section): Likewise.
10705         (create_all_comp_units): Likewise.
10706         (scan_partial_symbols): Update calls.
10707         (add_partial_symbol): Likewise.
10708         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
10709         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
10710         (process_queue): Add dwarf2_per_objfile parameter.
10711         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
10712         (compute_compunit_symtab_includes): Likewise.
10713         (process_cu_includes): Add dwarf2_per_objfile parameter.
10714         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
10715         (process_full_type_unit): Likewise.
10716         (process_imported_unit_die): Update call.
10717         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
10718         (read_file_scope): Likewise.
10719         (allocate_dwo_file_hash_table): Add objfile parameter.
10720         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
10721         (create_cus_hash_table): Likewise.
10722         (create_dwp_hash_table): Likewise.
10723         (create_dwo_unit_in_dwp_v1): Likewise.
10724         (create_dwp_v2_section): Likewise.
10725         (create_dwo_unit_in_dwp_v2): Likewise.
10726         (lookup_dwo_unit_in_dwp): Likewise.
10727         (try_open_dwop_file): Likewise.
10728         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
10729         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
10730         cleanup to include a reference to dwarf2_per_objfile.
10731         (open_dwp_file): Add dwarf2_per_objfile parameter.
10732         (open_and_init_dwp_file): Likewise.
10733         (get_dwp_file): Likewise.
10734         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
10735         (queue_and_load_all_dwo_tus): Update call.
10736         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
10737         data.
10738         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
10739         (dwarf2_ranges_process): Likewise.
10740         (dwarf2_get_pc_bounds): Likewise.
10741         (mark_common_block_symbol_computed): Likewise.
10742         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10743         (dwarf2_read_abbrevs): Update call.
10744         (read_partial_die): Use dwarf2_per_objfile from cu.
10745         (find_partial_die): Likewise.
10746         (fixup_partial_die): Likewise.
10747         (read_attribute_value): Likewise.
10748         (read_indirect_string_at_offset_from): Add objfile parameter.
10749         (read_indirect_string_at_offset): Add dwarf2_per_objfile
10750         parameter.
10751         (read_indirect_string_from_dwz): Add objfile parameter.
10752         (read_indirect_string): Add objfile parameter.
10753         (read_addr_index_1): Add dwarf2_per_objfile parameter.
10754         (read_addr_index): Use dwarf2_per_objfile from cu.
10755         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
10756         call dw2_setup.
10757         (read_str_index): Use dwarf2_per_objfile from cu.
10758         (get_debug_line_section): Likewise.
10759         (read_formatted_entries): Add dwarf2_per_objfile parameter.
10760         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
10761         (new_symbol_full): Use dwarf2_per_objfile from cu.
10762         (build_error_marker_type): Likewise.
10763         (lookup_die_type): Likewise.
10764         (determine_prefix): Likewise.
10765         (follow_die_offset): Likewise.
10766         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
10767         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
10768         (dwarf2_fetch_die_type_sect_off): Likewise.
10769         (dwarf2_get_die_type): Likewise.
10770         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
10771         (get_signatured_type): Likewise.
10772         (get_DW_AT_signature_type): Likewise.
10773         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
10774         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
10775         (cu_debug_loc_section): Likewise.
10776         (fill_in_loclist_baton): Likewise.
10777         (dwarf2_symbol_mark_computed): Likewise.
10778         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10779         dwarf2_per_objfile.
10780         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
10781         parameter.
10782         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10783         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
10784         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
10785         (set_die_type): Use dwarf2_free_objfile from cu.
10786         (get_die_type_at_offset): Likewise.
10787         (dwarf2_per_objfile_free): Don't assign global variable.
10788         (debug_names) <constructor>: Add dwarf2_per_objfile
10789         parameter, update m_debugstrlookup construction.
10790         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
10791         parameter.
10792         <m_dwarf2_per_objfile>: New field.
10793         <lookup>: Use m_dwarf2_per_objfile.
10794         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
10795         (psyms_seen_size): Likewise.
10796         (write_gdbindex): Replace objfile parameter with
10797         dwarf2_per_objfile.
10798         (write_debug_names): Likewise.
10799         (write_psymtabs_to_index): Likewise.
10800         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
10801         calls.
10802
10803 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10804
10805         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
10806         <dwarf2_per_objfile>: New field.
10807         (struct dwarf2_per_cu_data) <objfile>: Remove.
10808         <dwarf2_per_objfile>: New field.
10809         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
10810         of objfile.
10811         (create_signatured_type_table_from_index): Likewise.
10812         (create_debug_type_hash_table): Likewise.
10813         (fill_in_sig_entry_from_dwo_entry): Likewise.
10814         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
10815         (create_type_unit_group): Assign dwarf2_per_objfile instead of
10816         objfile.
10817         (create_partial_symtab): Access objfile through
10818         dwarf2_per_objfile.
10819         (process_psymtab_comp_unit_reader): Likewise.
10820         (read_comp_units_from_section): Likewise.
10821         (scan_partial_symbols): Likewise.
10822         (add_partial_symbol): Likewise.
10823         (add_partial_subprogram): Likewise.
10824         (peek_die_abbrev): Likewise.
10825         (fixup_go_packaging): Likewise.
10826         (process_full_comp_unit): Likewise.
10827         (process_full_type_unit): Likewise.
10828         (process_imported_unit_die): Likewise.
10829         (dwarf2_compute_name): Likewise.
10830         (dwarf2_physname): Likewise.
10831         (read_import_statement): Likewise.
10832         (create_cus_hash_table): Assign dwarf2_physname instead of
10833         objfile.
10834         (read_func_scope): Access objfile through dwarf2_per_objfile.
10835         (read_lexical_block_scope): Likewise.
10836         (read_call_site_scope): Likewise.
10837         (read_variable): Likewise.
10838         (dwarf2_rnglists_process): Likewise.
10839         (dwarf2_ranges_process): Likewise.
10840         (dwarf2_ranges_read): Likewise.
10841         (dwarf2_record_block_ranges): Likewise.
10842         (dwarf2_add_field): Likewise.
10843         (dwarf2_add_member_fn): Likewise.
10844         (read_structure_type): Likewise.
10845         (process_structure_scope): Likewise.
10846         (read_enumeration_type): Likewise.
10847         (read_array_type): Likewise.
10848         (read_common_block): Likewise.
10849         (read_namespace_type): Likewise.
10850         (read_namespace): Likewise.
10851         (read_module_type): Likewise.
10852         (read_tag_pointer_type): Likewise.
10853         (read_tag_ptr_to_member_type): Likewise.
10854         (read_tag_string_type): Likewise.
10855         (read_subroutine_type): Likewise.
10856         (read_typedef): Likewise.
10857         (read_base_type): Likewise.
10858         (attr_to_dynamic_prop): Likewise.
10859         (read_subrange_type): Likewise.
10860         (read_unspecified_type): Likewise.
10861         (load_partial_dies): Likewise.
10862         (read_partial_die): Likewise.
10863         (find_partial_die): Likewise.
10864         (guess_partial_die_structure_name): Likewise.
10865         (fixup_partial_die): Likewise.
10866         (read_attribute_value): Likewise.
10867         (read_addr_index_from_leb128): Likewise.
10868         (dwarf2_read_addr_index): Likewise.
10869         (dwarf2_string_attr): Likewise.
10870         (lnp_state_machine::check_line_address): Likewise.
10871         (dwarf_decode_lines_1): Likewise.
10872         (dwarf_decode_lines): Likewise.
10873         (dwarf2_start_symtab): Likewise.
10874         (var_decode_location): Likewise.
10875         (new_symbol_full): Likewise.
10876         (dwarf2_const_value_data): Likewise.
10877         (dwarf2_const_value_attr): Likewise.
10878         (dwarf2_const_value): Likewise.
10879         (die_type): Likewise.
10880         (die_containing_type): Likewise.
10881         (lookup_die_type): Likewise.
10882         (guess_full_die_structure_name): Likewise.
10883         (anonymous_struct_prefix): Likewise.
10884         (dwarf2_name): Likewise.
10885         (follow_die_ref_or_sig): Likewise.
10886         (follow_die_offset): Likewise.
10887         (follow_die_ref): Likewise.
10888         (dwarf2_fetch_die_loc_sect_off): Likewise.
10889         (dwarf2_fetch_constant_bytes): Likewise.
10890         (dwarf2_fetch_die_type_sect_off): Likewise.
10891         (dwarf2_get_die_type): Likewise.
10892         (follow_die_sig): Likewise.
10893         (decode_locdesc): Likewise.
10894         (dwarf2_per_cu_objfile): Likewise.
10895         (dwarf2_per_cu_text_offset): Likewise.
10896         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
10897         objfile.
10898         (set_die_type): Access objfile through
10899         dwarf2_per_objfile.
10900
10901 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10902
10903         * valprint.c (converted_character_d): Remove typedef.
10904         (DEF_VEC_O (converted_character_d)): Remove.
10905         (count_next_character): Use std::vector.
10906         (print_converted_chars_to_obstack): Likewise.
10907         (generic_printstr): Likewise.
10908
10909 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10910
10911         * xml-support.h (struct gdb_xml_value): Add constructor.
10912         <value>: Change type to unique_xmalloc_ptr.
10913         (gdb_xml_value_s): Remove typedef.
10914         (DEF_VEC_O (gdb_xml_value_s)): Remove.
10915         (gdb_xml_element_start_handler): Change parameter type to
10916         std::vector.
10917         (xml_find_attribute): Likewise.
10918         * xml-support.c (xml_find_attribute): Change parameter type to
10919         std::vector and adjust.
10920         (gdb_xml_values_cleanup): Remove.
10921         (gdb_xml_parser::start_element): Adjust to std::vector.
10922         (xinclude_start_include): Change paraeter type to std::vector
10923         and adjust.
10924         * btrace.c (check_xml_btrace_version): Likewise.
10925         (parse_xml_btrace_block): Likewise.
10926         (parse_xml_btrace_pt_config_cpu): Likewise.
10927         (parse_xml_btrace_pt): Likewise.
10928         (parse_xml_btrace_conf_bts): Likewise.
10929         (parse_xml_btrace_conf_pt): Likewise.
10930         * memory-map.c (memory_map_start_memory): Likewise.
10931         (memory_map_start_property): Likewise.
10932         * osdata.c (osdata_start_osdata): Likewise.
10933         (osdata_start_item): Likewise.
10934         (osdata_start_column): Likewise.
10935         * remote.c (start_thread): Likewise.
10936         * solib-aix.c (library_list_start_library): Likewise.
10937         (library_list_start_list): Likewise.
10938         * solib-svr4.c (library_list_start_library): Likewise.
10939         (svr4_library_list_start_list): Likewise.
10940         * solib-target.c (library_list_start_segment): Likewise.
10941         (library_list_start_section): Likewise.
10942         (library_list_start_library): Likewise.
10943         (library_list_start_list): Likewise.
10944         * tracepoint.c (traceframe_info_start_memory): Likewise.
10945         (traceframe_info_start_tvar): Likewise.
10946         * xml-syscall.c (syscall_start_syscall): Likewise.
10947         * xml-tdesc.c (tdesc_start_target): Likewise.
10948         (tdesc_start_feature): Likewise.
10949         (tdesc_start_reg): Likewise.
10950         (tdesc_start_union): Likewise.
10951         (tdesc_start_struct): Likewise.
10952         (tdesc_start_flags): Likewise.
10953         (tdesc_start_enum): Likewise.
10954         (tdesc_start_field): Likewise.
10955         (tdesc_start_enum_value): Likewise.
10956         (tdesc_start_vector): Likewise.
10957
10958 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10959
10960         * extension.h (struct xmethod_worker) <clone>: Remove.
10961         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
10962         Remove.
10963         (python_xmethod_worker::clone): Remove.
10964         * valops.c (find_overload_match): Use std::move instead of
10965         clone.
10966
10967 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10968
10969         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
10970         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
10971         <free_xmethod_worker_data>: Remove.
10972         <get_matching_xmethod_workers>: Chance VEC to std::vector.
10973         <get_xmethod_arg_types>: Remove.
10974         <get_xmethod_result_type>: Remove.
10975         <invoke_xmethod>: Remove.
10976         * extension.c (new_xmethod_worker): Remove.
10977         (clone_xmethod_worker): Remove.
10978         (get_matching_xmethod_workers): Return void, pass std::vector by
10979         pointer.
10980         (get_xmethod_arg_types): Rename to...
10981         (xmethod_worker::get_arg_types): ... this, and adjust.
10982         (get_xmethod_result_type): Rename to...
10983         (xmethod_worker::get_result_type): ... this, and adjust.
10984         (invoke_xmethod): Remove.
10985         (free_xmethod_worker): Remove.
10986         (free_xmethod_worker_vec): Remove.
10987         * extension.h (enum ext_lang_rc): Move here from
10988         extension-priv.h.
10989         (struct xmethod_worker): Add constructor and destructor.
10990         <data>: Remove.
10991         <value>: Remove.
10992         <invoke, clone, do_get_result_type, do_get_arg_types>: New
10993         virtual pure methods.
10994         <get_arg_types, get_result_type>: New methods.
10995         (xmethod_worker_ptr): Remove typedef.
10996         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
10997         (xmethod_worker_vec): Remove typedef.
10998         (xmethod_worker_up): New typedef.
10999         (invoke_xmethod): Remove.
11000         (clone_xmethod_worker): Remove.
11001         (free_xmethod_worker): Remove.
11002         (free_xmethod_worker_vec): Remove.
11003         (get_xmethod_arg_types): Remove.
11004         (get_xmethod_result_type): Remove.
11005         * valops.c (find_method_list): Use std::vector, don't use
11006         intermediate vector.
11007         (value_find_oload_method_list): Use std::vector.
11008         (find_overload_match): Use std::vector.
11009         (find_oload_champ): Use std::vector.
11010         * value.c (value_free): Use operator delete.
11011         (value_of_xmethod): Rename to...
11012         (value_from_xmethod): ... this.  Don't assign
11013         xmethod_worker::value, take rvalue-reference.
11014         (result_type_of_xmethod): Adjust.
11015         (call_xmethod): Adjust.
11016         * value.h: Include extension.h.
11017         (struct xmethod_worker): Don't forward-declare.
11018         (value_of_xmethod): Rename to...
11019         (value_from_xmethod): ... this, take rvalue-reference.
11020         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
11021         (struct python_xmethod_worker): ... this, add constructor and
11022         destructor.
11023         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
11024         (gdbpy_free_xmethod_worker_data): Rename to...
11025         (python_xmethod_worker::~python_xmethod_worker): ... this and
11026         adjust.
11027         (gdbpy_clone_xmethod_worker_data): Rename to...
11028         (python_xmethod_worker::clone): ... this and adjust.
11029         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11030         temporary vector.
11031         (gdbpy_get_xmethod_arg_types): Rename to...
11032         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11033         (gdbpy_get_xmethod_result_type): Rename to...
11034         (python_xmethod_worker::do_get_result_type): ... this and
11035         adjust.
11036         (gdbpy_invoke_xmethod): Rename to...
11037         (python_xmethod_worker::invoke): ... this and adjust.
11038         (new_python_xmethod_worker): Rename to...
11039         (python_xmethod_worker::python_xmethod_worker): ... this and
11040         adjust.
11041         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11042         Remove.
11043         (gdbpy_free_xmethod_worker_data): Remove.
11044         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11045         (gdbpy_get_xmethod_arg_types): Remove.
11046         (gdbpy_get_xmethod_result_type): Remove.
11047         (gdbpy_invoke_xmethod): Remove.
11048         * python/python.c (python_extension_ops): Remove obsolete
11049         callbacks.
11050
11051 2018-01-05  Pedro Alves  <palves@redhat.com>
11052
11053         PR gdb/18653
11054         * common/signals-state-save-restore.c
11055         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11056         find a custom handler preinstalled, instead of internal erroring.
11057         But only warn if !quiet.
11058         * common/signals-state-save-restore.h
11059         (save_original_signals_state): New parameter 'quiet'.
11060         * main.c (captured_main_1): Move save_original_signals_state call
11061         after option handling, and pass QUIET.
11062
11063 2018-01-05  Pedro Alves  <palves@redhat.com>
11064
11065         * spu-tdep.c (spu_catch_start): Pass
11066         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11067
11068 2018-01-05  Pedro Alves  <palves@redhat.com>
11069
11070         PR gdb/22670
11071         * ada-lang.c (literal_symbol_name_matcher): New function.
11072         (ada_get_symbol_name_matcher): Use it for
11073         symbol_name_match_type::SEARCH_NAME.
11074         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11075         it down instead of assuming symbol_name_match_type::FULL.
11076         * block.h (block_lookup_symbol): New parameter 'match_type'.
11077         * c-valprint.c (print_unpacked_pointer): Use
11078         lookup_symbol_search_name instead of lookup_symbol.
11079         * compile/compile-object-load.c (get_out_value_type): Pass down
11080         symbol_name_match_type::SEARCH_NAME.
11081         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11082         symbol_name_match_type::FULL.
11083         * cp-support.c (cp_get_symbol_name_matcher): Handle
11084         symbol_name_match_type::SEARCH_NAME.
11085         * infrun.c (insert_exception_resume_breakpoint): Use
11086         lookup_symbol_search_name.
11087         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11088         * psymtab.c (maintenance_check_psymtabs): Use
11089         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11090         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11091         SYMBOL_SEARCH_NAME.
11092         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11093         if symbol_name_match_type::SEARCH_NAME.
11094         (lookup_symbol_in_language): Pass down
11095         symbol_name_match_type::FULL.
11096         (lookup_symbol_search_name): New.
11097         (lookup_language_this): Pass down
11098         symbol_name_match_type::SEARCH_NAME.
11099         (lookup_symbol_aux, lookup_local_symbol): New parameter
11100         'match_type'.  Pass it down.
11101         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11102         (lookup_symbol_search_name): New declaration.
11103         (lookup_symbol_in_block): New 'match_type' parameter.
11104
11105 2018-01-05  Pedro Alves  <palves@redhat.com>
11106
11107         PR gdb/22670
11108         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11109         ada_lookup_symbol.
11110         (ada_lookup_symbol): Reimplement in terms of
11111         ada_lookup_symbol_list, bits factored out from
11112         ada_lookup_encoded_symbol.
11113
11114 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11115
11116         * ada-exp.y (write_object_renaming): When subscripting an array
11117         using a symbol as the index, pass the block in call to
11118         ada_lookup_encoded_symbol when looking that symbol up.
11119
11120 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11121
11122         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11123         TYPE_INDEX_TYPE.
11124
11125 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11126
11127         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11128         the case where VALUE_LVAL (val0) is not lval_memory.
11129
11130 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11131
11132         * ada-valprint.c (print_optional_low_bound): Handle
11133         character-indexed array printing like boolean-indexed array
11134         printing.
11135
11136 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11137
11138         * NEWS: Create a new section for the next release branch.
11139         Rename the section of the current branch, now that it has
11140         been cut.
11141
11142 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11143
11144         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11145         * version.in: Bump version to 8.1.50.DATE-git.
11146
11147 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11148
11149         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11150         Add field.
11151         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11152         Add field.
11153         (default_exception_support_info) <catch_handlers_sym>: Add field.
11154         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11155         (ada_exception_name_addr_1): Add "catch handlers" handling.
11156         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11157         Update all callers.
11158         (create_excep_cond_exprs) <ex>: Add parameter.
11159         (re_set_exception): Update create_excep_cond_exprs call.
11160         (print_it_exception, print_one_exception, print_mention_exception)
11161         (print_recreate_exception): Add "catch handler" handling.
11162         (allocate_location_catch_handlers, re_set_catch_handlers)
11163         (check_status_catch_handlers, print_it_catch_handlers)
11164         (print_one_catch_handlers, print_mention_catch_handlers)
11165         (print_recreate_catch_handlers): New function.
11166         (catch_handlers_breakpoint_ops): New variable.
11167         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11168         Add parameter.  Add "catch handler" handling.
11169         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11170         Add "catch handler" handling.
11171         (ada_exception_catchpoint_cond_string): Add "catch handler"
11172         handling.
11173         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11174         call.
11175         (catch_ada_handlers_command): New function.
11176         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11177         operations structure.
11178         (_initialize_ada_language): Add "catch handlers" command entry.
11179         * NEWS: Document "catch handlers" feature.
11180
11181 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11182
11183         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11184         account when creating the array type of the slice.
11185         (ada_value_slice): Likewise.
11186
11187 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11188
11189         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11190         New enum value.
11191         (create_array_type_with_stride): Add byte_stride_prop parameter.
11192         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11193         New parameter.  Update all callers in this file.
11194         (array_type_has_dynamic_stride): New function.
11195         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11196         of arrays with dynamic byte strides.
11197         * dwarf2read.c (read_array_type): Add support for dynamic
11198         DW_AT_byte_stride attributes.
11199
11200 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11201
11202         * dwarf2read.c (read_unspecified_type): Treat
11203         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11204
11205 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11206
11207         Update copyright year range in all GDB files.
11208
11209 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11210
11211         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11212         and gdb/testsuite/gdb.base/step-line.c.
11213
11214 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11215
11216         * copyright.py (main): Dump the contents of
11217         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11218         even if BY_HAND is empty.
11219
11220 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11221
11222         * top.c (print_gdb_version): Update Copyright year in version
11223         message.
11224
11225 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11226
11227         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11228
11229 For older changes see ChangeLog-2017.
11230 \f
11231 Local Variables:
11232 mode: change-log
11233 left-margin: 8
11234 fill-column: 74
11235 version-control: never
11236 coding: utf-8
11237 End: