Remove unused variables in procfs.c etc.
[external/binutils.git] / gdb / ChangeLog
1 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2
3         * proc-api.c (_initialize_proc_api): Remove c, unused.
4         * procfs.c (procfs_init_inferior): Remove signals, unused.
5         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
6         unused.
7
8 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
9             Andrew Burgess  <andrew.burgess@embecosm.com>
10
11         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
12         'W_STOPCODE (0)' as this could be ambiguous.
13
14 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
15
16         * ser-tcp.c (net_open): Fix thinko when deciding whether to
17         disable TCP's Nagle algorithm (use "ai_protocol" instead of
18         "ai_socktype").
19
20 2018-08-02  Tom Tromey  <tom@tromey.com>
21
22         PR symtab/16842.
23         * dwarf2read.c (read_func_scope): Set symtab on template parameter
24         symbols.
25         (process_structure_scope): Likewise.
26
27 2018-08-02  Xavier Roirand  <roirand@adacore.com>
28
29         PR gdb/22629:
30         * darwin-nat.c (darwin_kill_inferior): Fix handling of
31         kill inferior.
32
33 2018-08-02  Tom Tromey  <tom@tromey.com>
34
35         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
36         (darwin_suspend_inferior, darwin_resume_inferior)
37         (darwin_decode_notify_message, darwin_resume_inferior_threads)
38         (darwin_check_new_threads): Check result of get_darwin_inferior.
39
40 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
41
42         GDB 8.1.1 released.
43
44 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
45
46         * varobj.c (varobj_get_path_expr_parent): Report an error if
47         parent is a dynamic varobj.
48
49 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
50
51         * gnulib/aclocal.m4: Re-generate.
52         * gnulib/config.in: Re-generate.
53         * gnulib/configure: Re-generate.
54         * gnulib/import/Makefile.in: Re-generate.
55         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
56         * gnulib/import/m4/onceonly.m4: Re-generate.
57
58 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
59
60         * target-descriptions.c (struct xml_test_tdesc): New.
61         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
62         (record_xml_tdesc): Update.
63         (maintenance_check_xml_descriptions): Update.
64         * target-descriptions.h (record_xml_tdesc): Update comment.
65
66 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
67
68         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
69         checking array bounds are defined.
70
71 2018-07-30  Tom Tromey  <tom@tromey.com>
72
73         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
74         irreflexivity violation.
75
76 2018-07-30  Tom Tromey  <tom@tromey.com>
77
78         * cli/cli-decode.c (lookup_cmd): Remove lint code.
79         * value.c (unpack_long): Remove lint code.
80         * valops.c (value_ind): Remove lint code.
81         * valarith.c (value_x_binop, value_x_unop, value_equal)
82         (value_pos): Remove lint code.
83
84 2018-07-28  Tom de Vries  <tdevries@suse.de>
85
86         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
87         with undefined upper bound as <optimized out>.
88
89 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
90
91         * gcore.in: Rename variable "name" to "prefix".  Expand
92         "usage" text.
93
94 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
95
96         * windows-nat.c (windows_nat_target::create_inferior): Update to
97         call close() in global namespace.
98
99 2018-07-26  Tom Tromey  <tom@tromey.com>
100
101         * dwarf-index-write.c (add_address_entry): Don't add objfile
102         offsets.
103         * dbxread.c (find_stab_function): Rename from
104         find_stab_function_addr.  Return a bound_minimal_symbol.
105         (read_dbx_symtab): Use raw_text_low, raw_text_high.
106         Don't add objfile offsets.
107         (end_psymtab): Use raw_text_low, raw_text_high,
108         MSYMBOL_VALUE_RAW_ADDRESS.
109         (read_ofile_symtab): Update.
110         (process_one_symbol): Update.
111         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
112         offsets.
113         (dw2_relocate): Remove.
114         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
115         searching addrmap.
116         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
117         Update.
118         (process_psymtab_comp_unit_reader, add_partial_symbol)
119         (add_partial_subprogram, dwarf2_ranges_read): Update.
120         (load_partial_dies): Update.
121         (add_address_entry): Don't add objfile offsets.
122         (dwarf2_build_include_psymtabs): Update.
123         (create_addrmap_from_aranges): Don't add objfile offsets.
124         (dw2_find_pc_sect_compunit_symtab): Update.
125         * mdebugread.c (parse_symbol): Don't add objfile offsets.
126         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
127         Update.
128         (parse_partial_symbols): Don't add objfile offsets.  Use
129         raw_text_low, raw_text_high.  Update.
130         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
131         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
132         or call 'relocate' quick function.  Clear psymbol_map.
133         * psympriv.h (struct partial_symbol) <address>: Add section
134         offset.
135         <set_unrelocated_address>: Rename from set_address.
136         <raw_text_low, raw_text_high>: New methods.
137         <text_low, text_high>: Add objfile parameter.
138         (add_psymbol_to_bcache): Add 'section' parameter.  Call
139         set_unrelocated_address.
140         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
141         (find_pc_psymbol): Update.
142         (fixup_psymbol_section, relocate_psymtabs): Remove.
143         (dump_psymtab, psym_functions): Update.
144         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
145         parameter.
146         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
147         (start_psymtab_common): Update.
148         * symfile-debug.c (debug_qf_relocate): Remove.
149         (debug_sym_quick_functions): Update.
150         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
151         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
152         Update.
153
154 2018-07-26  Tom Tromey  <tromey@redhat.com>
155
156         * dbxread.c (end_psymtab): Use text_high_valid and
157         text_low_valid.
158         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
159         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
160         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
161         Update comment.
162         <text_low_valid, text_high_valid>: New fields.
163         <set_text_low, set_text_high>: Update.
164         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
165
166 2018-07-26  Tom Tromey  <tom@tromey.com>
167
168         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
169         Update.
170         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
171         textlow and texthigh fields.
172         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
173         Update.
174         * mdebugread.c (parse_lines, parse_partial_symbols)
175         (psymtab_to_symtab_1): Update.
176         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
177         Rename fields.  Update comment.  Now private.
178         <text_low, text_high, set_text_low, set_text_high>: New methods.
179         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
180         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
181         (start_psymtab_common, maintenance_info_psymtabs)
182         (maintenance_check_psymtabs): Update.
183         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
184         texthigh fields.
185         (scan_xcoff_symtab): Update.
186
187 2018-07-26  Tom Tromey  <tromey@redhat.com>
188
189         * psympriv.h (struct partial_symbol) <unrelocated_address,
190         address, set_address>: New methods.
191         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
192         (fixup_psymbol_section, relocate_psymtabs): Update.
193         (print_partial_symbols): Add 'objfile' parameter.  Update.
194         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
195         Update.
196
197 2018-07-26  Tom Tromey  <tom@tromey.com>
198
199         * dwarf-index-write.c (write_psymbols, debug_names::insert)
200         (debug_names::write_psymbols): Update.
201         * psympriv.h (struct partial_symbol): Derive from
202         general_symbol_info.
203         <obj_section>: New method.
204         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
205         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
206         (find_pc_sect_psymbol, fixup_psymbol_section)
207         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
208         (print_partial_symbols, recursively_search_psymtabs)
209         (compare_psymbols, psymbol_hash, psymbol_compare)
210         (add_psymbol_to_bcache, maintenance_check_psymtabs)
211         (psymbol_name_matches, psym_fill_psymbol_map): Update.
212
213 2018-07-26  Tom Tromey  <tromey@redhat.com>
214
215         * dbxread.c (end_psymtab): Remove dead code.
216
217 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
218
219         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
220         DWARF unwinders are disabled.
221         * dwarf2-frame.c: Add dwarf2read.h include.
222         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
223         disabled.
224         (dwarf2_frame_unwinders_enabled_p): Define.
225         (show_dwarf_unwinders_enabled_p): New function.
226         (_initialize_dwarf2_frame): Register switch to control DWARF
227         unwinder use.
228         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
229         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
230         (show_dwarf_cmdlist): Remove static keyword.
231         * dwarf2read.h (set_dwarf_cmdlist): Declare.
232         (show_dwarf_cmdlist): Declare.
233         * NEWS: Document new feature.
234
235 2018-07-26  Tom de Vries  <tdevries@suse.de>
236
237         PR breakpoints/23366
238         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
239
240 2018-07-26  Tom de Vries  <tdevries@suse.de>
241
242         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
243         DW_AT_count can't be translated to a dynamic prop.
244
245 2018-07-25  Tom de Vries  <tdevries@suse.de>
246
247         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
248         try/catch.
249
250 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
251
252         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
253
254 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
255
256         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
257
258 2018-07-24  Keith Seitz  <keiths@redhat.comt
259
260         PR symtab/23010
261         * dwarf2read.c (dw2_add_symbol_to_list): New function.
262         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
263         instead of add_symbol_to_list.
264         (read_file_scope): Call prepare_one_comp_unit before reading
265         any other DIEs.
266
267 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
268
269         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
270
271 2018-07-24  Tom Tromey  <tom@tromey.com>
272
273         * utils.c (malloc, realloc, free): Don't declare.
274         * configure, config.in: Rebuild.
275         * configure.ac: Don't check for declarations of free, malloc, or
276         realloc.
277
278 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
279
280         * aarch64-linux-nat.c
281         (aarch64_linux_nat_target::stopped_data_address): Remove unused
282         variable.
283         * arm-linux-nat.c (fetch_regs): Likewise.
284         (store_regs): Likewise.
285         (fetch_vfp_regs): Likewise.
286         (store_vfp_regs): Likewise.
287         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
288         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
289         (arm_linux_nat_target::insert_watchpoint): Likewise.
290         (arm_linux_nat_target::remove_watchpoint): Likewise.
291         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
292         Likewise.
293         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
294         Likewise.
295         * ppc-linux-nat.c (fetch_register): Likewise.
296         (fetch_all_gp_regs): Likewise.
297         (fetch_ppc_registers): Likewise.
298         (store_all_gp_regs): Likewise.
299         (store_ppc_registers): Likewise.
300         (hwdebug_insert_point): Likewise.
301         (can_use_watchpoint_cond_accel): Likewise.
302         * remote-sim.c (gdb_os_write_stdout): Likewise.
303
304 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
305             Tom Tromey  <tom@tromey.com>
306
307         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
308         test for it.
309         * configure: Rebuild.
310
311 2018-07-22  Tom Tromey  <tom@tromey.com>
312
313         * regformats/regdat.sh: Define xmltarget_${name} inside
314         #ifndef IN_PROCESS_AGENT.
315
316 2018-07-22  Tom Tromey  <tom@tromey.com>
317
318         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
319
320 2018-07-22  Tom Tromey  <tom@tromey.com>
321
322         * symfile.c (reread_symbols): Notify iter, not objfile.
323
324 2018-07-22  Tom Tromey  <tom@tromey.com>
325
326         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
327         Use arch_ops.
328         (ravenscar_thread_target::prepare_to_store): Likewise.
329
330 2018-07-22  Tom Tromey  <tom@tromey.com>
331
332         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
333         unused variable.  Call value_fetch_lazy when needed.
334         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
335         Remove unused variable.  Call value_fetch_lazy when needed.
336
337 2018-07-22  Tom Tromey  <tom@tromey.com>
338
339         * m32c-tdep.c (mark_dma): Return void.
340         (make_regs): Remove unused declarations.
341
342 2018-07-22  Tom Tromey  <tom@tromey.com>
343
344         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
345         cmdscm_get_valid_command_smob_arg_unsafe for effect.
346         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
347         bkscm_get_valid_block_smob_arg_unsafe for effect.
348
349 2018-07-22  Tom Tromey  <tom@tromey.com>
350
351         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
352         value_type.
353
354 2018-07-22  Tom Tromey  <tom@tromey.com>
355
356         * windows-nat.c (saved_context): Conditionally define.
357         * remote.c (remote_target::remote_btrace_maybe_reopen):
358         Conditionally declare "warned".
359         * inflow.c (sigquit_ours): Conditionally define.
360         (new_tty): Move "tty" declaration inside #if.
361         * guile/guile.c (guile_datadir): Conditionally define.
362         * charset.c (set_be_le_names): Move some declarations inside #if.
363         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
364         #if.
365         (parse_xml_btrace_conf): Likewise.
366
367 2018-07-22  Tom Tromey  <tom@tromey.com>
368
369         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
370
371 2018-07-22  Tom Tromey  <tom@tromey.com>
372
373         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
374         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
375         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
376         * buildsym-legacy.c (get_macro_table): Remove unused variable.
377         * stack.c (frame_apply_level_command): Remove unused variable.
378         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
379         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
380         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
381         unused variable.
382         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
383         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
384         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
385         variable.
386         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
387         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
388         variable.
389         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
390         Remove unused variable.
391         * cli/cli-script.c (recurse_read_control_structure): Remove unused
392         variable.
393         * common/tdesc.c (print_xml_feature::visit): Remove unused
394         variable.
395         * compile/compile-object-load.c (store_regs): Remove unused
396         variables.
397         * complaints.c (clear_complaints): Remove unused variable.
398         * corelow.c (core_target_open): Remove unused variable.
399         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
400         variable.
401         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
402         variable.
403         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
404         variable.
405         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
406         variable.
407         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
408         variable.
409         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
410         variable.
411         * ia64-tdep.c (examine_prologue): Remove unused variable.
412         * infcall.c (run_inferior_call): Remove unused variable.
413         * inferior.c (exit_inferior): Remove unused variable.
414         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
415         * linespec.c (decode_line_2): Remove unused variable.
416         * linux-nat.c (super_close): Remove.
417         * linux-tdep.c (linux_info_proc): Remove unused variable.
418         * mi/mi-main.c (mi_execute_command): Remove unused variable.
419         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
420         Remove unused variable.
421         * parse.c (find_minsym_type_and_address): Remove unused variable.
422         * printcmd.c (info_symbol_command, printf_floating): Remove unused
423         variable.
424         * python/py-breakpoint.c (bppy_set_commands): Remove unused
425         variable.
426         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
427         variables.
428         * record-btrace.c (record_btrace_target::store_registers): Remove
429         unused variable.
430         (cmd_show_record_btrace_cpu): Remove unused variable.
431         * riscv-tdep.c (riscv_register_reggroup_p)
432         (riscv_push_dummy_call, riscv_return_value): Remove unused
433         variable.
434         * rust-exp.y (literal): Remove unused variable.
435         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
436         unused variable.
437         <STRUCTOP_ANONYMOUS>: Likewise.
438         * s390-linux-tdep.c (s390_linux_init_abi_31)
439         (s390_linux_init_abi_64): Remove unused variable.
440         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
441         (file_select_thread, net_windows_open, _initialize_ser_windows):
442         Remove unused variables.
443         * symtab.c (find_pc_sect_line): Remove unused variable.
444         * target-memory.c (compute_garbled_blocks): Remove unused
445         variable.
446         (target_write_memory_blocks): Remove unused variable.
447         * target.c (target_stack::unpush): Remove unused variables.
448         * tracepoint.c (start_tracing, all_tracepoint_actions)
449         (merge_uploaded_trace_state_variables)
450         (print_one_static_tracepoint_marker): Remove unused variable.
451         * unittests/basic_string_view/element_access/char/1.cc (test01):
452         Remove unused variable.
453         * windows-nat.c (windows_continue, windows_add_all_dlls)
454         (do_initial_windows_stuff, windows_nat_target::create_inferior):
455         Remove unused variables.
456
457 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
458
459         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
460         attr_profile in HAVE_ELF.
461         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
462         HAVE_ELF.
463
464 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
465
466         * frame.c (frame_register_unwind): Change parameter name.
467         (frame_unwind_register): Likewise.
468         (frame_unwind_register_value): Likewise.
469         (frame_unwind_register_signed): Likewise.
470         (frame_unwind_register_unsigned): Likewise.
471         * frame.h (frame_register_unwind): Likewise.
472         (frame_unwind_register): Likewise.
473         (frame_unwind_register_value): Likewise.
474         (frame_unwind_register_signed): Likewise.
475         (frame_unwind_register_unsigned): Likewise.
476         (frame_unwind_arch): Likewise.
477
478 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
479
480         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
481         ISA maintenance.
482
483 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
484
485         * mips-linux-nat.c (mips_linux_nat_target::read_description):
486         Call `get_ptrace_pid' rather than extracting the ptrace PID by
487         hand.
488
489 2018-07-20  Keith Seitz  <keiths@redhat.com>
490
491         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
492         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
493         m_compunit_symtab, m_language>: Add "m_" prefix.
494         Update all uses.
495         * buildsym.c: Update all uses.
496
497 2018-07-20  Tom Tromey  <tom@tromey.com>
498
499         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
500         * buildsym.h (record_line_ftype): Remove typedef.
501
502 2018-07-20  Tom Tromey  <tom@tromey.com>
503
504         * buildsym-legacy.h (augment_type_symtab): Don't declare.
505         (end_expandable_symtab): Likewise.
506         (end_symtab_get_static_block): Likewise.
507         (end_symtab_from_static_block): Likewise.
508         * buildsym-legacy.c (augment_type_symtab): Remove.
509         (end_expandable_symtab): Remove.
510         (end_symtab_get_static_block): Remove.
511         (end_symtab_from_static_block): Remove.
512
513 2018-07-20  Tom Tromey  <tom@tromey.com>
514
515         * dwarf2read.c: Include buildsym.h.
516         (struct dwarf2_cu) <builder>: New method.
517         (fixup_go_packaging): Update.
518         (process_full_comp_unit, process_full_type_unit): Update.  Don't
519         use scoped_free_pendings.
520         (using_directives): Add "cu" parameter, remove "language".
521         (read_import_statement, setup_type_unit_groups, )
522         (read_func_scope, read_lexical_block_scope)
523         (dwarf2_record_block_ranges, read_namespace): Update.
524         (lnp_state_machine::lnp_state_machine): Add cu parameter.
525         (lnp_state_machine::handle_end_sequence): Update.
526         (class lnp_state_machine) <m_cu>: New member.
527         <m_record_line_callback>: Remove.
528         <m_currently_recording_lines>: New member.
529         (lnp_state_machine::handle_set_file): Update.
530         (noop_record_line): Remove.
531         (dwarf_record_line_p): Add cu parameter.
532         (dwarf_record_line_1, dwarf_finish_line): Likewise.
533         (lnp_state_machine::record_line)
534         (lnp_state_machine::lnp_state_machine)
535         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
536         (dwarf_decode_lines): Update.
537         (dwarf2_start_subfile): Add cu parameter.
538         (dwarf2_start_symtab, new_symbol): Update.
539         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
540         Remove dwarf2_per_objfile parameter.
541         (dwarf_decode_macros): Update.
542
543 2018-07-20  Tom Tromey  <tom@tromey.com>
544
545         * stabsread.c (define_symbol): Update.
546         * buildsym-legacy.h (get_buildsym_compunit): Declare.
547         * dwarf2read.c (new_symbol): Update.
548         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
549         * cp-namespace.c: Include buildsym.h.
550         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
551         * buildsym-legacy.c (get_buildsym_compunit): New function.
552
553 2018-07-20  Tom Tromey  <tom@tromey.com>
554
555         * xcoffread.c: Include buildsym-legacy.h.
556         * windows-nat.c: Include buildsym-legacy.h.
557         * stabsread.c: Include buildsym-legacy.h.
558         * mdebugread.c: Include buildsym-legacy.h.
559         * buildsym-legacy.h: New file.
560         * buildsym-legacy.c: New file, from buildsym.c.
561         * go32-nat.c: Include buildsym-legacy.h.
562         * dwarf2read.c: Include buildsym-legacy.h.
563         * dbxread.c: Include buildsym-legacy.h.
564         * cp-namespace.c: Include buildsym-legacy.h.
565         * coffread.c: Include buildsym-legacy.h.
566         * buildsym.h: Move some contents to buildsym-legacy.h.
567         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
568         buildsym-legacy.c.
569         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
570
571 2018-07-20  Tom Tromey  <tom@tromey.com>
572
573         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
574         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
575         (buildsym_compunit::buildsym_compunit)
576         (buildsym_compunit::~buildsym_compunit)
577         (buildsym_compunit::get_macro_table): Define.
578
579 2018-07-20  Tom Tromey  <tom@tromey.com>
580
581         * buildsym.c (reset_symtab_globals): Remove.
582         (buildsym_compunit::end_symtab_from_static_block): Update.
583         (buildsym_compunit::augment_type_symtab): Update.
584         (end_symtab_from_static_block): Call free_buildsym_compunit.
585         (augment_type_symtab, end_symtab, end_expandable_symtab):
586         Likewise.
587
588 2018-07-20  Tom Tromey  <tom@tromey.com>
589
590         * arch-utils.c: Do not include buildsym.h.
591         * mipsread.c: Do not include buildsym.h.
592         * machoread.c: Do not include buildsym.h.
593         * elfread.c: Do not include buildsym.h.
594
595 2018-07-20  Tom Tromey  <tom@tromey.com>
596
597         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
598         initialization.
599         (buildsym_compunit): Add new constructor.
600         (struct buildsym_compunit) <get_last_source_file, finish_block,
601         record_block_range, start_subfile, patch_subfile_names,
602         push_subfile, pop_subfile, record_line, get_compunit_symtab,
603         set_last_source_start_addr, get_last_source_start_addr,
604         get_local_using_directives, set_local_using_directives,
605         get_global_using_directives, outermost_context_p,
606         get_current_context_stack, get_context_stack_depth,
607         get_current_subfile, get_local_symbols, get_file_symbols,
608         get_global_symbols, record_debugformat, record_producer,
609         push_context, pop_context, end_symtab_get_static_block,
610         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
611         New public methods.
612         <record_pending_block, finish_block_internal, make_blockvector,
613         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
614         private methods.
615         Update all users.
616
617 2018-05-22  Tom Tromey  <tom@tromey.com>
618
619         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
620         parameter.
621         (finish_block_internal): Update.
622
623 2018-07-20  Tom Tromey  <tom@tromey.com>
624
625         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
626         parameter.
627         (finish_block_internal): Update.
628
629 2018-07-20  Tom Tromey  <tom@tromey.com>
630
631         * buildsym.h (EXTERN): Don't define or undef.
632         * buildsym.c (EXTERN): Don't define.
633
634 2018-07-20  Tom Tromey  <tom@tromey.com>
635
636         * buildsym.c: Remove TODO comment.
637
638 2018-07-20  Tom Tromey  <tom@tromey.com>
639
640         * coffread.c (coff_symtab_read): Update.
641         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
642         (xcoff_new_init): Update.
643         * mipsread.c (mipscoff_new_init): Update.
644         * mdebugread.c (mdebug_build_psymtabs): Update.
645         * elfread.c (elf_new_init): Update.
646         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
647         Update.
648         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
649         (coffstab_build_psymtabs, elfstab_build_psymtabs)
650         (stabsect_build_psymtabs): Update.
651         * buildsym.h (buildsym_init): Don't declare.
652         * buildsym.c: Update comment.
653         (prepare_for_building): Remove.
654         (start_symtab, restart_symtab): Update.
655         (reset_symtab_globals): Update comment.
656         (buildsym_init): Remove.
657
658 2018-07-20  Tom Tromey  <tom@tromey.com>
659
660         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
661         * stabsread.c (patch_block_stabs, define_symbol, read_type)
662         (read_enum_type, common_block_start, common_block_end)
663         (cleanup_undefined_types_1, finish_global_stabs): Update.
664         * mdebugread.c (psymtab_to_symtab_1): Update.
665         * dwarf2read.c (fixup_go_packaging, read_func_scope)
666         (read_lexical_block_scope, new_symbol): Update.
667         * dbxread.c (process_one_symbol): Update.
668         * coffread.c (coff_symtab_read, process_coff_symbol)
669         (coff_read_enum_type): Update.
670         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
671         declare.
672         (get_local_symbols, get_file_symbols, get_global_symbols): New
673         functions.
674         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
675         m_global_symbols.
676         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
677         (~scoped_free_pendings): Update.
678         (finish_block, prepare_for_building, reset_symtab_globals)
679         (end_symtab_get_static_block, end_symtab_with_blockvector)
680         (augment_type_symtab, push_context): Update.
681         (get_local_symbols, get_file_symbols, get_global_symbols): New
682         functions.
683         (buildsym_init): Update.
684
685 2018-07-20  Tom Tromey  <tom@tromey.com>
686
687         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
688         (process_full_type_unit): Likewise.
689         (dwarf2_start_symtab): Set list_in_scope.
690
691 2018-07-20  Tom Tromey  <tom@tromey.com>
692
693         * dwarf2read.c (process_psymtab_comp_unit_reader)
694         (build_type_psymtabs_reader): Do not set list_in_scope.
695
696 2018-07-20  Tom Tromey  <tom@tromey.com>
697
698         * buildsym.c (free_pendings): Remove.
699         (add_symbol_to_list, scoped_free_pendings)
700         (finish_block_internal, buildsym_init): Update.
701
702 2018-07-20  Tom Tromey  <tom@tromey.com>
703
704         * xcoffread.c (read_xcoff_symtab): Update.
705         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
706         Update.
707         * dbxread.c (process_one_symbol): Update.
708         * coffread.c (coff_symtab_read): Update.
709         * buildsym.h (finish_block): Update.
710         * buildsym.c (finish_block): Remove "listhead" argument.
711         (end_symtab_get_static_block): Update.
712
713 2018-07-20  Tom Tromey  <tom@tromey.com>
714
715         * buildsym.h (class scoped_free_pendings): Remove constructor.
716         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
717         method.
718         <m_pending_block_obstack, m_pending_blocks>: New members.
719         (pending_block_obstack, pending_blocks): Remove.
720         (scoped_free_pendings::scoped_free_pendings): Default.
721         (~scoped_free_pendings): Update.
722         (free_pending_blocks): Remove.
723         (finish_block_internal, record_pending_block, make_blockvector)
724         (end_symtab_get_static_block, augment_type_symtab, push_context)
725         (buildsym_init): Update.
726
727 2018-07-20  Tom Tromey  <tom@tromey.com>
728
729         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
730         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
731         members.
732         (pending_addrmap, pending_addrmap_obstack)
733         (pending_addrmap_interesting): Remove.
734         (scoped_free_pendings, record_block_range, make_blockvector)
735         (prepare_for_building, reset_symtab_globals, buildsym_init):
736         Update.
737
738 2018-07-20  Tom Tromey  <tom@tromey.com>
739
740         * xcoffread.c (process_linenos): Update.
741         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
742         * mdebugread.c (psymtab_to_symtab_1): Update.
743         * dwarf2read.c (setup_type_unit_groups)
744         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
745         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
746         * dbxread.c (process_one_symbol): Update.
747         * coffread.c (coff_symtab_read, enter_linenos)
748         (process_coff_symbol): Update.
749         * buildsym.h (current_subfile): Don't declare.
750         (get_current_subfile): Declare.
751         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
752         member.
753         (start_subfile, free_buildsym_compunit, push_subfile)
754         (prepare_for_building, start_symtab): Update.
755         (get_current_subfile): New function.
756
757 2018-07-20  Tom Tromey  <tom@tromey.com>
758
759         * coffread.c (coff_symtab_read): Update.
760         * xcoffread.c (read_xcoff_symtab): Update.
761         * dwarf2read.c (new_symbol): Update.
762         (read_func_scope, read_lexical_block_scope): Update.
763         * dbxread.c (process_one_symbol): Update.
764         * buildsym.h (context_stack, context_stack_depth): Don't declare.
765         (outermost_context_p): Remove macro.
766         (outermost_context_p, get_current_context_stack)
767         (get_context_stack_depth): Declare.
768         (pop_context): Return struct context_stack.
769         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
770         member.
771         (context_stack_size): Remove.
772         (INITIAL_CONTEXT_STACK_SIZE): Remove.
773         (prepare_for_building, end_symtab_get_static_block)
774         (augment_type_symtab, push_context): Update.
775         (pop_context): Return struct context_stack.
776         (outermost_context_p, get_current_context_stack)
777         (get_context_stack_depth): New functions.
778         (buildsym_init): Update.
779
780 2018-07-20  Tom Tromey  <tom@tromey.com>
781
782         * rust-exp.y: Now a pure parser.  Update all rules.
783         (%union): Move earlier.
784         (current_parser, work_obstack): Remove globals.
785         (rust_parser, ~rust_parser): Update.
786         (class rust_parser) <copy_name, concat3, crate_name, super_name,
787         lex_character, lex_number, lex_string, lex_identifier,
788         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
789         convert_name, convert_params_to_expression,
790         convert_ast_to_expression, ast_basic_type, ast_operation,
791         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
792         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
793         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
794         ast_array_type, ast_slice_type, ast_reference_type,
795         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
796         (rust_parse): Update.
797         (rustyyerror, rustyylex): Add parser parameter.
798         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
799         (rust_lex_stringish_test, rust_lex_test_sequence)
800         (rust_lex_test_trailing_dot, rust_lex_test_completion)
801         (rust_lex_test_push_back, rust_lex_tests): Update.
802
803 2018-07-19  Pedro Alves  <palves@redhat.com>
804
805         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
806         gdb::unique_xmalloc_ptr.
807         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
808         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
809         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
810         copy-initialization.
811         * guile/scm-pretty-print.c (ppscm_print_children): Use
812         gdb::unique_xmalloc_ptr instead of cleanups.
813         (gdbscm_apply_val_pretty_printer): Remove cleanups.
814         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
815         gdb::unique_xmalloc_ptr.
816         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
817         Adjust to use gdb::unique_xmalloc_ptr.
818         * guile/scm-utils.c (extract_arg): Adjust.
819         * guile/scm-value.c (gdbscm_value_field): Adjust to use
820         gdb::unique_xmalloc_ptr instead of a cleanup.
821
822 2018-07-19  Tom Tromey  <tom@tromey.com>
823
824         * utils.c (do_value_free_to_mark)
825         (make_cleanup_value_free_to_mark): Remove.
826         * utils.h (make_cleanup_value_free_to_mark): Remove.
827
828 2018-07-19  Pedro Alves  <palves@redhat.com>
829
830         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
831         forwarding reference.
832
833 2018-07-18  Pedro Alves  <palves@redhat.com>
834
835         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
836         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
837         cleanup.
838
839 2018-07-18  Pedro Alves  <palves@redhat.com>
840
841         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
842         exceptions.
843         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
844         (gdbscm_wrap): New.
845         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
846         directly instead of a cleanup.
847         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
848         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
849         (vlscm_binop_gdbthrow): New, factored out from ...
850         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
851         (vlscm_rich_compare): Use gdbscm_wrap.
852         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
853         instead of a cleanup.
854         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
855         cleanup.
856         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
857         Use xfree directly instead of a cleanup.
858         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
859         Adjust to use gdbscm_wrap and scoped_value_mark.
860         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
861         (gdbscm_value_address, gdbscm_value_dereference)
862         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
863         scoped_value_mark.
864         (gdbscm_value_dynamic_type): Use scoped_value_mark.
865         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
866         scoped_value_mark.
867         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
868         gdbscm_wrap and scoped_value_mark.
869         (gdbscm_value_to_string): Use xfree directly instead of a
870         cleanup.  Move 'buffer' unique_ptr to TRY scope.
871         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
872         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
873         scoped_value_mark.
874         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
875         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
876         scoped_value_mark.
877         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
878         gdbscm_wrap.
879
880 2018-07-18  Tom de Vries  <tdevries@suse.de>
881
882         * findvar.c (default_read_var_value): Also resolve dynamic type for
883         LOC_OPTIMIZED_OUT vars.
884
885 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
886
887         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
888         decoding.
889
890 2018-07-17  Tom Tromey  <tom@tromey.com>
891
892         * guile/scm-param.c (pascm_set_func, pascm_show_func)
893         (compute_enum_list, pascm_set_param_value_x)
894         (gdbscm_parameter_value): Update.
895         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
896         (gdbscm_scm_to_host_string): Update.
897         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
898         Update.
899         * guile/scm-cmd.c (cmdscm_add_completion): Update.
900         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
901         * guile/scm-string.c (gdbscm_scm_to_string): Return
902         unique_xmalloc_ptr.
903         (gdbscm_scm_to_host_string): Likewise.
904
905 2018-07-17  Tom Tromey  <tom@tromey.com>
906
907         * guile/guile.c (gdbscm_eval_from_control_command): Update.
908         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
909         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
910         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
911         unique_xmalloc_ptr.
912
913 2018-07-17  Tom Tromey  <tom@tromey.com>
914
915         * guile/scm-param.c (pascm_signal_setshow_error): Update.
916         * guile/guile-internal.h (gdbscm_exception_message_to_string):
917         Update.
918         * guile/scm-cmd.c (cmdscm_function): Update.
919         * guile/scm-pretty-print.c
920         (ppscm_print_exception_unless_memory_error): Update.
921         * guile/scm-exception.c (gdbscm_exception_message_to_string):
922         Return unique_xmalloc_ptr.
923
924 2018-07-17  Tom Tromey  <tom@tromey.com>
925
926         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
927         Use string_printf.
928
929 2018-07-17  Jim Wilson  <jimw@sifive.com>
930
931         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
932         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
933         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
934         unecessary braces after EF_RISCV_RVC test.  Delete call to
935         set_gdbarch_decr_pc_after_break.
936
937         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
938         RISCV_LAST_FP_REGNUM + 1.
939         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
940
941 2018-07-17  Tom Tromey  <tom@tromey.com>
942
943         * configure.ac: Remove --disable-gdbcli.
944         * configure: Rebuild.
945         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
946         (SUBDIR_CLI_CFLAGS): Remove.
947         (SFILES): Use SUBDIR_CLI_SRCS.
948         (COMMON_OBS): Use SUBDIR_CLI_OBS.
949
950 2018-07-17  Tom Tromey  <tom@tromey.com>
951
952         PR gdb/18624:
953         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
954
955 2018-07-16  Jim Wilson  <jimw@sifive.com>
956
957         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
958
959 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
960
961         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
962         variable.
963         (libunwind_frame_sniffer): Likewise.
964         (libunwind_frame_prev_register): Likewise.
965         (libunwind_sigtramp_frame_sniffer): Likewise.
966         * ia64-tdep.c (ia64_access_reg): Likewise.
967         (ia64_access_rse_reg): Likewise.
968         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
969         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
970
971 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
972
973         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
974
975 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
976
977         * remote-sim.c (gdbsim_target::close,
978         gdbsim_target::mourn_inferior): Remove unused variables.
979
980 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
981
982         * ia64-tdep.c (ktab_buf): New global.
983         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
984         (get_kernel_table): Adjust.
985
986 2018-07-16  Tom Tromey  <tom@tromey.com>
987
988         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
989         * dwarf2read.c (using_directives, new_symbol): Use
990         outermost_context_p.
991         * dbxread.c (process_one_symbol): Use outermost_context_p.
992         * coffread.c (coff_symtab_read): Use outermost_context_p.
993
994 2018-07-16  Tom Tromey  <tom@tromey.com>
995
996         * dwarf2read.c (using_directives, read_func_scope)
997         (read_lexical_block_scope): Update.
998         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
999         * buildsym.h (local_using_directives, global_using_directives):
1000         Don't declare.
1001         (get_local_using_directives, set_local_using_directives)
1002         (get_global_using_directives): Declare.
1003         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
1004         m_global_using_directives>: New members.
1005         (finish_block_internal, prepare_for_building)
1006         (reset_symtab_globals, end_symtab_get_static_block)
1007         (push_context): Update.
1008         (get_local_using_directives, set_local_using_directives)
1009         (get_global_using_directives): New functions.
1010         (buildsym_init): Update.
1011
1012 2018-07-16  Tom Tromey  <tom@tromey.com>
1013
1014         * xcoffread.c (xcoff_initial_scan): Don't call
1015         free_pending_blocks.
1016         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
1017         * buildsym.h (class scoped_free_pendings): Add constructor.
1018         (free_pending_blocks): Don't declare.
1019         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
1020         (free_pending_blocks): Now static.
1021
1022 2018-07-16  Tom Tromey  <tom@tromey.com>
1023
1024         * buildsym.h (push_subfile, pop_subfile): Update declarations.
1025         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
1026         member.
1027         (struct subfile_stack): Remove.
1028         (subfile_stack): Remove.
1029         (push_subfile, pop_subfile, buildsym_init): Update.
1030
1031 2018-07-16  Tom Tromey  <tom@tromey.com>
1032
1033         * buildsym.c (push_subfile): Use gdb_assert.
1034         (pop_subfile): Use gdb_assert.
1035
1036 2018-07-16  Tom Tromey  <tom@tromey.com>
1037
1038         * buildsym.h (merge_symbol_lists): Remove.
1039         * buildsym.c (merge_symbol_lists): Remove.
1040
1041 2018-07-16  Tom Tromey  <tom@tromey.com>
1042
1043         * stabsread.c (scan_file_globals): Update comment.
1044         * stabsread.h (scan_file_globals): Move from buildsym.h.
1045         * buildsym.h (scan_file_globals): Move to stabsread.h.
1046
1047 2018-07-16  Tom Tromey  <tom@tromey.com>
1048
1049         * xcoffread.c (xcoff_new_init): Update.
1050         * mipsread.c (mipscoff_new_init): Update.
1051         * mdebugread.c (mdebug_build_psymtabs): Update.
1052         * elfread.c (elf_new_init): Update.
1053         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1054         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1055         * buildsym.h (buildsym_new_init): Don't declare.
1056         * buildsym.c (buildsym_new_init): Remove.
1057
1058 2018-07-16  Tom Tromey  <tom@tromey.com>
1059
1060         * stabsread.h (within_function): Move from buildsym.h.
1061         * stabsread.c (start_stabs): Clear within_function.
1062         * coffread.c (coff_start_symtab): Clear within_function.
1063         * buildsym.h (within_function): Move to stabsread.h.
1064         * buildsym.c (prepare_for_building): Update.
1065
1066 2018-07-16  Tom Tromey  <tom@tromey.com>
1067
1068         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1069         * dwarf2read.c (dwarf2_start_symtab): Don't set
1070         processing_gcc_compilation.
1071         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1072
1073 2018-07-16  Tom Tromey  <tom@tromey.com>
1074
1075         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1076         (next_symbol_text_func): Move from buildsym.h.
1077         * stabsread.c (hashname): Move from buildsym.c.
1078         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1079         (next_symbol_text_func, hashname): Move to stabsread.h.
1080         * buildsym.c: Don't include bcache.h
1081         (hashname): Move to stasbread.c.
1082
1083 2018-07-16  Tom Tromey  <tom@tromey.com>
1084
1085         * buildsym.h (context_stack_size): Don't declare.
1086         * buildsym.c (context_stack_size): New global.
1087
1088 2018-07-16  Tom Tromey  <tom@tromey.com>
1089
1090         * dbxread.c (processing_acc_compilation): New global.
1091         * buildsym.h (processing_acc_compilation): Don't declare.
1092
1093 2018-07-16  Tom Tromey  <tom@tromey.com>
1094
1095         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1096         * dbxread.c (read_ofile_symtab): Update.
1097         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1098         * buildsym.h (last_source_start_addr): Remove.
1099         (set_last_source_start_addr, get_last_source_start_addr):
1100         Declare.
1101         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1102         parameter.
1103         (struct buildsym_compunit) <m_last_source_start_addr>: New
1104         member.
1105         (prepare_for_building): Remove start_addr parameter.
1106         (start_symtab, restart_symtab, end_symtab_get_static_block)
1107         (end_symtab_with_blockvector): Update.
1108         (set_last_source_start_addr, get_last_source_start_addr): New
1109         functions.
1110
1111 2018-07-16  Tom Tromey  <tom@tromey.com>
1112
1113         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1114         member.
1115         (have_line_numbers): Remove.
1116         (record_line, prepare_for_building, end_symtab_get_static_block)
1117         (augment_type_symtab): Update.
1118
1119 2018-07-16  Tom Tromey  <tom@tromey.com>
1120
1121         * buildsym.c (~buildsym_compunit): Free the macro table.
1122         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1123         methods.
1124         <m_pending_macros>: New member.
1125         (pending_macros): Remove.
1126         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1127         (reset_symtab_globals, end_symtab_get_static_block)
1128         (end_symtab_with_blockvector, augment_type_symtab)
1129         (buildsym_init): Update.
1130
1131 2018-07-16  Tom Tromey  <tom@tromey.com>
1132
1133         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1134         parameter.
1135         (buildsym_compunit::set_last_source_file): New method.
1136         <m_last_source_file>: New member.
1137         (prepare_for_building): Remove "name" parameter.
1138         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1139         (last_source_file): Remove.
1140         (set_last_source_file, get_last_source_file): Update.
1141
1142 2018-07-16  Tom Tromey  <tom@tromey.com>
1143
1144         * buildsym.c (prepare_for_building): Add assert.
1145
1146 2018-07-16  Tom Tromey  <tom@tromey.com>
1147
1148         * buildsym.c (~buildsym_compunit): Update.
1149         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1150         (start_subfile, patch_subfile_names)
1151         (end_symtab_with_blockvector): Update.
1152
1153 2018-07-16  Tom Tromey  <tom@tromey.com>
1154
1155         * buildsym.c (struct buildsym_compunit): Add constructor,
1156         destructor, initializers.
1157         (start_buildsym_compunit): Remove.
1158         (free_buildsym_compunit): Use "delete".
1159         (start_symtab, restart_symtab): Use "new".
1160
1161 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1162
1163         * symfile.c (set_objfile_default_section_offset): Remove struct
1164         keyword.
1165
1166 2018-07-14  Stafford Horne  <shorne@gmail.com>
1167
1168         * (Responsible Maintainers): Add myself as or1k maintainer.
1169
1170 2018-07-13  Tom Tromey  <tom@tromey.com>
1171
1172         * symfile.c (set_objfile_default_section_offset): Use extra braces
1173         around initializer.
1174
1175 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1176
1177         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1178         non-branching basr.
1179
1180 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1181
1182         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1183         unittests/cli-utils-selftests.c
1184         * unittests/cli-utils-selftests.c: New file.
1185
1186 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1187
1188         * NEWS: Mention new commands. Mention change to 'thread apply'.
1189
1190 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1191
1192         * thread.c (thr_try_catch_cmd): New function.
1193         (thread_apply_all_command): Handle qcs flags.
1194         (thread_apply_command): Handle qcs flags.
1195         (taas_command): New function.
1196         (tfaas_command): New function.
1197         (_initialize_thread): Update to setup the new commands 'taas
1198         and 'tfaas'. Change doc string for 'thread apply'.
1199
1200 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1201
1202         * stack.c: (trailing_outermost_frame): New function, mostly
1203         extracted from backtrace_command_1.
1204         (leading_innermost_frame): New function.
1205         (backtrace_command_1): Update to call trailing_outermost_frame.
1206         (frame_apply_command_count): New function.
1207         (frame_apply_level_command): New function.
1208         (frame_apply_all_command): New function.
1209         (frame_apply_command): New function.
1210         (faas_command): New function.
1211         (frame_cmd_list): New variable.
1212         (_initialize_stack): Update to setup the new commands 'frame apply'
1213         and 'faas'.
1214
1215 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1216
1217         * cli-utils.c (number_or_range_parser::get_number): Only handle
1218         numbers or convenience var as numbers.
1219         (parse_flags): New function.
1220         (parse_flags_qcs): New function.
1221         (number_or_range_parser::finished): Ensure parsing end is detected
1222         before end of string.
1223         * cli-utils.h (parse_flags): New function.
1224         (parse_flags_qcs): New function.
1225         (number_or_range_parser): Remove m_finished bool.
1226         (number_or_range_parser::skip_range): Set m_in_range to false.
1227
1228 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1229
1230         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1231         on Windows.
1232
1233 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1234             Jan Kratochvil  <jan.kratochvil@redhat.com>
1235             Paul Fertser  <fercerpav@gmail.com>
1236             Tsutomu Seki  <sekiriki@gmail.com>
1237             Pedro Alves  <palves@redhat.com>
1238
1239         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1240         'unittests/parse-connection-spec-selftests.c'.
1241         (COMMON_SFILES): Add 'common/netstuff.c'.
1242         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1243         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1244         * common/netstuff.c: New file.
1245         * common/netstuff.h: New file.
1246         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1247         (wait_for_connect): Update comment.  New parameter
1248         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1249         Use 'sock' directly instead of 'scb->fd'.
1250         (try_connect): New function, with code from 'net_open'.
1251         (net_open): Rewrite main loop to deal with multiple
1252         sockets/addresses.  Handle IPv6-style hostnames; implement
1253         support for IPv6 connections.
1254         * unittests/parse-connection-spec-selftests.c: New file.
1255
1256 2018-07-11  Pedro Alves  <palves@redhat.com>
1257
1258         PR gdb/23377
1259         * remote.c (remote_target::remote_detach_pid): Call
1260         set_current_process.
1261
1262 2018-07-11  Pedro Alves  <palves@redhat.com>
1263
1264         * h8300-tdep.c (h8300_gdbarch_init): Remove
1265         set_gdbarch_ecoff_reg_to_regnum calls.
1266
1267 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1268
1269         PR c++/23373
1270         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1271         offsets/sizes for static members of a class/struct.
1272
1273 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1274
1275         * target-descriptions.c (tdesc_register_bitsize): Rename.
1276         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1277         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1278         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1279
1280 2018-07-10  Tom Tromey  <tom@tromey.com>
1281
1282         * breakpoint.c (moribund_locations): Now static and a
1283         std::vector.
1284         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1285         (build_bpstat_chain, update_global_location_list)
1286         (breakpoint_retire_moribund): Update.
1287         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1288         VEC.
1289
1290 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1291
1292         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1293         (riscv_register_reggroup_p): Use new function, remove unneeded
1294         parenthesis.
1295         (riscv_push_dummy_call): Extend assert to compare against xlen or
1296         flen based on register type.
1297
1298 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1299
1300         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1301
1302 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1303
1304         * remote.c (show_hardware_watchpoint_limit): New function.
1305         (show_hardware_watchpoint_length_limit): New function.
1306         (show_hardware_breakpoint_limit): New function.
1307         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1308         where appropriate, update help text.
1309
1310 2018-07-09  Tom Tromey  <tom@tromey.com>
1311
1312         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1313         (CLIBS): Don't mention NAT_CLIBS.
1314
1315 2018-07-09  Tom Tromey  <tom@tromey.com>
1316
1317         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1318         (LIBGDB_OBS, clean mostlyclean): Update.
1319         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1320
1321 2018-07-09  Tom Tromey  <tom@tromey.com>
1322
1323         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1324         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1325         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1326
1327 2018-07-09  Tom Tromey  <tom@tromey.com>
1328
1329         * Makefile.in (ALLDEPFILES): Remove exec.c.
1330         (COMMON_OBS): Remove exec.o.
1331         (COMMON_SFILES): Add exec.c.
1332
1333 2018-07-09  Tom Tromey  <tom@tromey.com>
1334
1335         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1336
1337 2018-07-09  Tom Tromey  <tom@tromey.com>
1338
1339         * Makefile.in (clean mostlyclean): Remove stamp-version.
1340         (version.c): Depend on stamp-version.
1341         (stamp-version): New rule, from version.c rule.
1342
1343 2018-07-09  Tom Tromey  <tom@tromey.com>
1344
1345         * Makefile.in (init.c): Depend on stamp-init.
1346         (stamp-init): New rule, from init.c rule.
1347         (clean mostlyclean): Remove stamp-init.
1348
1349 2018-07-09  Tom Tromey  <tom@tromey.com>
1350
1351         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1352         SUBDIR_GCC_COMPILE_SRCS.
1353
1354 2018-07-09  Tom Tromey  <tom@tromey.com>
1355
1356         * Makefile.in (init.c): Remove some unused sed rules.
1357
1358 2018-07-09  Tom Tromey  <tom@tromey.com>
1359
1360         * Makefile.in (TSOBS): Remove.
1361         (INIT_FILES): Update.
1362         (LIBGDB_OBS): Update.
1363         (COMMON_SFILES): Add inflow.c.
1364         (SFILES): Remove inflow.c.
1365
1366 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1367
1368         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1369
1370 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1371
1372         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1373         get_saveloc_name, is_signal_frame_name, step_name,
1374         init_remote_name, create_addr_space_name,
1375         destroy_addr_space_name, search_unwind_table_name,
1376         find_dyn_list_name): Constify.
1377
1378 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1379
1380         * darwin-nat.c (darwin_pthread_kill): New function.
1381         (darwin_resume_thread): Use darwin_pthread_kill.
1382
1383 2018-07-05  Tom de Vries  <tdevries@suse.de>
1384
1385         * macroexp.c (macro_buffer) <operator=>: New member function.
1386
1387 2018-07-04  Tom Tromey  <tom@tromey.com>
1388
1389         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1390
1391 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1392
1393         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1394         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1395         * maint.c: Likewise.
1396         * top.c: Likewise.
1397
1398 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1399
1400         * NEWS: Create a new section for the next release branch.
1401         Rename the section of the current branch, now that it has
1402         been cut.
1403
1404 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1405
1406         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1407         * version.in: Bump version to 8.2.50.DATE-git.
1408
1409 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1410             Pedro Alves  <palves@redhat.com>
1411
1412         * linux-nat.c (linux_init_ptrace): Rename to ...
1413         (linux_init_ptrace_procfs): ... this.  Call
1414         linux_proc_init_warnings.
1415         (linux_nat_target::post_attach)
1416         (linux_nat_target::post_startup_inferior): Adjust.
1417         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1418         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1419
1420 2018-07-04  Tom de Vries  <tdevries@suse.de>
1421
1422         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
1423         check ...
1424         (read_comp_unit_head): ... here.
1425
1426 2018-07-03  Tom Tromey  <tom@tromey.com>
1427
1428         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
1429         (stop_tracing, tstatus_command)
1430         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
1431         (print_one_static_tracepoint_marker): Update.
1432         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
1433         std::vector.
1434         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
1435         VEC.
1436         (all_tracepoints, static_tracepoints_here): Return std::vector.
1437
1438 2018-07-03  Tom Tromey  <tom@tromey.com>
1439
1440         * common/ptid.c (ptid_equal): Remove.
1441         * common/ptid.h (ptid_equal): Don't declare.
1442         * ada-tasks.c: Update.
1443         * breakpoint.c: Update.
1444         * common/agent.c: Update.
1445         * corelow.c: Update.
1446         * darwin-nat-info.c: Update.
1447         * darwin-nat.c: Update.
1448         * dcache.c: Update.
1449         * dtrace-probe.c: Update.
1450         * dummy-frame.c: Update.
1451         * fbsd-nat.c: Update.
1452         * frame.c: Update.
1453         * gdbthread.h: Update.
1454         * gnu-nat.c: Update.
1455         * go32-nat.c: Update.
1456         * inf-loop.c: Update.
1457         * inf-ptrace.c: Update.
1458         * infcall.c: Update.
1459         * infcmd.c: Update.
1460         * inflow.c: Update.
1461         * infrun.c: Update.
1462         * linux-fork.c: Update.
1463         * linux-nat.c: Update.
1464         * linux-thread-db.c: Update.
1465         * mi/mi-cmd-var.c: Update.
1466         * mi/mi-interp.c: Update.
1467         * mi/mi-main.c: Update.
1468         * nto-procfs.c: Update.
1469         * ppc-linux-tdep.c: Update.
1470         * procfs.c: Update.
1471         * python/py-inferior.c: Update.
1472         * python/py-record-btrace.c: Update.
1473         * python/py-record.c: Update.
1474         * ravenscar-thread.c: Update.
1475         * regcache.c: Update.
1476         * remote-sim.c: Update.
1477         * remote.c: Update.
1478         * sol-thread.c: Update.
1479         * solib.c: Update.
1480         * target.c: Update.
1481         * tui/tui-stack.c: Update.
1482         * varobj.c: Update.
1483         * windows-nat.c: Update.
1484         * windows-tdep.c: Update.
1485
1486 2018-07-03  Tom Tromey  <tom@tromey.com>
1487
1488         * common/ptid.c (ptid_match): Remove.
1489         * common/ptid.h (ptid_match): Don't declare.
1490         * fbsd-nat.c: Update.
1491         * infcmd.c: Update.
1492         * infrun.c: Update.
1493         * linux-nat.c: Update.
1494         * record-btrace.c: Update.
1495         * regcache.c: Update.
1496         * remote.c: Update.
1497
1498 2018-07-03  Tom Tromey  <tom@tromey.com>
1499
1500         * common/ptid.c (ptid_tid_p): Remove.
1501         * common/ptid.h (ptid_tid_p): Don't declare.
1502         * sol-thread.c: Update.
1503
1504 2018-07-03  Tom Tromey  <tom@tromey.com>
1505
1506         * common/ptid.c (ptid_lwp_p): Remove.
1507         * common/ptid.h (ptid_lwp_p): Don't declare.
1508         * fbsd-nat.c: Update.
1509         * linux-nat.c: Update.
1510         * nat/linux-procfs.c: Update.
1511         * nat/x86-linux-dregs.c: Update.
1512         * sol-thread.c: Update.
1513
1514 2018-07-03  Tom Tromey  <tom@tromey.com>
1515
1516         * common/ptid.c (ptid_is_pid): Remove.
1517         * common/ptid.h (ptid_is_pid): Don't declare.
1518         * infrun.c: Update.
1519         * linux-nat.c: Update.
1520         * mi/mi-interp.c: Update.
1521         * remote.c: Update.
1522         * thread.c: Update.
1523
1524 2018-07-03  Tom Tromey  <tom@tromey.com>
1525
1526         * common/ptid.c (ptid_get_tid): Remove.
1527         * common/ptid.h (ptid_get_tid): Don't declare.
1528         * ada-tasks.c: Update.
1529         * aix-thread.c: Update.
1530         * bsd-uthread.c: Update.
1531         * darwin-nat.c: Update.
1532         * fbsd-nat.c: Update.
1533         * i386-darwin-nat.c: Update.
1534         * infrun.c: Update.
1535         * linux-tdep.c: Update.
1536         * nto-procfs.c: Update.
1537         * ppc-ravenscar-thread.c: Update.
1538         * python/py-infthread.c: Update.
1539         * ravenscar-thread.c: Update.
1540         * sol-thread.c: Update.
1541         * sparc-ravenscar-thread.c: Update.
1542         * windows-nat.c: Update.
1543
1544 2018-07-03  Tom Tromey  <tom@tromey.com>
1545
1546         * common/ptid.c (ptid_get_lwp): Remove.
1547         * common/ptid.h (ptid_get_lwp): Don't declare.
1548         * aarch64-linux-nat.c: Update.
1549         * ada-tasks.c: Update.
1550         * aix-thread.c: Update.
1551         * amd64-linux-nat.c: Update.
1552         * arm-linux-nat.c: Update.
1553         * corelow.c: Update.
1554         * fbsd-nat.c: Update.
1555         * fbsd-tdep.c: Update.
1556         * gnu-nat.c: Update.
1557         * i386-cygwin-tdep.c: Update.
1558         * i386-gnu-nat.c: Update.
1559         * i386-linux-nat.c: Update.
1560         * ia64-linux-nat.c: Update.
1561         * inf-ptrace.c: Update.
1562         * infrun.c: Update.
1563         * linux-fork.c: Update.
1564         * linux-nat.c: Update.
1565         * linux-tdep.c: Update.
1566         * linux-thread-db.c: Update.
1567         * mips-linux-nat.c: Update.
1568         * nat/aarch64-linux-hw-point.c: Update.
1569         * nat/aarch64-linux.c: Update.
1570         * nat/linux-btrace.c: Update.
1571         * nat/linux-osdata.c: Update.
1572         * nat/linux-procfs.c: Update.
1573         * nat/x86-linux-dregs.c: Update.
1574         * obsd-nat.c: Update.
1575         * ppc-fbsd-nat.c: Update.
1576         * ppc-linux-nat.c: Update.
1577         * procfs.c: Update.
1578         * python/py-infthread.c: Update.
1579         * ravenscar-thread.c: Update.
1580         * remote.c: Update.
1581         * s390-linux-nat.c: Update.
1582         * sol-thread.c: Update.
1583         * sol2-tdep.c: Update.
1584         * spu-linux-nat.c: Update.
1585         * x86-linux-nat.c: Update.
1586         * xtensa-linux-nat.c: Update.
1587
1588 2018-07-03  Tom Tromey  <tom@tromey.com>
1589
1590         * common/ptid.c (ptid_get_pid): Remove.
1591         * common/ptid.h (ptid_get_pid): Don't declare.
1592         * aarch64-linux-nat.c: Update.
1593         * ada-lang.c: Update.
1594         * aix-thread.c: Update.
1595         * alpha-bsd-nat.c: Update.
1596         * amd64-fbsd-nat.c: Update.
1597         * amd64-linux-nat.c: Update.
1598         * arm-linux-nat.c: Update.
1599         * arm-nbsd-nat.c: Update.
1600         * auxv.c: Update.
1601         * break-catch-syscall.c: Update.
1602         * breakpoint.c: Update.
1603         * bsd-uthread.c: Update.
1604         * corelow.c: Update.
1605         * ctf.c: Update.
1606         * darwin-nat.c: Update.
1607         * fbsd-nat.c: Update.
1608         * fbsd-tdep.c: Update.
1609         * gcore.c: Update.
1610         * gnu-nat.c: Update.
1611         * hppa-nbsd-nat.c: Update.
1612         * hppa-obsd-nat.c: Update.
1613         * i386-fbsd-nat.c: Update.
1614         * ia64-linux-nat.c: Update.
1615         * inf-ptrace.c: Update.
1616         * infcmd.c: Update.
1617         * inferior.c: Update.
1618         * inferior.h: Update.
1619         * inflow.c: Update.
1620         * infrun.c: Update.
1621         * linux-fork.c: Update.
1622         * linux-nat.c: Update.
1623         * linux-tdep.c: Update.
1624         * linux-thread-db.c: Update.
1625         * m68k-bsd-nat.c: Update.
1626         * mi/mi-interp.c: Update.
1627         * mi/mi-main.c: Update.
1628         * mips-linux-nat.c: Update.
1629         * mips-nbsd-nat.c: Update.
1630         * mips64-obsd-nat.c: Update.
1631         * nat/aarch64-linux-hw-point.c: Update.
1632         * nat/aarch64-linux.c: Update.
1633         * nat/linux-btrace.c: Update.
1634         * nat/linux-osdata.c: Update.
1635         * nat/linux-procfs.c: Update.
1636         * nat/x86-linux-dregs.c: Update.
1637         * nto-procfs.c: Update.
1638         * obsd-nat.c: Update.
1639         * ppc-linux-nat.c: Update.
1640         * ppc-nbsd-nat.c: Update.
1641         * ppc-obsd-nat.c: Update.
1642         * proc-service.c: Update.
1643         * procfs.c: Update.
1644         * python/py-inferior.c: Update.
1645         * python/py-infthread.c: Update.
1646         * ravenscar-thread.c: Update.
1647         * record.c: Update.
1648         * remote-sim.c: Update.
1649         * remote.c: Update.
1650         * rs6000-nat.c: Update.
1651         * s390-linux-nat.c: Update.
1652         * sh-nbsd-nat.c: Update.
1653         * sol-thread.c: Update.
1654         * sparc-nat.c: Update.
1655         * sparc64-tdep.c: Update.
1656         * spu-linux-nat.c: Update.
1657         * spu-tdep.c: Update.
1658         * target-debug.h: Update.
1659         * target.c: Update.
1660         * thread.c: Update.
1661         * tid-parse.c: Update.
1662         * tracefile-tfile.c: Update.
1663         * vax-bsd-nat.c: Update.
1664         * windows-nat.c: Update.
1665         * x86-linux-nat.c: Update.
1666         * x86-nat.c: Update.
1667
1668 2018-07-03  Tom Tromey  <tom@tromey.com>
1669
1670         * common/ptid.c (pid_to_ptid): Remove.
1671         * common/ptid.h (pid_to_ptid): Don't declare.
1672         * aix-thread.c: Update.
1673         * arm-linux-nat.c: Update.
1674         * common/ptid.c: Update.
1675         * common/ptid.h: Update.
1676         * corelow.c: Update.
1677         * ctf.c: Update.
1678         * darwin-nat.c: Update.
1679         * fbsd-nat.c: Update.
1680         * fork-child.c: Update.
1681         * gnu-nat.c: Update.
1682         * go32-nat.c: Update.
1683         * inf-ptrace.c: Update.
1684         * infcmd.c: Update.
1685         * inferior.c: Update.
1686         * infrun.c: Update.
1687         * linux-fork.c: Update.
1688         * linux-nat.c: Update.
1689         * nat/aarch64-linux-hw-point.c: Update.
1690         * nat/fork-inferior.c: Update.
1691         * nat/x86-linux-dregs.c: Update.
1692         * nto-procfs.c: Update.
1693         * obsd-nat.c: Update.
1694         * procfs.c: Update.
1695         * progspace.c: Update.
1696         * remote.c: Update.
1697         * rs6000-nat.c: Update.
1698         * s390-linux-nat.c: Update.
1699         * sol-thread.c: Update.
1700         * spu-linux-nat.c: Update.
1701         * target.c: Update.
1702         * top.c: Update.
1703         * tracefile-tfile.c: Update.
1704         * windows-nat.c: Update.
1705
1706 2018-07-03  Tom Tromey  <tom@tromey.com>
1707
1708         * common/ptid.h (ptid_build): Don't declare.
1709         * common/ptid.c (ptid_build): Remove.
1710         * aix-thread.c: Update.
1711         * bsd-kvm.c: Update.
1712         * bsd-uthread.c: Update.
1713         * common/agent.c: Update.
1714         * common/ptid.c: Update.
1715         * common/ptid.h: Update.
1716         * corelow.c: Update.
1717         * darwin-nat.c: Update.
1718         * fbsd-nat.c: Update.
1719         * gnu-nat.c: Update.
1720         * linux-fork.c: Update.
1721         * linux-nat.c: Update.
1722         * linux-thread-db.c: Update.
1723         * nat/linux-osdata.c: Update.
1724         * nat/linux-procfs.c: Update.
1725         * nto-procfs.c: Update.
1726         * obsd-nat.c: Update.
1727         * proc-service.c: Update.
1728         * procfs.c: Update.
1729         * ravenscar-thread.c: Update.
1730         * remote-sim.c: Update.
1731         * remote.c: Update.
1732         * sol-thread.c: Update.
1733         * target.c: Update.
1734         * windows-nat.c: Update.
1735
1736 2018-07-03  Tom Tromey  <tom@tromey.com>
1737
1738         * infrun.c (follow_exec): Use exit_inferior_silent.
1739         * inferior.c (exit_inferior_num_silent): Remove.
1740         * inferior.h (exit_inferior_num_silent): Don't declare.
1741
1742 2018-07-03  Tom Tromey  <tom@tromey.com>
1743
1744         PR cli/23340:
1745         * darwin-nat.c (darwin_attach_pid): Reset inferior and
1746         inferior_ptid on error.
1747
1748 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
1749             Simon Marchi  <simon.marchi@polymtl.ca>
1750
1751         PR tdep/8282
1752         * disasm.h (gdb_disassembler): Add
1753         `m_disassembler_options_holder'. member
1754         * disasm.c (get_all_disassembler_options): New function.
1755         (gdb_disassembler::gdb_disassembler): Use it.
1756         (gdb_buffered_insn_length_init_dis): Likewise.
1757         (gdb_buffered_insn_length): Adjust accordingly.
1758         (set_disassembler_options): Handle options with arguments.
1759         (show_disassembler_options_sfunc): Likewise.  Add a leading new
1760         line if showing options with descriptions.
1761         (disassembler_options_completer): Adapt to using the
1762         `disasm_options_and_args_t' structure.
1763         * mips-tdep.c (mips_disassembler_options): New variable.
1764         (mips_disassembler_options_o32): Likewise.
1765         (mips_disassembler_options_n32): Likewise.
1766         (mips_disassembler_options_n64): Likewise.
1767         (gdb_print_insn_mips): Don't set `disassembler_options'.
1768         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
1769         functions.
1770         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
1771         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
1772         `gdbarch_disassembler_options_implicit' and
1773         `gdbarch_valid_disassembler_options'.
1774         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
1775         `disasm_options_and_args_t' structure.
1776         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
1777         method.
1778         (valid_disassembler_options): Switch from `disasm_options_t' to
1779         the `disasm_options_and_args_t' structure.
1780         * NEWS: Document `set disassembler-options' support for the MIPS
1781         target.
1782         * gdbarch.h: Regenerate.
1783         * gdbarch.c: Regenerate.
1784
1785 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1786
1787         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
1788
1789 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
1790
1791         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
1792         parameter in call to amd64_target_description.
1793         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
1794         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
1795         (amd64fbsd_init_abi): Likewise.
1796         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
1797         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
1798         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
1799         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
1800
1801 2018-06-29  Pedro Alves  <palves@redhat.com>
1802
1803         * gdb/amd64-tdep.h (amd64_create_target_description): Add
1804         "segments" parameter.
1805         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
1806         (_initialize_amd64_tdep): Update call to
1807         amd64_create_target_description.
1808         (amd64_target_description): Add "segments" parameter.  Adjust
1809         the implementation to use it.
1810         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
1811         call to amd64_create_target_description.
1812         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
1813         * gdb/arch/amd64.h (amd64_create_target_description): Add
1814         "segments" register.
1815         * gdb/arch/amd64.c (amd64_create_target_description): Add
1816         "segments" parameter.  Call create_feature_i386_64bit_segments
1817         only if SEGMENTS is true.
1818         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
1819         call to amd64_create_target_description.
1820
1821 2018-06-29  Pedro Alves  <palves@redhat.com>
1822
1823         * thread.c (thread_target_id_str): New, factored out from ...
1824         (print_thread_info_1): ... here.  Use it to compute the max
1825         "Target Id" column width.
1826
1827 2018-06-29  Pedro Alves  <palves@redhat.com>
1828
1829         * remote.c (remote_target::extra_thread_info): Delete
1830         'display_buf' and 'n' locals.  from the cache, regardless of
1831         packet mechanims is in use.  Use cache for qThreadExtra and qP
1832         methods too.
1833
1834 2018-06-29  Pedro Alves  <palves@redhat.com>
1835
1836         * blockframe.c (find_pc_sect_containing_function): New function.
1837         * breakpoint.c (print_breakpoint_location): Don't call
1838         find_pc_sect_function.
1839         * linespec.c (create_sals_line_offset): Record the location's
1840         symbol in the sal.
1841         * linespec.c (convert_address_location_to_sals): Fill in sal's
1842         symbol with find_pc_sect_containing_function.
1843         * symtab.c (find_function_start_sal): Rename to ...
1844         (find_function_start_sal_1): ... this.
1845         (find_function_start_sal): Reimplement as wrapper around
1846         find_function_start_sal_1, and use
1847         find_pc_sect_containing_function to fill in the sal's symbol.
1848         (find_function_start_sal(symbol*, bool)): Adjust.
1849         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
1850         comments.
1851         (find_pc_sect_containing_function): Declare.
1852
1853 2018-06-29  Pedro Alves  <palves@redhat.com>
1854
1855         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
1856         true if the the location has no symbol.
1857
1858 2018-06-28  Tom Tromey  <tom@tromey.com>
1859
1860         * NEWS: Mention --enable-codesign.
1861         * silent-rules.mk (ECHO_SIGN): New variable.
1862         * configure.ac: Add --enable-codesign.
1863         * configure: Rebuild.
1864         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
1865         (gdb$(EXEEXT)): Optionally invoke codesign.
1866
1867 2018-06-28  Pedro Alves  <palves@redhat.com>
1868
1869         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
1870         comments.
1871         (switch_to_thread_no_regs): Adjust comment.
1872         * infcmd.c (stop_pc): Delete.
1873         (post_create_inferior, info_program_command): Replace references
1874         to stop_pc with references to thread_info->suspend.stop_pc.
1875         * inferior.h (stop_pc): Delete declaration.
1876         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
1877         (handle_inferior_event_1, handle_signal_stop)
1878         (process_event_stop_test, keep_going_stepped_thread)
1879         (handle_step_into_function, handle_step_into_function_backward)
1880         (print_stop_location): Replace references to stop_pc with
1881         references to thread_info->suspend.stop_pc.
1882         (struct infcall_suspend_state) <stop_pc>: Delete field.
1883         (save_infcall_suspend_state, restore_infcall_suspend_state):
1884         Remove references to inf_stat->stop_pc.
1885         * linux-fork.c (fork_load_infrun_state): Likewise.
1886         * record-btrace.c (record_btrace_set_replay): Likewise.
1887         * record-full.c (record_full_goto_entry): Likewise.
1888         * remote.c (print_one_stopped_thread): Likewise.
1889         * target.c (target_resume): Extend comment.
1890         * thread.c (set_executing_thread): New.
1891         (set_executing): Use it.
1892         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
1893         Remove references to stop_pc.
1894
1895 2018-06-28  Pedro Alves  <palves@redhat.com>
1896
1897         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
1898         Moving fetching stop_pc until after ecs->event_thread is refreshed.
1899
1900 2018-06-28  Tom Tromey  <tom@tromey.com>
1901
1902         * coffread.c (coff_symfile_finish): Update.
1903         * xcoffread.c (xcoff_symfile_finish): Update.
1904         * elfread.c (elf_symfile_finish): Update.
1905         * symfile.h (dwarf2_free_objfile): Don't declare.
1906         * dwarf2read.c (_initialize_dwarf2_read): Use
1907         register_objfile_data_with_cleanup.
1908         (dwarf2_free_objfile): Now static.  Change signature.
1909
1910 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1911
1912         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
1913         option "-o" to add-symbol-file-load to add an offset to each
1914         section's load address.
1915         * symfile.c (set_objfile_default_section_offset): New function.
1916
1917 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1918
1919         * symfile.c (add_symbol_file_command): Make sure that sections
1920         with the same name are sorted in the same order.
1921
1922 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1923
1924         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
1925         require the second argument.  If omitted, load sections at the
1926         addresses specified in the file.
1927
1928 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1929
1930         * symfile.c (symbol_file_command, symbol_file_add_main_1)
1931         (_initialize_symfile): Add option "-o" to symbol-file to add an
1932         offset to each section of the symbol file.
1933
1934 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1935
1936         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
1937
1938 2018-06-27  Tom Tromey  <tom@tromey.com>
1939
1940         * stack.c (_initialize_stack): Update "func" help text.
1941
1942 2018-06-27  Tom Tromey  <tom@tromey.com>
1943
1944         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
1945         std::vector.
1946         (unwind_infopy_str, pyuw_create_unwind_info)
1947         (unwind_infopy_add_saved_register, pyuw_sniffer)
1948         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
1949         Update.
1950         (struct saved_reg): Add constructor.
1951         <value>: Now a gdbpy_ref<>.
1952
1953 2018-06-27  Tom Tromey  <tom@tromey.com>
1954
1955         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
1956
1957 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1958
1959         * gdb-gdb.py.in: Format using autopep8.
1960
1961 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1962
1963         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
1964         (type_lookup_function): Recognize CORE_ADDR values.
1965
1966 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1967
1968         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
1969         print tag_name.
1970
1971 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1972
1973         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
1974         <__lt__>: Add.
1975
1976 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1977
1978         * gdb-gdb.py: Move to...
1979         * gdb-gdb.py.in: ... here.
1980         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
1981         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
1982         dependencies.
1983         (distclean): Remove gdb-gdb.py when cleaning.
1984         (gdb-gdb.py, gdb-gdb.gdb): New rules.
1985         * configure: Re-generate.
1986
1987 2018-06-27  Pedro Alves  <palves@redhat.com>
1988
1989         * proc-service.c (get_ps_regcache): New.
1990         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
1991         (ps_lsetfpregs): Use it.
1992
1993 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
1994
1995         PR gdb/21695
1996         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
1997         (dwarf_decode_lines_1): Adjust.
1998
1999 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2000
2001         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
2002         override.
2003         <info_proc>: Likewise.
2004
2005 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
2006
2007         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
2008         to windows_fetch_one_register, and only handle the case of
2009         fetching one register.  Move the code that reloads the context
2010         and iterates over all registers if R is negative to...
2011         (windows_nat_target::fetch_registers): ... here.
2012         (do_windows_store_inferior_registers): Rename to
2013         windows_store_one_register, and only handle the case of storing
2014         one register.  Move the code that handles the case where r is
2015         negative to...
2016         (windows_nat_target::store_registers) ... here.
2017
2018 2018-06-26  Tom Tromey  <tom@tromey.com>
2019
2020         PR rust/22574:
2021         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
2022         * rust-lang.c (rust_print_struct_def): Add podata parameter.
2023         Update.
2024         (rust_internal_print_type): Add podata parameter.
2025         (rust_print_type): Update.
2026
2027 2018-06-26  Tom Tromey  <tom@tromey.com>
2028
2029         * typeprint.h (struct print_offset_data) <update, finish,
2030         maybe_print_hole>: New methods.
2031         <indentation>: New constant.
2032         * typeprint.c (print_offset_data::indentation): Define.
2033         (print_offset_data::maybe_print_hole, print_offset_data::update)
2034         (print_offset_data::finish): Move from c-typeprint.c and rename.
2035         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
2036         (print_spaces_filtered_with_print_options): Update.
2037         (c_print_type_union_field_offset, maybe_print_hole)
2038         (c_print_type_struct_field_offset): Move to typeprint.c and
2039         rename.
2040         (c_type_print_base_struct_union): Update.
2041
2042 2018-06-25  Pedro Alves  <palves@redhat.com>
2043
2044         * gdbthread.h (thread_info_ref, delete_thread)
2045         (delete_thread_silent, first_thread_of_inferior)
2046         (any_thread_of_inferior, switch_to_thread)
2047         (enable_thread_stack_temporaries)
2048         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2049         (get_last_thread_stack_temporary)
2050         (value_in_thread_stack_temporaries, can_access_registers_thread):
2051         Spell out "struct thread_info" instead of just "thread_info".
2052         * inferior.h (notice_new_inferior): Likewise.
2053
2054 2018-06-25  Pedro Alves  <palves@redhat.com>
2055
2056         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2057         pass thread_info pointer to delete_thread.
2058         (windows_nat_target::detach): Pass inferior pointer to
2059         detach_inferior.
2060         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2061         delete_thread.
2062         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2063         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2064         and pass a thread_info pointer to delete_thread.
2065         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2066         pass thread_info pointer to delete_thread.
2067         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2068         delete_thread_silent call.
2069         * procfs.c (procfs_target::detach): Pass inferior pointer to
2070         detach_inferior.
2071         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2072         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2073         delete_thread_silent call.
2074         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2075         pass thread_info pointer to delete_thread.
2076         (windows_nat_target::detach): Pass inferior pointer to
2077         delete_inferior.
2078
2079 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2080
2081         * regcache.c (readable_regcache::read_part): Fix asserts.
2082         (reg_buffer::raw_collect_part): New function.
2083         (regcache::write_part): Fix asserts.
2084         (reg_buffer::raw_supply_part): New function.
2085         (regcache::transfer_regset_register): New helper function.
2086         (regcache::transfer_regset): Call new functions.
2087         (regcache_supply_regset): Use gdb_byte*.
2088         (regcache::supply_regset): Likewise.
2089         (regcache_collect_regset): Likewise.
2090         (regcache::collect_regset): Likewise.
2091         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2092         (reg_buffer::raw_supply_part): Likewise.
2093         (regcache::transfer_regset_register): Likewise.
2094         (regcache::transfer_regset): Use gdb_byte*.
2095
2096 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2097
2098         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2099
2100 2018-06-21  Pedro Alves  <palves@redhat.com>
2101
2102         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2103         instead of a ptid_t.  All callers adjusted.
2104         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2105         adjusted.
2106         (print_ada_task_info, display_current_task_id, task_command_1):
2107         Adjust.
2108         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2109         inferior_thread.
2110         (breakpoint_kind): Adjust.
2111         (remove_breakpoints_pid): Rename to ...
2112         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2113         pointer.  All callers adjusted.
2114         (bpstat_clear_actions): Use inferior_thread.
2115         (get_bpstat_thread): New.
2116         (bpstat_do_actions): Use it.
2117         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2118         to take a thread_info pointer.  All callers adjusted.
2119         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2120         (breakpoint_re_set_thread): Use inferior_thread.
2121         * breakpoint.h (struct inferior): Forward declare.
2122         (bpstat_stop_status): Update.
2123         (remove_breakpoints_pid): Delete.
2124         (remove_breakpoints_inf): New.
2125         * bsd-uthread.c (bsd_uthread_target::wait)
2126         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2127         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2128         (maint_btrace_packet_history_cmd)
2129         (maint_btrace_clear_packet_history_cmd): Adjust.
2130         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2131         inferior_thread.
2132         * cli/cli-interp.c: Include "inferior.h".
2133         * common/refcounted-object.h (struct
2134         refcounted_object_ref_policy): New.
2135         * compile/compile-object-load.c: Include gdbthread.h.
2136         (store_regs): Use inferior_thread.
2137         * corelow.c (core_target::close): Use current_inferior.
2138         (core_target_open): Adjust to use first_thread_of_inferior and use
2139         the current inferior.
2140         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2141         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2142         <thread>: ... this new field.  All references adjusted.
2143         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2144         Take a thread_info pointer instead of a ptid_t.
2145         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2146         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2147         thread_info pointer instead of a ptid_t.
2148         * elfread.c: Include "inferior.h".
2149         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2150         Use inferior_thread.
2151         * eval.c (evaluate_subexp): Likewise.
2152         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2153         inferior_thread.
2154         * gdb_proc_service.h (struct thread_info): Forward declare.
2155         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2156         <thread>: ... this new field.  All references adjusted.
2157         * gdbarch.h, gdbarch.c: Regenerate.
2158         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2159         'thread' parameter.  All implementations and callers adjusted.
2160         * gdbthread.h (thread_info) <set_running>: New method.
2161         (delete_thread, delete_thread_silent): Take a thread_info pointer
2162         instead of a ptid.
2163         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2164         (first_thread_of_process): Delete, replaced by ...
2165         (first_thread_of_inferior): ... this new function.  All callers
2166         adjusted.
2167         (any_live_thread_of_process): Delete, replaced by ...
2168         (any_live_thread_of_inferior): ... this new function.  All callers
2169         adjusted.
2170         (switch_to_thread, switch_to_no_thread): Declare.
2171         (is_executing): Delete.
2172         (enable_thread_stack_temporaries): Update comment.
2173         <enable_thread_stack_temporaries>: Take a thread_info pointer
2174         instead of a ptid_t.  Incref the thread.
2175         <~enable_thread_stack_temporaries>: Decref the thread.
2176         <m_ptid>: Delete
2177         <m_thr>: New.
2178         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2179         (get_last_thread_stack_temporary)
2180         (value_in_thread_stack_temporaries, can_access_registers_thread):
2181         Take a thread_info pointer instead of a ptid_t.  All callers
2182         adjusted.
2183         * infcall.c (get_call_return_value): Use inferior_thread.
2184         (run_inferior_call): Work with thread pointers instead of ptid_t.
2185         (call_function_by_hand_dummy): Work with thread pointers instead
2186         of ptid_t.  Use thread_info_ref.
2187         * infcmd.c (proceed_thread_callback): Access thread's state
2188         directly.
2189         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2190         access thread's state directly.
2191         (continue_command): Use inferior_thread.
2192         (info_program_command): Use find_thread_ptid and access thread
2193         state directly.
2194         (proceed_after_attach_callback): Use thread state directly.
2195         (notice_new_inferior): Take a thread_info pointer instead of a
2196         ptid_t.  All callers adjusted.
2197         (exit_inferior): Take an inferior pointer instead of a pid.  All
2198         callers adjusted.
2199         (exit_inferior_silent): New.
2200         (detach_inferior): Delete.
2201         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2202         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2203         (detach_inferior_command, kill_inferior_command): Use
2204         find_inferior_id instead of valid_gdb_inferior_id and
2205         gdb_inferior_id_to_pid.
2206         (inferior_command): Use inferior and thread pointers.
2207         * inferior.h (struct thread_info): Forward declare.
2208         (notice_new_inferior): Take a thread_info pointer instead of a
2209         ptid_t.  All callers adjusted.
2210         (detach_inferior): Delete declaration.
2211         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2212         instead of a pid.  All callers adjusted.
2213         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2214         (valid_gdb_inferior_id): Delete.
2215         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2216         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2217         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2218         ...
2219         <inf>: ... this new field.
2220         <step_ptid>: Delete, replaced by ...
2221         <step_thread>: ... this new field.
2222         (get_displaced_stepping_state): Take an inferior pointer instead
2223         of a pid.  All callers adjusted.
2224         (displaced_step_in_progress_any_inferior): Adjust.
2225         (displaced_step_in_progress_thread): Take a thread pointer instead
2226         of a ptid_t.  All callers adjusted.
2227         (displaced_step_in_progress, add_displaced_stepping_state): Take
2228         an inferior pointer instead of a pid.  All callers adjusted.
2229         (get_displaced_step_closure_by_addr): Adjust.
2230         (remove_displaced_stepping_state): Take an inferior pointer
2231         instead of a pid.  All callers adjusted.
2232         (displaced_step_prepare_throw, displaced_step_prepare)
2233         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2234         All callers adjusted.
2235         (start_step_over): Adjust.
2236         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2237         displaced step queue.
2238         (do_target_resume): Adjust.
2239         (fetch_inferior_event): Use inferior_thread.
2240         (context_switch, get_inferior_stop_soon): Take an
2241         execution_control_state pointer instead of a ptid_t.  All callers
2242         adjusted.
2243         (switch_to_thread_cleanup): Delete.
2244         (stop_all_threads): Use scoped_restore_current_thread.
2245         * inline-frame.c: Include "gdbthread.h".
2246         (inline_state) <inline_state>: Take a thread pointer instead of a
2247         ptid_t.  All callers adjusted.
2248         <ptid>: Delete, replaced by ...
2249         <thread>: ... this new field.
2250         (find_inline_frame_state): Take a thread pointer instead of a
2251         ptid_t.  All callers adjusted.
2252         (skip_inline_frames, step_into_inline_frame)
2253         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2254         pointer instead of a ptid_t.  All callers adjusted.
2255         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2256         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2257         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2258         pointers directly.
2259         * linux-nat.c (get_detach_signal): Likewise.
2260         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2261         (thread_db_notice_clone): Adjust.
2262         (thread_db_find_new_threads_silently)
2263         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2264         a thread pointer instead of a ptid_t.  All callers adjusted.
2265         * mi/mi-cmd-var.c: Include "inferior.h".
2266         (mi_cmd_var_update_iter): Update to use thread pointers.
2267         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2268         inferior directly.
2269         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2270         out to ...
2271         (mi_output_running): ... this new function.
2272         (mi_on_resume_1): Adjust to use it.
2273         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2274         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2275         directly.
2276         (interrupt_thread_callback): : Adjust to use thread and inferior
2277         pointers.
2278         * proc-service.c: Include "gdbthread.h".
2279         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2280         * progspace-and-thread.c: Include "inferior.h".
2281         * progspace.c: Include "inferior.h".
2282         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2283         hold a reference to an inferior_object.
2284         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2285         inferior_thread.
2286         * python/py-inferior.c (struct inferior_object): Give the type a
2287         tag name instead of a typedef.
2288         (python_on_normal_stop): No need to check if the current thread is
2289         listed.
2290         (inferior_to_inferior_object): Change return type to
2291         inferior_object.  All callers adjusted.
2292         (find_thread_object): Delete, bits factored out to ...
2293         (thread_to_thread_object): ... this new function.
2294         * python/py-infthread.c (create_thread_object): Use
2295         inferior_to_inferior_object.
2296         (thpy_is_stopped): Use thread pointer directly.
2297         (gdbpy_selected_thread): Use inferior_thread.
2298         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2299         field, replaced with ...
2300         <thread>: ... this new field.  All users adjusted.
2301         (btpy_insn_or_gap_new): Drop const.
2302         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2303         callers adjusted.
2304         * python/py-record.c: Include "gdbthread.h".
2305         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2306         a ptid_t.  All callers adjusted.
2307         (gdbpy_current_recording): Use inferior_thread.
2308         * python/py-record.h (recpy_record_object) <ptid>: Delete
2309         field, replaced with ...
2310         <thread>: ... this new field.  All users adjusted.
2311         (recpy_element_object) <ptid>: Delete
2312         field, replaced with ...
2313         <thread>: ... this new field.  All users adjusted.
2314         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2315         a ptid_t.  All callers adjusted.
2316         * python/py-threadevent.c: Include "gdbthread.h".
2317         (get_event_thread): Use thread_to_thread_object.
2318         * python/python-internal.h (struct inferior_object): Forward
2319         declare.
2320         (find_thread_object, find_inferior_object): Delete declarations.
2321         (thread_to_thread_object, inferior_to_inferior_object): New
2322         declarations.
2323         * record-btrace.c: Include "inferior.h".
2324         (require_btrace_thread): Use inferior_thread.
2325         (record_btrace_frame_sniffer)
2326         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2327         (get_thread_current_frame): Use scoped_restore_current_thread and
2328         switch_to_thread.
2329         (get_thread_current_frame): Use thread pointer directly.
2330         (record_btrace_replay_at_breakpoint): Use thread's inferior
2331         pointer directly.
2332         * record-full.c: Include "inferior.h".
2333         * regcache.c: Include "gdbthread.h".
2334         (get_thread_arch_regcache): Use the inferior's address space
2335         directly.
2336         (get_thread_regcache, registers_changed_thread): New.
2337         * regcache.h (get_thread_regcache(thread_info *thread)): New
2338         overload.
2339         (registers_changed_thread): New.
2340         (remote_target) <remote_detach_1>: Swap order of parameters.
2341         (remote_add_thread): <remote_add_thread>: Return the new thread.
2342         (get_remote_thread_info(ptid_t)): New overload.
2343         (remote_target::remote_notice_new_inferior): Use thread pointers
2344         directly.
2345         (remote_target::process_initial_stop_replies): Use
2346         thread_info::set_running.
2347         (remote_target::remote_detach_1, remote_target::detach)
2348         (extended_remote_target::detach): Adjust.
2349         * stack.c (frame_show_address): Use inferior_thread.
2350         * target-debug.h (target_debug_print_thread_info_pp): New.
2351         * target-delegates.c: Regenerate.
2352         * target.c (default_thread_address_space): Delete.
2353         (memory_xfer_partial_1): Use current_inferior.
2354         (target_detach): Use current_inferior.
2355         (target_thread_address_space): Delete.
2356         (generic_mourn_inferior): Use current_inferior.
2357         * target.h (struct target_ops) <thread_address_space>: Delete.
2358         (target_thread_address_space): Delete.
2359         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2360         pointers directly.
2361         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2362         thread pointer instead of a ptid_t.  Adjust all callers.
2363         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2364         (first_thread_of_process): Delete, replaced by ...
2365         (first_thread_of_inferior): ... this new function.  All callers
2366         adjusted.
2367         (any_thread_of_process): Rename to ...
2368         (any_thread_of_inferior): ... this, and take an inferior pointer.
2369         (any_live_thread_of_process): Rename to ...
2370         (any_live_thread_of_inferior): ... this, and take an inferior
2371         pointer.
2372         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2373         (value_in_thread_stack_temporaries)
2374         (get_last_thread_stack_temporary): Take a thread pointer instead
2375         of a ptid_t.  Adjust all callers.
2376         (thread_info::set_running): New.
2377         (validate_registers_access): Use inferior_thread.
2378         (can_access_registers_ptid): Rename to ...
2379         (can_access_registers_thread): ... this, and take a thread
2380         pointer.
2381         (print_thread_info_1): Adjust to compare thread pointers instead
2382         of ptids.
2383         (switch_to_no_thread, switch_to_thread): Make extern.
2384         (scoped_restore_current_thread::~scoped_restore_current_thread):
2385         Use m_thread pointer directly.
2386         (scoped_restore_current_thread::scoped_restore_current_thread):
2387         Use inferior_thread.
2388         (thread_command): Use thread pointer directly.
2389         (thread_num_make_value_helper): Use inferior_thread.
2390         * top.c (execute_command): Use inferior_thread.
2391         * tui/tui-interp.c: Include "inferior.h".
2392         * varobj.c (varobj_create): Use inferior_thread.
2393         (value_of_root_1): Use find_thread_global_id instead of
2394         global_thread_id_to_ptid.
2395
2396 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2397
2398         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2399         possible.
2400         (regcache::write_part): Likewise.
2401         (readable_regcache::cooked_read_part): Update comment.
2402         (readable_regcache::cooked_write_part): Likewise.
2403         * regcache.h: (readable_regcache::read_part): Likewise.
2404         (regcache::write_part): Likewise.
2405
2406 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2407             Dirk Schubert  <dirk.schubert@arm.com>
2408
2409         * aarch64-linux-nat.c (post_attach): New.
2410         (aarch64_linux_nat_target::post_attach): Override post_attach to
2411         record the number of hardware debug registers.
2412
2413 2018-06-20  Tom Tromey  <tom@tromey.com>
2414
2415         * python/py-param.c (add_setshow_generic): Make parameters const.
2416         (parmpy_init): Update.
2417
2418 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2419
2420         * regcache.h (regcache_cooked_read_ftype): Rename to...
2421         (register_read_ftype): ...this, change type to function_view.
2422         (class reg_buffer) <save>: Remove src parameter.
2423         (readonly_detached_regcache) <readonly_detached_regcache>: Make
2424         parameter non-const in first overload.  Remove src parameter in
2425         second overload.
2426         * regcache.c (do_cooked_read): Remove.
2427         (readonly_detached_regcache::readonly_detached_regcache): Make
2428         parameter non-const, adjust call to other constructor.
2429         (reg_buffer::save): Remove src parameter.
2430         * frame.c (do_frame_register_read): Remove.
2431         (frame_save_as_regcache): Use lambda function.
2432         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
2433         parameter to ppu2spu_data *.
2434         (ppu2spu_sniffer): Use lambda function.
2435
2436 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2437
2438         * record-full.c (record_full_target::insert_breakpoint): Remove
2439         "struct" keyword, add const.
2440
2441 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
2442
2443         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
2444         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
2445         * configure.ac: Remove AC_PREREQ, add missing quoting.
2446         * gnulib/configure.ac: Modernize usage of
2447         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
2448         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
2449         (AUTOMAKE_VERSION): Bump to 1.15.1.
2450         * configure: Re-generate.
2451         * config.in: Re-generate.
2452         * aclocal.m4: Re-generate.
2453         * gnulib/aclocal.m4: Re-generate.
2454         * gnulib/config.in: Re-generate.
2455         * gnulib/configure: Re-generate.
2456         * gnulib/import/Makefile.in: Re-generate.
2457
2458 2018-06-19  Pedro Alves  <palves@redhat.com>
2459
2460         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
2461         (lookup_minimal_symbol_by_pc_section): ... here with
2462         gdb_assert_not_reached added.
2463
2464 2018-06-19  Pedro Alves  <palves@redhat.com>
2465
2466         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
2467         parameter with a block parameter.  Compare location's block symbol
2468         with the frame's block instead of addresses.
2469         (skip_inline_frames): Pass the current block instead of the
2470         frame's address.  Break out as soon as we determine the frame
2471         should not be skipped.
2472
2473 2018-06-18  Tom Tromey  <tom@tromey.com>
2474
2475         * solib-aix.c (solib_aix_get_section_offsets): Return
2476         unique_xmalloc_ptr.
2477         (solib_aix_solib_create_inferior_hook): Update.
2478
2479 2018-06-18  Tom Tromey  <tom@tromey.com>
2480
2481         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
2482
2483 2018-06-18  Tom Tromey  <tom@tromey.com>
2484
2485         * solib-frv.c (frv_relocate_main_executable): Use
2486         unique_xmalloc_ptr.
2487         * solib-dsbt.c (dsbt_relocate_main_executable): Use
2488         unique_xmalloc_ptr.
2489
2490 2018-06-18  Tom Tromey  <tom@tromey.com>
2491
2492         * objfiles.h (inhibit_section_map_updates): Update.
2493         (resume_section_map_updates, resume_section_map_updates_cleanup):
2494         Remove.
2495         * solib-svr4.c (svr4_handle_solib_event): Update.
2496         * objfiles.c (inhibit_section_map_updates): Return
2497         scoped_restore_tmpl<int>.
2498         (resume_section_map_updates, resume_section_map_updates_cleanup):
2499         Remove.
2500
2501 2018-06-18  Tom Tromey  <tom@tromey.com>
2502
2503         * valprint.h (read_string): Update.
2504         * valprint.c (read_string): Change type of "buffer".
2505         (val_print_string): Update.
2506         * python/py-value.c (valpy_string): Update.
2507         * language.h (struct language_defn) <la_get_string>: Change
2508         type of "buffer".
2509         (default_get_string, c_get_string): Update.
2510         * language.c (default_get_string): Change type of "buffer".
2511         * guile/scm-value.c (gdbscm_value_to_string): Update.
2512         * c-lang.c (c_get_string): Change type of "buffer".
2513
2514 2018-06-18  Tom Tromey  <tom@tromey.com>
2515
2516         * ser-mingw.c (struct pipe_state_destroyer): New.
2517         (pipe_state_up): New typedef.
2518         (cleanup_pipe_state): Remove.
2519         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
2520
2521 2018-06-18  Tom Tromey  <tom@tromey.com>
2522
2523         * rust-lang.h (rust_yyerror): Don't declare.
2524         * rust-lang.c (rust_language_defn): Update.
2525         * rust-exp.y (yyerror): Now static.
2526         * parse.c (parse_exp_in_context_1): Update.
2527         * p-lang.h (p_yyerror): Don't declare.
2528         * p-lang.c (p_language_defn): Update.
2529         * p-exp.y (yyerror): Now static.
2530         * opencl-lang.c (opencl_language_defn): Update.
2531         * objc-lang.c (objc_language_defn): Update.
2532         * m2-lang.h (m2_yyerror): Don't declare.
2533         * m2-lang.c (m2_language_defn): Update.
2534         * m2-exp.y (yyerror): Now static.
2535         * language.h (struct language_defn) <la_error>: Remove.
2536         * language.c (unk_lang_error): Remove.
2537         (unknown_language_defn, auto_language_defn): Remove.
2538         * go-lang.h (go_yyerror): Don't declare.
2539         * go-lang.c (go_language_defn): Update.
2540         * go-exp.y (yyerror): Now static.
2541         * f-lang.h (f_yyerror): Don't declare.
2542         * f-lang.c (f_language_defn): Update.
2543         * f-exp.y (yyerror): Now static.
2544         * d-lang.h (d_yyerror): Don't declare.
2545         * d-lang.c (d_language_defn): Update.
2546         * d-exp.y (yyerror): Now static.
2547         * c-lang.h (c_yyerror): Don't declare.
2548         * c-lang.c (c_language_defn, cplus_language_defn)
2549         (asm_language_defn, minimal_language_defn): Update.
2550         * c-exp.y (yyerror): Now static.
2551         * ada-lang.h (ada_yyerror): Don't declare.
2552         * ada-lang.c (ada_language_defn): Update.
2553         * ada-exp.y (yyerror): Now static.
2554
2555 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2556
2557         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
2558         (store_sveregs_to_thread): Likewise.
2559         (aarch64_linux_fetch_inferior_registers): Check for SVE.
2560         (aarch64_linux_store_inferior_registers): Likewise.
2561         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
2562         function.
2563         (aarch64_sve_regs_copy_to_regcache): Likewise.
2564         (aarch64_sve_regs_copy_from_regcache): Likewise.
2565         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
2566         declaration.
2567         (aarch64_sve_regs_copy_to_regcache): Likewise.
2568         (aarch64_sve_regs_copy_from_regcache): Likewise.
2569         (sve_context): Structure from Linux headers.
2570         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
2571         (SVE_SIG_ZREG_SIZE): Likewise.
2572         (SVE_SIG_PREG_SIZE): Likewise.
2573         (SVE_SIG_FFR_SIZE): Likewise.
2574         (SVE_SIG_REGS_OFFSET): Likewise.
2575         (SVE_SIG_ZREGS_OFFSET): Likewise.
2576         (SVE_SIG_ZREG_OFFSET): Likewise.
2577         (SVE_SIG_ZREGS_SIZE): Likewise.
2578         (SVE_SIG_PREGS_OFFSET): Likewise.
2579         (SVE_SIG_PREG_OFFSET): Likewise.
2580         (SVE_SIG_PREGS_SIZE): Likewise.
2581         (SVE_SIG_FFR_OFFSET): Likewise.
2582         (SVE_SIG_REGS_SIZE): Likewise.
2583         (SVE_SIG_CONTEXT_SIZE): Likewise.
2584         (SVE_PT_REGS_MASK): Likewise.
2585         (SVE_PT_REGS_FPSIMD): Likewise.
2586         (SVE_PT_REGS_SVE): Likewise.
2587         (SVE_PT_VL_INHERIT): Likewise.
2588         (SVE_PT_VL_ONEXEC): Likewise.
2589         (SVE_PT_REGS_OFFSET): Likewise.
2590         (SVE_PT_FPSIMD_OFFSET): Likewise.
2591         (SVE_PT_FPSIMD_SIZE): Likewise.
2592         (SVE_PT_SVE_ZREG_SIZE): Likewise.
2593         (SVE_PT_SVE_PREG_SIZE): Likewise.
2594         (SVE_PT_SVE_FFR_SIZE): Likewise.
2595         (SVE_PT_SVE_FPSR_SIZE): Likewise.
2596         (SVE_PT_SVE_FPCR_SIZE): Likewise.
2597         (__SVE_SIG_TO_PT): Likewise.
2598         (SVE_PT_SVE_OFFSET): Likewise.
2599         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
2600         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
2601         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
2602         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
2603         (SVE_PT_SVE_PREG_OFFSET): Likewise.
2604         (SVE_PT_SVE_PREGS_SIZE): Likewise.
2605         (SVE_PT_SVE_FFR_OFFSET): Likewise.
2606         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
2607         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
2608         (SVE_PT_SVE_SIZE): Likewise.
2609         (SVE_PT_SIZE): Likewise.
2610         (HAS_SVE_STATE): New define.
2611
2612 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2613
2614         * nat/aarch64-sve-linux-sigcontext.h: New file.
2615         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
2616         new files.
2617         (SVE_VQ_MIN): Likewise.
2618         (SVE_VQ_MAX): Likewise.
2619         (SVE_VL_MIN): Likewise.
2620         (SVE_VL_MAX): Likewise.
2621         (SVE_NUM_ZREGS): Likewise.
2622         (SVE_NUM_PREGS): Likewise.
2623         (sve_vl_valid): Likewise.
2624         (struct user_sve_header): Likewise.
2625
2626 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
2627             Richard Bunt <Richard.Bunt@arm.com>
2628
2629         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
2630         was requested by GDB.
2631
2632 2018-06-15  Tom de Vries  <tdevries@suse.de>
2633
2634         * MAINTAINERS (Write After Approval): Add Tom de Vries.
2635
2636 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
2637
2638         * gnulib/update-gnulib.sh: Print expected versions of
2639         autoconf/aclocal.
2640
2641 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
2642
2643         * arch-utils.c (default_type_align): Use type_length_units.
2644         * gdbtypes.c (type_align): Use type_length_units.
2645
2646 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2647
2648         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
2649         of 'define' command.
2650
2651 2018-06-14  Tom de Vries  <tdevries@suse.de>
2652
2653         PR cli/22573
2654         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
2655         get_no_prettyformat_print_options.
2656
2657 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
2658
2659         * sparc-nat.h: Include target.h.
2660         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
2661         <fetch_registers>: Remove this argument in function call.
2662         <store_registers>: Remove this argument in function call, remove
2663         extra semicolon.
2664         <low_forget_process>: Call sparc64_forget_process instead of
2665         sparc_forget_process.
2666
2667 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2668
2669         * procfs.c (_initialize_procfs): Use add_inf_child_target.
2670         (procfs_target::make_corefile_notes): Adjust to new
2671         target_read_alloc return type.
2672
2673 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2674             Stephen Roberts  <stephen.roberts@arm.com>
2675
2676         PR gdb/22882
2677         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
2678         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
2679         Move should_notify_stop local into more inner scope.
2680
2681 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2682             Stephen Roberts  <stephen.roberts@arm.com>
2683
2684         PR gdb/22882
2685         * infrun.c (resume_1): Add call to mark_async_event_handler.
2686
2687 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2688
2689         * infrun.c (do_target_wait): Change old version of $pc printed.
2690
2691 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
2692
2693         * dwarf2read.c (read_index_from_section): Rename to...
2694         (read_gdb_index_from_section): ... this, update all callers.
2695         (dwarf2_read_index): Rename to...
2696         (dwarf2_read_gdb_index): ... this, update all callers.
2697
2698 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
2699
2700         * gdb/hppa-linux-nat.c
2701         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
2702         hppa_linux_nat_target::fetch_registers.
2703
2704 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2705
2706         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
2707         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
2708         (AARCH64_DWARF_SVE_FFR): Likewise.
2709         (AARCH64_DWARF_SVE_P0): Likewise.
2710         (AARCH64_DWARF_SVE_Z0): Likewise.
2711
2712 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2713
2714         * common/common-regcache.h (raw_compare): New function.
2715         * regcache.c (regcache::raw_compare): Likewise.
2716         * regcache.h (regcache::raw_compare): New declaration.
2717
2718 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2719
2720         * common/common-regcache.h (reg_buffer_common): New structure.
2721         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
2722         (reg_buffer::raw_supply): Likewise.
2723         (reg_buffer::raw_supply_integer): Likewise.
2724         (reg_buffer::raw_supply_zeroed): Likewise.
2725         (reg_buffer::raw_collect): Likewise.
2726         (reg_buffer::raw_collect_integer): Likewise.
2727         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
2728         (reg_buffer::raw_supply): Likewise.
2729         (reg_buffer::raw_supply_integer): Likewise.
2730         (reg_buffer::raw_supply_zeroed): Likewise.
2731         (reg_buffer::raw_collect): Likewise.
2732         (reg_buffer::raw_collect_integer): Likewise.
2733
2734 2018-06-10  Tom Tromey  <tom@tromey.com>
2735
2736         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
2737         (class remote_state) <stop_reply_queue>: Now std::vector.
2738         (remote_state::~remote_state)
2739         (remote_target::stop_reply_queue_length): Update.
2740         (struct queue_iter_param, remove_child_of_pending_fork)
2741         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
2742         (check_pending_event_prevents_wildcard_vcont_callback)
2743         (remove_stop_reply_for_inferior)
2744         (remove_stop_reply_of_remote_state)
2745         (remote_notif_remove_once_on_match)
2746         (stop_reply_match_ptid_and_ws)
2747         (remote_kill_child_of_pending_fork): Remove.
2748         (remote_target::remove_new_fork_children)
2749         (remote_target::check_pending_events_prevent_wildcard_vcont)
2750         (remote_target::discard_pending_stop_replies)
2751         (remote_target::discard_pending_stop_replies_in_queue)
2752         (remote_target::remote_notif_remove_queued_reply)
2753         (remote_target::queued_stop_reply)
2754         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
2755         (remote_target::wait, remote_target::kill_new_fork_children)
2756         (remote_target::async): Update.
2757
2758 2018-06-10  Tom Tromey  <tom@tromey.com>
2759
2760         * record-full.c (record_full_arch_list_cleanups): Remove.
2761         (record_full_message): Use try/catch.
2762         (record_full_wait_cleanups): Remove.
2763         (record_full_wait_1): Use try/catch.
2764         (record_full_restore): Likewise.
2765
2766 2018-06-10  Tom Tromey  <tom@tromey.com>
2767
2768         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
2769         declare VEC.  Add constructor.
2770         <in_target_beneath>: Now bool.
2771         (record_full_breakpoints): Now a std::vector, static.
2772         (record_full_sync_record_breakpoints)
2773         (record_full_init_record_breakpoints)
2774         (record_full_target::insert_breakpoint)
2775         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
2776
2777 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
2778
2779         * dwarf2read.c (process_cu_includes): Remove struct keyword.
2780         * serial.c (serial_interface_lookup): Remove struct keyword.
2781
2782 2018-06-10  Tom Tromey  <tom@tromey.com>
2783
2784         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
2785         method.
2786         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
2787         a method.
2788         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
2789         method.
2790         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
2791         "beneath" as a method.
2792         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
2793         Use "beneath" as a method.
2794
2795 2018-06-10  Tom Tromey  <tom@tromey.com>
2796
2797         * tracefile.c (struct trace_file_writer_deleter): New.
2798         <operator()>: Rename from trace_file_writer_xfree.
2799         (trace_file_writer_up): New typedef.
2800         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
2801
2802 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2803
2804         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
2805         <m_registers, m_register_status>: Change type to
2806         std::unique_ptr.
2807         * regcache.c (reg_buffer::reg_buffer): Use new instead of
2808         XCNEWVEC.
2809
2810 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2811
2812         * common/common-regcache.h (enum register_status): Add
2813         underlying type "signed char".
2814         * regcache.h (reg_buffer) <m_register_status>: Change type to
2815         register_status *.
2816         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
2817         register_status instead of signed char.
2818         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
2819         (reg_buffer::get_register_status): Remove cast.
2820         (readable_regcache::raw_read): Remove cast.
2821         (readable_regcache::cooked_read): Remove cast.
2822
2823 2018-06-09  Tom Tromey  <tom@tromey.com>
2824
2825         * source.c (reverse_search_command, forward_search_command): Use
2826         scoped_fd.
2827
2828 2018-06-09  Tom Tromey  <tom@tromey.com>
2829
2830         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
2831         (serial_ops_list): Now static, std::vector.
2832         (serial_interface_lookup, serial_add_interface): Update.
2833
2834 2018-06-09  Tom Tromey  <tom@tromey.com>
2835
2836         * dwarf2read.c (process_cu_includes): Update.
2837         (process_full_comp_unit): Update.
2838         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
2839         std::vector.
2840
2841 2018-06-08  Paul Koning  <paul_koning@dell.com>
2842
2843         PR gdb/23252
2844
2845         * python/python.c (do_start_initialization):
2846         Avoid call to internal Python API.
2847         (init__gdb_module): New function.
2848
2849 2018-06-08  Gary Benson <gbenson@redhat.com>
2850
2851         * linux-thread-db.c (valprint.h): New include.
2852         (struct check_thread_db_info): New structure.
2853         (check_thread_db_on_load, tdb_testinfo): New static globals.
2854         (check_thread_db, check_thread_db_callback): New functions.
2855         (try_thread_db_load_1): Run integrity checks if requested.
2856         (maintenance_check_libthread_db): New function.
2857         (_initialize_thread_db): Register "maint check libthread-db"
2858         and "maint set/show check-libthread-db".
2859         * NEWS: Mention the above new commands.
2860
2861 2018-06-08  Tom Tromey  <tom@tromey.com>
2862
2863         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
2864         now a method.
2865
2866 2018-06-08  Tom Tromey  <tom@tromey.com>
2867
2868         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
2869
2870 2018-06-08  Tom Tromey  <tom@tromey.com>
2871
2872         * common/btrace-common.h (struct btrace_data): Add constructor,
2873         destructor, move assignment operator.
2874         <empty, clear, fini>: New methods.
2875         <format>: Initialize.
2876         (btrace_data_init, btrace_data_fini, btrace_data_clear)
2877         (btrace_data_empty): Don't declare.
2878         * common/btrace-common.c (btrace_data_init): Remove.
2879         (btrace_data::fini): Rename from btrace_data_fini.
2880         (btrace_data::empty): Rename from btrace_data_empty.
2881         (btrace_data::clear): Rename from btrace_data_clear.  Return
2882         bool.
2883         * btrace.h (make_cleanup_btrace_data): Don't declare.
2884         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
2885         (parse_xml_btrace): Update.
2886         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
2887         (maint_btrace_clear_packet_history_cmd): Update.
2888
2889 2018-06-07  Pedro Alves  <palves@redhat.com>
2890
2891         * target.h (target_ops) <beneath>: Now a method.  All references
2892         updated.
2893         (class target_stack): New.
2894         * target.c (g_target_stack): New.
2895         (g_current_top_target): Delete.
2896         (current_top_target): Get the top target out of g_target_stack.
2897         (target_stack::push, target_stack::unpush): New.
2898         (push_target, unpush_target): Reimplement.
2899         (target_is_pushed): Reimplement in terms of g_target_stack.
2900         (target_ops::beneath, target_stack::find_beneath): New.
2901
2902 2018-06-07  Pedro Alves  <palves@redhat.com>
2903
2904         * target.h (find_target_beneath): Delete declaration.
2905         * target.c (find_target_beneath): Delete definition.
2906         * aix-thread.c: All callers of find_target_beneath adjusted to
2907         call target_ops::beneath instead.
2908         * bsd-uthread.c: Likewise.
2909         * linux-thread-db.c: Likewise.
2910         * ravenscar-thread.c: Likewise.
2911         * sol-thread.c: Likewise.
2912         * spu-multiarch.c: Likewise.
2913
2914 2018-06-07  Pedro Alves  <palves@redhat.com>
2915
2916         * target.h (target_ops) <beneath>: Now a method.  All references
2917         updated.
2918         (target_ops) <m_beneath>: New.
2919         * target.c (target_ops::beneath): New.
2920         * corelow.c: Adjust all references to target_ops::beneath.
2921         * linux-thread-db.c: Likewise.
2922         * make-target-delegates: Likewise.
2923         * record-btrace.c: Likewise.
2924         * record-full.c: Likewise.
2925         * remote.c: Likewise.
2926         * target.c: Likewise.
2927         * target-delegates.c: Regenerate.
2928
2929 2018-06-07  Pedro Alves  <palves@redhat.com>
2930
2931         * target.h (target_stack): Delete.
2932         (current_top_target): Declare function.
2933         * target.c (target_stack): Delete.
2934         (g_current_top_target): New.
2935         (current_top_target): New function.
2936         * auxv.c: Use current_top_target instead of target_stack
2937         throughout.
2938         * avr-tdep.c: Likewise.
2939         * breakpoint.c: Likewise.
2940         * corefile.c: Likewise.
2941         * elfread.c: Likewise.
2942         * eval.c: Likewise.
2943         * exceptions.c: Likewise.
2944         * frame.c: Likewise.
2945         * gdbarch-selftests.c: Likewise.
2946         * gnu-v3-abi.c: Likewise.
2947         * ia64-tdep.c: Likewise.
2948         * ia64-vms-tdep.c: Likewise.
2949         * infcall.c: Likewise.
2950         * infcmd.c: Likewise.
2951         * infrun.c: Likewise.
2952         * linespec.c: Likewise.
2953         * linux-tdep.c: Likewise.
2954         * minsyms.c: Likewise.
2955         * ppc-linux-nat.c: Likewise.
2956         * ppc-linux-tdep.c: Likewise.
2957         * procfs.c: Likewise.
2958         * regcache.c: Likewise.
2959         * remote.c: Likewise.
2960         * rs6000-tdep.c: Likewise.
2961         * s390-linux-nat.c: Likewise.
2962         * s390-tdep.c: Likewise.
2963         * solib-aix.c: Likewise.
2964         * solib-darwin.c: Likewise.
2965         * solib-dsbt.c: Likewise.
2966         * solib-spu.c: Likewise.
2967         * solib-svr4.c: Likewise.
2968         * solib-target.c: Likewise.
2969         * sparc-tdep.c: Likewise.
2970         * sparc64-tdep.c: Likewise.
2971         * spu-tdep.c: Likewise.
2972         * symfile.c: Likewise.
2973         * symtab.c: Likewise.
2974         * target-descriptions.c: Likewise.
2975         * target-memory.c: Likewise.
2976         * target.c: Likewise.
2977         * target.h: Likewise.
2978         * tracefile-tfile.c: Likewise.
2979         * tracepoint.c: Likewise.
2980         * valops.c: Likewise.
2981         * valprint.c: Likewise.
2982         * value.c: Likewise.
2983         * windows-tdep.c: Likewise.
2984         * mi/mi-main.c: Likewise.
2985
2986 2018-06-07  Tom Tromey  <tom@tromey.com>
2987
2988         * valprint.h (build_address_symbolic): Declare.
2989         * printcmd.c (print_address_symbolic): Update.
2990         (build_address_symbolic): Change "name" and "filename" to
2991         std::string.
2992         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
2993         Update.
2994         * defs.h (build_address_symbolic): Remove declaration.
2995
2996 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
2997
2998         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
2999         (aarch64_vnv_type): Add function.
3000         (aarch64_pseudo_register_name): Add V regs for SVE.
3001         (aarch64_pseudo_register_type): Likewise.
3002         (aarch64_pseudo_register_reggroup_p): Likewise.
3003         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
3004         (aarch64_pseudo_read_value): Add V regs for SVE.
3005         (aarch64_pseudo_write_2): Use V0 offset for SVE
3006         (aarch64_pseudo_write): Add V regs for SVE.
3007         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
3008
3009 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
3010
3011         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
3012         (sve_vl_from_vq): Likewise.
3013
3014 2018-06-05  Tom Tromey  <tom@tromey.com>
3015
3016         * cli/cli-cmds.c (show_version): Update.
3017         * top.c (print_gdb_version): Add "interactive" parameter.
3018         Update.
3019         * main.c (captured_main_1): Update.
3020         * top.h (print_gdb_version): Add "interactive" parameter and a
3021         comment.
3022
3023 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
3024
3025         * common/enum-flags.h: Add trailing semicolon to example in
3026         comment.
3027
3028 2018-06-05  Tom Tromey  <tom@tromey.com>
3029
3030         PR cli/12326:
3031         * NEWS: Add entry about pager.
3032         * utils.c (pagination_disabled_for_command): New global.
3033         (prompt_for_continue): Allow "c" response to prompt.
3034         (reinitialize_more_filter): Clear
3035         pagination_disabled_for_command.
3036         (fputs_maybe_filtered): Check pagination_disabled_for_command.
3037
3038 2018-06-04  Tom Tromey  <tom@tromey.com>
3039
3040         * ada-lang.h (ada_lookup_symbol_list): Update.
3041         * ada-lang.c (resolve_subexp): Update.
3042         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3043         parameter.
3044         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3045         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3046         results parameter to std::vector.
3047         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3048         Update.
3049         * ada-exp.y (block_lookup): Update.
3050         (select_possible_type_sym): Change type of syms.  Remove nsyms
3051         parameter.
3052         (write_var_or_type, write_name_assoc): Update.
3053
3054 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3055
3056         * windows-nat.c (windows_nat_target::xfer_partial): Return
3057         TARGET_XFER_E_IO if we need to delegate to the target beneath
3058         but BENEATH is NULL.
3059
3060 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3061
3062         * Makefile.in (config.status): Add configure.nat as a
3063         dependency.
3064
3065 2018-06-04  Tom Tromey  <tom@tromey.com>
3066
3067         * cp-name-parser.y (cpname_state): Add method declarations.
3068         (HANDLE_QUAL): Update.
3069         (cpname_state::d_grab, cpname_state::fill_comp)
3070         (cpname_state::make_operator, cpname_state::make_dtor)
3071         (cpname_state::make_builtin_type, cpname_state::make_name)
3072         (cpname_state::d_qualify, cpname_state::d_int_type)
3073         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3074         (%union): Move earlier.
3075
3076 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3077
3078         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3079
3080 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3081
3082         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3083         (aarch64_pseudo_write_1): Likewise.
3084         (aarch64_pseudo_read_value): Use helper.
3085         (aarch64_pseudo_write): Likewise.
3086
3087 2018-06-04  Pedro Alves  <palves@redhat.com>
3088
3089         * darwin-nat.c (darwin_ops): Delete.
3090         (darwin_attach_pid): Use get_native_target.
3091
3092 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3093
3094         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3095         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3096
3097 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3098
3099         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3100         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3101         (aarch64_gdbarch_init): Check for SVE.
3102         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3103
3104 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3105
3106         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3107         * aarch64-tdep.h (aarch64_read_description): Likewise.
3108         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3109         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3110         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3111         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3112         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3113
3114 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3115
3116         * value.c (value_fetch_lazy_bitfield): New.
3117         (value_fetch_lazy_memory): New.
3118         (value_fetch_lazy_register): New.
3119         (value_fetch_lazy): Factor out to smaller functions.
3120
3121 2018-06-01  Tom Tromey  <tom@tromey.com>
3122
3123         * cp-name-parser.y (backslashable, represented): Now const.
3124
3125 2018-06-01  Tom Tromey  <tom@tromey.com>
3126
3127         * cp-name-parser.y: Include parser-defs.h.
3128         (parser_fprintf): Remove declaration.
3129
3130 2018-06-01  Tom Tromey  <tom@tromey.com>
3131
3132         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3133         %parse-param.
3134         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3135         (global_result): Remove globals.
3136         (struct cpname_state): New.
3137         (yyparse): Don't declare.
3138         (yylex, yyerror): Move declarations after %union.
3139         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3140         (make_name): Add state parameter.
3141         Update all callers.
3142         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3143         parameter.
3144         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3145         Update.
3146         (yylex): Add lvalp, state parameters.
3147         (yyerror): Add state parameter.
3148         (cp_demangled_name_to_comp): Update.
3149
3150 2018-06-01  Tom Tromey  <tom@tromey.com>
3151
3152         * cp-name-parser.y (parser_fprintf): Declare.
3153         (GDB_YY_REMAP_PREFIX): Define.
3154         Include yy-remap.h.  Don't redefine yy* identifiers.
3155
3156 2018-06-01  Tom Tromey  <tom@tromey.com>
3157
3158         * python/py-type.c (typy_legacy_template_argument): Update.
3159         * cp-support.h (cp_demangled_name_to_comp): Update.
3160         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3161         parameter to be a "std::string *".
3162         (main): Update.
3163
3164 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3165
3166         * ada-lex.l: Include "diagnostics.h" instead of
3167         "common/diagnostics.h".
3168         * unittests/environ-selftests.c: Likewise.
3169         * common/diagnostics.h: Moved to ../include.
3170
3171 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3172
3173         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3174         to language_mode_manual while calling breakpoint_re_set_one.
3175
3176 2018-06-01  Tom Tromey  <tom@tromey.com>
3177
3178         * valops.c (value_cast_structs, destructor_name_p): Update.
3179         * symtab.c (gdb_mangle_name): Update.
3180         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3181         Update.
3182         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3183         (pascal_object_print_value_fields, pascal_object_print_value):
3184         Update.
3185         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3186         * linespec.c (find_methods): Update.
3187         * gdbtypes.h (type_name_no_tag): Remove.
3188         (type_name_or_error): Rename from type_name_no_tag_or_error.
3189         * gdbtypes.c (type_name_no_tag): Remove.
3190         (type_name_or_error): Rename from type_name_no_tag_or_error.
3191         (lookup_struct_elt_type, check_typedef): Update.
3192         * expprint.c (print_subexp_standard): Update.
3193         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3194         * d-namespace.c (d_lookup_nested_symbol): Update.
3195         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3196         (cp_print_class_member): Update.
3197         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3198         * completer.c (add_struct_fields): Update.
3199         * c-typeprint.c (cp_type_print_derivation_info)
3200         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3201         Update.
3202         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3203         (ada_prefer_type, ada_is_exception_sym): Update.
3204
3205 2018-06-01  Tom Tromey  <tom@tromey.com>
3206
3207         * valops.c (enum_constant_from_type, value_namespace_elt)
3208         (value_maybe_namespace_elt): Update.
3209         * valarith.c (find_size_for_pointer_math): Update.
3210         * target-descriptions.c (make_gdb_type): Update.
3211         * symmisc.c (print_symbol): Update.
3212         * stabsread.c (define_symbol, read_type)
3213         (complain_about_struct_wipeout, add_undefined_type)
3214         (cleanup_undefined_types_1): Update.
3215         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3216         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3217         (rust_internal_print_type, rust_composite_type)
3218         (rust_evaluate_funcall, rust_evaluate_subexp)
3219         (rust_inclusive_range_type_p): Update.
3220         * python/py-type.c (typy_get_tag): Update.
3221         * p-typeprint.c (pascal_type_print_base): Update.
3222         * mdebugread.c (parse_symbol, parse_type): Update.
3223         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3224         Update.
3225         * guile/scm-type.c (gdbscm_type_tag): Update.
3226         * go-lang.c (sixg_string_p): Update.
3227         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3228         Update.
3229         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3230         (TYPE_TAG_NAME): Remove.
3231         * gdbtypes.c (type_name_no_tag): Simplify.
3232         (check_typedef, check_types_equal, recursive_dump_type)
3233         (copy_type_recursive, arch_composite_type): Update.
3234         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3235         in summary mode when needed.
3236         * eval.c (evaluate_funcall): Update.
3237         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3238         (process_structure_scope, read_enumeration_type)
3239         (read_namespace_type, read_module_type, determine_prefix): Update.
3240         * cp-support.c (inspect_type): Update.
3241         * coffread.c (process_coff_symbol, decode_base_type): Update.
3242         * c-varobj.c (c_is_path_expr_parent): Update.
3243         * c-typeprint.c (c_type_print_base_struct_union): Update.
3244         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3245         summary when using C language.
3246         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3247         (gen_maybe_namespace_elt): Update.
3248         * ada-lang.c (ada_type_name): Simplify.
3249         (empty_record, ada_template_to_fixed_record_type_1)
3250         (template_to_static_fixed_type)
3251         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3252
3253 2018-06-01  Tom Tromey  <tom@tromey.com>
3254
3255         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3256         c_print_type.
3257         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3258         (c_print_type): Update.
3259         (c_print_type): New overload.
3260         (c_type_print_varspec_prefix, c_type_print_args)
3261         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3262         (c_type_print_base_struct_union, c_type_print_base_1)
3263         (cp_type_print_method_args): Add "language" parameter.
3264         (c_type_print_base): Update.
3265         * c-lang.h (c_print_type): Add new overload.
3266
3267 2018-06-01  Tom Tromey  <tom@tromey.com>
3268
3269         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3270         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3271
3272 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3273
3274         * aarch64-tdep.c (aarch64_sve_register_names): New const
3275         var.
3276         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3277         (AARCH64_SVE_Z_REGS_NUM): New define.
3278         (AARCH64_SVE_P_REGS_NUM): Likewise.
3279         (AARCH64_SVE_NUM_REGS): Likewise.
3280
3281 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3282
3283         * nat/linux-ptrace.h [__alpha__]
3284         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3285         definitions.
3286
3287 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3288
3289         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3290         the endianness selected.
3291         * NEWS: Document `set endian auto' mode operation update.
3292
3293 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3294
3295         * Makefile.in: Add new header.
3296         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3297         (sve_vl_from_vg): Likewise.
3298         (sve_vq_from_vl): Likewise.
3299         (sve_vl_from_vq): Likewise.
3300         (sve_vq_from_vg): Likewise.
3301         (sve_vg_from_vq): Likewise.
3302         * configure.nat: Add new c file.
3303         * nat/aarch64-sve-linux-ptrace.c: New file.
3304         * nat/aarch64-sve-linux-ptrace.h: New file.
3305
3306 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3307
3308         * aarch64-linux-nat.c (aarch64_linux_read_description):
3309         Add parmeter zero.
3310         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3311         Likewise.
3312         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3313         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3314         (aarch64_gdbarch_init): Add parmeter zero.
3315         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3316         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3317         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3318         parmeter.
3319         * doc/gdb.texinfo: Describe SVE feature
3320         * features/aarch64-sve.c: New file.
3321
3322 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3323
3324         PR gdb/23210
3325         * gdbarch.sh (significant_addr_bit): Default to zero when
3326         not set by target architecture.
3327         * gdbarch.c: Re-generated.
3328         * utils.c (address_significant): Update.
3329
3330 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3331
3332         * stack.c (func_command): Remove trailing newline in call to error.
3333
3334 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3335
3336         * regcache.h (regcache_raw_collect): Remove, update callers to
3337         use regcache::raw_collect.
3338         * regcache.c (regcache_raw_collect): Remove.
3339
3340 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3341
3342         * regcache.h (regcache_raw_supply): Remove, update callers to
3343         use detached_regcache::raw_supply.
3344         * regcache.c (regcache_raw_supply): Remove.
3345
3346 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3347
3348         * regcache.h (regcache_cooked_write_part): Remove, update
3349         callers to use regcache::cooked_write_part.
3350         * regcache.c (regcache_cooked_write_part): Remove.
3351
3352 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3353
3354         * regcache.h (regcache_cooked_read_part): Remove, update callers
3355         to use readable_regcache::cooked_read_part.
3356         * regcache.c (regcache_cooked_read_part): Remove.
3357
3358 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3359
3360         * regcache.h (regcache_cooked_read_value): Remove, update
3361         callers to use readable_regcache::cooked_read_value.
3362         * regcache.c (regcache_cooked_read_value): Remove.
3363
3364 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3365
3366         * regcache.h (regcache_cooked_write): Remove, update callers to
3367         use regcache::cooked_write.
3368         * regcache.c (regcache_cooked_write): Remove.
3369
3370 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3371
3372         * regcache.h (regcache_invalidate): Remove, update callers to
3373         use detached_regcache::invalidate instead.
3374         * regcache.c (regcache_invalidate): Remove.
3375
3376 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3377
3378         * regcache.h (regcache_raw_write_part): Remove, update callers
3379         to use regcache::raw_write_part instead.
3380         * regcache.c (regcache_raw_write_part): Remove.
3381
3382 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3383
3384         * regcache.h (regcache_raw_read_part): Remove, update callers to
3385         use readable_regcache::raw_read_part instead.
3386         * regcache.c (regcache_raw_read_part): Remove.
3387
3388 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3389
3390         * regcache.h (regcache_cooked_read): Remove, update callers to
3391         use readable_regcache::cooked_read instead.
3392         * regcache.c (regcache_cooked_read): Remove.
3393
3394 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3395
3396         * regcache.h (regcache_raw_write): Remove, update callers to use
3397         regcache::raw_write instead.
3398         * regcache.c (regcache_raw_write): Remove.
3399
3400 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3401
3402         * regcache.h (regcache_raw_read): Remove, update callers to use
3403         readable_regcache::raw_read instead.
3404         * regcache.c (regcache_raw_read): Remove.
3405
3406 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3407
3408         * regcache.h (regcache_raw_update): Remove, update callers to
3409         use readable_regcache::raw_update instead.
3410         * regcache.c (regcache_raw_update): Remove.
3411
3412 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3413
3414         * regcache.h (regcache_register_status): Remove, update callers
3415         to use reg_buffer::get_register_status directly instead.
3416         * regcache.c (regcache_register_status): Remove.
3417
3418 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3419
3420         * regcache.h (regcache_get_ptid): Remove, update all callers to
3421         call regcache::ptid instead.
3422         * regcache.c (regcache_get_ptid): Remove.
3423
3424 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3425
3426         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
3427
3428 2018-05-30  Pedro Alves  <palves@redhat.com>
3429
3430         * common/common-exceptions.h (exception_rethrow): Use
3431         ATTRIBUTE_NORETURN.
3432
3433 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
3434
3435         * breakpoint.c (print_solib_event, check_status_catch_solib):
3436         Remove struct keyword in range-based for loops.
3437         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
3438         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
3439         Likewise.
3440         * linespec.c (find_superclass_methods, search_minsyms_for_name):
3441         Likewise.
3442         * symfile.c (addr_info_make_relative): Likewise.
3443         * thread.c (value_in_thread_stack_temporaries): Likewise.
3444
3445 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
3446
3447         PR gdb/16841
3448         * valops.c (value_struct_elt_for_reference): Call check_typedef on
3449         aggregate type to get its real type before accessing it.
3450
3451 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
3452
3453         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
3454         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
3455         * coff-pe-read.c (add_pe_forwarded_sym): Replace
3456         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
3457         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
3458         * jit.c (jit_breakpoint_re_set_internal): Likewise.
3459         * printcmd.c (info_address_command): Likewise.
3460
3461 2018-05-29  Tom Tromey  <tom@tromey.com>
3462
3463         * windows-nat.c (handle_exception): Update fall-through comment.
3464
3465 2018-05-29  Tom Tromey  <tom@tromey.com>
3466
3467         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
3468         (struct program_space) <added_solibs>: Now a std::vector.
3469         * breakpoint.c (print_solib_event): Update.
3470         (check_status_catch_solib): Update.
3471         * progspace.c (clear_program_space_solib_cache): Update.
3472         * solib.c (update_solib_list): Update.
3473
3474 2018-05-29  Tom Tromey  <tom@tromey.com>
3475
3476         * python/py-type.c (typy_richcompare): Update.
3477         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
3478         * gdbtypes.h (types_deeply_equal): Return bool.
3479         (types_equal): Likewise.
3480         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
3481         declare VEC.
3482         (check_types_equal): Change worklist to std::vector.  Return
3483         bool.
3484         (struct type_equality_entry): Add constructor.
3485         (compare_maybe_null_strings): Return bool.
3486         (check_types_worklist): Return bool.  Change worklist to
3487         std::vector.
3488         (types_deeply_equal): Use std::vector.
3489         (types_equal): Return bool.
3490         (compare_maybe_null_strings): Simplify.
3491
3492 2018-05-29  Tom Tromey  <tom@tromey.com>
3493
3494         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
3495
3496 2018-05-29  Tom Tromey  <tom@tromey.com>
3497
3498         * objc-lang.h: Don't include cp-support.h.
3499         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
3500         declare VEC.
3501
3502 2018-05-27  Tom Tromey  <tom@tromey.com>
3503
3504         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
3505
3506 2018-05-25  Tom Tromey  <tom@tromey.com>
3507
3508         * value.c (value::location): Initialize.
3509
3510 2018-05-25  Tom Tromey  <tom@tromey.com>
3511
3512         * dbxread.c (init_bincl_list): Remove.
3513         (bincl_list): Now a std::vector.
3514         (bincls_allocated, next_bincl): Remove.
3515         (free_bincl_list, do_free_bincl_list_cleanup)
3516         (make_cleanup_free_bincl_list): Remove.
3517         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
3518         unique_xmalloc_ptr.
3519         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
3520         (struct header_file_location): Add constructor.
3521         (add_bincl_to_list): Remove.
3522
3523 2018-05-25  Tom Tromey  <tom@tromey.com>
3524
3525         * tui/tui.c (tui_enable): Update.
3526         * mi/mi-interp.c (mi_interp::init): Update.
3527         * interps.h (class interp) <name>: New method.
3528         <m_name>: Rename from name.
3529         (~scoped_restore_interp): Update.
3530         * interps.c (interp::interp): Update.
3531         (interp_add, interp_set, interp_lookup_existing)
3532         (current_interp_named_p): Update.
3533
3534 2018-05-25  Tom Tromey  <tom@tromey.com>
3535
3536         * interps.c (interp_name): Remove.
3537         * mi/mi-interp.c (mi_interp::init): Update.
3538         * interps.h (interp_name): Remove.
3539         (~scoped_restore_interp): Update.
3540         * tui/tui.c (tui_enable): Update.
3541
3542 2018-05-25  Tom Tromey  <tom@tromey.com>
3543
3544         * utils.c (fputs_maybe_filtered): Update.
3545         * linespec.c (decode_line_full): Update.
3546         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
3547         (mi_print_breakpoint_for_event, mi_solib_loaded)
3548         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
3549         (mi_user_selected_context_changed): Update.
3550         * mi/mi-main.c (mi_execute_command): Update.
3551         * cli/cli-script.c (execute_control_command): Update.
3552         * python/python.c (execute_gdb_command): Update.
3553         * solib.c (info_sharedlibrary_command): Update.
3554         * interps.c (interp_ui_out): Remove.
3555         * interps.h (interp_ui_out): Remove.
3556
3557 2018-05-25  Tom Tromey  <tom@tromey.com>
3558
3559         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
3560         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
3561         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
3562
3563 2018-05-25  Tom Tromey  <tom@tromey.com>
3564
3565         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
3566         * interps.c (interp_exec): Use scoped_restore.
3567
3568 2018-05-25  Tom Tromey  <tom@tromey.com>
3569
3570         * remote.c (remote_target::remote_file_get): Use
3571         gdb::byte_vector.
3572         (remote_target::remote_file_put): Likewise.
3573
3574 2018-05-25  Tom Tromey  <tom@tromey.com>
3575
3576         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
3577         a std::string.
3578         (get_pe_section_index, add_pe_exported_sym): Update.
3579         (read_pe_exported_syms): Use gdb::def_vector.
3580
3581 2018-05-25  Tom Tromey  <tom@tromey.com>
3582
3583         * frame.c (remove_prev_frame): Remove.
3584         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
3585
3586 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
3587
3588         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
3589         Remove prototypes.
3590         * mips-linux-nat.c (supply_fpregset): Always call
3591         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
3592         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
3593         `mips_fill_fpregset'.
3594         * mips-linux-tdep.c (mips_supply_fpregset)
3595         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
3596         (mips_fill_fpregset_wrapper): Remove functions.
3597         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
3598         (mips_linux_fpregset): Remove variable.
3599         (mips_linux_iterate_over_regset_sections): Use
3600         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
3601         (mips_linux_o32_sigframe_init): Remove comment.
3602
3603 2018-05-25  Pedro Alves  <palves@redhat.com>
3604
3605         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
3606         (struct readahead_cache, struct packet_reg, struct
3607         remote_arch_state, class remote_state): Move higher up in the
3608         file.
3609         (remote_target::m_remote_state): Now an object instead of a pointer.
3610         (remote_target::get_remote_state): Adjust.
3611
3612 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3613
3614         * stack.c (select_and_print_frame): Delete.
3615         (struct function_bounds): Move struct within function.
3616         (func_command): Most content moved into new function
3617         find_frame_for_function, use new function, print result, add
3618         function comment.
3619         (find_frame_for_function): New function, now returns a result.
3620
3621 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3622
3623         * stack.c (iterate_over_block_arg_vars): Fix comment.
3624         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
3625
3626 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3627
3628         PR gdb/23203
3629         * frame.c
3630         (scoped_restore_selected_frame::scoped_restore_selected_frame):
3631         Define.
3632         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
3633         Define.
3634         * frame.h (class scoped_restore_selected_frame): New class.
3635         * stack.c (print_frame_local_vars): Remove catching and rethrowing
3636         of any exception, use scoped_restore_selected_frame to restore the
3637         frame instead.
3638
3639 2018-05-24  Pedro Alves  <palves@redhat.com>
3640
3641         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
3642         override.
3643
3644 2018-05-23  Tom Tromey  <tom@tromey.com>
3645
3646         * complaints.c (struct complaints): Remove.
3647         (symfile_complaint_book): Remove.
3648         (series): New global.
3649         (complaint_internal): Update.
3650         (clear_complaints): Update.
3651
3652 2018-05-23  Tom Tromey  <tom@tromey.com>
3653
3654         * complaints.c (counters): New global.
3655         (struct complain): Remove.
3656         (struct complaints) <root>: Remove.
3657         (complaint_sentinel): Remove.
3658         (symfile_complaint_book): Update.
3659         (find_complaint) Remove.
3660         (complaint_internal, clear_complaints): Update.
3661
3662 2018-05-23  Tom Tromey  <tom@tromey.com>
3663
3664         * complaints.c (struct complain) <file, line>: Remove.
3665         (find_complaint): Remove file, line parameters.
3666         (complaint_internal): Update.
3667
3668 2018-05-23  Tom Tromey  <tom@tromey.com>
3669
3670         * complaints.c (vcomplaint): Remove.
3671         (complaint_internal) Merge in contents of vcomplaint.
3672
3673 2018-05-23  Tom Tromey  <tom@tromey.com>
3674
3675         * complaints.c (struct complaints) <explanation>: Remove.
3676         (symfile_explanations): Remove.
3677         (symfile_complaint_book): Update.
3678         (vcomplaint): Update.
3679         (struct explanation): Remove.
3680
3681 2018-05-23  Tom Tromey  <tom@tromey.com>
3682
3683         * complaints.c (symfile_complaints): Remove.
3684         (complaint_internal): Remove "complaints" parameter.
3685         (clear_complaints, vcomplaint): Remove "c" parameter.
3686         (get_complaints): Remove.
3687         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
3688         (dwarf2_debug_line_missing_file_complaint)
3689         (dwarf2_debug_line_missing_end_sequence_complaint)
3690         (dwarf2_complex_location_expr_complaint)
3691         (dwarf2_const_value_length_mismatch_complaint)
3692         (dwarf2_section_buffer_overflow_complaint)
3693         (dwarf2_macro_malformed_definition_complaint)
3694         (dwarf2_invalid_attrib_class_complaint)
3695         (create_addrmap_from_index, dw2_symtab_iter_next)
3696         (dw2_expand_marked_cus)
3697         (dw2_debug_names_iterator::find_vec_in_debug_names)
3698         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
3699         (create_debug_type_hash_table, init_cutu_and_read_dies)
3700         (partial_die_parent_scope, add_partial_enumeration)
3701         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
3702         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
3703         (read_import_statement, read_file_scope, create_dwo_cu_reader)
3704         (create_cus_hash_table, create_dwp_hash_table)
3705         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
3706         (dwarf2_rnglists_process, dwarf2_ranges_process)
3707         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
3708         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
3709         (handle_struct_member_die, process_structure_scope)
3710         (read_array_type, read_common_block, read_module_type)
3711         (read_tag_pointer_type, read_typedef, read_base_type)
3712         (read_subrange_type, load_partial_dies, partial_die_info::read)
3713         (partial_die_info::read, partial_die_info::read)
3714         (partial_die_info::read, read_checked_initial_length_and_offset)
3715         (dwarf2_string_attr, read_formatted_entries)
3716         (dwarf_decode_line_header)
3717         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3718         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
3719         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
3720         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
3721         (get_signatured_type, get_DW_AT_signature_type)
3722         (decode_locdesc, file_file_name, consume_improper_spaces)
3723         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
3724         (dwarf_decode_macro_bytes, dwarf_decode_macros)
3725         (dwarf2_symbol_mark_computed, set_die_type)
3726         (read_attribute_value): Update.
3727         * stap-probe.c (handle_stap_probe, get_stap_base_address):
3728         Update.
3729         * dbxread.c (unknown_symtype_complaint)
3730         (lbrac_mismatch_complaint, repeated_header_complaint)
3731         (set_namestring, function_outside_compilation_unit_complaint)
3732         (read_dbx_symtab, process_one_symbol): Update.
3733         * gdbtypes.c (stub_noname_complaint): Update.
3734         * windows-nat.c (handle_unload_dll): Update.
3735         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
3736         (decode_base_type): Update.
3737         * xcoffread.c (bf_notfound_complaint, ef_complaint)
3738         (eb_complaint, record_include_begin, record_include_end)
3739         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
3740         (process_xcoff_symbol, read_symbol)
3741         (function_outside_compilation_unit_complaint)
3742         (scan_xcoff_symtab): Update.
3743         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
3744         * buildsym.c (finish_block_internal, make_blockvector)
3745         (end_symtab_get_static_block, augment_type_symtab): Update.
3746         * dtrace-probe.c (dtrace_process_dof)
3747         (dtrace_static_probe_ops::get_probes): Update.
3748         * complaints.h (struct complaint): Don't declare.
3749         (symfile_complaints): Remove.
3750         (complaint_internal): Remove "complaints" parameter.
3751         (complaint): Likewise.
3752         (clear_complaints): Likewise.
3753         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3754         (reread_symbols): Update.
3755         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
3756         (dwarf2_frame_cache, decode_frame_entry): Update.
3757         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
3758         * objc-lang.c (lookup_objc_class, lookup_child_selector)
3759         (info_selectors_command): Update.
3760         * macrotab.c (macro_include, check_for_redefinition)
3761         (macro_undef): Update.
3762         * objfiles.c (filter_overlapping_sections): Update.
3763         * stabsread.c (invalid_cpp_abbrev_complaint)
3764         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
3765         (define_symbol, error_type, read_type, rs6000_builtin_type)
3766         (stabs_method_name_from_physname, read_member_functions)
3767         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
3768         (attach_fields_to_type, complain_about_struct_wipeout)
3769         (read_range_type, read_args, common_block_start)
3770         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
3771         Update.
3772         * mdebugread.c (index_complaint, unknown_ext_complaint)
3773         (basic_type_complaint, bad_tag_guess_complaint)
3774         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
3775         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
3776         (parse_procedure, parse_lines)
3777         (function_outside_compilation_unit_complaint)
3778         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
3779         (bad_tag_guess_complaint, reg_value_complaint): Update.
3780         * cp-support.c (demangled_name_complaint): Update.
3781         * macroscope.c (sal_macro_scope): Update.
3782         * dwarf-index-write.c (class debug_names): Update.
3783
3784 2018-05-23  Tom Tromey  <tom@tromey.com>
3785
3786         * complaints.c (clear_complaints): Remove "noisy" parameter.
3787         * complaints.h (clear_complaints): Update.
3788         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3789         (reread_symbols): Update.
3790
3791 2018-05-23  Tom Tromey  <tom@tromey.com>
3792
3793         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
3794         SUBSEQUENT_MESSAGE.
3795         (vcomplaint, clear_complaints): Update.
3796         (symfile_explanations): Remove some messages.
3797
3798 2018-05-23  Tom Tromey  <tom@tromey.com>
3799
3800         * complaints.c (internal_complaint): Remove.
3801         * complaints.h (internal_complaint): Remove.
3802
3803 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
3804
3805         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
3806
3807 2018-05-22  Pedro Alves  <palves@redhat.com>
3808
3809         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
3810         (remote_fileio_badfd, remote_fileio_return_errno)
3811         (remote_fileio_return_success, remote_fileio_func_open)
3812         (remote_fileio_func_open, remote_fileio_func_close)
3813         (remote_fileio_func_read, remote_fileio_func_write)
3814         (remote_fileio_func_lseek, remote_fileio_func_rename)
3815         (remote_fileio_func_unlink, remote_fileio_func_stat)
3816         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
3817         (remote_fileio_func_isatty, remote_fileio_func_system): Add
3818         remote_target parameter.
3819         (remote_fio_func_map) <func>: Add remote_target parameter.
3820         (do_remote_fileio_request, remote_fileio_request):
3821         * remote-fileio.h (remote_fileio_request):
3822         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
3823         remote_target parameter.
3824         (remote_notif_process, handle_notification): Adjust to pass down
3825         the remote.
3826         (remote_notif_state_allocate): Add remote_target parameter.  Save
3827         it.
3828         * remote-notif.h (struct remote_target): Forward declare.
3829         (struct notif_client) <parse, ack, can_get_pending_events>: Add
3830         remote_target parameter.
3831         (struct remote_notif_state) <remote>: New field.
3832         (remote_notif_ack, remote_notif_parse): Add remote_target
3833         parameter.
3834         (remote_notif_state_allocate, remote_notif_state_allocate): Add
3835         remote_target parameter.
3836         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
3837         (threads_listing_context, rmt_thread_action, protocol_feature)
3838         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
3839         (packet_result, struct threads_listing_context, remote_state):
3840         Move definitions and declarations higher up.
3841         (remote_target) <~remote_target>: Declare.
3842         (remote_download_command_source, remote_file_put, remote_file_get)
3843         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
3844         (remote_hostio_pread_vFile, remote_hostio_send_command)
3845         (remote_hostio_set_filesystem, remote_hostio_open)
3846         (remote_hostio_close, remote_hostio_unlink, remote_state)
3847         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
3848         (get_memory_write_packet_size, get_memory_read_packet_size)
3849         (append_pending_thread_resumptions, remote_detach_1)
3850         (append_resumption, remote_resume_with_vcont)
3851         (add_current_inferior_and_thread, wait_ns, wait_as)
3852         (process_stop_reply, remote_notice_new_inferior)
3853         (process_initial_stop_replies, remote_add_thread)
3854         (btrace_sync_conf, remote_btrace_maybe_reopen)
3855         (remove_new_fork_children, kill_new_fork_children)
3856         (discard_pending_stop_replies, stop_reply_queue_length)
3857         (check_pending_events_prevent_wildcard_vcont)
3858         (discard_pending_stop_replies_in_queue, stop_reply)
3859         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
3860         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
3861         (remote_interrupt_as, remote_interrupt_ns)
3862         (remote_get_noisy_reply, remote_query_attached)
3863         (remote_add_inferior, remote_current_thread, get_current_thread)
3864         (set_thread, set_general_thread, set_continue_thread)
3865         (set_general_process, write_ptid)
3866         (remote_unpack_thread_info_response, remote_get_threadinfo)
3867         (parse_threadlist_response, remote_get_threadlist)
3868         (remote_threadlist_iterator, remote_get_threads_with_ql)
3869         (remote_get_threads_with_qxfer)
3870         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
3871         (get_offsets, remote_check_symbols, remote_supported_packet)
3872         (remote_query_supported, remote_packet_size)
3873         (remote_serial_quit_handler, remote_detach_pid)
3874         (remote_vcont_probe, remote_resume_with_hc)
3875         (send_interrupt_sequence, interrupt_query)
3876         (remote_notif_get_pending_events, fetch_register_using_p)
3877         (send_g_packet, process_g_packet, fetch_registers_using_g)
3878         (store_register_using_P, store_registers_using_G)
3879         (set_remote_traceframe, check_binary_download)
3880         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
3881         (remote_xfer_live_readonly_partial, remote_read_bytes)
3882         (remote_send_printf, remote_flash_write, readchar)
3883         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
3884         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
3885         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
3886         (extended_remote_disable_randomization, extended_remote_run)
3887         (send_environment_packet, extended_remote_environment_support)
3888         (extended_remote_set_inferior_cwd, remote_write_qxfer)
3889         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
3890         (packet_command): Now methods of ...
3891         (remote_target): ... this class.
3892         (m_remote_state) <remote_target>: New field.
3893         (struct remote_state) <stop_reply_queue,
3894         remote_async_inferior_event_token, wait_forever_enabled_p>: New
3895         fields.
3896         (remote_state::remote_state): Allocate stop_reply_queue.
3897         (remote_state): Delete global.
3898         (get_remote_state_raw): Delete.
3899         (remote_target::get_remote_state): Allocate m_remote_state on
3900         demand.
3901         (get_current_remote_target): New.
3902         (remote_ops, extended_remote_ops): Delete.
3903         (wait_forever_enabled_p, remote_async_inferior_event_token):
3904         Delete, moved to struct remote_state.
3905         (remote_target::close): Delete self.  Destruction bits split to
3906         ...
3907         (remote_target::~remote_target): ... this.
3908         (show_memory_packet_size): Adjust to use
3909         get_current_remote_target.
3910         (struct protocol_feature) <func>: Add remote_target parameter.
3911         All callers adjusted.
3912         (curr_quit_handler_target): New.
3913         (remote_serial_quit_handler): Reimplement.
3914         (remote_target::open_1): Adjust to use get_current_remote_target.
3915         Heap-allocate remote_target/extended_remote_target instances.
3916         (vcont_builder::vcont_builder): Add remote_target parameter, and
3917         save it in m_remote.  All callers adjusted.
3918         (vcont_builder::m_remote): New field.
3919         (vcont_builder::restart, vcont_builder::flush)
3920         (vcont_builder::push_action): Use it.
3921         (remote_target::commit_resume): Use it.
3922         (struct queue_iter_param) <remote>: New field.
3923         (remote_target::remove_new_fork_children): Fill in 'remote' field.
3924         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
3925         (check_pending_event_prevents_wildcard_vcont_callback)
3926         (remote_target::check_pending_events_prevent_wildcard_vcont)
3927         (remote_target::discard_pending_stop_replies)
3928         (remote_target::discard_pending_stop_replies_in_queue)
3929         (remote_target::remote_notif_remove_queued_reply): Fill in
3930         'remote' field.
3931         (remote_notif_get_pending_events): New.
3932         (remote_target::readchar, remote_target::remote_serial_write):
3933         Save/restore curr_quit_handler_target.
3934         (putpkt): New.
3935         (kill_new_fork_children): Fill in 'remote' field.
3936         (packet_command): Use get_current_remote_target, defer to
3937         remote_target method of same name.
3938         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
3939         parameter, and save it in m_remote.  All callers adjusted.
3940         (scoped_remote_fd::release): Use m_remote.
3941         (scoped_remote_fd::m_remote): New field.
3942         (remote_file_put, remote_file_get, remote_file_delete): Use
3943         get_current_remote_target, defer to remote_target method of same
3944         name.
3945         (remote_btrace_reset): Add remote_state paremeter.  Update all
3946         callers.
3947         (remote_async_inferior_event_handler). Pass down 'data'.
3948         (remote_new_objfile): Use get_current_remote_target.
3949         (remote_target::vcont_r_supported): New.
3950         (set_range_stepping): Use get_current_remote_target and
3951         remote_target::vcont_r_supported.
3952         (_initialize_remote): Don't allocate 'remote_state' and
3953         'stop_reply_queue' globals.
3954         * remote.h (struct remote_target): Forward declare.
3955         (getpkt, putpkt, remote_notif_get_pending_events): Add
3956         'remote_target' parameter.
3957
3958 2018-05-22  Pedro Alves  <palves@redhat.com>
3959
3960         * remote.c (vcont_builder): Now a class.  Make all data members
3961         private.
3962         (vcont_builder) <vcont_builder, restart, flush, push_action>:
3963         Declare methods.
3964         (vcont_builder_restart): Rename to ...
3965         (vcont_builder::restart): ... this.
3966         (vcont_builder_flush): Rename to ...
3967         (vcont_builder::flush): ... this.
3968         (vcont_builder_push_action): Rename to ...
3969         (vcont_builder::push_action): ... this.
3970         (remote_target::commit_resume): Adjust.
3971
3972 2018-05-22  Pedro Alves  <palves@redhat.com>
3973
3974         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
3975         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
3976         (get_fixed_memory_packet_size): New.
3977         (get_memory_packet_size): Use it.
3978         (set_memory_packet_size): Don't override the config size with
3979         DEFAULT_MAX_MEMORY_PACKET_SIZE.
3980         (show_memory_packet_size): Use get_fixed_memory_packet_size.
3981         Don't refer to get_memory_packet_size if not connected to a remote
3982         target.  Show "(default)" if configured size is 0.
3983
3984 2018-05-22  Pedro Alves  <palves@redhat.com>
3985
3986         * remote.c (remote_target::mourn_inferior): Move
3987         discard_pending_stop_replies call here from ...
3988         (_initialize_remote): ... here.
3989
3990 2018-05-22  Pedro Alves  <palves@redhat.com>
3991
3992         * remote.c (compare_section_command): Remove set_general_process
3993         call.
3994
3995 2018-05-22  Pedro Alves  <palves@redhat.com>
3996
3997         * remote.c (struct packet_reg, struct remote_arch_state):
3998         Move higher up in the file.
3999         (remote_state) <m_arch_states>: Store remote_arch_state values
4000         instead of remote_arch_state pointers.
4001         (remote_state::get_remote_arch_state): Adjust.
4002
4003 2018-05-22  Pedro Alves  <palves@redhat.com>
4004
4005         * remote.c: Include <unordered_map>.
4006         (remote_state): Now a class.
4007         (remote_state) <get_remote_arch_state>: Declare method.
4008         <get_remote_arch_state>: New field.
4009         (remote_arch_state) <remote_arch_state>: Declare ctor.
4010         <regs>: Now a unique_ptr.
4011         (remote_gdbarch_data_handle): Delete.
4012         (get_remote_arch_state): Delete.
4013         (remote_state::get_remote_arch_state): New.
4014         (get_remote_state): Adjust to call remote_state's
4015         get_remote_arch_state method.
4016         (init_remote_state): Delete, bits factored out to ...
4017         (remote_arch_state::remote_arch_state): ... this new method.
4018         (get_remote_packet_size, get_memory_packet_size)
4019         (process_g_packet, remote_target::fetch_registers)
4020         (remote_target::prepare_to_store, store_registers_using_G)
4021         (remote_target::store_registers, remote_target::get_trace_status):
4022         Adjust to call remote_state's method.
4023         (_initialize_remote): Remove reference to
4024         remote_gdbarch_data_handle.
4025
4026 2018-05-22  Pedro Alves  <palves@redhat.com>
4027
4028         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
4029         pread>: New method declarations.
4030         (remote_target::open_1): Adjust.
4031         (readahead_cache_invalidate): Rename to ...
4032         (readahead_cache::invalidate): ... this, and adjust to be a class
4033         method.
4034         (readahead_cache_invalidate_fd): Rename to ...
4035         (readahead_cache::invalidate_fd): ... this, and adjust to be a
4036         class method.
4037         (remote_hostio_pwrite): Adjust.
4038         (remote_hostio_pread_from_cache): Rename to ...
4039         (readahead_cache::pread): ... this, and adjust to be a class
4040         method.
4041         (remote_hostio_close): Adjust.
4042
4043 2018-05-22  Pedro Alves  <palves@redhat.com>
4044
4045         * remote.c (remote_hostio_close_cleanup): Delete.
4046         (class scoped_remote_fd): New.
4047         (remote_file_put, remote_file_get): Use it.
4048
4049 2018-05-22  Pedro Alves  <palves@redhat.com>
4050
4051         (struct vCont_action_support): Use bool and initialize all fields.
4052         (struct readahead_cache): Initialize all fields.
4053         (remote_state): Use bool and initialize all fields.
4054         (remote_state::remote_state, remote_state::~remote_state): New.
4055         (new_remote_state): Delete.
4056         (_initialize_remote): Use new to allocate remote_state.
4057
4058 2018-05-22  Pedro Alves  <palves@redhat.com>
4059             張俊芝  <zjz@zjz.name>
4060
4061         PR gdb/22973
4062         * c-exp.y: Include "c-support.h".
4063         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4064         of tolower.  Use c_ident_is_alpha to scan names.
4065         * c-lang.c: Include "c-support.h".
4066         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4067         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4068         * c-support.h: New file, with bits factored out from ...
4069         * cp-name-parser.y: ... this file.
4070         Include "c-support.h".
4071         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4072         c-support.h and renamed.
4073         (symbol_end, yylex): Adjust.
4074
4075 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4076
4077         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4078         parameter type to CORE_ADDR.
4079         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4080         parameter type in declaration to CORE_ADDR.
4081         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4082         target_auxv_search to get AT_HWCAP and use the result to get the
4083         target description.
4084         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4085         to CORE_ADDR. Remove the cast of the return value to unsigned
4086         long. Fix error predicate of target_auxv_search.
4087         (ppc_linux_nat_target::read_description): Change the type of the
4088         hwcap variable to CORE_ADDR.
4089
4090 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4091
4092         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4093         if the size of fpscr is larger than 32 bits.
4094
4095 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4096
4097         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4098         (ppc32_linux_vsxregmap): New global.
4099         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4100         regcache_supply_regset, and regcache_collect_regset.
4101         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4102         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4103         (fetch_vsx_register, store_vsx_register): Remove.
4104         (fetch_vsx_registers): Add regno parameter. Get regset using
4105         ppc_linux_vsxregset. Use regset to supply registers.
4106         (store_vsx_registers): Add regno parameter. Get regset using
4107         ppc_linux_vsxregset. Use regset to collect registers.
4108         (fetch_register): Call fetch_vsx_registers instead of
4109         fetch_vsx_register.
4110         (store_register): Call store_vsx_registers instead of
4111         store_vsx_register.
4112         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4113         new regno parameter.
4114         (store_ppc_registers): Call store_vsx_registers with -1 for the
4115         new regno parameter.
4116         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4117         (ppc_collect_vsxregset): Remove.
4118
4119 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4120
4121         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4122         offset fields.
4123         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4124         for vector register offset fields.
4125         (ppc64_fbsd_reg_offsets): Likewise.
4126         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4127         to vector register offset fields.
4128         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4129         to vector register offset fields.
4130         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4131         vector register offset fields.
4132         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4133         initializers for vector register offset fields.
4134         (rs6000_aix64_reg_offsets): Likewise.
4135         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4136         (ppc_supply_vrregset): Remove.
4137         (ppc_collect_vrregset): Remove.
4138         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4139         (ppc_linux_vrregset) : New function.
4140         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4141         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4142         (ppc32_linux_vrregset): Remove.
4143         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4144         and use result instead of ppc32_linux_vrregset.
4145         (ppc32_linux_reg_offsets): Remove initializers for vector register
4146         offset fields.
4147         (ppc64_linux_reg_offsets): Likewise.
4148         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4149         * ppc-linux-nat.c: Include regset.h.
4150         (gdb_vrregset_t): Adjust comment to account for little-endian
4151         mode.
4152         (supply_vrregset, fill_vrregset): Remove.
4153         (fetch_altivec_register, store_altivec_register): Remove.
4154         (fetch_altivec_registers): Add regno parameter. Get regset using
4155         ppc_linux_vrregset. Use regset to supply registers.
4156         (store_altivec_registers): Add regno parameter. Get regset using
4157         ppc_linux_vrregset. Use regset to collect registers.
4158         (fetch_register): Call fetch_altivec_registers instead of
4159         fetch_altivec_register.
4160         (store_register): Call store_altivec_registers instead of
4161         store_altivec_register.
4162         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4163         the new regno parameter.
4164         (store_ppc_registers): Call store_altivec_registers with -1 for
4165         the new regno parameter.
4166
4167 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4168
4169         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4170         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4171         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4172         (gdb_vrregset_t): Change array type size to
4173         PPC_LINUX_SIZEOF_VRREGSET.
4174         (gdb_vsxregset_t): Change array type size to
4175         PPC_LINUX_SIZEOF_VSXREGSET.
4176         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4177         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4178         PPC_LINUX_SIZEOF_VSXREGSET.
4179
4180 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4181
4182         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4183         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4184         nat/ppc-linux.c.
4185         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4186         ppc_linux_target_wordsize with tid.
4187         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4188         wordsize with tid.
4189         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4190         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4191         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4192         tid parameter. Remove static specifier.
4193         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4194         (ppc_linux_target_wordsize): New declaration.
4195
4196 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4197
4198         * arch/ppc-linux-common.c: New file.
4199         * arch/ppc-linux-common.h: New file.
4200         * arch/ppc-linux-tdesc.h: New file.
4201         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4202         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4203         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4204         arch/ppc-linux-tdesc.h.
4205         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4206         arch/ppc-linux-tdesc.h.
4207         (ppc_linux_nat_target::read_description): Remove target
4208         description matching code. Fill a ppc_linux_features struct and
4209         call ppc_linux_match_description with it. Move comment about ISA
4210         2.05 to ppc-linux-common.c.
4211         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4212         arch/ppc-linux-tdesc.h.
4213         (ppc_linux_core_read_description): Remove target description
4214         matching code. Fill a ppc_linux_features struct and call
4215         ppc_linux_match_description with it.
4216         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4217         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4218         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4219         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4220         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4221         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4222         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4223         (tdesc_powerpc_e500l): Remove.
4224
4225 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4226
4227         * ada-lang.c (catch_assert_command): Pass empty string instead
4228         of NULL for excep_string argument.
4229
4230 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4231
4232         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4233         the width of the requested register exceeds the width of the
4234         `ptrace' data type.
4235
4236 2018-05-21  Tom Tromey  <tom@tromey.com>
4237
4238         * printcmd.c (output_command): Remove.
4239         (output_command_const): Rename to output_command.
4240         * valprint.h (output_command): Rename from output_command_const.
4241         * tracepoint.c (trace_dump_actions): Call output_command.
4242
4243 2018-05-21  Tom Tromey  <tom@tromey.com>
4244
4245         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4246         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4247         * ada-lang.h (create_ada_exception_catchpoint): Update.
4248         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4249         std::string.
4250         (create_excep_cond_exprs, ~ada_catchpoint)
4251         (should_stop_exception, print_one_exception)
4252         (print_mention_exception, print_recreate_exception): Update.
4253         (ada_get_next_arg): Remove.
4254         (catch_ada_exception_command_split): Use std::string.  Change type
4255         of "excep_string", "cond_string".
4256         (catch_ada_exception_command): Update.
4257         (create_ada_exception_catchpoint): Change type of excep_string.
4258         (ada_exception_sal): Remove excep_string parameter.
4259         (~ada_catchpoint): Remove.
4260
4261 2018-05-21  Tom Tromey  <tom@tromey.com>
4262
4263         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4264         cleanup.
4265
4266 2018-05-21  Tom Tromey  <tom@tromey.com>
4267
4268         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4269         Return unique_xmalloc_ptr.
4270         (print_it_exception): Update.
4271
4272 2018-05-21  Tom Tromey  <tom@tromey.com>
4273
4274         * tracepoint.c (trace_dump_actions): Use std::string.
4275
4276 2018-05-21  Tom Tromey  <tom@tromey.com>
4277
4278         * symfile.c (reread_symbols): Use std::string for original_name.
4279
4280 2018-05-21  Tom Tromey  <tom@tromey.com>
4281
4282         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4283         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4284         constructor.
4285
4286 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4287
4288         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4289         instance to...
4290         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4291         * objfiles.c (get_objfile_bfd_data): Allocate
4292         objfile_per_bfd_storage with obstack_new when allocating on
4293         obstack.
4294
4295 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4296
4297         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4298         OBSTACK_ZALLOC.
4299         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4300         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4301         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4302         (add_pending): Likewise.
4303         (parse_symbol): Likewise.
4304         (parse_partial_symbols): Likewise.
4305         (psymtab_to_symtab_1): Likewise.
4306         (new_psymtab): Likewise.
4307         (elfmdebug_build_psymtabs): Likewise.
4308         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4309         * objfiles.c (get_objfile_bfd_data): Likewise.
4310         (objfile_register_static_link): Likewise.
4311         * psymtab.c (allocate_psymtab): Likewise.
4312         * stabsread.c (read_member_functions): Likewise.
4313         * xcoffread.c (xcoff_end_psymtab): Likewise.
4314
4315 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4316
4317         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4318         compiler supports std::is_trivially_constructible.
4319         * common/poison.h: Include obstack.h.
4320         (IsMallocable): Define to is_trivially_constructible if the
4321         compiler supports it, define to true_type otherwise.
4322         (xobnew): New.
4323         (XOBNEW): Redefine.
4324         (xobnewvec): New.
4325         (XOBNEWVEC): Redefine.
4326         * gdb_obstack.h (obstack_zalloc): New.
4327         (OBSTACK_ZALLOC): Redefine.
4328         (obstack_calloc): New.
4329         (OBSTACK_CALLOC): Redefine.
4330         (obstack_new): New.
4331         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4332         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4333         gdbarch.c.
4334         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4335         obstack_calloc/obstack_zalloc.
4336         (gdbarch_obstack_zalloc): Remove.
4337         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4338
4339 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4340
4341         * stack.c (backtrace_command_1): Remove useless variable int i.
4342
4343 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4344
4345         * stack.c (print_frame_info): Fix comment.
4346
4347 2018-05-18  Tom Tromey  <tom@tromey.com>
4348
4349         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4350         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4351         (~dwarf2_per_objfile): Update
4352         (dwarf2_get_dwz_file): Use new.
4353         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4354         unique_ptr.
4355
4356 2018-05-18  Tom Tromey  <tom@tromey.com>
4357
4358         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4359         unique_ptr.
4360         * dwarf2read.c (struct dwp_file): Add constructor and
4361         initializers.
4362         (open_and_init_dwp_file): Return a unique_ptr.
4363         (dwarf2_per_objfile, create_dwp_hash_table)
4364         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4365         (lookup_dwo_unit_in_dwp): Update.
4366         (open_and_init_dwp_file, get_dwp_file): Update.
4367
4368 2018-05-18  Tom Tromey  <tom@tromey.com>
4369
4370         * dwarf2read.c (dwarf2_per_objfile): Update.
4371         (struct mapped_index): Add initializers.
4372         (dwarf2_read_index): Use new.
4373         (dw2_symtab_iter_init): Update.
4374         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4375         unique_ptr.
4376
4377 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4378
4379         * dwarf2read.c (mapped_index) <total_size>: Remove.
4380
4381 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4382
4383         * unittests/format_pieces-selftests.c (test_format_specifier):
4384         Add ARI comments.
4385
4386 2018-05-18  Tom Tromey  <tom@tromey.com>
4387
4388         * c-typeprint.c (maybe_print_hole): New function.
4389         (c_print_type_struct_field_offset): Update.
4390         (c_type_print_base_struct_union): Call maybe_print_hole.
4391
4392 2018-05-17  Keith Seitz  <keiths@redhat.com>
4393
4394         * breakpoint.c (build_bpstat_chain): New function, moved from
4395         bpstat_stop_status.
4396         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4397         If no stop chain is passed, call build_bpstat_chain to build it.
4398         * breakpoint.h (build_bpstat_chain): Declare.
4399         (bpstat_stop_status): Move documentation here from breakpoint.c.
4400         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4401         build the stop chain and pass it to skip_inline_frames.
4402         Pass this stop chain to bpstat_stop_status.
4403         * inline-frame.c: Include breakpoint.h.
4404         (stopped_by_user_bp_inline_frame): New function.
4405         (skip_inline_frames): Add parameter `stop_chain'.
4406         Move documention to inline-frame.h.
4407         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4408         whether the frame should be elided.
4409         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4410         Add moved documentation and update for new parameter.
4411
4412 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4413
4414         PR cli/14975
4415         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4416         unittests/format_pieces-selftests.c.
4417         * common/format.h (format_piece) <operator==>: New.
4418         (format_pieces) <operator[]>: Remove.
4419         * common/format.c (format_pieces::format_pieces): Handle \e.
4420         * unittests/format_pieces-selftests.c: New.
4421
4422 2018-05-17  Tom Tromey  <tom@tromey.com>
4423
4424         PR symtab/23010:
4425         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
4426         (dw2_instantiate_symtab): Add skip_partial parameter.
4427         (dw2_find_last_source_symtab, dw2_map_expand_apply)
4428         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
4429         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
4430         (dw2_expand_symtabs_matching_one)
4431         (dw2_find_pc_sect_compunit_symtab)
4432         (dw2_debug_names_lookup_symbol)
4433         (dw2_debug_names_expand_symtabs_for_function): Update.
4434         (init_cutu_and_read_dies): Add skip_partial parameter.
4435         (process_psymtab_comp_unit, build_type_psymtabs_1)
4436         (process_skeletonless_type_unit, load_partial_comp_unit)
4437         (psymtab_to_symtab_1): Update.
4438         (load_full_comp_unit): Add skip_partial parameter.
4439         (process_imported_unit_die, dwarf2_read_addr_index)
4440         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
4441         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
4442         (read_signatured_type): Update.
4443
4444 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4445
4446         * value.c (release_value): Remove unused variable.
4447         (record_latest_value): Likewise.
4448         (access_value_history): Likewise.
4449         (preserve_values): Likewise.
4450
4451 2018-05-17  Tom Tromey  <tom@tromey.com>
4452
4453         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
4454         Initialize.
4455
4456 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
4457
4458         PR gdb/22286
4459         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
4460         Also handle registers whose width is not a multiple of
4461         PTRACE_TYPE_RET.
4462         (linux_nat_trad_target::store_register): Likewise.
4463
4464 2018-05-16  Tom Tromey  <tom@tromey.com>
4465
4466         * gdbcore.h (core_bfd): Redefine.
4467         * corelow.c (core_target::close): Update.
4468         (core_target_open): Update.
4469         * progspace.h (struct program_space) <cbfd>: Now a
4470         gdb_bfd_ref_ptr.
4471
4472 2018-05-16  Tom Tromey  <tom@tromey.com>
4473
4474         PR cli/19551:
4475         * symfile-add-flags.h (enum symfile_add_flags)
4476         <SYMFILE_NOT_FILENAME>: New constant.
4477         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
4478         objfile name from BFD.
4479         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
4480         * minidebug.c (find_separate_debug_file_in_section): Put
4481         ".gnu_debugdata" into BFD's file name.
4482
4483 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
4484
4485         * regcache.c (regcache_read_ftype, regcache_write_ftype):
4486         Remove.
4487
4488 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
4489
4490         PR binutils/21446
4491         * aarch64-tdep.c (aarch64_analyze_prologue,
4492         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
4493         Indicate not interested in errors.
4494
4495 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4496
4497         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
4498         Supply the MIPS_ZERO_REGNUM register.
4499
4500 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4501
4502         * mips-tdep.c (mask_address_var): Make variable static.
4503
4504 2018-05-14  Tom Tromey  <tom@tromey.com>
4505
4506         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
4507
4508 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
4509
4510         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
4511         FXSAVE_ADDR for the mxcsr register.
4512
4513 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
4514
4515         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
4516
4517 2018-05-11  Pedro Alves  <palves@redhat.com>
4518
4519         * corelow.c (core_target) <core_target>: No longer inline.
4520         Initialize m_core_gdbarch, m_core_vec and build the section table
4521         here.
4522         <~core_target>: New.
4523         <core_gdbarch, get_core_register_section>: New methods.
4524         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
4525         factored out from ...
4526         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
4527         (core_ops): Delete.
4528         (sniff_core_bfd): Add gdbarch parameter.
4529         (core_close): Delete, merged into ...
4530         (core_target::close): ... here.  Delete self.
4531         (core_close_cleanup): Delete.
4532         (core_target_open): Allocate a core_target on the heap.  Use a
4533         unique_ptr instead of a cleanup.  Bits moved into the core_target
4534         ctor.  Adjust to use core_target methods instead of globals.
4535         (get_core_register_section): Rename to ...
4536         (core_target::get_core_register_section): ... this and adjust.
4537         (struct get_core_registers_cb_data): New.
4538         (get_core_registers_cb): Use it.  Use bool.
4539         (core_target::fetch_registers, core_target::files_info)
4540         (core_target::xfer_partial, core_target::read_description)
4541         (core_target::pid_to, core_target::thread_name): Adjust to
4542         reference class fields instead of globals.
4543         * target.h (struct target_ops_deleter, target_ops_up): New.
4544
4545 2018-05-11  Pedro Alves  <palves@redhat.com>
4546
4547         * corefile.c (core_file_command): Move to corelow.c.
4548         * corelow.c (the_core_target): Delete.
4549         (core_file_command): Moved from corefile.c.  Check exec_bfd
4550         instead of the_core_target.  Use target_detach instead of calling
4551         into the_core_target directly.
4552         (maybe_say_no_core_file_now): New.
4553         (core_target::detach): Use it.
4554         (_initialize_corelow): Remove references to the_core_target.
4555         * gdbcore.h (the_core_target): Delete.
4556
4557 2018-05-11  Tom Tromey  <tromey@redhat.com>
4558             Pedro Alves  <palves@redhat.com>
4559
4560         * corefile.c (core_bfd): Remove.
4561         * gdbcore.h (core_bfd): Now a macro.
4562         * progspace.h (struct program_space) <cbfd>: New field.
4563
4564 2018-05-11  Tom Tromey  <tom@tromey.com>
4565
4566         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
4567         gdb::def_vector.
4568
4569 2018-05-10  Tom Tromey  <tom@tromey.com>
4570
4571         * configure: Rebuild.
4572         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
4573
4574 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
4575
4576         PR server/23158:
4577         * regformats/regdat.sh: Adjust script, following the addition
4578         of the new expedite_regs parameter to init_target_desc.
4579
4580 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
4581     
4582         PR gdb/23127
4583         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
4584         set_gdbarch_significant_addr_bit.
4585         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
4586         set_gdbarch_significant_addr_bit.
4587         * utils.c (address_significant): Update to sign extend addr.
4588
4589 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
4590
4591         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
4592         (xtensa_linux_init_abi): Limit tdep->num_regs by
4593         tdep->num_nopriv_regs.
4594         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
4595         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
4596         not initialized.
4597
4598 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
4599
4600         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
4601
4602 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
4603
4604         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
4605         (I387_MXCSR_INIT_VAL): New constant.
4606         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
4607         buffer if it was supplied by the inferior.
4608         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
4609         (i387_xsave_get_clear_bv): New function.
4610         (i387_supply_xsave): Only read x87 control registers from the
4611         xsave buffer if the feature is enabled, and the state will have
4612         been written, otherwise, provide a suitable default.
4613         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
4614         including x87 control registers.  Update control registers if they
4615         have changed from the default value, and mark features as enabled
4616         as required.
4617         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
4618
4619 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
4620
4621         * spu-tdep.c (info_spu_event_command): Fix output formatting.
4622
4623 2018-05-07  Tom Tromey  <tom@tromey.com>
4624
4625         * configure: Rebuild.
4626         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
4627
4628 2018-05-07  Tom Tromey  <tom@tromey.com>
4629
4630         PR tdep/20362:
4631         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
4632         bit.  Use correct value for VDIV.
4633
4634 2018-05-04  Tom Tromey  <tom@tromey.com>
4635
4636         * configure: Rebuild.
4637         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
4638
4639 2018-05-04  Tom Tromey  <tom@tromey.com>
4640
4641         * linux-record.c (record_linux_system_call) <case
4642         RECORD_SYS_RECVFROM>: Add "break".
4643
4644 2018-05-04  Tom Tromey  <tom@tromey.com>
4645
4646         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
4647         Add missing "break".
4648         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
4649         Add missing "break".
4650
4651 2018-05-04  Tom Tromey  <tom@tromey.com>
4652
4653         * rs6000-tdep.c (ppc_process_record_op4)
4654         (ppc_process_record_op63): Add fall-through comment.
4655
4656 2018-05-04  Tom Tromey  <tom@tromey.com>
4657
4658         * i386-tdep.c (i386_process_record): Add fall-through comment.
4659
4660 2018-05-04  Tom Tromey  <tom@tromey.com>
4661
4662         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
4663         comment.
4664
4665 2018-05-04  Tom Tromey  <tom@tromey.com>
4666
4667         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
4668         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
4669         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
4670         comment.
4671         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
4672         comment.
4673         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
4674         comment.
4675
4676 2018-05-04  Tom Tromey  <tom@tromey.com>
4677
4678         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
4679
4680 2018-05-04  Tom Tromey  <tom@tromey.com>
4681
4682         * s390-tdep.c (s390_process_record): Fix fall-through comments.
4683         * xcoffread.c (scan_xcoff_symtab): Move comment later.
4684         * symfile.c (section_is_mapped): Fix fall-through comment.
4685         * stabsread.c (define_symbol, read_member_functions): Fix
4686         fall-through comment.
4687         * s390-linux-tdep.c (s390_process_record): Fix fall-through
4688         comment.
4689         * remote.c (remote_wait_as): Fix fall-through comment.
4690         * p-exp.y (yylex): Fix fall-through comment.
4691         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
4692         comment.
4693         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
4694         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
4695         * jv-exp.y (yylex): Fix fall-through comment.
4696         * go-exp.y (lex_one_token): Fix fall-through comment.
4697         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
4698         fall-through comment.
4699         * f-exp.y (yylex): Fix fall-through comment.
4700         * dwarf2read.c (process_die): Fix fall-through comments.
4701         * dbxread.c (process_one_symbol): Fix fall-through comment.
4702         * d-exp.y (lex_one_token): Fix fall-through comment.
4703         * cp-name-parser.y (yylex): Fix fall-through comment.
4704         * coffread.c (coff_symtab_read): Fix fall-through comment.
4705         * c-exp.y (lex_one_token): Fix fall-through comment.
4706         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
4707         comment.
4708         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
4709         comment.
4710
4711 2018-05-04  Tom Tromey  <tom@tromey.com>
4712
4713         PR python/22730:
4714         * NEWS: Mention gdb.execute change.
4715         * gdbcmd.h (execute_control_command): Don't declare.
4716         * python/python.c (execute_gdb_command): Use read_command_lines_1,
4717         execute_control_commands, execute_control_commands_to_string.
4718         * cli/cli-script.h (execute_control_commands)
4719         (execute_control_commands_to_string): Declare.
4720         (execute_control_command): Add from_tty parameter.
4721         * cli/cli-script.c (execute_control_commands)
4722         (execute_control_commands_to_string): New functions.
4723         (execute_user_command): Use execute_control_commands.
4724         (execute_control_command_1): Add "from_tty" parameter.  Update.
4725         (execute_control_command): Likewise.
4726
4727 2018-05-04  Tom Tromey  <tom@tromey.com>
4728
4729         PR python/22731:
4730         * NEWS: Mention that breakpoint commands are writable.
4731         * python/py-breakpoint.c (bppy_set_commands): New function.
4732         (breakpoint_object_getset) <"commands">: Use it.
4733
4734 2018-05-04  Tom Tromey  <tom@tromey.com>
4735
4736         * tracepoint.c (actions_command): Update.
4737         * mi/mi-cmd-break.c (mi_command_line_array)
4738         (mi_command_line_array_cnt, mi_command_line_array_ptr)
4739         (mi_read_next_line): Remove.
4740         (mi_cmd_break_commands): Update.
4741         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
4742         function_view.
4743         * cli/cli-script.c (get_command_line): Update.
4744         (process_next_line): Use function_view.  Constify.
4745         (recurse_read_control_structure, read_command_lines)
4746         (read_command_lines_1): Change argument types to function_view.
4747         (do_define_command, document_command): Update.
4748         * breakpoint.h (check_tracepoint_command): Don't declare.
4749         * breakpoint.c (check_tracepoint_command): Remove.
4750         (commands_command_1, create_tracepoint_from_upload): Update.
4751
4752 2018-05-04  Tom Tromey  <tom@tromey.com>
4753
4754         PR gdb/11750:
4755         * cli/cli-script.h (enum command_control_type) <define_control>:
4756         New constant.
4757         * cli/cli-script.c (multi_line_command_p): Handle define_control.
4758         (build_command_line, execute_control_command_1)
4759         (process_next_line): Likewise.
4760         (do_define_command): New function, extracted from define_command.
4761         (define_command): Use it.
4762
4763 2018-05-04  Tom Tromey  <tom@tromey.com>
4764
4765         * tracepoint.c (actions_command): Update.
4766         * cli/cli-script.h (read_command_lines): Update.
4767         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
4768         (MAX_TMPBUF): Remove define.
4769         (define_command): Use string_printf.
4770         (document_command): Likewise.
4771         * breakpoint.c (commands_command_1): Update.
4772
4773 2018-05-04  Tom Tromey  <tom@tromey.com>
4774
4775         * top.c (execute_command): Update.
4776         * cli/cli-script.h (print_command_lines): Now varargs.
4777         * cli/cli-script.c (print_command_lines): Now varargs.
4778         (execute_control_command_1) <case while_control, case if_control>:
4779         Update.
4780
4781 2018-05-04  Tom Tromey  <tom@tromey.com>
4782
4783         * tracepoint.c (all_tracepoint_actions): Rename from
4784         all_tracepoint_actions_and_cleanup.  Change return type.
4785         (actions_command, encode_actions_1, encode_actions)
4786         (trace_dump_actions, tdump_command): Update.
4787         * remote.c (remote_download_command_source): Update.
4788         * python/python.c (gdbpy_eval_from_control_command)
4789         (python_command, python_interactive_command): Update.
4790         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
4791         * guile/guile.c (guile_command)
4792         (gdbscm_eval_from_control_command, guile_command): Update.
4793         * compile/compile.c (compile_code_command)
4794         (compile_print_command, compile_to_object): Update.
4795         * cli/cli-script.h (struct command_lines_deleter): New.
4796         (counted_command_line): New typedef.
4797         (struct command_line): Add constructor, destructor.
4798         <body_list>: Remove.
4799         <body_list_0, body_list_1>: New members.
4800         (command_line_up): Remove typedef.
4801         (read_command_lines, read_command_lines_1, get_command_line):
4802         Update.
4803         (copy_command_lines): Don't declare.
4804         * cli/cli-script.c (build_command_line): Use "new".
4805         (get_command_line): Return counted_command_line.
4806         (print_command_lines, execute_user_command)
4807         (execute_control_command_1, while_command, if_command): Update.
4808         (realloc_body_list): Remove.
4809         (process_next_line, recurse_read_control_structure): Update.
4810         (read_command_lines, read_command_lines_1): Return counted_command_line.
4811         (free_command_lines): Use "delete".
4812         (copy_command_lines): Remove.
4813         (define_command, document_command, show_user_1): Update.
4814         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
4815         a counted_command_line.
4816         * breakpoint.h (counted_command_line): Remove typedef.
4817         (breakpoint_set_commands): Update.
4818         * breakpoint.c (check_no_tracepoint_commands)
4819         (validate_commands_for_breakpoint): Update.
4820         (breakpoint_set_commands): Change commands to be a
4821         counted_command_line.
4822         (commands_command_1, update_dprintf_command_list)
4823         (create_tracepoint_from_upload): Update.
4824
4825 2018-05-04  Tom Tromey  <tom@tromey.com>
4826
4827         * cli/cli-decode.h (cmd_list_element): New constructor.
4828         (~cmd_list_element): New destructor.
4829         (struct cmd_list_element): Add initializers.
4830         * cli/cli-decode.c (do_add_cmd): Use "new".
4831         (delete_cmd): Use "delete".
4832
4833 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
4834             Pedro Alves <palves@redhat.com>
4835
4836         PR breakpoints/19806 and support for PR external/20207.
4837         * NEWS: Mention Aarch64 watchpoint improvements.
4838         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
4839         watchpoints and PR external/20207 watchpoints.
4840         * nat/aarch64-linux-hw-point.c
4841         (kernel_supports_any_contiguous_range): New.
4842         (aarch64_watchpoint_offset): New.
4843         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
4844         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
4845         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
4846         (aarch64_align_watchpoint): New parameters aligned_offset_p and
4847         next_addr_orig_p.  Support PR external/20207 watchpoints.
4848         (aarch64_downgrade_regs): New.
4849         (aarch64_dr_state_insert_one_point): New parameters offset and
4850         addr_orig.
4851         (aarch64_dr_state_remove_one_point): Likewise.
4852         (aarch64_handle_breakpoint): Update caller.
4853         (aarch64_handle_aligned_watchpoint): Likewise.
4854         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
4855         aligned_offset.
4856         (aarch64_linux_set_debug_regs): Remove const from state.  Call
4857         aarch64_downgrade_regs.
4858         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
4859         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
4860         (DR_CONTROL_MASK): ... this.
4861         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
4862         (unsigned int aarch64_watchpoint_offset): New prototype.
4863         (aarch64_linux_set_debug_regs): Remove const from state.
4864         * utils.c (align_up, align_down): Move to ...
4865         * common/common-utils.c (align_up, align_down): ... here.
4866         * utils.h (align_up, align_down): Move to ...
4867         * common/common-utils.h (align_up, align_down): ... here.
4868
4869 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
4870
4871         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
4872         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
4873         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
4874         Re-implement to match the ABI as summarized in GCC's
4875         gcc/config/sparc/sparc.c.  All callers updated.
4876         (sparc32_store_arguments): Remove assertion.
4877
4878 2018-05-04  Tom Tromey  <tom@tromey.com>
4879
4880         * printcmd.c: Don't include tui.h.
4881         (decode_format): Use skip_spaces.
4882
4883 2018-05-04  Tom Tromey  <tom@tromey.com>
4884
4885         PR gdb/22619:
4886         * printcmd.c (last_count): New global.
4887         (x_command): Use saved count when repeating.
4888
4889 2018-05-04  Tom Tromey  <tom@tromey.com>
4890
4891         * nto-procfs.c (do_closedir_cleanup): Remove.
4892         (procfs_pidlist): Use gdb_dir_up.
4893         * procfs.c (do_closedir_cleanup): Remove.
4894         (proc_update_threads): Use gdb_dir_up.
4895         * common/filestuff.h (struct gdb_dir_deleter): New.
4896         (gdb_dir_up): New typedef.
4897
4898 2018-05-04  Tom Tromey  <tom@tromey.com>
4899
4900         * ada-lang.c (print_mention_exception): Use std::string.
4901
4902 2018-05-04  Tom Tromey  <tom@tromey.com>
4903
4904         * ada-lang.c (create_excep_cond_exprs): Update.
4905         (ada_exception_catchpoint_cond_string): Use std::string.
4906
4907 2018-05-04  Tom Tromey  <tom@tromey.com>
4908
4909         * ada-lang.c (xget_renaming_scope): Return std::string.
4910         (old_renaming_is_invisible): Update.
4911
4912 2018-05-04  Tom Tromey  <tom@tromey.com>
4913
4914         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
4915         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
4916
4917 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
4918
4919         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
4920
4921 2018-05-04  Tom Tromey  <tom@tromey.com>
4922
4923         * remote.c (remote_query_supported_append): Change type.
4924         (remote_check_symbols): Update.
4925
4926 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
4927
4928         PR gdb/11420
4929         * configure.ac: Prepend libpython.
4930         * python/python-config.py: Likewise.
4931         * configure: Regenerate.
4932
4933 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
4934
4935         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
4936
4937 2018-05-03  Pedro Alves  <palves@redhat.com>
4938
4939         * s390-linux-nat.c
4940         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
4941         override.  Write 'true' instead of '1'.
4942         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
4943         declaration.
4944
4945 2018-05-02  Pedro Alves  <palves@redhat.com>
4946
4947         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
4948         add_inf_child_target.
4949         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
4950         add_inf_child_target.
4951         * aix-thread.c (aix_thread_target_info): New.
4952         (aix_thread_target) <shortname, longname, doc>: Delete.
4953         <info>: New.
4954         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
4955         add_inf_child_target.
4956         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
4957         add_inf_child_target.
4958         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
4959         add_inf_child_target.
4960         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
4961         add_inf_child_target.
4962         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
4963         add_inf_child_target.
4964         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
4965         add_inf_child_target.
4966         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
4967         add_inf_child_target.
4968         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
4969         add_inf_child_target.
4970         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
4971         add_inf_child_target.
4972         * bfd-target.c (target_bfd_target_info): New.
4973         (target_bfd) <shortname, longname, doc>: Delete.
4974         <info>: New.
4975         * bsd-kvm.c (bsd_kvm_target_info): New.
4976         (bsd_kvm_target) <shortname, longname, doc>: Delete.
4977         <info>: New.
4978         (bsd_kvm_target::open): Rename to ...
4979         (bsd_kvm_target_open): ... this.  Adjust.
4980         * bsd-uthread.c (bsd_uthread_target_info): New.
4981         (bsd_uthread_target) <shortname, longname, doc>: Delete.
4982         <info>: New.
4983         * corefile.c (core_file_command): Adjust.
4984         * corelow.c (core_target_info): New.
4985         (core_target) <shortname, longname, doc>: Delete.
4986         <info>: New.
4987         (core_target::open): Rename to ...
4988         (core_target_open): ... this.  Adjust.
4989         * ctf.c (ctf_target_info): New.
4990         (ctf_target) <shortname, longname, doc>: Delete.
4991         <info>: New.
4992         (ctf_target::open): Rename to ...
4993         (ctf_target_open): ... this.
4994         (_initialize_ctf): Adjust.
4995         * exec.c (exec_target_info): New.
4996         (exec_target) <shortname, longname, doc>: Delete.
4997         <info>: New.
4998         (exec_target::open): Rename to ...
4999         (exec_target_open): ... this.
5000         * gdbcore.h (core_target_open): Declare.
5001         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
5002         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
5003         add_inf_child_target.
5004         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
5005         add_inf_child_target.
5006         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
5007         add_inf_child_target.
5008         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
5009         add_inf_child_target.
5010         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
5011         add_inf_child_target.
5012         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
5013         add_inf_child_target.
5014         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
5015         add_inf_child_target.
5016         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
5017         add_inf_child_target.
5018         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
5019         add_inf_child_target.
5020         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
5021         add_inf_child_target.
5022         * inf-child.c (inf_child_target_info): New.
5023         (inf_child_target::info): New.
5024         (inf_child_open_target): Remove 'target' parameter.  Use
5025         get_native_target instead.
5026         (inf_child_target::open): Delete.
5027         (add_inf_child_target): New.
5028         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
5029         Delete.
5030         <info>: New.
5031         (add_inf_child_target): Declare.
5032         (inf_child_open_target): Declare.
5033         * linux-thread-db.c (thread_db_target_info): New.
5034         (thread_db_target) <shortname, longname, doc>: Delete.
5035         <info>: New.
5036         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
5037         add_inf_child_target.
5038         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
5039         add_inf_child_target.
5040         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
5041         add_inf_child_target.
5042         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5043         add_inf_child_target.
5044         * make-target-delegates (print_class): Adjust.
5045         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5046         add_inf_child_target.
5047         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5048         add_inf_child_target.
5049         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5050         add_inf_child_target.
5051         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5052         add_inf_child_target.
5053         * nto-procfs.c (nto_native_target_info): New.
5054         (nto_procfs_target_native) <shortname, longname, doc>:
5055         Delete.
5056         <info>: New.
5057         (nto_procfs_target_info): New.
5058         (nto_procfs_target_procfs) <shortname, longname, doc>:
5059         Delete.
5060         <info>: New.
5061         (init_procfs_targets): Adjust.
5062         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5063         add_inf_child_target.
5064         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5065         add_inf_child_target.
5066         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5067         add_inf_child_target.
5068         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5069         add_inf_child_target.
5070         * ravenscar-thread.c (ravenscar_target_info): New.
5071         (ravenscar_thread_target) <shortname, longname, doc>:
5072         Delete.
5073         <info>: New.
5074         * record-btrace.c (record_btrace_target_info):
5075         (record_btrace_target) <shortname, longname, doc>: Delete.
5076         <info>: New.
5077         (record_btrace_target::open): Rename to ...
5078         (record_btrace_target_open): ... this.  Adjust.
5079         * record-full.c (record_longname, record_doc): New.
5080         (record_full_base_target) <shortname, longname, doc>: Delete.
5081         <info>: New.
5082         (record_full_target_info): New.
5083         (record_full_target): <shortname>: Delete.
5084         <info>: New.
5085         (record_full_core_open_1, record_full_open_1): Update comments.
5086         (record_full_base_target::open): Rename to ...
5087         (record_full_open): ... this.
5088         (cmd_record_full_restore): Update.
5089         (_initialize_record_full): Update.
5090         * remote-sim.c (remote_sim_target_info): New.
5091         (gdbsim_target) <shortname, longname, doc>: Delete.
5092         <info>: New.
5093         (gdbsim_target::open): Rename to ...
5094         (gdbsim_target_open): ... this.
5095         (_initialize_remote_sim): Adjust.
5096         * remote.c (remote_doc): New.
5097         (remote_target_info): New.
5098         (remote_target) <shortname, longname, doc>: Delete.
5099         <info>: New.
5100         (extended_remote_target_info): New.
5101         (extended_remote_target) <shortname, longname, doc>: Delete.
5102         <info>: New.
5103         (remote_target::open_1): Make static.  Adjust.
5104         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5105         * s390-linux-nat.c (_initialize_s390_nat): Use
5106         add_inf_child_target.
5107         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5108         add_inf_child_target.
5109         * sol-thread.c (thread_db_target_info): New.
5110         (sol_thread_target) <shortname, longname, doc>: Delete.
5111         <info>: New.
5112         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5113         add_inf_child_target.
5114         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5115         add_inf_child_target.
5116         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5117         add_inf_child_target.
5118         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5119         add_inf_child_target.
5120         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5121         add_inf_child_target.
5122         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5123         add_inf_child_target.
5124         * spu-linux-nat.c (_initialize_spu_nat): Use
5125         add_inf_child_target.
5126         * spu-multiarch.c (spu_multiarch_target_info): New.
5127         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5128         <info>: New.
5129         * target-delegates.c: Regenerate.
5130         * target.c: Include <unordered_map>.
5131         (target_ops_p): Delete.
5132         (DEF_VEC_P(target_ops_p)): Delete.
5133         (target_factories): New.
5134         (test_target_info): New.
5135         (test_target_ops::info): New.
5136         (open_target): Adjust to use target_factories.
5137         (add_target_with_completer): Rename to ...
5138         (add_target): ... this.  Change prototype.  Register target_info
5139         and open callback in target_factories.  Register target_info in
5140         command context instead of target_ops.
5141         (add_target): Delete old implementation.
5142         (add_deprecated_target_alias): Change prototype.  Adjust.
5143         (the_native_target): New.
5144         (set_native_target, get_native_target): New.
5145         (find_default_run_target): Use the_native_target.
5146         (find_attach_target, find_run_target): Simplify.
5147         (target_ops::open): Delete.
5148         (dummy_target_info): New.
5149         (dummy_target::shortname, dummy_target::longname)
5150         (dummy_target::doc): Delete.
5151         (dummy_target::info): New.
5152         (debug_target::shortname, debug_target::longname)
5153         (debug_target::doc): Delete.
5154         (debug_target::info): New.
5155         * target.h (struct target_info): New.
5156         (target_ops::~target_ops): Add comment.
5157         (target_ops::info): New.
5158         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5159         longer virtual.  Implement in terms of target_info.
5160         (set_native_target, get_native_target): Declare.
5161         (target_open_ftype): New.
5162         (add_target, add_target_with_completer)
5163         (add_deprecated_target_alias): Change prototype.
5164         (test_target) <shortname, longname, doc>: Delete.
5165         <info>: New.
5166         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5167         add_inf_child_target.
5168         * tracefile-tfile.c (tfile_target_info): New.
5169         (tfile_target) <shortname, longname, doc>: Delete.
5170         <info>: New.
5171         (tfile_target::open): Rename to ...
5172         (tfile_target_open): ... this.
5173         (_initialize_tracefile_tfile): Adjust.
5174         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5175         add_inf_child_target.
5176         * windows-nat.c (_initialize_windows_nat): Use
5177         add_inf_child_target.
5178         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5179         add_inf_child_target.
5180
5181 2018-05-02  Pedro Alves  <palves@redhat.com>
5182
5183         * linux-nat.h (linux_nat_target) <low_new_thread,
5184         low_delete_thread, low_new_fork, low_forget_process,
5185         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5186         New virtual methods.
5187         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5188         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5189         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5190         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5191         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5192         Delete.
5193         * linux-fork.c (delete_fork): Adjust to call low method.
5194         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5195         (linux_nat_new_fork, linux_nat_forget_process_hook)
5196         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5197         (linux_nat_status_is_event):
5198         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5199         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5200         to call low method.
5201         (sigtrap_is_event): Rename to ...
5202         (linux_nat_target::low_status_is_event): ... this.
5203         (linux_nat_set_status_is_event): Delete.
5204         (save_stop_reason, linux_nat_wait_1)
5205         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5206         low methods.
5207         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5208         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5209         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5210         (linux_nat_set_prepare_to_resume): Delete.
5211         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5212         low virtual methods.
5213         * amd64-linux-nat.c: Likewise.
5214         * arm-linux-nat.c: Likewise.
5215         * i386-linux-nat.c: Likewise.
5216         * ia64-linux-nat.c: Likewise.
5217         * mips-linux-nat.c: Likewise.
5218         * ppc-linux-nat.c: Likewise.
5219         * s390-linux-nat.c: Likewise.
5220         * sparc64-linux-nat.c: Likewise.
5221         * x86-linux-nat.c: Likewise.
5222         * x86-linux-nat.h: Include "nat/x86-linux.h".
5223         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5224         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5225         Override methods.
5226
5227 2018-05-02  Pedro Alves  <palves@redhat.com>
5228
5229         * target.h (target_ops)
5230         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5231         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5232         stopped_by_watchpoint, have_continuable_watchpoint,
5233         stopped_data_address, watchpoint_addr_within_range,
5234         can_accel_watchpoint_condition, can_run, thread_alive,
5235         has_all_memory, has_memory, has_stack, has_registers,
5236         has_execution, can_async_p, is_async_p, supports_non_stop,
5237         always_non_stop_p, can_execute_reverse, supports_multi_process,
5238         supports_enable_disable_tracepoint,
5239         supports_disable_randomization, supports_string_tracing,
5240         supports_evaluation_of_breakpoint_conditions,
5241         can_run_breakpoint_commands, filesystem_is_local,
5242         can_download_tracepoint, get_trace_state_variable_value,
5243         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5244         record_is_replaying, record_will_replay,
5245         augmented_libraries_svr4_read>: Adjust to return bool.
5246         * aarch64-linux-nat.c: All implementations adjusted.
5247         * aix-thread.c: All implementations adjusted.
5248         * arm-linux-nat.c: All implementations adjusted.
5249         * breakpoint.c: All implementations adjusted.
5250         * bsd-kvm.c: All implementations adjusted.
5251         * bsd-uthread.c: All implementations adjusted.
5252         * corelow.c: All implementations adjusted.
5253         * ctf.c: All implementations adjusted.
5254         * darwin-nat.c: All implementations adjusted.
5255         * darwin-nat.h: All implementations adjusted.
5256         * exec.c: All implementations adjusted.
5257         * fbsd-nat.c: All implementations adjusted.
5258         * fbsd-nat.h: All implementations adjusted.
5259         * gnu-nat.c: All implementations adjusted.
5260         * gnu-nat.h: All implementations adjusted.
5261         * go32-nat.c: All implementations adjusted.
5262         * ia64-linux-nat.c: All implementations adjusted.
5263         * inf-child.c: All implementations adjusted.
5264         * inf-child.h: All implementations adjusted.
5265         * inf-ptrace.c: All implementations adjusted.
5266         * inf-ptrace.h: All implementations adjusted.
5267         * linux-nat.c: All implementations adjusted.
5268         * linux-nat.h: All implementations adjusted.
5269         * mips-linux-nat.c: All implementations adjusted.
5270         * nto-procfs.c: All implementations adjusted.
5271         * ppc-linux-nat.c: All implementations adjusted.
5272         * procfs.c: All implementations adjusted.
5273         * ravenscar-thread.c: All implementations adjusted.
5274         * record-btrace.c: All implementations adjusted.
5275         * record-full.c: All implementations adjusted.
5276         * remote-sim.c: All implementations adjusted.
5277         * remote.c: All implementations adjusted.
5278         * s390-linux-nat.c: All implementations adjusted.
5279         * sol-thread.c: All implementations adjusted.
5280         * spu-multiarch.c: All implementations adjusted.
5281         * target-delegates.c: All implementations adjusted.
5282         * target.c: All implementations adjusted.
5283         * target.h: All implementations adjusted.
5284         * tracefile-tfile.c: All implementations adjusted.
5285         * tracefile.c: All implementations adjusted.
5286         * tracefile.h: All implementations adjusted.
5287         * windows-nat.c: All implementations adjusted.
5288         * x86-linux-nat.h: All implementations adjusted.
5289         * x86-nat.h: All implementations adjusted.
5290
5291 2018-05-02  Pedro Alves  <palves@redhat.com>
5292
5293         * make-target-delegates (scan_target_h): Don't trim lines here.
5294         Replace sequences of tabs and/or whitespace with a single
5295         whitespace.
5296         (top level, parsing methods): Trim each line before processing it
5297         here.
5298
5299 2018-05-02  Pedro Alves  <palves@redhat.com>
5300             John Baldwin  <jhb@freebsd.org>
5301
5302         * target.h (enum strata) <debug_stratum>: New.
5303         (struct target_ops) <all delegation methods>: Replace by C++
5304         virtual methods, and drop "to_" prefix.  All references updated
5305         throughout.
5306         <to_shortname, to_longname, to_doc, to_data,
5307         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5308         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5309         virtual methods.  All references updated throughout.
5310         <can_attach, supports_terminal_ours, can_create_inferior,
5311         get_thread_control_capabilities, attach_no_wait>: New
5312         virtual methods.
5313         <insert_breakpoint, remove_breakpoint>: Now
5314         TARGET_DEFAULT_NORETURN methods.
5315         <info_proc>: Now returns bool.
5316         <to_magic>: Delete.
5317         (OPS_MAGIC): Delete.
5318         (current_target): Delete.  All references replaced by references
5319         to ...
5320         (target_stack): ... this.  New.
5321         (target_shortname, target_longname): Adjust.
5322         (target_can_run): Now a function declaration.
5323         (default_child_has_all_memory, default_child_has_memory)
5324         (default_child_has_stack, default_child_has_registers)
5325         (default_child_has_execution): Remove target_ops parameter.
5326         (complete_target_initialization): Delete.
5327         (memory_breakpoint_target): New template class.
5328         (test_target_ops): Refactor as a C++ class with virtual methods.
5329         * make-target-delegates (NAME_PART): Tighten.
5330         (POINTER_PART, CP_SYMBOL): New.
5331         (SIMPLE_RETURN_PART): Reimplement.
5332         (VEC_RETURN_PART): Expect less.
5333         (RETURN_PART, VIRTUAL_PART): New.
5334         (METHOD): Adjust to C++ virtual methods.
5335         (scan_target_h): Remove reference to C99.
5336         (dname): Output "target_ops::" prefix.
5337         (write_function_header): Adjust to output a C++ class method.
5338         (write_declaration): New.
5339         (write_delegator): Adjust to output a C++ class method.
5340         (tdname): Output "dummy_target::" prefix.
5341         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5342         method.
5343         (tdefault_names, debug_names): Delete.
5344         (return_types, tdefaults, styles, argtypes_array): New.
5345         (top level): All methods are delegators.
5346         (print_class): New.
5347         (top level): Print dummy_target and debug_target classes.
5348         * target-delegates.c: Regenerate.
5349         * target-debug.h (target_debug_print_enum_info_proc_what)
5350         (target_debug_print_thread_control_capabilities)
5351         (target_debug_print_thread_info_p): New.
5352         * target.c (dummy_target): Delete.
5353         (the_dummy_target, the_debug_target): New.
5354         (target_stack): Now extern.
5355         (set_targetdebug): Push/unpush debug target.
5356         (default_child_has_all_memory, default_child_has_memory)
5357         (default_child_has_stack, default_child_has_registers)
5358         (default_child_has_execution): Remove target_ops parameter.
5359         (complete_target_initialization): Delete.
5360         (add_target_with_completer): No longer call
5361         complete_target_initialization.
5362         (target_supports_terminal_ours): Use regular delegation.
5363         (update_current_target): Delete.
5364         (push_target): No longer check magic number.  Don't call
5365         update_current_target.
5366         (unpush_target): Don't call update_current_target.
5367         (target_is_pushed): No longer check magic number.
5368         (target_require_runnable): Skip for all stratums over
5369         process_stratum.
5370         (target_ops::info_proc): New.
5371         (target_info_proc): Use find_target_at and
5372         find_default_run_target.
5373         (target_supports_disable_randomization): Use regular delegation.
5374         (target_get_osdata): Use find_target_at.
5375         (target_ops::open, target_ops::close, target_ops::can_attach)
5376         (target_ops::attach, target_ops::can_create_inferior)
5377         (target_ops::create_inferior, target_ops::can_run)
5378         (target_can_run): New.
5379         (default_fileio_target): Use regular delegation.
5380         (target_ops::fileio_open, target_ops::fileio_pwrite)
5381         (target_ops::fileio_pread, target_ops::fileio_fstat)
5382         (target_ops::fileio_close, target_ops::fileio_unlink)
5383         (target_ops::fileio_readlink): New.
5384         (target_fileio_open_1, target_fileio_unlink)
5385         (target_fileio_readlink): Always call the target method.  Handle
5386         FILEIO_ENOSYS.
5387         (return_zero, return_zero_has_execution): Delete.
5388         (init_dummy_target): Delete.
5389         (dummy_target::dummy_target, dummy_target::shortname)
5390         (dummy_target::longname, dummy_target::doc)
5391         (debug_target::debug_target, debug_target::shortname)
5392         (debug_target::longname, debug_target::doc): New.
5393         (target_supports_delete_record): Use regular delegation.
5394         (setup_target_debug): Delete.
5395         (maintenance_print_target_stack): Skip debug_stratum.
5396         (initialize_targets): Instantiate the_dummy_target and
5397         the_debug_target.
5398         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5399         use target_stack.
5400         (target_auxv_search, fprint_target_auxv): Adjust.
5401         (info_auxv_command): Adjust to use target_stack.
5402         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5403         * exceptions.c (print_flush): Handle a NULL target_stack.
5404         * regcache.c (target_ops_no_register): Refactor as class with
5405         virtual methods.
5406
5407         * exec.c (exec_target): New class.
5408         (exec_ops): Now an exec_target.
5409         (exec_open, exec_close_1, exec_get_section_table)
5410         (exec_xfer_partial, exec_files_info, exec_has_memory)
5411         (exec_make_note_section): Refactor as exec_target methods.
5412         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5413         Delete.
5414         (exec_target::find_memory_regions): New.
5415         (_initialize_exec): Don't call init_exec_ops.
5416         * gdbcore.h (exec_file_clear): Delete.
5417
5418         * corefile.c (core_target): Delete.
5419         (core_file_command): Adjust.
5420         * corelow.c (core_target): New class.
5421         (the_core_target): New.
5422         (core_close): Remove target_ops parameter.
5423         (core_close_cleanup): Adjust.
5424         (core_target::close): New.
5425         (core_open, core_detach, get_core_registers, core_files_info)
5426         (core_xfer_partial, core_thread_alive, core_read_description)
5427         (core_pid_to_str, core_thread_name, core_has_memory)
5428         (core_has_stack, core_has_registers, core_info_proc): Rework as
5429         core_target methods.
5430         (ignore, core_remove_breakpoint, init_core_ops): Delete.
5431         (_initialize_corelow): Initialize the_core_target.
5432         * gdbcore.h (core_target): Delete.
5433         (the_core_target): New.
5434
5435         * ctf.c: (ctf_target): New class.
5436         (ctf_ops): Now a ctf_target.
5437         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
5438         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
5439         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
5440         methods.
5441         (init_ctf_ops): Delete.
5442         (_initialize_ctf): Don't call it.
5443         * tracefile-tfile.c (tfile_target): New class.
5444         (tfile_ops): Now a tfile_target.
5445         (tfile_open, tfile_close, tfile_files_info)
5446         (tfile_get_tracepoint_status, tfile_trace_find)
5447         (tfile_fetch_registers, tfile_xfer_partial)
5448         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
5449         Refactor as tfile_target methods.
5450         (tfile_xfer_partial_features): Remove target_ops parameter.
5451         (init_tfile_ops): Delete.
5452         (_initialize_tracefile_tfile): Don't call it.
5453         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
5454         (tracefile_has_stack, tracefile_has_registers)
5455         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
5456         tracefile_target methods.
5457         (init_tracefile_ops): Delete.
5458         (tracefile_target::tracefile_target): New.
5459         * tracefile.h: Include "target.h".
5460         (tracefile_target): New class.
5461         (init_tracefile_ops): Delete.
5462
5463         * spu-multiarch.c (spu_multiarch_target): New class.
5464         (spu_ops): Now a spu_multiarch_target.
5465         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
5466         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
5467         (spu_search_memory, spu_mourn_inferior): Refactor as
5468         spu_multiarch_target methods.
5469         (init_spu_ops): Delete.
5470         (_initialize_spu_multiarch): Remove references to init_spu_ops,
5471         complete_target_initialization.
5472
5473         * ravenscar-thread.c (ravenscar_thread_target): New class.
5474         (ravenscar_ops): Now a ravenscar_thread_target.
5475         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
5476         (ravenscar_thread_alive, ravenscar_pid_to_str)
5477         (ravenscar_fetch_registers, ravenscar_store_registers)
5478         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
5479         (ravenscar_stopped_by_hw_breakpoint)
5480         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
5481         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
5482         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
5483         methods.
5484         (init_ravenscar_thread_ops): Delete.
5485         (_initialize_ravenscar): Remove references to
5486         init_ravenscar_thread_ops and complete_target_initialization.
5487
5488         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
5489         (bsd_uthread_target): New class.
5490         (bsd_uthread_ops): Now a bsd_uthread_target.
5491         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
5492         (bsd_uthread_close, bsd_uthread_mourn_inferior)
5493         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
5494         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
5495         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
5496         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
5497         (bsd_uthread_target): Delete function.
5498         (_initialize_bsd_uthread): Remove reference to
5499         complete_target_initialization.
5500
5501         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
5502         (target_bfd): ... this new class.
5503         (target_bfd_xfer_partial, target_bfd_get_section_table)
5504         (target_bfd_close): Refactor as target_bfd methods.
5505         (target_bfd::~target_bfd): New.
5506         (target_bfd_reopen): Adjust.
5507         (target_bfd::close): New.
5508
5509         * record-btrace.c (record_btrace_target): New class.
5510         (record_btrace_ops): Now a record_btrace_target.
5511         (record_btrace_open, record_btrace_stop_recording)
5512         (record_btrace_disconnect, record_btrace_close)
5513         (record_btrace_async, record_btrace_info)
5514         (record_btrace_insn_history, record_btrace_insn_history_range)
5515         (record_btrace_insn_history_from, record_btrace_call_history)
5516         (record_btrace_call_history_range)
5517         (record_btrace_call_history_from, record_btrace_record_method)
5518         (record_btrace_is_replaying, record_btrace_will_replay)
5519         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
5520         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
5521         (record_btrace_store_registers, record_btrace_prepare_to_store)
5522         (record_btrace_to_get_unwinder)
5523         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
5524         (record_btrace_commit_resume, record_btrace_wait)
5525         (record_btrace_stop, record_btrace_can_execute_reverse)
5526         (record_btrace_stopped_by_sw_breakpoint)
5527         (record_btrace_supports_stopped_by_sw_breakpoint)
5528         (record_btrace_stopped_by_hw_breakpoint)
5529         (record_btrace_supports_stopped_by_hw_breakpoint)
5530         (record_btrace_update_thread_list, record_btrace_thread_alive)
5531         (record_btrace_goto_begin, record_btrace_goto_end)
5532         (record_btrace_goto, record_btrace_stop_replaying_all)
5533         (record_btrace_execution_direction)
5534         (record_btrace_prepare_to_generate_core)
5535         (record_btrace_done_generating_core): Refactor as
5536         record_btrace_target methods.
5537         (init_record_btrace_ops): Delete.
5538         (_initialize_record_btrace): Remove reference to
5539         init_record_btrace_ops.
5540         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
5541         the execution_direction global.
5542         (record_full_base_target, record_full_target)
5543         (record_full_core_target): New classes.
5544         (record_full_ops): Now a record_full_target.
5545         (record_full_core_ops): Now a record_full_core_target.
5546         (record_full_target::detach, record_full_target::disconnect)
5547         (record_full_core_target::disconnect)
5548         (record_full_target::mourn_inferior, record_full_target::kill):
5549         New.
5550         (record_full_open, record_full_close, record_full_async): Refactor
5551         as methods of the record_full_base_target class.
5552         (record_full_resume, record_full_commit_resume): Refactor
5553         as methods of the record_full_target class.
5554         (record_full_wait, record_full_stopped_by_watchpoint)
5555         (record_full_stopped_data_address)
5556         (record_full_stopped_by_sw_breakpoint)
5557         (record_full_supports_stopped_by_sw_breakpoint)
5558         (record_full_stopped_by_hw_breakpoint)
5559         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
5560         methods of the record_full_base_target class.
5561         (record_full_store_registers, record_full_xfer_partial)
5562         (record_full_insert_breakpoint, record_full_remove_breakpoint):
5563         Refactor as methods of the record_full_target class.
5564         (record_full_can_execute_reverse, record_full_get_bookmark)
5565         (record_full_goto_bookmark, record_full_execution_direction)
5566         (record_full_record_method, record_full_info, record_full_delete)
5567         (record_full_is_replaying, record_full_will_replay)
5568         (record_full_goto_begin, record_full_goto_end, record_full_goto)
5569         (record_full_stop_replaying): Refactor as methods of the
5570         record_full_base_target class.
5571         (record_full_core_resume, record_full_core_kill)
5572         (record_full_core_fetch_registers)
5573         (record_full_core_prepare_to_store)
5574         (record_full_core_store_registers, record_full_core_xfer_partial)
5575         (record_full_core_insert_breakpoint)
5576         (record_full_core_remove_breakpoint)
5577         (record_full_core_has_execution): Refactor
5578         as methods of the record_full_core_target class.
5579         (record_full_base_target::supports_delete_record): New.
5580         (init_record_full_ops): Delete.
5581         (init_record_full_core_ops): Delete.
5582         (record_full_save): Refactor as method of the
5583         record_full_base_target class.
5584         (_initialize_record_full): Remove references to
5585         init_record_full_ops and init_record_full_core_ops.
5586
5587         * remote.c (remote_target, extended_remote_target): New classes.
5588         (remote_ops): Now a remote_target.
5589         (extended_remote_ops): Now an extended_remote_target.
5590         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
5591         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
5592         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
5593         (remote_pass_signals, remote_set_syscall_catchpoint)
5594         (remote_program_signals, )
5595         (remote_thread_always_alive): Remove target_ops parameter.
5596         (remote_thread_alive, remote_thread_name)
5597         (remote_update_thread_list, remote_threads_extra_info)
5598         (remote_static_tracepoint_marker_at)
5599         (remote_static_tracepoint_markers_by_strid)
5600         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
5601         (remote_open): Refactor as methods of remote_target.
5602         (extended_remote_open, extended_remote_detach)
5603         (extended_remote_attach, extended_remote_post_attach):
5604         (extended_remote_supports_disable_randomization)
5605         (extended_remote_create_inferior): : Refactor as method of
5606         extended_remote_target.
5607         (remote_set_permissions, remote_open_1, remote_detach)
5608         (remote_follow_fork, remote_follow_exec, remote_disconnect)
5609         (remote_resume, remote_commit_resume, remote_stop)
5610         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
5611         (remote_terminal_ours, remote_wait, remote_fetch_registers)
5612         (remote_prepare_to_store, remote_store_registers)
5613         (remote_flash_erase, remote_flash_done, remote_files_info)
5614         (remote_kill, remote_mourn, remote_insert_breakpoint)
5615         (remote_remove_breakpoint, remote_insert_watchpoint)
5616         (remote_watchpoint_addr_within_range)
5617         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
5618         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
5619         (remote_supports_stopped_by_sw_breakpoint)
5620         (remote_stopped_by_hw_breakpoint)
5621         (remote_supports_stopped_by_hw_breakpoint)
5622         (remote_stopped_by_watchpoint, remote_stopped_data_address)
5623         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
5624         (remote_verify_memory): Refactor as methods of remote_target.
5625         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
5626         parameter.
5627         (remote_xfer_partial, remote_get_memory_xfer_limit)
5628         (remote_search_memory, remote_rcmd, remote_memory_map)
5629         (remote_pid_to_str, remote_get_thread_local_address)
5630         (remote_get_tib_address, remote_read_description): Refactor as
5631         methods of remote_target.
5632         (remote_target::fileio_open, remote_target::fileio_pwrite)
5633         (remote_target::fileio_pread, remote_target::fileio_close): New.
5634         (remote_hostio_readlink, remote_hostio_fstat)
5635         (remote_filesystem_is_local, remote_can_execute_reverse)
5636         (remote_supports_non_stop, remote_supports_disable_randomization)
5637         (remote_supports_multi_process, remote_supports_cond_breakpoints)
5638         (remote_supports_enable_disable_tracepoint)
5639         (remote_supports_string_tracing)
5640         (remote_can_run_breakpoint_commands, remote_trace_init)
5641         (remote_download_tracepoint, remote_can_download_tracepoint)
5642         (remote_download_trace_state_variable, remote_enable_tracepoint)
5643         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
5644         (remote_trace_start, remote_get_trace_status)
5645         (remote_get_tracepoint_status, remote_trace_stop)
5646         (remote_trace_find, remote_get_trace_state_variable_value)
5647         (remote_save_trace_data, remote_get_raw_trace_data)
5648         (remote_set_disconnected_tracing, remote_core_of_thread)
5649         (remote_set_circular_trace_buffer, remote_traceframe_info)
5650         (remote_get_min_fast_tracepoint_insn_len)
5651         (remote_set_trace_buffer_size, remote_set_trace_notes)
5652         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
5653         (remote_disable_btrace, remote_teardown_btrace)
5654         (remote_read_btrace, remote_btrace_conf)
5655         (remote_augmented_libraries_svr4_read, remote_load)
5656         (remote_pid_to_exec_file, remote_can_do_single_step)
5657         (remote_execution_direction, remote_thread_handle_to_thread_info):
5658         Refactor as methods of remote_target.
5659         (init_remote_ops, init_extended_remote_ops): Delete.
5660         (remote_can_async_p, remote_is_async_p, remote_async)
5661         (remote_thread_events, remote_upload_tracepoints)
5662         (remote_upload_trace_state_variables): Refactor as methods of
5663         remote_target.
5664         (_initialize_remote): Remove references to init_remote_ops and
5665         init_extended_remote_ops.
5666
5667         * remote-sim.c (gdbsim_target): New class.
5668         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
5669         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
5670         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
5671         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
5672         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
5673         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
5674         Refactor as methods of gdbsim_target.
5675         (gdbsim_ops): Now a gdbsim_target.
5676         (init_gdbsim_ops): Delete.
5677         (gdbsim_cntrl_c): Adjust.
5678         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
5679
5680         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
5681         (the_amd64_linux_nat_target): New.
5682         (amd64_linux_fetch_inferior_registers)
5683         (amd64_linux_store_inferior_registers): Refactor as methods of
5684         amd64_linux_nat_target.
5685         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
5686         * i386-linux-nat.c: Don't include "linux-nat.h".
5687         (i386_linux_nat_target): New class.
5688         (the_i386_linux_nat_target): New.
5689         (i386_linux_fetch_inferior_registers)
5690         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
5691         as methods of i386_linux_nat_target.
5692         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
5693         * inf-child.c (inf_child_ops): Delete.
5694         (inf_child_fetch_inferior_registers)
5695         (inf_child_store_inferior_registers): Delete.
5696         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
5697         methods of inf_child_target.
5698         (inf_child_target::supports_terminal_ours)
5699         (inf_child_target::terminal_init)
5700         (inf_child_target::terminal_inferior)
5701         (inf_child_target::terminal_ours_for_output)
5702         (inf_child_target::terminal_ours, inf_child_target::interrupt)
5703         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
5704         New.
5705         (inf_child_open, inf_child_disconnect, inf_child_close)
5706         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
5707         (inf_child_post_startup_inferior, inf_child_can_run)
5708         (inf_child_pid_to_exec_file): Refactor as methods of
5709         inf_child_target.
5710         (inf_child_follow_fork): Delete.
5711         (inf_child_target::can_create_inferior)
5712         (inf_child_target::can_attach): New.
5713         (inf_child_target::has_all_memory, inf_child_target::has_memory)
5714         (inf_child_target::has_stack, inf_child_target::has_registers)
5715         (inf_child_target::has_execution): New.
5716         (inf_child_fileio_open, inf_child_fileio_pwrite)
5717         (inf_child_fileio_pread, inf_child_fileio_fstat)
5718         (inf_child_fileio_close, inf_child_fileio_unlink)
5719         (inf_child_fileio_readlink, inf_child_use_agent)
5720         (inf_child_can_use_agent): Refactor as methods of
5721         inf_child_target.
5722         (return_zero, inf_child_target): Delete.
5723         (inf_child_target::inf_child_target): New.
5724         * inf-child.h: Include "target.h".
5725         (inf_child_target): Delete function prototype.
5726         (inf_child_target): New class.
5727         (inf_child_open_target, inf_child_mourn_inferior)
5728         (inf_child_maybe_unpush_target): Delete.
5729         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
5730         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
5731         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
5732         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
5733         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
5734         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
5735         (inf_ptrace_wait, inf_ptrace_xfer_partial)
5736         (inf_ptrace_thread_alive, inf_ptrace_files_info)
5737         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
5738         methods of inf_ptrace_target.
5739         (inf_ptrace_target): Delete function.
5740         * inf-ptrace.h: Include "inf-child.h".
5741         (inf_ptrace_target): Delete function declaration.
5742         (inf_ptrace_target): New class.
5743         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
5744         * linux-nat.c (linux_target): New.
5745         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
5746         (linux_nat_target::~linux_nat_target): New.
5747         (linux_child_post_attach, linux_child_post_startup_inferior)
5748         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
5749         (linux_child_remove_fork_catchpoint)
5750         (linux_child_insert_vfork_catchpoint)
5751         (linux_child_remove_vfork_catchpoint)
5752         (linux_child_insert_exec_catchpoint)
5753         (linux_child_remove_exec_catchpoint)
5754         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
5755         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
5756         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
5757         (linux_nat_stopped_data_address)
5758         (linux_nat_stopped_by_sw_breakpoint)
5759         (linux_nat_supports_stopped_by_sw_breakpoint)
5760         (linux_nat_stopped_by_hw_breakpoint)
5761         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
5762         (linux_nat_kill, linux_nat_mourn_inferior)
5763         (linux_nat_xfer_partial, linux_nat_thread_alive)
5764         (linux_nat_update_thread_list, linux_nat_pid_to_str)
5765         (linux_nat_thread_name, linux_child_pid_to_exec_file)
5766         (linux_child_static_tracepoint_markers_by_strid)
5767         (linux_nat_is_async_p, linux_nat_can_async_p)
5768         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
5769         (linux_nat_supports_multi_process)
5770         (linux_nat_supports_disable_randomization, linux_nat_async)
5771         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
5772         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
5773         (linux_nat_fileio_open, linux_nat_fileio_readlink)
5774         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
5775         methods of linux_nat_target.
5776         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
5777         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
5778         parameter.
5779         (check_stopped_by_watchpoint): Adjust.
5780         (linux_xfer_partial): Delete.
5781         (linux_target_install_ops, linux_target, linux_nat_add_target):
5782         Delete.
5783         (linux_nat_target::linux_nat_target): New.
5784         * linux-nat.h: Include "inf-ptrace.h".
5785         (linux_nat_target): New.
5786         (linux_target, linux_target_install_ops, linux_nat_add_target):
5787         Delete function declarations.
5788         (linux_target): Declare global.
5789         * linux-thread-db.c (thread_db_target): New.
5790         (thread_db_target::thread_db_target): New.
5791         (thread_db_ops): Delete.
5792         (the_thread_db_target): New.
5793         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
5794         (thread_db_update_thread_list, thread_db_pid_to_str)
5795         (thread_db_extra_thread_info)
5796         (thread_db_thread_handle_to_thread_info)
5797         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
5798         (thread_db_resume): Refactor as methods of thread_db_target.
5799         (init_thread_db_ops): Delete.
5800         (_initialize_thread_db): Remove reference to init_thread_db_ops.
5801         * x86-linux-nat.c: Don't include "linux-nat.h".
5802         (super_post_startup_inferior): Delete.
5803         (x86_linux_nat_target::~x86_linux_nat_target): New.
5804         (x86_linux_child_post_startup_inferior)
5805         (x86_linux_read_description, x86_linux_enable_btrace)
5806         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
5807         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
5808         methods of x86_linux_nat_target.
5809         (x86_linux_create_target): Delete.  Bits folded ...
5810         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
5811         pointer.
5812         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
5813         (x86_linux_nat_target): New class.
5814         (x86_linux_create_target): Delete.
5815         (x86_linux_add_target): Now takes a linux_nat_target pointer.
5816         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
5817         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
5818         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
5819         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
5820         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
5821         make extern.
5822         (x86_use_watchpoints): Delete.
5823         * x86-nat.h: Include "breakpoint.h" and "target.h".
5824         (x86_use_watchpoints): Delete.
5825         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
5826         (x86_stopped_by_watchpoint, x86_stopped_data_address)
5827         (x86_insert_watchpoint, x86_remove_watchpoint)
5828         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
5829         (x86_stopped_by_hw_breakpoint): New declarations.
5830         (x86_nat_target): New template class.
5831
5832         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
5833         (the_ppc_linux_nat_target): New.
5834         (ppc_linux_fetch_inferior_registers)
5835         (ppc_linux_can_use_hw_breakpoint)
5836         (ppc_linux_region_ok_for_hw_watchpoint)
5837         (ppc_linux_ranged_break_num_registers)
5838         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
5839         (ppc_linux_insert_mask_watchpoint)
5840         (ppc_linux_remove_mask_watchpoint)
5841         (ppc_linux_can_accel_watchpoint_condition)
5842         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
5843         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
5844         (ppc_linux_watchpoint_addr_within_range)
5845         (ppc_linux_masked_watch_num_registers)
5846         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
5847         (ppc_linux_read_description): Refactor as methods of
5848         ppc_linux_nat_target.
5849         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
5850
5851         * procfs.c (procfs_xfer_partial): Delete forward declaration.
5852         (procfs_target): New class.
5853         (the_procfs_target): New.
5854         (procfs_target): Delete function.
5855         (procfs_auxv_parse, procfs_attach, procfs_detach)
5856         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
5857         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
5858         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
5859         (procfs_create_inferior, procfs_update_thread_list)
5860         (procfs_thread_alive, procfs_pid_to_str)
5861         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
5862         (procfs_stopped_data_address, procfs_insert_watchpoint)
5863         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
5864         (proc_find_memory_regions, procfs_info_proc)
5865         (procfs_make_note_section): Refactor as methods of procfs_target.
5866         (_initialize_procfs): Adjust.
5867         * sol-thread.c (sol_thread_target): New class.
5868         (sol_thread_ops): Now a sol_thread_target.
5869         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
5870         (sol_thread_fetch_registers, sol_thread_store_registers)
5871         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
5872         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
5873         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
5874         (init_sol_thread_ops): Delete.
5875         (_initialize_sol_thread): Adjust.  Remove references to
5876         init_sol_thread_ops and complete_target_initialization.
5877
5878         * windows-nat.c (windows_nat_target): New class.
5879         (windows_fetch_inferior_registers)
5880         (windows_store_inferior_registers, windows_resume, windows_wait)
5881         (windows_attach, windows_detach, windows_pid_to_exec_file)
5882         (windows_files_info, windows_create_inferior)
5883         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
5884         (windows_close, windows_pid_to_str, windows_xfer_partial)
5885         (windows_get_tib_address, windows_get_ada_task_ptid)
5886         (windows_thread_name, windows_thread_alive): Refactor as
5887         windows_nat_target methods.
5888         (do_initial_windows_stuff): Adjust.
5889         (windows_target): Delete function.
5890         (_initialize_windows_nat): Adjust.
5891
5892         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
5893         (darwin_mourn_inferior, darwin_kill_inferior)
5894         (darwin_create_inferior, darwin_attach, darwin_detach)
5895         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
5896         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
5897         (darwin_supports_multi_process): Refactor as darwin_nat_target
5898         methods.
5899         (darwin_resume_to, darwin_files_info): Delete.
5900         (_initialize_darwin_inferior): Rename to ...
5901         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
5902         * darwin-nat.h: Include "inf-child.h".
5903         (darwin_nat_target): New class.
5904         (darwin_complete_target): Delete.
5905         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
5906         (darwin_target): New.
5907         (i386_darwin_fetch_inferior_registers)
5908         (i386_darwin_store_inferior_registers): Refactor as methods of
5909         darwin_nat_target.
5910         (darwin_complete_target): Delete, with ...
5911         (_initialize_i386_darwin_nat): ... bits factored out here.
5912
5913         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
5914         (the_alpha_linux_nat_target): New.
5915         (alpha_linux_register_u_offset): Refactor as
5916         alpha_linux_nat_target method.
5917         (_initialize_alpha_linux_nat): Adjust.
5918         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
5919         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
5920         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
5921         methods of linux_nat_trad_target.
5922         (linux_trad_target): Delete.
5923         * linux-nat-trad.h (linux_trad_target): Delete function.
5924         (linux_nat_trad_target): New class.
5925         * mips-linux-nat.c (mips_linux_nat_target): New class.
5926         (super_fetch_registers, super_store_registers, super_close):
5927         Delete.
5928         (the_mips_linux_nat_target): New.
5929         (mips64_linux_regsets_fetch_registers)
5930         (mips64_linux_regsets_store_registers)
5931         (mips64_linux_fetch_registers, mips64_linux_store_registers)
5932         (mips_linux_register_u_offset, mips_linux_read_description)
5933         (mips_linux_can_use_hw_breakpoint)
5934         (mips_linux_stopped_by_watchpoint)
5935         (mips_linux_stopped_data_address)
5936         (mips_linux_region_ok_for_hw_watchpoint)
5937         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
5938         (mips_linux_close): Refactor as methods of mips_linux_nat.
5939         (_initialize_mips_linux_nat): Adjust to C++ification.
5940
5941         * aix-thread.c (aix_thread_target): New class.
5942         (aix_thread_ops): Now an aix_thread_target.
5943         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
5944         (aix_thread_fetch_registers, aix_thread_store_registers)
5945         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
5946         (aix_thread_thread_alive, aix_thread_pid_to_str)
5947         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
5948         Refactor as methods of aix_thread_target.
5949         (init_aix_thread_ops): Delete.
5950         (_initialize_aix_thread): Remove references to init_aix_thread_ops
5951         and complete_target_initialization.
5952         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
5953         (rs6000_nat_target): New class.
5954         (the_rs6000_nat_target): New.
5955         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
5956         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
5957         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
5958         (super_create_inferior): Delete.
5959         (_initialize_rs6000_nat): Adjust to C++ification.
5960
5961         * arm-linux-nat.c (arm_linux_nat_target): New class.
5962         (the_arm_linux_nat_target): New.
5963         (arm_linux_fetch_inferior_registers)
5964         (arm_linux_store_inferior_registers, arm_linux_read_description)
5965         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
5966         (arm_linux_remove_hw_breakpoint)
5967         (arm_linux_region_ok_for_hw_watchpoint)
5968         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
5969         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
5970         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
5971         arm_linux_nat_target.
5972         (_initialize_arm_linux_nat): Adjust to C++ification.
5973
5974         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
5975         (the_aarch64_linux_nat_target): New.
5976         (aarch64_linux_fetch_inferior_registers)
5977         (aarch64_linux_store_inferior_registers)
5978         (aarch64_linux_child_post_startup_inferior)
5979         (aarch64_linux_read_description)
5980         (aarch64_linux_can_use_hw_breakpoint)
5981         (aarch64_linux_insert_hw_breakpoint)
5982         (aarch64_linux_remove_hw_breakpoint)
5983         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
5984         (aarch64_linux_region_ok_for_hw_watchpoint)
5985         (aarch64_linux_stopped_data_address)
5986         (aarch64_linux_stopped_by_watchpoint)
5987         (aarch64_linux_watchpoint_addr_within_range)
5988         (aarch64_linux_can_do_single_step): Refactor as methods of
5989         aarch64_linux_nat_target.
5990         (super_post_startup_inferior): Delete.
5991         (_initialize_aarch64_linux_nat): Adjust to C++ification.
5992
5993         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
5994         (the_hppa_linux_nat_target): New.
5995         (hppa_linux_fetch_inferior_registers)
5996         (hppa_linux_store_inferior_registers): Refactor as methods of
5997         hppa_linux_nat_target.
5998         (_initialize_hppa_linux_nat): Adjust to C++ification.
5999
6000         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
6001         (the_ia64_linux_nat_target): New.
6002         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
6003         (ia64_linux_stopped_data_address)
6004         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
6005         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
6006         ia64_linux_nat_target methods.
6007         (super_xfer_partial): Delete.
6008         (_initialize_ia64_linux_nat): Adjust to C++ification.
6009
6010         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
6011         (the_m32r_linux_nat_target): New.
6012         (m32r_linux_fetch_inferior_registers)
6013         (m32r_linux_store_inferior_registers): Refactor as
6014         m32r_linux_nat_target methods.
6015         (_initialize_m32r_linux_nat): Adjust to C++ification.
6016
6017         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
6018         (the_m68k_linux_nat_target): New.
6019         (m68k_linux_fetch_inferior_registers)
6020         (m68k_linux_store_inferior_registers): Refactor as
6021         m68k_linux_nat_target methods.
6022         (_initialize_m68k_linux_nat): Adjust to C++ification.
6023
6024         * s390-linux-nat.c (s390_linux_nat_target): New class.
6025         (the_s390_linux_nat_target): New.
6026         (s390_linux_fetch_inferior_registers)
6027         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
6028         (s390_insert_watchpoint, s390_remove_watchpoint)
6029         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
6030         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
6031         (s390_auxv_parse, s390_read_description): Refactor as methods of
6032         s390_linux_nat_target.
6033         (_initialize_s390_nat): Adjust to C++ification.
6034
6035         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
6036         (the_sparc_linux_nat_target): New.
6037         (_initialize_sparc_linux_nat): Adjust to C++ification.
6038         * sparc-nat.c (sparc_fetch_inferior_registers)
6039         (sparc_store_inferior_registers): Remove target_ops parameter.
6040         * sparc-nat.h (sparc_fetch_inferior_registers)
6041         (sparc_store_inferior_registers): Remove target_ops parameter.
6042         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6043         (the_sparc64_linux_nat_target): New.
6044         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6045
6046         * spu-linux-nat.c (spu_linux_nat_target): New class.
6047         (the_spu_linux_nat_target): New.
6048         (spu_child_post_startup_inferior, spu_child_post_attach)
6049         (spu_child_wait, spu_fetch_inferior_registers)
6050         (spu_store_inferior_registers, spu_xfer_partial)
6051         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6052         methods.
6053         (_initialize_spu_nat): Adjust to C++ification.
6054
6055         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6056         (the_tilegx_linux_nat_target): New.
6057         (fetch_inferior_registers, store_inferior_registers):
6058         Refactor as methods.
6059         (_initialize_tile_linux_nat): Adjust to C++ification.
6060
6061         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6062         (the_xtensa_linux_nat_target): New.
6063         (xtensa_linux_fetch_inferior_registers)
6064         (xtensa_linux_store_inferior_registers): Refactor as
6065         xtensa_linux_nat_target methods.
6066         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6067
6068         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6069         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6070         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6071         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6072         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6073         (fbsd_stopped_by_sw_breakpoint)
6074         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6075         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6076         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6077         (fbsd_post_startup_inferior, fbsd_post_attach)
6078         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6079         (fbsd_set_syscall_catchpoint)
6080         (super_xfer_partial, super_resume, super_wait)
6081         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6082         (fbsd_handle_debug_trap): Remove target_ops parameter.
6083         (fbsd_nat_add_target): Delete.
6084         * fbsd-nat.h: Include "inf-ptrace.h".
6085         (fbsd_nat_add_target): Delete.
6086         (USE_SIGTRAP_SIGINFO): Define.
6087         (fbsd_nat_target): New class.
6088
6089         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6090         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6091         (amd64bsd_target): Delete.
6092         * amd64-bsd-nat.h: New file.
6093         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6094         "x86-bsd-nat.h".
6095         (amd64_fbsd_nat_target): New class.
6096         (the_amd64_fbsd_nat_target): New.
6097         (amd64fbsd_read_description): Refactor as method of
6098         amd64_fbsd_nat_target.
6099         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6100         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6101         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6102         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6103         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6104         (i386bsd_target): Delete.
6105         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6106         (i386bsd_fetch_inferior_registers)
6107         (i386bsd_store_inferior_registers): Declare.
6108         (i386_bsd_nat_target): New class.
6109         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6110         (the_i386_fbsd_nat_target): New.
6111         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6112         i386_fbsd_nat_target methods.
6113         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6114         (_initialize_i386fbsd_nat): Adjust to C++ification.
6115         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6116         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6117         (_initialize_x86_bsd_nat): Adjust to C++ification.
6118         * x86-bsd-nat.h: Include "x86-nat.h".
6119         (x86bsd_target): Delete declaration.
6120         (x86bsd_nat_target): New class.
6121
6122         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6123         (the_aarch64_fbsd_nat_target): New.
6124         (aarch64_fbsd_fetch_inferior_registers)
6125         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6126         aarch64_fbsd_nat_target.
6127         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6128         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6129         (the_alpha_bsd_nat_target): New.
6130         (alphabsd_fetch_inferior_registers)
6131         (alphabsd_store_inferior_registers): Refactor as
6132         alpha_bsd_nat_target methods.
6133         (_initialize_alphabsd_nat): Refactor as methods of
6134         alpha_bsd_nat_target.
6135         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6136         (the_amd64_nbsd_nat_target): New.
6137         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6138         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6139         (the_amd64_obsd_nat_target): New.
6140         (_initialize_amd64obsd_nat): Adjust to C++ification.
6141         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6142         (the_arm_fbsd_nat_target): New.
6143         (arm_fbsd_fetch_inferior_registers)
6144         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6145         (_initialize_arm_fbsd_nat): Refactor as methods of
6146         arm_fbsd_nat_target.
6147         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6148         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6149         (the_arm_netbsd_nat_target): New.
6150         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6151         arm_netbsd_nat_target.
6152         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6153         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6154         (the_hppa_nbsd_nat_target): New.
6155         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6156         hppa_nbsd_nat_target methods.
6157         (_initialize_hppanbsd_nat): Adjust to C++ification.
6158         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6159         (the_hppa_obsd_nat_target): New.
6160         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6161         methods of hppa_obsd_nat_target.
6162         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6163         add_target.
6164         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6165         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6166         add_target.
6167         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6168         (_initialize_i386obsd_nat): Use add_target.
6169         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6170         (the_m68k_bsd_nat_target): New.
6171         (m68kbsd_fetch_inferior_registers)
6172         (m68kbsd_store_inferior_registers): Refactor as methods of
6173         m68k_bsd_nat_target.
6174         (_initialize_m68kbsd_nat): Adjust to C++ification.
6175         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6176         (the_mips_fbsd_nat_target): New.
6177         (mips_fbsd_fetch_inferior_registers)
6178         (mips_fbsd_store_inferior_registers): Refactor as methods of
6179         mips_fbsd_nat_target.
6180         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6181         add_target.
6182         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6183         (the_mips_nbsd_nat_target): New.
6184         (mipsnbsd_fetch_inferior_registers)
6185         (mipsnbsd_store_inferior_registers): Refactor as methods of
6186         mips_nbsd_nat_target.
6187         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6188         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6189         (the_mips64_obsd_nat_target): New.
6190         (mips64obsd_fetch_inferior_registers)
6191         (mips64obsd_store_inferior_registers): Refactor as methods of
6192         mips64_obsd_nat_target.
6193         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6194         add_target.
6195         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6196         nbsd_nat_target.
6197         * nbsd-nat.h: Include "inf-ptrace.h".
6198         (nbsd_nat_target): New class.
6199         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6200         (obsd_wait): Refactor as methods of obsd_nat_target.
6201         (obsd_add_target): Delete.
6202         * obsd-nat.h: Include "inf-ptrace.h".
6203         (obsd_nat_target): New class.
6204         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6205         (the_ppc_fbsd_nat_target): New.
6206         (ppcfbsd_fetch_inferior_registers)
6207         (ppcfbsd_store_inferior_registers): Refactor as methods of
6208         ppc_fbsd_nat_target.
6209         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6210         add_target.
6211         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6212         (the_ppc_nbsd_nat_target): New.
6213         (ppcnbsd_fetch_inferior_registers)
6214         (ppcnbsd_store_inferior_registers): Refactor as methods of
6215         ppc_nbsd_nat_target.
6216         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6217         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6218         (the_ppc_obsd_nat_target): New.
6219         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6220         methods of ppc_obsd_nat_target.
6221         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6222         add_target.
6223         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6224         (the_sh_nbsd_nat_target): New.
6225         (shnbsd_fetch_inferior_registers)
6226         (shnbsd_store_inferior_registers): Refactor as methods of
6227         sh_nbsd_nat_target.
6228         (_initialize_shnbsd_nat): Adjust to C++ification.
6229         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6230         (inf_ptrace_xfer_partial): Delete.
6231         (sparc_xfer_partial, sparc_target): Delete.
6232         * sparc-nat.h (sparc_fetch_inferior_registers)
6233         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6234         (sparc_target): Delete function declaration.
6235         (sparc_target): New template class.
6236         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6237         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6238         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6239         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6240         add_target.
6241         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6242         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6243         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6244         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6245         add_target.
6246         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6247         (the_vax_bsd_nat_target): New.
6248         (vaxbsd_fetch_inferior_registers)
6249         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6250         methods.
6251         (_initialize_vaxbsd_nat): Adjust to C++ification.
6252
6253         * bsd-kvm.c (bsd_kvm_target): New class.
6254         (bsd_kvm_ops): Now a bsd_kvm_target.
6255         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6256         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6257         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6258         bsd_kvm_target.
6259         (bsd_kvm_return_one): Delete.
6260         (bsd_kvm_add_target): Adjust to C++ification.
6261
6262         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6263         (nto_procfs_target_procfs): New classes.
6264         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6265         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6266         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6267         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6268         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6269         (procfs_remove_hw_breakpoint, procfs_resume)
6270         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6271         (procfs_kill_inferior, procfs_store_registers)
6272         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6273         as methods of nto_procfs_target.
6274         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6275         (nto_native_ops): Delete.
6276         (procfs_open, procfs_native_open): Delete.
6277         (nto_native_ops): Now an nto_procfs_target_native.
6278         (init_procfs_targets): Adjust to C++ification.
6279         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6280         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6281         Refactor as methods of nto_procfs_target.
6282
6283         * go32-nat.c (go32_nat_target): New class.
6284         (the_go32_nat_target): New.
6285         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6286         (go32_store_registers, go32_xfer_partial, go32_files_info)
6287         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6288         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6289         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6290         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6291         (go32_target): Delete.
6292         (_initialize_go32_nat): Adjust to C++ification.
6293
6294         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6295         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6296         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6297         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6298         gnu_nat_target.
6299         (gnu_target): Delete.
6300         * gnu-nat.h (gnu_target): Delete.
6301         (gnu_nat_target): New class.
6302         * i386-gnu-nat.c (gnu_base_target): New.
6303         (i386_gnu_nat_target): New class.
6304         (the_i386_gnu_nat_target): New.
6305         (_initialize_i386gnu_nat): Adjust to C++ification.
6306
6307 2018-05-02  Pedro Alves  <palves@redhat.com>
6308
6309         * bfd-target.c (target_bfd_xclose): Rename to ...
6310         (target_bfd_close): ... this.
6311         (target_bfd_reopen): Adjust.
6312         * target.c (target_close): Remove references to to_xclose.
6313         * target.h (target_ops::to_xclose): Delete.
6314         (target_ops::to_close): Update comments.
6315
6316 2018-05-02  Pedro Alves  <palves@redhat.com>
6317
6318         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6319         "linux-nat.h".
6320         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6321         * inf-ptrace.c (inf_ptrace_register_u_offset)
6322         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6323         (inf_ptrace_store_register, inf_ptrace_store_registers)
6324         (inf_ptrace_trad_target): Move to ...
6325         * linux-nat-trad.c: ... this new file.
6326         * linux-nat-trad.h: New file.
6327         * linux-nat.c (linux_target_install_ops): Make extern.
6328         (linux_trad_target): Delete.
6329         * linux-nat.h (linux_trad_target): Delete declaration.
6330         (linux_target_install_ops): Declare.
6331         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6332         "linux-nat.h".
6333
6334 2018-05-02  Pedro Alves  <palves@redhat.com>
6335
6336         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6337         procfs_target/add_target here.
6338         * procfs.c (procfs_target): Make static.
6339         (_initialize_procfs): Call add_target here.
6340         * procfs.h (struct target_ops): Remove forward declaration.
6341         (procfs_target): Remove declaration.
6342         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6343
6344 2018-05-02  Pedro Alves  <palves@redhat.com>
6345
6346         * procfs.c (procfs_stopped_by_watchpoint)
6347         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6348         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6349         Forward declare.
6350         (procfs_use_watchpoints): Delete, move contents...
6351         (procfs_target): ... here.
6352         * procfs.h (procfs_use_watchpoints): Delete declaration.
6353         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6354         procfs_use_watchpoints.
6355         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6356         procfs_use_watchpoints.
6357
6358 2018-05-02  Tom Tromey  <tom@tromey.com>
6359
6360         PR python/20084:
6361         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6362         and var_zuinteger_unlimited.
6363         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6364         and PARAM_ZUINTEGER_UNLIMITED.
6365         (set_parameter_value): Handle var_zuinteger and
6366         var_zuinteger_unlimited.
6367         (add_setshow_generic): Likewise.
6368         (parmpy_init): Likewise.
6369
6370 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6371
6372         PR rust/23124
6373         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6374         pointer is not null before dereferencing it.
6375
6376 2018-04-30  Tom Tromey  <tom@tromey.com>
6377
6378         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6379         is_mi_like_p.
6380
6381 2018-04-30  Tom Tromey  <tom@tromey.com>
6382
6383         * breakpoint.c (mention): Remove use of is_mi_like_p.
6384         (print_mention_ranged_breakpoint): Likewise.
6385         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6386         of is_mi_like_p.
6387
6388 2018-04-30  Tom Tromey  <tom@tromey.com>
6389
6390         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6391
6392 2018-04-30  Tom Tromey  <tom@tromey.com>
6393
6394         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6395         (info_spu_event_command): Remove some uses of is_mi_like_p.
6396
6397 2018-04-30  Tom Tromey  <tom@tromey.com>
6398
6399         * python/py-framefilter.c (py_print_single_arg)
6400         (enumerate_locals, py_print_args, py_print_frame): Remove some
6401         uses of is_mi_like_p.
6402
6403 2018-04-30  Tom Tromey  <tom@tromey.com>
6404
6405         * ui-out.c: Update.
6406         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6407         * ui-out.h (ui_out::is_mi_like_p): Now const.
6408         (ui_out::do_is_mi_like_p): Now const.
6409         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6410
6411 2018-04-30  Tom Tromey  <tom@tromey.com>
6412
6413         * varobj.c (varobj_set_visualizer): Use new_reference.
6414         * python/python.c (gdbpy_decode_line): Use new_reference.
6415         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6416         new_reference.
6417
6418 2018-04-30  Tom Tromey  <tom@tromey.com>
6419
6420         * varobj.c (install_new_value): Use new_reference.
6421         * value.h (value_incref): Return void.  Swap intro comment with
6422         value_decref.
6423         * value.c (set_value_parent): Use new_reference.
6424         (value_incref): Return void.  Update intro comment.
6425         (release_value): Use new_reference.
6426         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
6427
6428 2018-04-30  Tom Tromey  <tom@tromey.com>
6429
6430         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
6431         * gdb_bfd.h (new_bfd_ref): Remove.
6432         (gdb_bfd_open): Update comment.
6433         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
6434         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
6435         (gdb_bfd_fdopenr): Use new_reference.
6436         * exec.c (exec_file_attach): Use new_reference.
6437
6438 2018-04-30  Tom Tromey  <tom@tromey.com>
6439
6440         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
6441         method.
6442
6443 2018-04-30  Tom Tromey  <tom@tromey.com>
6444
6445         * jit.c (jit_read_code_entry): Use type_align.
6446         * i386-tdep.c (i386_gdbarch_init): Don't call
6447         set_gdbarch_long_long_align_bit.
6448         * gdbarch.sh: Remove long_long_align_bit.
6449         * gdbarch.c, gdbarch.h: Rebuild.
6450         * arc-tdep.c (arc_type_align): New function.
6451         (arc_gdbarch_init): Use arc_type_align.  Don't call
6452         set_gdbarch_long_long_align_bit.
6453
6454 2018-04-30  Tom Tromey  <tom@tromey.com>
6455
6456         * rust-lang.c (rust_type_alignment): Remove.
6457         (rust_composite_type): Use type_align.
6458
6459 2018-04-30  Tom Tromey  <tom@tromey.com>
6460
6461         * NEWS: Mention Type.align.
6462         * python/py-type.c (typy_get_alignof): New function.
6463         (type_object_getset): Add "alignof".
6464
6465 2018-04-30  Tom Tromey  <tom@tromey.com>
6466
6467         PR exp/17095:
6468         * NEWS: Update.
6469         * std-operator.def (UNOP_ALIGNOF): New operator.
6470         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
6471         New.
6472         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
6473         * c-lang.c (c_op_print_tab): Add alignof.
6474         * c-exp.y (ALIGNOF): New token.
6475         (exp): Add "ALIGNOF" production.
6476         (ident_tokens): Add _Alignof and alignof.
6477
6478 2018-04-30  Tom Tromey  <tom@tromey.com>
6479
6480         * i386-tdep.c (i386_type_align): New function.
6481         (i386_gdbarch_init): Update.
6482         * gdbarch.sh (type_align): New method.
6483         * gdbarch.c, gdbarch.h: Rebuild.
6484         * arch-utils.h (default_type_align): Declare.
6485         * arch-utils.c (default_type_align): New function.
6486         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
6487         (struct type) <align_log2>: New field.
6488         <instance_flags>: Now a bitfield.
6489         (TYPE_RAW_ALIGN): New macro.
6490         (type_align, type_raw_align, set_type_align): Declare.
6491         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
6492         functions.
6493         * dwarf2read.c (quirk_rust_enum): Set type alignment.
6494         (get_alignment, maybe_set_alignment): New functions.
6495         (read_structure_type, read_enumeration_type, read_array_type)
6496         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
6497         (read_subrange_type, read_base_type): Set type alignment.
6498
6499 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
6500
6501         * dwarf2read.c (read_index_from_section): Use bool.
6502
6503 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
6504
6505         PR gdb/22950
6506         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
6507         with #ifdef.
6508
6509 2018-04-29  John Reiser  <jreiser@BitWagon.com>
6510
6511         PR build/22873
6512         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
6513         last step, and do it atomically.
6514
6515 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
6516
6517         * compile/compile-c-types.c (convert_int, convert_float):
6518         Update for C FE v1.
6519
6520 2018-04-27  Tom Tromey  <tom@tromey.com>
6521
6522         PR rust/22545:
6523         * rust-lang.c (rust_inclusive_range_type_p): New function.
6524         (rust_range): Handle inclusive ranges.
6525         (rust_compute_range): Likewise.
6526         * rust-exp.y (struct rust_op) <inclusive>: New field.
6527         (DOTDOTEQ): New constant.
6528         (range_expr): Add "..=" productions.
6529         (operator_tokens): Add "..=" token.
6530         (ast_range): Add "inclusive" parameter.
6531         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
6532         ranges.
6533         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
6534         bounds values.
6535         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
6536         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
6537         Update comments.
6538         * expprint.c (print_subexp_standard): Handle new bounds values.
6539         (dump_subexp_body_standard): Likewise.
6540
6541 2018-04-27  Tom Tromey  <tom@tromey.com>
6542
6543         * configure: Rebuild.
6544         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
6545         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
6546         "OVERRIDE".
6547         (class symbol_needs_eval_context): Likewise.
6548         * dwarf2read.c (mock_mapped_index::symbol_name_count)
6549         (mock_mapped_index::symbol_name_at): Use "override".  Remove
6550         "virtual".
6551         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
6552         "override".
6553         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
6554         * aarch64-tdep.c (instruction_reader::read): Use "override".
6555         (instruction_reader_test::read): Likewise.
6556         * arm-tdep.c (instruction_reader::read): Use "override".
6557         (instruction_reader_thumb::read): Likewise.
6558
6559 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
6560
6561         PR remote/9665
6562         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
6563         instead of remote_send.
6564         (remote_send): Remove.
6565
6566 2018-04-26  Pedro Alves  <palves@redhat.com>
6567
6568         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
6569         find_function_start_sal instead of find_pc_line.
6570
6571 2018-04-26  Pedro Alves  <palves@redhat.com>
6572
6573         * breakpoint.c (set_breakpoint_location_function): Handle
6574         mst_data_gnu_ifunc.
6575         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
6576         * elfread.c (elf_symtab_read): Give data symbols with
6577         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
6578         (elf_rel_plt_read): Update comment.
6579         * linespec.c (convert_linespec_to_sals): Handle
6580         mst_data_gnu_ifunc.
6581         (minsym_found): Handle mst_data_gnu_ifunc.
6582         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
6583         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
6584         * parse.c (find_minsym_type_and_address): Handle
6585         mst_data_gnu_ifunc.
6586         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
6587         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
6588         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
6589         comment.
6590         <mst_data_gnu_ifunc>: New enumerator.
6591
6592 2018-04-26  Pedro Alves  <palves@redhat.com>
6593
6594         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
6595         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
6596         'want_trampoline' parameter by a lookup_msym_prefer parameter.
6597         Handle it.
6598         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
6599         (lookup_minimal_symbol_by_pc): Adjust.
6600         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
6601         (lookup_solib_trampoline_symbol_by_pc): Adjust.
6602         * minsyms.h (lookup_msym_prefer): New enum.
6603         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6604         parameter by a lookup_msym_prefer parameter.
6605
6606 2018-04-26  Pedro Alves  <palves@redhat.com>
6607
6608         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
6609         ends in "@plt" instead of looking at the symbol's section.
6610
6611 2018-04-26  Pedro Alves  <palves@redhat.com>
6612
6613         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
6614         all references.
6615         (find_pc_partial_function_gnu_ifunc): Rename to ...
6616         (find_pc_partial_function): ... this, and remove references to
6617         'is_gnu_ifunc_p'.
6618         (find_pc_partial_function): Delete old implementation.
6619         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
6620
6621 2018-04-26  Pedro Alves  <palves@redhat.com>
6622
6623         * linespec.c (struct bound_minimal_symbol_search_key): New.
6624         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
6625         skip first line if we found a GNU ifunc minimal symbol by name.
6626         (compare_msymbols): Change parameters to work with a destructured
6627         lhs minsym.
6628         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
6629         functions.
6630
6631 2018-04-26  Pedro Alves  <palves@redhat.com>
6632
6633         * breakpoint.c (set_breakpoint_location_function): Don't resolve
6634         ifunc targets here.  Instead, if we have an ifunc minsym, use its
6635         address/name.
6636         (add_location_to_breakpoint): Store the minsym and the objfile in
6637         the breakpoint location.
6638         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
6639         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
6640         Record the minsym in the sal.
6641         * symtab.h (symtab_and_line) <msymbol>: New field.
6642
6643 2018-04-26  Pedro Alves  <palves@redhat.com>
6644
6645         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
6646         unless we actually resolved the ifunc.
6647
6648 2018-04-26  Pedro Alves  <palves@redhat.com>
6649
6650         * c-exp.y (variable production): Prefer ifunc minsyms over
6651         regular function symbols.
6652         * symtab.c (find_gnu_ifunc): New function.
6653         * minsyms.h (lookup_msym_prefer): New enum.
6654         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6655         parameter by a lookup_msym_prefer parameter.
6656         * symtab.h (find_gnu_ifunc): New declaration.
6657
6658 2018-04-26  Pedro Alves  <palves@redhat.com>
6659
6660         * blockframe.c (find_gnu_ifunc_target_type): New function.
6661         (find_function_type): New.
6662         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
6663         return a value with a memory address.
6664         (eval_call): For calls to GNU ifunc functions, try to find the
6665         type of the target function from the type that the resolver
6666         returns.
6667         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
6668         symbols.
6669         * infcall.c (find_function_return_type): Delete.
6670         (find_function_addr): Add 'function_type' parameter.  For calls to
6671         GNU ifunc functions, try to find the type of the target function
6672         from the type that the resolver returns, and return it via
6673         FUNCTION_TYPE.
6674         (call_function_by_hand_dummy): Adjust to use the function type
6675         returned by find_function_addr.
6676         (find_function_addr): Add 'function_type' parameter and move
6677         description here.
6678         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
6679         declarations.
6680
6681 2018-04-26  Pedro Alves  <palves@redhat.com>
6682
6683         * c-exp.y (variable production): Skip finding an alias for ifunc
6684         symbols.
6685
6686 2018-04-26  Pedro Alves  <palves@redhat.com>
6687
6688         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
6689
6690 2018-04-25  Pedro Alves  <palves@redhat.com>
6691
6692         * infcmd.c (kill_command): Print the pid as string, not the whole
6693         thread's ptid.  Add comment.  s/has been killed/killed/ in output
6694         message.
6695         * remote.c (remote_detach_1): Print the pid as string, not the
6696         whole thread's ptid.
6697
6698 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
6699             Sergio Durigan Junior  <sergiodj@redhat.com>
6700             Pedro Alves  <palves@redhat.com>
6701
6702         * infcmd.c (kill_command): Print message when inferior has
6703         been killed.
6704         * inferior.c (print_inferior_events): Remove 'static'.  Set as
6705         '1'.
6706         (add_inferior): Improve message printed when
6707         'print_inferior_events' is on.
6708         (exit_inferior): Remove message printed when
6709         'print_inferior_events' is on.
6710         (detach_inferior): Improve message printed when
6711         'print_inferior_events' is on.
6712         (initialize_inferiors): Use 'add_inferior_silent' to set
6713         'current_inferior_'.
6714         * inferior.h (print_inferior_events): Declare here as
6715         'extern'.
6716         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
6717         '[Detaching...]' messages when 'print_inferior_events' is on.
6718         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
6719         as prefix/suffix for messages.  Remove periods.  Fix erroneous
6720         'Detaching after fork from child...', replace it by '... from
6721         parent...'.
6722         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
6723         prefix/suffix when printing 'Detaching...' messages.  Print
6724         them when 'print_inferior_events' is on.
6725         * remote.c (remote_detach_1): Print message when detaching
6726         from inferior and '!is_fork_parent'.
6727
6728 2018-04-24  Tom Tromey  <tom@tromey.com>
6729
6730         * cli-out.h: Reindent.
6731
6732 2018-04-24  Tom Tromey  <tom@tromey.com>
6733
6734         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
6735         (cli_ui_out::do_field_string): Use fputs_filtered.
6736         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
6737
6738 2018-04-23  Tom Tromey  <tom@tromey.com>
6739
6740         * guile/scm-frame.c (gdbscm_frame_read_var): Use
6741         gdb::unique_xmalloc_ptr.
6742
6743 2018-04-23  Tom Tromey  <tom@tromey.com>
6744
6745         * configure: Rebuild.
6746
6747 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
6748
6749         PR gdb/23095
6750         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
6751         prepare_for_testing.  Set normal_bp to r_debug_state if target
6752         is bsd.
6753
6754 2018-04-21  Pedro Alves  <palves@redhat.com>
6755             Rajendra SY  <rajendra.sy@gmail.com>
6756
6757         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
6758         * remote.c (extended_remote_attach): In all-stop mode, mark the
6759         thread as executing.
6760
6761 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6762
6763         * thread.c (thread_apply_all_command): Fix comment.
6764         (thread_command): Fix comment.
6765
6766 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
6767
6768         * common/tdesc.h (tdesc_create_feature): Remove xml filename
6769         parameter.
6770         * features/aarch64-core.c (create_feature_aarch64_core):
6771         Regenerate.
6772         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
6773         Likewise.
6774         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
6775         Likewise.
6776         * features/i386/32bit-avx512.c
6777         (create_feature_i386_32bit_avx512): Likewise.
6778         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
6779         Likewise.
6780         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
6781         Likewise.
6782         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
6783         Likewise.
6784         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
6785         Likewise.
6786         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
6787         Likewise.
6788         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
6789         Likewise.
6790         * features/i386/64bit-avx512.c
6791         (create_feature_i386_64bit_avx512): Likewise.
6792         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
6793         Likewise.
6794         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
6795         Likewise.
6796         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
6797         Likewise.
6798         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
6799         Likewise.
6800         * features/i386/64bit-segments.c
6801         (create_feature_i386_64bit_segments): Likewise.
6802         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
6803         Likewise.
6804         * features/i386/x32-core.c
6805         (create_feature_i386_x32_core): Likewise.
6806         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
6807         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
6808         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
6809         * target-descriptions.c: In generated code, don't pass xml
6810         filename.
6811
6812 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6813
6814         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
6815         (print_xml_feature::visit_post): Likewise.
6816         (print_xml_feature::visit): Likewise.
6817         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
6818         (print_xml_feature): Add new class.
6819         * regformats/regdat.sh: Null xmltarget on feature targets.
6820         * target-descriptions.c (struct target_desc): Add xmltarget.
6821         (maintenance_check_tdesc_xml_convert): Add unittest function.
6822         (tdesc_get_features_xml): Add function to get xml.
6823         (maintenance_check_xml_descriptions): Test xml generation.
6824         * xml-tdesc.c (string_read_description_xml): Add function.
6825         * xml-tdesc.h (string_read_description_xml): Add declaration.
6826
6827 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6828
6829         * features/Makefile: Add feature marker to targets with new style
6830         target descriptions.
6831         * regformats/aarch64.dat: Regenerate.
6832         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
6833         * regformats/i386/amd64-avx-linux.dat: Likewise.
6834         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
6835         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
6836         * regformats/i386/amd64-linux.dat: Likewise.
6837         * regformats/i386/amd64-mpx-linux.dat: Likewise.
6838         * regformats/i386/amd64.dat: Likewise.
6839         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
6840         * regformats/i386/i386-avx-linux.dat: Likewise.
6841         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
6842         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
6843         * regformats/i386/i386-linux.dat: Likewise.
6844         * regformats/i386/i386-mmx-linux.dat: Likewise.
6845         * regformats/i386/i386-mpx-linux.dat: Likewise.
6846         * regformats/i386/i386.dat: Likewise.
6847         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
6848         * regformats/i386/x32-avx-linux.dat: Likewise.
6849         * regformats/i386/x32-linux.dat: Likewise.
6850         * regformats/tic6x-c62x-linux.dat: Likewise.
6851         * regformats/tic6x-c64x-linux.dat: Likewise.
6852         * regformats/tic6x-c64xp-linux.dat: Likewise.
6853         * regformats/regdat.sh: Parse feature marker.
6854
6855 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6856
6857         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
6858         (tdesc_osabi_name): Likewise.
6859         * target-descriptions.c (tdesc_architecture_name): Add new
6860         function.
6861         (tdesc_osabi_name): Likewise.
6862
6863 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6864
6865         * common/tdesc.c (tdesc_predefined_type): Move to here.
6866         (tdesc_named_type): Likewise.
6867         (tdesc_create_vector): Likewise.
6868         (tdesc_create_struct): Likewise.
6869         (tdesc_set_struct_size): Likewise.
6870         (tdesc_create_union): Likewise.
6871         (tdesc_create_flags): Likewise.
6872         (tdesc_create_enum): Likewise.
6873         (tdesc_add_field): Likewise.
6874         (tdesc_add_typed_bitfield): Likewise.
6875         (tdesc_add_bitfield): Likewise.
6876         (tdesc_add_flag): Likewise.
6877         (tdesc_add_enum_value): Likewise.
6878         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
6879         (struct tdesc_type_vector): Likewise.
6880         (struct tdesc_type_field): Likewise.
6881         (struct tdesc_type_with_fields): Likewise.
6882         (tdesc_create_enum): Add declaration.
6883         (tdesc_add_typed_bitfield): Likewise.
6884         (tdesc_add_enum_value): Likewise.
6885         * target-descriptions.c (tdesc_type_field): Move from here.
6886         (tdesc_type_builtin): Likewise.
6887         (tdesc_type_vector): Likewise.
6888         (tdesc_type_with_fields): Likewise.
6889         (tdesc_predefined_types): Likewise.
6890         (tdesc_named_type): Likewise.
6891         (tdesc_create_vector): Likewise.
6892         (tdesc_create_struct): Likewise.
6893         (tdesc_set_struct_size): Likewise.
6894         (tdesc_create_union): Likewise.
6895         (tdesc_create_flags): Likewise.
6896         (tdesc_create_enum): Likewise.
6897         (tdesc_add_field): Likewise.
6898         (tdesc_add_typed_bitfield): Likewise.
6899         (tdesc_add_bitfield): Likewise.
6900         (tdesc_add_flag): Likewise.
6901         (tdesc_add_enum_value): Likewise.
6902         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
6903         (tdesc_add_typed_bitfield): Likewise.
6904         (tdesc_add_enum_value): Likewise.
6905
6906 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6907
6908         * common/tdesc.c (tdesc_feature::accept): Move to here.
6909         (tdesc_feature::operator==): Likewise.
6910         (tdesc_create_reg): Likewise.
6911         * common/tdesc.h (tdesc_type_kind): Likewise.
6912         (struct tdesc_type): Likewise.
6913         (struct tdesc_feature): Likewise.
6914         * regformats/regdat.sh: Create a feature.
6915         * target-descriptions.c (tdesc_type_kind): Move from here.
6916         (tdesc_type): Likewise.
6917         (tdesc_type_up): Likewise.
6918         (tdesc_feature): Likewise.
6919         (tdesc_create_reg): Likewise.
6920
6921 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6922
6923         * Makefile.in: Add arch/tdesc.c
6924         * common/tdesc.c: New file.
6925         * common/tdesc.h (tdesc_element_visitor): Move to here.
6926         (tdesc_element): Likewise.
6927         (tdesc_reg): Likewise.
6928         (tdesc_reg_up): Likewise.
6929         * regformats/regdef.h (reg): Add offset to constructors.
6930         * target-descriptions.c (tdesc_element_visitor): Move from here.
6931         (tdesc_element): Likewise.
6932         (tdesc_reg): Likewise.
6933         (tdesc_reg_up): Likewise.
6934
6935 2018-04-17  Tom Tromey  <tom@tromey.com>
6936
6937         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
6938         discriminant field.
6939
6940 2018-04-17  Tom Tromey  <tom@tromey.com>
6941
6942         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
6943
6944 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6945
6946         * symtab.c (print_symbol_info): Skip printing filename and line
6947         number when `last' is NULL.
6948         (symtab_symbol_info): Use empty string instead of NULL for first
6949         invocation of print_symbol_info.
6950         (rbreak_command): Pass NULL to `last' parameter of
6951         print_symbol_info.
6952
6953 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
6954
6955         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
6956         instead of nullptr.
6957
6958 2018-04-16  Pedro Alves  <palves@redhat.com>
6959
6960         * MAINTAINERS (sh): Remove.
6961         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
6962         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
6963         (ALLDEPFILES): Remove sh64-tdep.c.
6964         * NEWS: Mentions that support for SH-5/SH64 is removed.
6965         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
6966         (sh*-*-openbsd*): Ditto.
6967         (sh64-*-elf*): Remove.
6968         (sh*): Remove.
6969         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
6970         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
6971         * sh-tdep.c: No longer include "sh64-tdep.h".
6972         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
6973         * sh64-tdep.c, sh64-tdep.h: Remove files.
6974
6975 2018-04-16  Pedro Alves  <palves@redhat.com>
6976
6977         * MAINTAINERS: Remove m88k.
6978         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
6979         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
6980         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
6981         * NEWS: Mention that support for m88k was removed.
6982         * configure.host (m88*-*-*): Remove support.
6983         * configure.nat (m88k-*-*): Remove support.
6984         * configure.tgt (m88*-*-openbsd*): Remove.
6985         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
6986
6987 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
6988
6989         * configure.tgt (x86_tobjs): New variable.
6990         (amd64_tobjs, i386_tobjs): Use it.
6991
6992 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6993
6994         * symtab.c (print_symbol_info): Precede the symbol definition by
6995         the line number when available.
6996         * NEWS: Advertise this enhancement.
6997
6998 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6999
7000         * NEWS (New options): announce set/show record btrace cpu.
7001         * btrace.c: Include record-btrace.h.
7002         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
7003         the vendor is unknown.
7004         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
7005         Maybe overwrite the btrace configuration's cpu.
7006         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
7007         (btrace_fetch): Add cpu parameter.  Update callers.
7008         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
7009         Maybe overwrite the btrace configuration's cpu.  Skip enabling
7010         errata workarounds if the vendor is unknown.
7011         * python/py-record-btrace.c: Include record-btrace.h.
7012         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
7013         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
7014         * record-btrace.c (record_btrace_cpu_state_kind): New.
7015         (record_btrace_cpu): New.
7016         (set_record_btrace_cpu_cmdlist): New.
7017         (record_btrace_get_cpu): New.
7018         (require_btrace_thread, record_btrace_info)
7019         (record_btrace_resume_thread): Call record_btrace_get_cpu.
7020         (cmd_set_record_btrace_cpu_none): New.
7021         (cmd_set_record_btrace_cpu_auto): New.
7022         (cmd_set_record_btrace_cpu): New.
7023         (cmd_show_record_btrace_cpu): New.
7024         (_initialize_record_btrace): Initialize set/show record btrace cpu
7025         commands.
7026         * record-btrace.h (record_btrace_get_cpu): New.
7027
7028 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7029
7030         * record.c (set_record_command): Fix typo in message.
7031
7032 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7033
7034         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
7035
7036 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7037
7038         * infrun.c (process_event_stop_test): Call
7039         gdbarch_in_indirect_branch_thunk.
7040         * gdbarch.sh (in_indirect_branch_thunk): New.
7041         * gdbarch.c: Regenerated.
7042         * gdbarch.h: Regenerated.
7043         * x86-tdep.h: New.
7044         * x86-tdep.c: New.
7045         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7046         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7047         (ALLDEPFILES): Add x86-tdep.c.
7048         * arch-utils.h (default_in_indirect_branch_thunk): New.
7049         * arch-utils.c (default_in_indirect_branch_thunk): New.
7050         * i386-tdep: Include x86-tdep.h.
7051         (i386_in_indirect_branch_thunk): New.
7052         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7053         function.
7054         * amd64-tdep: Include x86-tdep.h.
7055         (amd64_in_indirect_branch_thunk): New.
7056         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7057
7058 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7059
7060         PR gdb/23053
7061         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7062         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7063         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7064         regression.
7065
7066 2018-04-12  Tom Tromey  <tom@tromey.com>
7067
7068         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7069         (rust_evaluate_subexp): Likewise.
7070
7071 2018-04-12  Pedro Alves  <palves@redhat.com>
7072
7073         * procfs.c (procfs_detach): Make forward declaration's prototype
7074         match definition's protototype.
7075         (proc_get_LDT_entry): Remove stale do_cleanups call.
7076
7077 2018-04-12  Pedro Alves  <palves@redhat.com>
7078
7079         * target.h (target_ops::to_has_exited): Delete.
7080         (target_has_exited): Delete.
7081         * target-delegates.c: Regenerate.
7082
7083 2018-04-11  Pedro Alves  <palves@redhat.com>
7084
7085         * target.c (fileio_fh_t::t): Add comment.
7086         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7087         (target_fileio_close): Handle a NULL target.
7088         (invalidate_fileio_fh): New.
7089         (target_close): Call it.
7090         * remote.c (remote_hostio_send_command): No longer check whether
7091         remote_desc is open.
7092
7093 2018-04-11  Pedro Alves  <palves@redhat.com>
7094
7095         * target.c (fileio_fh_t): Make it a named struct instead of a
7096         typedef.
7097         (fileio_fh_t::is_closed): New method.
7098         (DEF_VEC_O (fileio_fh_t)): Remove.
7099         (fileio_fhandles): Now a std::vector.
7100         (is_closed_fileio_fh): Delete.
7101         (acquire_fileio_fd): Adjust.  Rename parameters.
7102         (release_fileio_fd): Adjust.
7103         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7104         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7105         (target_fileio_close): Adjust.
7106
7107 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7108
7109         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7110         index.
7111
7112 2018-04-10  Pedro Alves  <palves@redhat.com>
7113
7114         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7115         (scoped_finish_thread_state): New class.
7116         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7117         cleanup.
7118         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7119         (fetch_inferior_event, normal_stop): Likewise.
7120         * thread.c (finish_thread_state_cleanup): Delete.
7121
7122 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7123             Pedro Alves  <palves@redhat.com>
7124
7125         * value.c: Include "selftest.h" and "common/array-view.h".
7126         (struct range) <operator ==>: New.
7127         (test_ranges_contain): New.
7128         (check_ranges_vector): New.
7129         (test_insert_into_bit_range_vector): New.
7130         (_initialize_values): Register selftests.
7131         * common/array-view.h (operator==, operator!=): New.
7132
7133 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7134
7135         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7136         an iterator.
7137         * inline-frame.c: Include <algorithm>.
7138         (struct inline_state): Add constructor.
7139         (inline_state_s): Remove.
7140         (DEF_VEC_O(inline_state_s)): Remove.
7141         (inline_states): Change type to std::vector.
7142         (find_inline_frame_state): Adjust to std::vector.
7143         (allocate_inline_frame_state): Remove.
7144         (clear_inline_frame_state): Adjust to std::vector.
7145         (skip_inline_frames): Adjust to std::vector.
7146
7147 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7148
7149         * tracepoint.h (struct trace_state_variable): Add constructor.
7150         <name>: Change type to std::string.
7151         * tracepoint.c (tsv_s): Remove.
7152         (DEF_VEC_O(tsv_s)): Remove.
7153         (tvariables): Change to std::vector.
7154         (create_trace_state_variable): Adjust to std::vector.
7155         (find_trace_state_variable): Likewise.
7156         (find_trace_state_variable_by_number): Likewise.
7157         (delete_trace_state_variable): Likewise.
7158         (trace_variable_command): Adjust to std::string.
7159         (delete_trace_variable_command): Likewise.
7160         (tvariables_info_1): Adjust to std::vector.
7161         (save_trace_state_variables): Likewise.
7162         (start_tracing): Likewise.
7163         (merge_uploaded_trace_state_variables): Adjust to std::vector
7164         and std::string.
7165         * target.h (struct target_ops)
7166         <to_download_trace_state_variable>: Pass reference to
7167         trace_state_variable.
7168         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7169         * target-delegates.c: Re-generate.
7170         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7171         (mi_tsv_deleted): Likewise.
7172         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7173         * remote.c (remote_download_trace_state_variable): Change
7174         pointer to reference and adjust.
7175         * make-target-delegates (parse_argtypes): Handle references.
7176         (write_function_header): Likewise.
7177         (munge_type): Likewise.
7178
7179 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7180
7181         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7182         string_view-selftests.c.
7183         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7184         testsuite.
7185         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7186         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7187         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7188         * unittests/basic_string_view/element_access/char/1.cc:
7189         Likewise.
7190         * unittests/basic_string_view/element_access/char/empty.cc:
7191         Likewise.
7192         * unittests/basic_string_view/element_access/char/front_back.cc:
7193         Likewise.
7194         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7195         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7196         Likewise.
7197         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7198         Likewise.
7199         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7200         Likewise.
7201         * unittests/basic_string_view/operations/compare/char/1.cc:
7202         Likewise.
7203         * unittests/basic_string_view/operations/compare/char/13650.cc:
7204         Likewise.
7205         * unittests/basic_string_view/operations/copy/char/1.cc:
7206         Likewise.
7207         * unittests/basic_string_view/operations/data/char/1.cc:
7208         Likewise.
7209         * unittests/basic_string_view/operations/find/char/1.cc:
7210         Likewise.
7211         * unittests/basic_string_view/operations/find/char/2.cc:
7212         Likewise.
7213         * unittests/basic_string_view/operations/find/char/3.cc:
7214         Likewise.
7215         * unittests/basic_string_view/operations/find/char/4.cc:
7216         Likewise.
7217         * unittests/basic_string_view/operations/rfind/char/1.cc:
7218         Likewise.
7219         * unittests/basic_string_view/operations/rfind/char/2.cc:
7220         Likewise.
7221         * unittests/basic_string_view/operations/rfind/char/3.cc:
7222         Likewise.
7223         * unittests/basic_string_view/operations/substr/char/1.cc:
7224         Likewise.
7225         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7226         * unittests/string_view-selftests.c: New file.
7227
7228 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7229
7230         * unittests/basic_string_view/capacity/1.cc: New file.
7231         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7232         * unittests/basic_string_view/cons/char/1.cc: New file.
7233         * unittests/basic_string_view/cons/char/2.cc: New file.
7234         * unittests/basic_string_view/cons/char/3.cc: New file.
7235         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7236         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7237         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7238         * unittests/basic_string_view/element_access/char/1.cc: New file.
7239         * unittests/basic_string_view/element_access/char/2.cc: New file.
7240         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7241         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7242         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7243         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7244         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7245         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7246         * unittests/basic_string_view/include.cc: New file.
7247         * unittests/basic_string_view/inserters/char/1.cc: New file.
7248         * unittests/basic_string_view/inserters/char/2.cc: New file.
7249         * unittests/basic_string_view/inserters/char/3.cc: New file.
7250         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7251         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7252         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7253         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7254         * unittests/basic_string_view/literals/types.cc: New file.
7255         * unittests/basic_string_view/literals/values.cc: New file.
7256         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7257         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7258         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7259         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7260         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7261         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7262         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7263         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7264         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7265         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7266         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7267         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7268         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7269         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7270         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7271         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7272         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7273         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7274         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7275         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7276         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7277         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7278         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7279         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7280         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7281         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7282         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7283         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7284         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7285         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7286         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7287         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7288         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7289         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7290         * unittests/basic_string_view/operators/char/2.cc: New file.
7291         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7292         * unittests/basic_string_view/range_access/char/1.cc: New file.
7293         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7294         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7295         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7296         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7297         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7298         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7299         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7300         * unittests/basic_string_view/typedefs.cc: New file.
7301         * unittests/basic_string_view/types/1.cc: New file.
7302
7303 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7304
7305         * common/gdb_string_view.h: Remove libstdc++ implementation
7306         details, adjust to gdb reality.
7307         * common/gdb_string_view.tcc: Likewise.
7308         * cli/cli-script.c (struct string_view): Remove.
7309         (user_args) <m_args>: Change element type to gdb::string_view.
7310         (user_args::insert_args): Adjust.
7311
7312 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7313
7314         * common/gdb_string_view.h: New file.
7315         * common/gdb_string_view.tcc: New file.
7316
7317 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7318
7319         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7320         * configure: Re-generate.
7321
7322 2018-04-09  Pedro Alves  <palves@redhat.com>
7323
7324         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7325         (set_target_gdbarch): Call
7326         gdb::observers::architecture_changed.notify instead of
7327         observer_notify_architecture_changed.
7328
7329 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7330
7331         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7332         (do_restore_current_traceframe_cleanup): Remove.
7333         (restore_current_traceframe_cleanup_dtor): Remove.
7334         (make_cleanup_restore_current_traceframe): Remove.
7335         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7336         New.
7337         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7338         * infrun.c (fetch_inferior_event): Use
7339         scoped_restore_current_traceframe.
7340
7341 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7342
7343         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7344         Remove.
7345         <n_allocated_type_units>: Remove.
7346         <all_type_units>: Change to std::vector.
7347         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7348         to std::vector change.
7349         (dwarf2_per_objfile::get_cutu): Likewise.
7350         (dwarf2_per_objfile::get_tu): Likewise.
7351         (create_signatured_type_table_from_index): Likewise.
7352         (create_signatured_type_table_from_debug_names): Likewise.
7353         (dw2_symtab_iter_next): Likewise.
7354         (dw2_print_stats): Likewise.
7355         (dw2_expand_all_symtabs): Likewise.
7356         (dw2_expand_marked_cus): Likewise.
7357         (dw2_debug_names_iterator::next): Likewise.
7358         (dwarf2_initialize_objfile): Likewise.
7359         (add_signatured_type_cu_to_table): Likewise.
7360         (create_all_type_units): Likewise.
7361         (add_type_unit): Likewise.
7362         (struct tu_abbrev_offset): Add constructor.
7363         (build_type_psymtabs_1): Adjust to std::vector change.
7364         (print_tu_stats): Likewise.
7365         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7366         (write_debug_names): Likewise.
7367
7368 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7369
7370         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7371         Make an std::vector.
7372         <n_comp_units>: Remove.
7373         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7374         to std::vector change.
7375         (dwarf2_per_objfile::get_cutu): Likewise.
7376         (dwarf2_per_objfile::get_cu): Likewise.
7377         (create_cus_from_index): Likewise.
7378         (create_addrmap_from_index): Likewise.
7379         (create_addrmap_from_aranges): Likewise.
7380         (dwarf2_read_index): Likewise.
7381         (dw2_find_last_source_symtab): Likewise.
7382         (dw2_map_symtabs_matching_filename): Likewise.
7383         (dw2_symtab_iter_next): Likewise.
7384         (dw2_print_stats): Likewise.
7385         (dw2_expand_all_symtabs): Likewise.
7386         (dw2_expand_symtabs_with_fullname): Likewise.
7387         (dw2_expand_marked_cus): Likewise.
7388         (dw2_map_symbol_filenames): Likewise.
7389         (create_cus_from_debug_names): Likewise.
7390         (dwarf2_read_debug_names): Likewise.
7391         (dw2_debug_names_iterator::next): Likewise.
7392         (dwarf2_initialize_objfile): Likewise.
7393         (set_partial_user): Likewise.
7394         (dwarf2_build_psymtabs_hard): Likewise.
7395         (read_comp_units_from_section): Remove arguments, adjust to
7396         std::vector change.
7397         (create_all_comp_units): Adjust to std::vector and
7398         read_comp_units_from_section changes.
7399         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7400         change.
7401         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7402         (psyms_seen_size): Likewise.
7403         (write_gdbindex): Likewise.
7404         (write_debug_names): Likewise.
7405
7406 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7407
7408         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7409         with dwarf2_per_objfile.
7410         (create_cus_from_index): Likewise.
7411         (create_signatured_type_table_from_index): Likewise.
7412         (dwarf2_read_index): Likewise.
7413         (dwarf2_initialize_objfile): Likewise.
7414         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7415         per_cu rather than get_dwarf2_per_objfile.
7416
7417 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7418
7419         * dwarf2read.h (struct signatured_type): Forward declare.
7420         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7421         New methods.
7422         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
7423         (dw2_get_cutu): ...this.
7424         (dwarf2_per_objfile::get_cu): Rename from...
7425         (dw2_get_cu): ...this.
7426         (dwarf2_per_objfile::get_tu): New.
7427         (create_addrmap_from_index): Adjust.
7428         (create_addrmap_from_aranges): Adjust.
7429         (dw2_find_last_source_symtab): Adjust.
7430         (dw2_map_symtabs_matching_filename): Adjust.
7431         (dw2_symtab_iter_next): Adjust.
7432         (dw2_print_stats): Adjust.
7433         (dw2_expand_all_symtabs): Adjust.
7434         (dw2_expand_symtabs_with_fullname): Adjust.
7435         (dw2_expand_marked_cus): Adjust.
7436         (dw_expand_symtabs_matching_file_matcher): Adjust.
7437         (dw2_map_symbol_filenames): Adjust.
7438         (dw2_debug_names_iterator::next): Adjust.
7439         (dwarf2_initialize_objfile): Adjust.
7440         (set_partial_user): Adjust.
7441         (dwarf2_build_psymtabs_hard): Adjust.
7442
7443 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7444
7445         * dwarf2read.c (create_signatured_type_table_from_debug_names):
7446         Remove unused variables.
7447         (dw2_map_symtabs_matching_filename): Likewise.
7448         (dwarf2_record_block_ranges): Likewise.
7449         (dwarf2_read_addr_index): Likewise.
7450         (follow_die_offset): Likewise.
7451
7452 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7453
7454         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
7455         to symbol_file_add_main.
7456
7457 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7458
7459         PR mi/22299
7460         * mi/mi-console.c (do_fputc_async_safe): New.
7461         (mi_console_file::write_async_safe): New.
7462         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
7463         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
7464         New.
7465         * ui-file.c (ui_file::putstrn): Adjust call to
7466         fputstrn_unfiltered.
7467         * utils.c (printchar): Replace do_fputs and do_fprintf
7468         parameters by do_fputc.
7469         (fputstr_filtered): Adjust call to printchar.
7470         (fputstr_unfiltered): Likewise.
7471         (fputstrn_filtered): Likewise.
7472         (fputstrn_unfiltered): Add do_fputc parameter, pass to
7473         printchar.
7474         * utils.h (do_fputc_ftype): New typedef.
7475         (fputstrn_unfiltered): Add do_fputc parameter.
7476
7477 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7478
7479         * regformats/i386/i386-avx.dat: Remove.
7480
7481 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7482
7483         PR gdb/22979
7484         * amd64-tdep.c (amd64_none_init_abi): New function.
7485         (amd64_x32_none_init_abi): New function.
7486         (_initialize_amd64_tdep): Register handlers for x86-64 and
7487         x64_32 with GDB_OSABI_NONE.
7488         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
7489         GDB_OSABI_NONE osabi.
7490
7491 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7492
7493         PR gdb/22980
7494         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
7495         GDB_OSABI_NONE.
7496         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
7497         * osabi.c (gdb_osabi_names): Add "unknown" entry.
7498
7499 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7500
7501         * common/byte-vector.h (char_vector): New type.
7502         * target.h (target_read_alloc): Return
7503         gdb::optional<byte_vector>.
7504         (target_read_stralloc): Return gdb::optional<char_vector>.
7505         (target_get_osdata): Return gdb::optional<char_vector>.
7506         * target.c (target_read_alloc_1): Templatize.  Replacement
7507         manual memory management with vector.
7508         (target_read_alloc): Change return type, adjust.
7509         (target_read_stralloc): Change return type, adjust.
7510         (target_get_osdata): Change return type, adjust.
7511         * auxv.c (struct auxv_info) <length>: Remove.
7512         <data>: Change type to gdb::optional<byte_vector>.
7513         (auxv_inferior_data_cleanup): Free auxv_info with delete.
7514         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
7515         (target_auxv_search): Adjust.
7516         (fprint_target_auxv): Adjust.
7517         * avr-tdep.c (avr_io_reg_read_command): Adjust.
7518         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
7519         (linux_make_corefile_notes): Adjust.
7520         * osdata.c (get_osdata): Adjust.
7521         * remote.c (remote_get_threads_with_qxfer): Adjust.
7522         (remote_memory_map): Adjust.
7523         (remote_traceframe_info): Adjust.
7524         (btrace_read_config): Adjust.
7525         (remote_read_btrace): Adjust.
7526         (remote_pid_to_exec_file): Adjust.
7527         * solib-aix.c (solib_aix_get_library_list): Adjust.
7528         * solib-dsbt.c (decode_loadmap): Don't free buf.
7529         (dsbt_get_initial_loadmaps): Adjust.
7530         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
7531         * solib-target.c (solib_target_current_sos): Adjust.
7532         * tracepoint.c (sdata_make_value): Adjust.
7533         * xml-support.c (xinclude_start_include): Adjust.
7534         (xml_fetch_content_from_file): Adjust.
7535         * xml-support.h (xml_fetch_another): Change return type.
7536         (xml_fetch_content_from_file): Change return type.
7537         * xml-syscall.c (xml_init_syscalls_info): Adjust.
7538         * xml-tdesc.c (file_read_description_xml): Adjust.
7539         (fetch_available_features_from_target): Change return type.
7540         (target_fetch_description_xml): Adjust.
7541         (target_read_description_xml): Adjust.
7542
7543 2018-04-06  Tom Tromey  <tom@tromey.com>
7544
7545         * value.c (~value): Update.
7546         (struct value) <contents>: Now unique_xmalloc_ptr.
7547         (value_contents_bits_eq, allocate_value_contents)
7548         (value_contents_raw, value_contents_all_raw)
7549         (value_contents_for_printing, value_contents_for_printing_const)
7550         (set_value_enclosing_type): Update.
7551
7552 2018-04-06  Tom Tromey  <tom@tromey.com>
7553
7554         * value.c (range_s): Remove typedef, VEC.
7555         (struct range): Add operator<.
7556         (range_lessthan): Remove.
7557         (ranges_contain): Change type.
7558         (~value): Update.
7559         (struct value) <unavailable, optimized_out>: Now std::vector.
7560         (value_entirely_available)
7561         (value_entirely_covered_by_range_vector)
7562         (value_entirely_unavailable, value_entirely_optimized_out):
7563         Update.
7564         (insert_into_bit_range_vector): Change argument type.
7565         (find_first_range_overlap): Likewise.
7566         (struct ranges_and_idx, value_contents_bits_eq)
7567         (require_not_optimized_out, require_available): Update.
7568         (ranges_copy_adjusted): Change argument types.
7569         (value_optimized_out, value_copy, value_fetch_lazy): Update.
7570
7571 2018-04-06  Tom Tromey  <tom@tromey.com>
7572
7573         * value.c (~value): Update.
7574         (struct value) <parent>: Now a value_ref_ptr.
7575         (value_parent, set_value_parent, value_address, value_copy):
7576         Update.
7577
7578 2018-04-06  Tom Tromey  <tom@tromey.com>
7579
7580         * value.c (struct value): Add constructor, destructor, and member
7581         initializers.
7582         (allocate_value_lazy, value_decref): Update.
7583
7584 2018-04-06  Tom Tromey  <tom@tromey.com>
7585
7586         * value.c (struct value) <released, next>: Remove.
7587         (all_values): Now a std::vector.
7588         (allocate_value_lazy): Update.
7589         (value_next): Remove.
7590         (value_mark, value_free_to_mark, release_value)
7591         (value_release_to_mark): Update.
7592
7593 2018-04-06  Tom Tromey  <tom@tromey.com>
7594
7595         * value.h (fetch_subexp_value, value_release_to_mark): Update.
7596         (free_value_chain): Remove.
7597         * value.c (free_value_chain): Remove.
7598         (value_release_to_mark): Return a std::vector.
7599         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
7600         std::vector.
7601         (check_condition): Update.
7602         * eval.c (fetch_subexp_value): Change "val_chain" to a
7603         std::vector.
7604         * breakpoint.c (update_watchpoint): Update.
7605         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
7606
7607 2018-04-06  Tom Tromey  <tom@tromey.com>
7608
7609         * value.h (free_all_values): Remove.
7610         * value.c (free_all_values): Remove.
7611
7612 2018-04-06  Tom Tromey  <tom@tromey.com>
7613
7614         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
7615         (value_history_chain, value_history_count): Remove.
7616         (value_history): New global.
7617         (record_latest_value, access_value_history, show_values)
7618         (preserve_values): Update.
7619
7620 2018-04-06  Tom Tromey  <tom@tromey.com>
7621
7622         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
7623         * varobj.c (varobj_set_display_format, varobj_set_value)
7624         (install_default_visualizer, construct_visualizer)
7625         (install_new_value, ~varobj, varobj_get_value_type)
7626         (my_value_of_variable, varobj_editable_p): Update.
7627         * c-varobj.c (c_describe_child, c_value_of_variable)
7628         (cplus_number_of_children, cplus_describe_child): Update.
7629         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
7630         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
7631         (ada_value_of_variable, ada_value_is_changeable_p): Update.
7632
7633 2018-04-06  Tom Tromey  <tom@tromey.com>
7634
7635         * printcmd.c (last_examine_address): Change type to
7636         value_ref_ptr.
7637         (do_examine, x_command): Update.
7638
7639 2018-04-06  Tom Tromey  <tom@tromey.com>
7640
7641         * value.c (release_value): Update.
7642         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
7643         (struct bpstats) <val>: Now a value_ref_ptr.
7644         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7645         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7646         (~watchpoint, print_it_watchpoint, watch_command_1)
7647         (invalidate_bp_value_on_memory_change): Update.
7648
7649 2018-04-06  Tom Tromey  <tom@tromey.com>
7650
7651         * varobj.c (varobj_clear_saved_item)
7652         (update_dynamic_varobj_children, install_new_value, ~varobj):
7653         Update.
7654         * value.h (value_incref): Move declaration earlier.
7655         (value_decref): Rename from value_free.
7656         (struct value_ref_policy): New.
7657         (value_ref_ptr): New typedef.
7658         (struct value_deleter): Remove.
7659         (gdb_value_up): Remove typedef.
7660         (release_value): Change return type.
7661         (release_value_or_incref): Remove.
7662         * value.c (set_value_parent): Update.
7663         (value_incref): Change return type.
7664         (value_decref): Rename from value_free.
7665         (value_free_to_mark, free_all_values, free_value_chain): Update.
7666         (release_value): Return value_ref_ptr.
7667         (release_value_or_incref): Remove.
7668         (record_latest_value, set_internalvar, clear_internalvar):
7669         Update.
7670         * stack.c (info_frame_command): Don't call value_free.
7671         * python/py-value.c (valpy_dealloc, valpy_new)
7672         (value_to_value_object): Update.
7673         * printcmd.c (do_examine): Update.
7674         * opencl-lang.c (lval_func_free_closure): Update.
7675         * mi/mi-main.c (register_changed_p): Don't call value_free.
7676         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
7677         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
7678         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
7679         value_free.
7680         * guile/scm-value.c (vlscm_free_value_smob)
7681         (vlscm_scm_from_value): Update.
7682         * frame.c (frame_register_unwind, frame_unwind_register_signed)
7683         (frame_unwind_register_unsigned, get_frame_register_bytes)
7684         (put_frame_register_bytes): Don't call value_free.
7685         * findvar.c (address_from_register): Don't call value_free.
7686         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
7687         * dwarf2loc.c (entry_data_value_free_closure)
7688         (value_of_dwarf_reg_entry, free_pieced_value_closure)
7689         (dwarf2_evaluate_loc_desc_full): Update.
7690         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7691         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7692         (~watchpoint, watch_command_1)
7693         (invalidate_bp_value_on_memory_change): Update.
7694         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
7695
7696 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
7697
7698         PR gdb/23022
7699         * warning.m4: Add -Wno-error=deprecated-register.
7700         * configure: Re-generate.
7701
7702 2018-04-05  Tom Tromey  <tom@tromey.com>
7703
7704         * linespec.h: Remove include of "vec.h".
7705
7706 2018-04-05  Tom Tromey  <tom@tromey.com>
7707
7708         * linespec.c (typep): Remove typedef.
7709         (find_methods, find_superclass_methods): Take a std::vector.
7710         (find_method): Use std::vector.
7711
7712 2018-04-05  Tom Tromey  <tom@tromey.com>
7713
7714         * utils.c (compare_strings): Remove.
7715         * utils.h (compare_strings): Remove.
7716         * objc-lang.h (find_imps): Update.
7717         * objc-lang.c (find_methods): Take a std::vector.
7718         (uniquify_strings, find_imps): Likewise.
7719         * linespec.c (find_methods): Take a std::vector.
7720         (decode_objc): Use std::vector.
7721         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
7722         a std::vector.
7723         (find_method, find_function_symbols): Use std::vector.
7724
7725 2018-04-05  Tom Tromey  <tom@tromey.com>
7726
7727         * completer.c (completion_tracker::completion_tracker): Remove
7728         cast.
7729         (completion_tracker::discard_completions): Likewise.
7730         * breakpoint.c (ambiguous_names_p): Remove cast.
7731         * ada-lang.c (_initialize_ada_language): Remove cast.
7732         * utils.h (streq): Update.
7733         (streq_hash): Add new declaration.
7734         * utils.c (streq): Return bool.
7735         (streq_hash): New function.
7736
7737 2018-04-05  Tom Tromey  <tom@tromey.com>
7738
7739         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
7740         Remove a string copy.
7741
7742 2018-04-05  Tom Tromey  <tom@tromey.com>
7743
7744         * linespec.c (filter_results): Use std::vector.
7745         (decode_line_2, decode_line_full): Update.
7746
7747 2018-04-05  Tom Tromey  <tom@tromey.com>
7748
7749         * linespec.c (canonical_to_fullform): Return std::string.
7750         (filter_results): Update.
7751         (struct decode_line_2_item): Add constructor.
7752         <fullform, displayform>: Now std::string.
7753         (decode_line_2_compare_items): Now a std::sort comparator.
7754         (decode_line_2): Update.
7755
7756 2018-04-05  Tom Tromey  <tom@tromey.com>
7757
7758         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
7759         (unexpected_linespec_error): Update.
7760         (linespec_parse_basic, parse_linespec): Update.
7761
7762 2018-04-05  Tom Tromey  <tom@tromey.com>
7763
7764         * linespec.c (linespec_parse_basic): Reindent.
7765
7766 2018-04-05  Tom Tromey  <tom@tromey.com>
7767
7768         * minsyms.h (iterate_over_minimal_symbols): Update.
7769         * minsyms.c (iterate_over_minimal_symbols): Take a
7770         gdb::function_view.
7771         * linespec.c (struct collect_minsyms): Remove.
7772         (compare_msyms): Now a std::sort comparator.
7773         (add_minsym): Add parameters.
7774         (search_minsyms_for_name): Update.  Use std::vector.
7775
7776 2018-04-03  Tom Tromey  <tom@tromey.com>
7777
7778         * mipsread.c (read_alphacoff_dynamic_symtab): Use
7779         gdb::byte_vector.
7780
7781 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7782
7783         * MAINTAINERS (Write After Approval): Add Weimin Pan.
7784
7785 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7786
7787         PR gdb/16959
7788         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
7789         printing static type.
7790
7791 2018-04-01  Tom Tromey  <tom@tromey.com>
7792
7793         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
7794         (rs6000_xfer_shared_libraries): Update.
7795
7796 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
7797
7798         * common/gdb_vecs.h (char_ptr): Remove.
7799         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
7800
7801 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7802
7803         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
7804         with std::vector.
7805         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
7806
7807 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7808
7809         * tracepoint.h (struct uploaded_tp): Initialize fields.
7810         <actions, step_actions, cmd_strings>: Change type to
7811         std::vector<char *>.
7812         * tracepoint.c (get_uploaded_tp): Allocate with new.
7813         (free_uploaded_tps): Free with delete.
7814         (parse_tracepoint_definition): Adjust to std::vector change.
7815         * breakpoint.c (read_uploaded_action): Likewise.
7816         (create_tracepoint_from_upload): Likewise.
7817         * ctf.c (ctf_write_uploaded_tp): Likewise.
7818         (SET_ARRAY_FIELD): Likewise.
7819         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
7820
7821 2018-03-30  Tom Tromey  <tom@tromey.com>
7822
7823         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
7824         std::unique_ptr.
7825         (svr4_keep_data_in_core): Update.
7826         (svr4_read_so_list): Update.
7827
7828 2018-03-30  Tom Tromey  <tom@tromey.com>
7829
7830         * windows-nat.c (handle_output_debug_string, handle_exception):
7831         Update.
7832         * target.h (target_read_string): Update.
7833         * target.c (target_read_string): Change "string" to
7834         unique_xmalloc_ptr.
7835         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
7836         Update.
7837         * solib-frv.c (frv_current_sos): Update.
7838         * solib-dsbt.c (dsbt_current_sos): Update.
7839         * solib-darwin.c (darwin_current_sos): Update.
7840         * linux-thread-db.c (inferior_has_bug): Update.
7841         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
7842         Update.  Remove alloca.
7843         * ada-lang.c (ada_main_name): Update.
7844
7845 2018-03-30  Tom Tromey  <tom@tromey.com>
7846
7847         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
7848         (struct dwo_file_deleter): New.
7849         (dwo_file_up): New typedef.
7850         (open_and_init_dwo_file): Use dwo_file_up.
7851         (free_dwo_file_cleanup): Remove.
7852
7853 2018-03-30  Tom Tromey  <tom@tromey.com>
7854
7855         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
7856         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
7857
7858 2018-03-30  Tom Tromey  <tom@tromey.com>
7859
7860         * dwarf2read.c (class free_cached_comp_units): New class.
7861         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
7862         (free_cached_comp_units): Remove function.
7863
7864 2018-03-30  Tom Tromey  <tom@tromey.com>
7865
7866         * utils.h (make_cleanup_unpush_target): Remove.
7867         * inf-ptrace.c (struct target_unpusher): New.
7868         (target_unpush_up) New typedef.
7869         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
7870         target_unpush_up.
7871         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
7872
7873 2018-03-27  Tom Tromey  <tom@tromey.com>
7874
7875         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
7876
7877 2018-03-27  Pedro Alves  <palves@redhat.com>
7878             Tom Tromey  <tom@tromey.com>
7879
7880         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
7881         destructor.  Now a class.
7882         (gdb_readline_wrapper_cleanup): Remove function.
7883         (gdb_readline_wrapper): Remove cleanups.
7884
7885 2018-03-27  Tom Tromey  <tom@tromey.com>
7886
7887         * typeprint.h (struct type_print_options) <local_typedefs,
7888         global_typedefs>: Remove "struct" keyword.
7889         (class typedef_hash_table): New class.
7890         (recursively_update_typedef_hash, add_template_parameters)
7891         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
7892         (find_typedef_in_hash): Don't declare.
7893         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
7894         (typedef_hash_table::recursively_update): Rename from
7895         recursively_update_typedef_hash.  Now a member.
7896         (typedef_hash_table::add_template_parameters): Rename from
7897         add_template_parameters.  Now a member.
7898         (typedef_hash_table::typedef_hash_table): Now a constructor;
7899         rename from create_typedef_hash.
7900         (typedef_hash_table::~typedef_hash_table): Now a destructor;
7901         rename from free_typedef_hash.
7902         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
7903         (do_free_global_table): Remove.
7904         (typedef_hash_table::typedef_hash_table): New constructor; renamed
7905         from copy_type_recursive.
7906         (create_global_typedef_table): Remove.
7907         (typedef_hash_table::find_global_typedef): Now a member of
7908         typedef_hash_table.
7909         (typedef_hash_table::find_typedef): Rename from
7910         find_typedef_in_hash; now a member.
7911         (whatis_exp): Update.
7912         * extension.h (struct ext_lang_type_printers): Add constructor and
7913         destructor.
7914         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
7915         declare.
7916         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
7917         Now a constructor; rename from start_ext_lang_type_printers.
7918         (ext_lang_type_printers): Now a destructor; rename from
7919         free_ext_lang_type_printers.
7920         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
7921         Update.
7922         (c_type_print_base_struct_union): Update.  Remove cleanups.
7923
7924 2018-03-27  Tom Tromey  <tom@tromey.com>
7925
7926         * dwarf-index-write.c: Include <cmath>.
7927
7928 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7929
7930         * NEWS: Add entry describing new "set|show varsize-limit" command.
7931         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
7932         command.
7933         * printcmd.c (_initialize_printcmd): Add "set var" alias of
7934         "set variable".
7935
7936 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
7937
7938         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
7939         dwarf-index-write.c
7940         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
7941         * dwarf-index-common.c: New file.
7942         * dwarf-index-common.h: New file.
7943         * dwarf-index-write.c: New file.
7944         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
7945         (struct dwarf2_section_info): Move from here.
7946         (dwarf2_section_info_def): Likewise.
7947         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
7948         (offset_type): Likewise.
7949         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
7950         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
7951         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
7952         (byte_swap): Likewise.
7953         (MAYBE_SWAP): Likewise.
7954         (dwarf2_per_cu_ptr): Likewise.
7955         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
7956         (struct tu_stats): Likewise.
7957         (struct dwarf2_per_objfile): Likewise.
7958         (struct dwarf2_per_cu_data): Likewise.
7959         (struct signatured_type): Likewise.
7960         (sig_type_ptr): Likewise.
7961         (DEF_VEC_P (sig_type_ptr)): Likewise.
7962         (INDEX4_SUFFIX): Likewise.
7963         (INDEX5_SUFFIX): Likewise.
7964         (DEBUG_STR_SUFFIX): Likewise.
7965         (dwarf2_read_section): Make non-static.
7966         (mapped_index_string_hash): Move from here.
7967         (dwarf5_djb_hash): Likewise.
7968         (file_write): Likewise.
7969         (class data_buf): Likewise.
7970         (struct symtab_index_entry): Likewise.
7971         (struct mapped_symtab): Likewise.
7972         (find_slot): Likewise.
7973         (hash_expand): Likewise.
7974         (add_index_entry): Likewise.
7975         (uniquify_cu_indices): Likewise.
7976         (class c_str_view): Likewise.
7977         (class c_str_view_hasher): Likewise.
7978         (class vector_hasher): Likewise.
7979         (write_hash_table): Likewise.
7980         (psym_index_map): Likewise.
7981         (struct addrmap_index_data): Likewise.
7982         (add_address_entry): Likewise.
7983         (add_address_entry_worker): Likewise.
7984         (write_address_map): Likewise.
7985         (symbol_kind): Likewise.
7986         (write_psymbols): Likewise.
7987         (struct signatured_type_index_data): Likewise.
7988         (write_one_signatured_type): Likewise.
7989         (recursively_count_psymbols): Likewise.
7990         (recursively_write_psymbols): Likewise.
7991         (class debug_names): Likewise.
7992         (check_dwarf64_offsets): Likewise.
7993         (psyms_seen_size): Likewise.
7994         (write_gdbindex): Likewise.
7995         (write_debug_names): Likewise.
7996         (assert_file_size): Likewise.
7997         (write_psymtabs_to_index): Likewise.
7998         (save_gdb_index_command): Likewise.
7999         (_initialize_dwarf2_read): Don't register the "save gdb-index"
8000         command.
8001         * dwarf2read.h: New file.
8002
8003 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8004
8005         PR gdb/22670
8006         * dwarf2read.c (dwarf2_physname): Do not return the demangled
8007         symbol name if the CU's language stores symbol names in linkage
8008         format.
8009         * language.h (struct language_defn)
8010         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
8011         all instances of this struct.
8012
8013 2018-03-26  Tom Tromey  <tom@tromey.com>
8014
8015         * stack.c (backtrace_command_1): Remove verbose code.
8016
8017 2018-03-26  Tom Tromey  <tom@tromey.com>
8018
8019         * python/py-framefilter.c (py_print_type): Don't catch
8020         exceptions.  Return void.
8021         (py_print_value): Likewise.
8022         (py_print_single_arg): Likewise.
8023         (enumerate_args): Don't catch exceptions.
8024         (py_print_args): Likewise.
8025         (py_print_frame): Likewise.
8026         (gdbpy_apply_frame_filter): Catch exceptions here.
8027
8028 2018-03-26  Tom Tromey  <tom@tromey.com>
8029
8030         * stack.c (_initialize_stack): Remove trailing newlines from help
8031         text.  Add "Usage" line to "backtrace" help.
8032
8033 2018-03-26  Tom Tromey  <tom@tromey.com>
8034
8035         PR python/16486:
8036         * python/py-framefilter.c (py_print_args): Call wrap_hint.
8037
8038 2018-03-26  Tom Tromey  <tom@tromey.com>
8039
8040         * python/py-framefilter.c (py_print_single_arg): Return
8041         EXT_LANG_BT_ERROR from catch.
8042
8043 2018-03-26  Tom Tromey  <tom@tromey.com>
8044
8045         PR backtrace/15584:
8046         * stack.c (backtrace_command_1): Move some code into no-filters
8047         "if".
8048
8049 2018-03-26  Tom Tromey  <tom@tromey.com>
8050
8051         * python/py-framefilter.c (throw_quit_or_print_exception): New
8052         function.
8053         (gdbpy_apply_frame_filter): Use it.
8054
8055 2018-03-26  Tom Tromey  <tom@tromey.com>
8056
8057         PR cli/17716:
8058         * python/py-framefilter.c (py_print_type, py_print_value)
8059         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8060         RETURN_MASK_ERROR.
8061
8062 2018-03-26  Tom Tromey  <tom@tromey.com>
8063
8064         * python/py-framefilter.c (enumerate_args): Use
8065         gdb::unique_xmalloc_ptr.
8066
8067 2018-03-26  Tom Tromey  <tom@tromey.com>
8068
8069         * python/py-framefilter.c (py_print_frame): Return
8070         EXT_LANG_BT_OK.
8071         (gdbpy_apply_frame_filter): Update comment.
8072         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8073         Remove.
8074         <EXT_LANG_BT_NO_FILTERS>: Change value.
8075
8076 2018-03-26  Tom Tromey  <tom@tromey.com>
8077
8078         PR backtrace/15582:
8079         * stack.c (backtrace_command): Parse "hide" argument.
8080         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8081         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8082         constant.
8083
8084 2018-03-26  Tom Tromey  <tom@tromey.com>
8085
8086         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8087         add "flags".
8088         (backtrace_command): Remove "fulltrace", add "flags".
8089
8090 2018-03-26  Tom Tromey  <tom@tromey.com>
8091
8092         * stack.c (backtrace_command): Rewrite command line parsing.
8093
8094 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8095
8096         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8097
8098 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8099
8100         * filename-seen-cache.h: Add include guard.
8101
8102 2018-03-26  Keith Seitz  <keiths@redhat.com>
8103
8104         * symfile.c (place_section): Remove "struct" from section_addr_info
8105         in comment.
8106         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8107         "struct" keyword from section_addr_info.
8108
8109 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8110
8111         * regformats/regdef.h (reg): Add constructors.
8112
8113 2018-03-25  Pedro Alves  <palves@redhat.com>
8114
8115         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8116         if then/else bodies in var_func_name extraction.
8117
8118 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8119
8120         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8121         lookup_minimal_symbol() to find symbol entry.
8122         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8123
8124 2018-03-23  Keith Seitz  <keiths@redhat.com>
8125
8126         PR c++/22968
8127         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8128         nested type definitions for C++, too.
8129
8130 2018-03-23  Tom Tromey  <tom@tromey.com>
8131
8132         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8133         a typedef.
8134         (macho_register_oso): Remove.
8135         (macho_symtab_read): Take a std::vector.
8136         (oso_el_compare_name): Now a std::sort comparator.
8137         (macho_symfile_read_all_oso): Take a std::vector.
8138         (macho_symfile_read): Use std::vector.  Remove cleanups.
8139
8140 2018-03-22  Tom Tromey  <tom@tromey.com>
8141
8142         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8143         (record_full_goto_bookmark): Use std::string.
8144
8145 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8146
8147         PR tdep/18295
8148         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8149         a single mask.
8150
8151 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8152
8153         * rs6000-tdep.c (store_insn_p): New function.
8154         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8155         and cr_reg to their unshifted values. Use store_insn_p to
8156         match LR saves using either R1 or fdata->alloca_reg. Use
8157         store_insn_p to match CR saves. Set alloca_reg_offset
8158         when alloca_reg and framep are set. Remove lr_reg shift
8159         when assigning to fdata->lr_register.
8160
8161 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8162
8163         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8164         command line args instead of emitting a warning.
8165
8166 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8167
8168         * tracepoint.h (struct static_tracepoint_marker): Initialize
8169         fields, define default constructor, move constructor and move
8170         assignment, disable the rest.
8171         <str_id, extra>: Make std::string.
8172         (release_static_tracepoint_marker): Remove.
8173         (free_current_marker): Remove.
8174         * tracepoint.c (free_current_marker): Remove.
8175         (parse_static_tracepoint_marker_definition): Adjust to
8176         std::string, use new hex2str overload.
8177         (release_static_tracepoint_marker): Remove.
8178         (print_one_static_tracepoint_marker): Get marker by reference
8179         and adjust to std::string.
8180         (info_static_tracepoint_markers_command): Adjust to std::vector
8181         changes
8182         * target.h (static_tracepoint_marker_p): Remove typedef.
8183         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8184         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8185         bool.
8186         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8187         * target-debug.h
8188         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8189         (target_debug_print_std_vector_static_tracepoint_marker): New.
8190         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8191         to...
8192         (target_debug_print_static_tracepoint_marker_p): ... this.
8193         * target-delegates.c: Re-generate.
8194         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8195         Make std::string.
8196         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8197         (decode_static_tracepoint_spec): Adjust to std::vector.
8198         (tracepoint_print_one_detail): Adjust to std::string.
8199         (strace_marker_decode_location): Adjust to std::string.
8200         (update_static_tracepoint): Adjust to std::string, remove call
8201         to release_static_tracepoint_marker.
8202         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8203         Adjust to std::vector.
8204         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8205         (remote_static_tracepoint_markers_by_strid): Adjust to
8206         std::vector.
8207         * common/rsp-low.h (hex2str): New overload with explicit count
8208         of bytes.
8209         * common/rsp-low.c (hex2str): New overload with explicit count
8210         of bytes.
8211         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8212         (_initialize_rsp_low_selftests): Add test_hex2str test.
8213         * unittests/tracepoint-selftests.c
8214         (test_parse_static_tracepoint_marker_definition): Adjust to
8215         std::string.
8216
8217 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8218
8219         * tracepoint.c (parse_static_tracepoint_marker_definition):
8220         Consider case where the definition is followed by more
8221         definitions.
8222         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8223         tracepoint-selftests.c.
8224         * unittests/tracepoint-selftests.c: New.
8225
8226 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8227
8228         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8229         Carvalho.
8230
8231 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8232
8233         * symtab.c (find_pc_sect_line): fixed indentation.
8234
8235 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8236
8237         * symtab.c (find_pc_sect_line): now uses binary search.
8238
8239 2018-03-19  Tom Tromey  <tom@tromey.com>
8240
8241         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8242         "IDENT" production.
8243
8244 2018-03-19  Pedro Alves  <palves@redhat.com>
8245             Tom Tromey  <tom@tromey.com>
8246
8247         * unittests/observable-selftests.c: New file.
8248         * common/observable.h: New file.
8249         * observable.h: New file.
8250         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8251         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8252         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8253         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8254         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8255         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8256         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8257         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8258         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8259         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8260         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8261         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8262         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8263         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8264         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8265         tui/tui-interp.c, valops.c: Update all users.
8266         * tui/tui-hooks.c (tui_bp_created_observer)
8267         (tui_bp_deleted_observer, tui_bp_modified_observer)
8268         (tui_inferior_exit_observer, tui_before_prompt_observer)
8269         (tui_normal_stop_observer, tui_register_changed_observer):
8270         Remove.
8271         (tui_observers_token): New global.
8272         (attach_or_detach, tui_attach_detach_observers): New functions.
8273         (tui_install_hooks, tui_remove_hooks): Use
8274         tui_attach_detach_observers.
8275         * record-btrace.c (record_btrace_thread_observer): Remove.
8276         (record_btrace_thread_observer_token): New global.
8277         * observer.sh: Remove.
8278         * observer.c: Rename to observable.c.
8279         * observable.c (namespace gdb_observers): Define new objects.
8280         (observer_debug): Move into gdb_observers namespace.
8281         (struct observer, struct observer_list, xalloc_observer_list_node)
8282         (xfree_observer_list_node, generic_observer_attach)
8283         (generic_observer_detach, generic_observer_notify): Remove.
8284         (_initialize_observer): Update.
8285         Don't include observer.inc.
8286         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8287         (clean mostlyclean): Likewise.
8288         (observer.h, observer.inc): Remove targets.
8289         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8290         (COMMON_SFILES): Use observable.c, not observer.c.
8291         * .gitignore: Remove observer.h.
8292
8293 2018-03-18  Tom Tromey  <tom@tromey.com>
8294
8295         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8296         gdb::def_vector.
8297         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8298
8299 2018-03-17  Tom Tromey  <tom@tromey.com>
8300
8301         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8302
8303 2018-03-17  Tom Tromey  <tom@tromey.com>
8304
8305         * target.c (class scoped_target_fd): New.
8306         (target_fileio_close_cleanup): Remove.
8307         (target_fileio_read_alloc_1): Use scoped_target_fd.
8308
8309 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8310
8311         * silent-rules.mk: New.
8312         * Makefile.in: Include silent-rules.mk
8313         (srcdir, VPATH, top_srcdir): Move up.
8314         (COMPILE): Add ECHO_CXX.
8315         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8316         (init.c): Add ECHO_INIT_C.
8317         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8318         (version.c): Add ECHO_GEN.
8319         (printcmd.o): Add ECHO_CXX.
8320         (target-float.o): Add ECHO_CXX.
8321         (ada-exp.o): Add ECHO_CXX.
8322         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8323         (insight$(EXEEXT)): Add ECHO_CXXLD.
8324         * gnulib/configure.ac: Add AM_SILENT_RULES.
8325         * gnulib/aclocal.m4: Re-generate.
8326         * gnulib/configure: Re-generate.
8327         * gnulib/import/Makefile.in: Re-generate.
8328
8329 2018-03-16  Tom Tromey  <tom@tromey.com>
8330
8331         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8332         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8333         * utils.c (do_free_section_addr_info)
8334         (make_cleanup_free_section_addr_info): Remove.
8335         * symfile.h (struct other_sections): Add constructor.
8336         (struct section_addr_info): Remove.
8337         (section_addr_info): New typedef.
8338         (struct sym_fns) <sym_offsets>: Change type of parameter.
8339         (build_section_addr_info_from_objfile)
8340         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8341         (default_symfile_offsets, symbol_file_add)
8342         (symbol_file_add_from_bfd)
8343         (build_section_addr_info_from_section_table): Update.
8344         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8345         * symfile.c (alloc_section_addr_info): Remove.
8346         (build_section_addr_info_from_section_table): Change return type.
8347         Update.
8348         (build_section_addr_info_from_bfd)
8349         (build_section_addr_info_from_objfile): Likewise.
8350         (free_section_addr_info): Remove.
8351         (relative_addr_info_to_section_offsets): Change type of "addrs".
8352         (addrs_section_compar): Now a std::sort comparator.
8353         (addrs_section_sort): Change return type.
8354         (addr_info_make_relative): Change type of "addrs".  Update.
8355         (default_symfile_offsets, syms_from_objfile_1)
8356         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8357         (symbol_file_add_separate): Update.
8358         (symbol_file_add): Change type of "addrs".  Update.
8359         (add_symbol_file_command): Update.  Remove cleanups.
8360         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8361         cleanups.
8362         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8363         * solib.c (solib_read_symbols): Update.
8364         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8365         * machoread.c (macho_symfile_offsets): Update.
8366         * jit.c (jit_bfd_try_read_symtab): Update.
8367
8368 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8369
8370         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8371         unittests/utils-selftests.c.
8372         * unittests/utils-selftests.c: New file.
8373
8374 2018-03-14  Tom Tromey  <tom@tromey.com>
8375
8376         PR cli/14977:
8377         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8378         for NULL.
8379
8380 2018-03-14  Tom Tromey  <tom@tromey.com>
8381
8382         PR cli/19918:
8383         * printcmd.c (printf_pointer): Allow "-" in format.
8384
8385 2018-03-14  Tom Tromey  <tom@tromey.com>
8386
8387         * printcmd.c (_initialize_printcmd): Add usage to printf.
8388
8389 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8390
8391         * MAINTAINERS: Update my email address.
8392
8393 2018-03-13  Tom Tromey  <tom@tromey.com>
8394
8395         * machoread.c (macho_check_dsym): Change filenamep to a
8396         std::string*.
8397         (macho_symfile_read): Update.
8398         * symfile.c (load_command): Use std::string.
8399
8400 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8401
8402         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8403         to error message string.
8404         (riscv_register_name): Use xsnprintf instead of sprintf.
8405         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8406         internal_error.
8407         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8408         error.
8409         (riscv_push_dummy_call): Likewise.
8410
8411 2018-03-12  Tom Tromey  <tom@tromey.com>
8412
8413         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8414         Use gdb::byte_vector.
8415         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8416
8417 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8418
8419         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8420         parameter type to readable_regcache.
8421         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
8422         the declaration.
8423
8424 2018-03-11  Tom Tromey  <tom@tromey.com>
8425
8426         * dwarf2read.c (struct nextfield): Add initializers.
8427         (struct nextfnfield): Remove.
8428         (struct fnfieldlist): Add initializers.  Remove "length" and
8429         "head", use std::vector.
8430         (struct decl_field_list): Remove.
8431         (struct field_info): Add initializers.
8432         <fields, baseclasses>: Now std::vector.
8433         <nbaseclasses, nfnfields, typedef_field_list_count,
8434         nested_types_list_count>: Remove.
8435         (dwarf2_add_field, dwarf2_add_type_defn)
8436         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
8437         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
8438         (process_structure_scope): Update.
8439
8440 2018-03-11  Tom Tromey  <tom@tromey.com>
8441
8442         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
8443         for use by std::sort.
8444         (build_type_psymtabs_1): Use std::vector.
8445
8446 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
8447
8448         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
8449         and LIBMPFR in the printed configuration.
8450
8451 2018-03-08  Tom Tromey  <tom@tromey.com>
8452
8453         * source.c (get_filename_and_charpos): Use scoped_fd.
8454         * nto-procfs.c (procfs_open_1): Use scoped_fd.
8455         (procfs_pidlist): Likewise.
8456         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
8457         (iterate_over_mappings): Likewise.
8458
8459 2018-03-08  Tom Tromey  <tom@tromey.com>
8460
8461         * infcall.c (struct call_return_meta_info)
8462         <stack_temporaries_enabled>: Remove.
8463         (get_call_return_value, call_function_by_hand_dummy): Update.
8464         * thread.c (disable_thread_stack_temporaries): Remove.
8465         (enable_thread_stack_temporaries): Remove.
8466         (thread_stack_temporaries_enabled_p): Return bool.
8467         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
8468         (get_last_thread_stack_temporary): Update.
8469         * eval.c (evaluate_subexp): Update.
8470         * gdbthread.h (class enable_thread_stack_temporaries): Now a
8471         class, not a function.
8472         (value_ptr, value_vec): Remove typedefs.
8473         (class thread_info) <stack_temporaries_enabled>: Now bool.
8474         <stack_temporaries>: Now a std::vector.
8475         (thread_stack_temporaries_enabled_p)
8476         (value_in_thread_stack_temporaries): Return bool.
8477
8478 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
8479
8480         * remote.c (putpkt_binary): Fix omitted bytes reporting.
8481         (getpkt_or_notif_sane_1): Likewise.
8482
8483 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8484
8485         * build-id.c (build_id_to_debug_bfd): Use std::string.
8486
8487 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8488
8489         * build-id.c (find_separate_debug_file_by_buildid): Return
8490         std::string.
8491         * build-id.h (find_separate_debug_file_by_buildid): Return
8492         std::string.
8493         * coffread.c (coff_symfile_read): Adjust to std::string.
8494         * elfread.c (elf_symfile_read): Adjust to std::string.
8495         * symfile.c (separate_debug_file_exists): Change parameter to
8496         std::string.
8497         (find_separate_debug_file): Return std::string.
8498         (find_separate_debug_file_by_debuglink): Return std::string.
8499         * symfile.h (find_separate_debug_file_by_debuglink): Return
8500         std::string.
8501
8502 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8503
8504         * common/xml-utils.c (xml_escape_text): Move code to...
8505         (xml_escape_text_append): ... this new function.
8506         * common/xml-utils.h (xml_escape_text_append): New declaration.
8507         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
8508         New function.
8509         (_initialize_xml_utils): register test_xml_escape_text_append as
8510         a selftest.
8511
8512 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
8513
8514         * defs.h: Remove MAX_REGISTER_SIZE.
8515         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
8516         asserts.
8517         * python/py-unwind.c (pyuw_sniffer): Likewise.
8518
8519 2018-03-07  Tom Tromey  <tom@tromey.com>
8520
8521         * linux-tdep.c (linux_info_proc): Update.
8522         * target.h (struct target_ops) <to_fileio_readlink>: Return
8523         optional<string>.
8524         (target_fileio_readlink): Return optional<string>.
8525         * remote.c (remote_hostio_readlink): Return optional<string>.
8526         * inf-child.c (inf_child_fileio_readlink): Return
8527         optional<string>.
8528         * target.c (target_fileio_readlink): Return optional<string>.
8529
8530 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
8531
8532         * regcache.c (cooked_read_test): Add riscv to the list of
8533         architectures that have a save_reggroup.
8534
8535 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8536
8537         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
8538         value is not a dynamic class object.
8539
8540 2018-03-06  Tom Tromey  <tom@tromey.com>
8541
8542         * rust-exp.y: Formatting fixes.
8543
8544 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8545
8546         * riscv-tdep.c (riscv_register_name): Remove target description
8547         support.
8548         (riscv_gdbarch_init): Remove target description check.
8549
8550 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8551
8552         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
8553         comment.
8554         * riscv-tdep.h: Likewise.
8555
8556 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8557
8558         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
8559         (riscv_pseudo_register_write): Delete.
8560         (riscv_gdbarch_init): Remove all use of pseudo registers.
8561
8562 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8563
8564         * record-btrace.c (btrace_print_lines): Replace cleanup
8565         parameter with RAII equivalents.
8566         (btrace_insn_history): Replace cleanup with RAII equivalents.
8567         * ui-out.h (make_cleanup_ui_out_list_begin_end,
8568         make_cleanup_ui_out_tuple_begin_end): Remove.
8569         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
8570         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
8571         make_cleanup_ui_out_list_begin_end): Remove.
8572
8573 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8574
8575         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
8576         parameter types to std::vector.  Use bool.
8577         (record_btrace_wait): Replace VEC(tp_t) with
8578         std::vector<thread_info *>.
8579         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
8580
8581 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8582
8583         * record-btrace.c (record_btrace_disable_callback): Remove.
8584         (struct scoped_btrace_disable): New.
8585         (record_btrace_open): Use scoped_btrace_disable.
8586
8587 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8588
8589         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
8590         reading values from registers.
8591
8592 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8593
8594         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
8595         where appropriate.
8596
8597 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8598
8599         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
8600         change parameter type.  Use GDB's print functions, and use
8601         core_addr_to_string where appropriate.
8602         (riscv_push_dummy_call): Use core_addr_to_string where
8603         appropriate, update call to riscv_print_arg_location, and reindent
8604         a few lines.
8605         (riscv_return_value): Update call to riscv_print_arg_location.
8606
8607 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8608             Tim Newsome <tim@sifive.com>
8609             Albert Ou <a0u@eecs.berkeley.edu>
8610             Darius Rad <darius@bluespec.com>
8611
8612         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
8613         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
8614         (ALLDEPFILES): Add riscv-tdep.c
8615         * configure.tgt: Add riscv support.
8616         * riscv-tdep.c: New file.
8617         * riscv-tdep.h: New file.
8618         * NEWS: Mention new target.
8619         * MAINTAINERS: Add entry for riscv.
8620
8621 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8622
8623         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
8624         fields within aggregates.
8625
8626 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
8627
8628         * record-btrace.c (btrace_print_lines): Change type of flags to
8629         gdb_disassembly_flags.
8630
8631 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8632
8633         * fbsd-nat.c: Include "inf-ptrace.h".
8634         (USE_SIGTRAP_SIGINFO): Conditionally define.
8635         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
8636         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
8637         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
8638         function.
8639         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
8640         Likewise.
8641         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
8642         Likewise.
8643         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
8644         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
8645         "supports_stopped_by_hw_breakpoint" target methods.
8646
8647 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8648
8649         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
8650         * fbsd-nat.c (debug_fbsd_nat): New variable.
8651         (show_fbsd_nat_debug): New function.
8652         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
8653         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
8654
8655 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8656
8657         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
8658         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
8659         prototype.
8660         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
8661         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
8662         method.
8663
8664 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8665
8666         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
8667         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
8668
8669 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8670
8671         * charset.c (struct charset_vector): New.
8672         (charsets): Change type to charset_vector.
8673         (find_charset_names): Adjust.
8674         (add_one): Adjust.
8675         (_initialize_charset): Adjust.
8676
8677 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8678
8679         * progspace.h (struct program_space) <deleted_solibs>: Change
8680         type to std::vector<std::string>.
8681         * progspace.c (clear_program_space_solib_cache): Adjust.
8682         * breakpoint.c (print_solib_event): Adjust.
8683         (check_status_catch_solib): Adjust.
8684         * solib.c (update_solib_list): Adjust.
8685         * ui-out.h (class ui_out) <field_string>: New overload.
8686         * ui-out.c (ui_out::field_string): New overload.
8687
8688 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8689
8690         * progspace.h (struct program_space): Add constructor and
8691         destructor, initialize fields.
8692         (add_program_space): Remove.
8693         * progspace.c (add_program_space): Rename to...
8694         (program_space::program_space): ... this.
8695         (release_program_space): Rename to...
8696         (program_space::~program_space): ... this.
8697         (delete_program_space): Use delete to delete program_space.
8698         (initialize_progspace): Use new to allocate program_space.
8699         * inferior.c (add_inferior_with_spaces): Likewise.
8700         (clone_inferior_command): Likewise.
8701         * infrun.c (follow_fork_inferior): Likewise.
8702         (handle_vfork_child_exec_or_exit): Likewise.
8703
8704 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8705
8706         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
8707         (delim_string_to_char_ptr_vec): Return std::vector of
8708         gdb::unique_xmalloc_ptr.
8709         (dirnames_to_char_ptr_vec_append): Take std::vector of
8710         gdb::unique_xmalloc_ptr.
8711         (dirnames_to_char_ptr_vec): Return std::vector of
8712         gdb::unique_xmalloc_ptr.
8713         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
8714         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
8715         (delim_string_to_char_ptr_vec): Return an std::vector of
8716         gdb::unique_xmalloc_ptr, adjust the code.
8717         (dirnames_to_char_ptr_vec_append): Take an std::vector of
8718         gdb::unique_xmalloc_ptr, adjust the code.
8719         (dirnames_to_char_ptr_vec): Return an std::vector of
8720         gdb::unique_xmalloc_ptr, adjust the code.
8721         * auto-load.c (auto_load_safe_path_vec): Change type to
8722         std::vector of gdb::unique_xmalloc_ptr.
8723         (auto_load_expand_dir_vars): Return an std::vector of
8724         gdb::unique_xmalloc_ptr, adjust the code.
8725         (auto_load_safe_path_vec_update): Adjust.
8726         (filename_is_in_auto_load_safe_path_vec): Adjust.
8727         (auto_load_objfile_script_1): Adjust.
8728         * build-id.c (build_id_to_debug_bfd): Adjust.
8729         * linux-thread-db.c (thread_db_load_search): Adjust.
8730         * source.c (add_path): Adjust.
8731         (openp): Adjust.
8732         * symfile.c (find_separate_debug_file): Adjust.
8733         * utils.c (do_free_char_ptr_vec): Remove.
8734         (make_cleanup_free_char_ptr_vec): Remove.
8735
8736 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
8737
8738         PR gdb/22907
8739         * common/pathstuff.c: Conditionally include "<windows.h>".
8740
8741 2018-03-01  Georg Sauthoff  <mail@georg.so>
8742
8743         PR gdb/22888
8744         * gcore.in: Quote variables and switch interpreter to bash.
8745
8746 2018-03-01  Tom Tromey  <tom@tromey.com>
8747
8748         * dwarf2read.c (alloc_discriminant_info): Fix default_index
8749         assertion.  Add assertion for discriminant_index.
8750         (quirk_rust_enum): Use correct base type name in univariant case.
8751
8752 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
8753
8754         * record.c (get_call_history_modifiers): Return a
8755         record_print_flags.
8756         (cmd_record_call_history): Adjust.
8757         * record-btrace.c (record_btrace_call_history): Adjust.
8758         (record_btrace_call_history_range): Adjust.
8759         (record_btrace_call_history_from): Adjust.
8760         * target-debug.h (target_debug_print_record_print_flags): New.
8761         * target-delegates.c: Re-generate.
8762         * target.c (target_call_history): Change flags type.
8763         (target_call_history_from): Likewise.
8764         (target_call_history_range): Likewise.
8765         * target.h (struct target_ops) <target_call_history>: Likewise.
8766         (target_call_history_from): Likewise.
8767         (target_call_history_range): Likewise.
8768
8769 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8770             Simon Marchi  <simon.marchi@polymtl.ca>
8771
8772         * common/common-utils.c: Include "sys/stat.h".
8773         (is_regular_file): Move here from "source.c"; change return
8774         type to "bool".
8775         * common/common-utils.h (is_regular_file): New prototype.
8776         * common/pathstuff.c (contains_dir_separator): New function.
8777         * common/pathstuff.h (contains_dir_separator): New prototype.
8778         * source.c: Don't include "sys/stat.h".
8779         (is_regular_file): Move to "common/common-utils.c".
8780
8781 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8782
8783         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
8784         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
8785         * auto-load.c: Include "common/pathstuff.h".
8786         * common/common-def.h (current_directory): Move here.
8787         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
8788         function.
8789         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
8790         prototype.
8791         * common/pathstuff.c: New file.
8792         * common/pathstuff.h: New file.
8793         * compile/compile.c: Include "common/pathstuff.h".
8794         * defs.h (current_directory): Move to "common/common-defs.h".
8795         * dwarf2read.c: Include "common/pathstuff.h".
8796         * exec.c: Likewise.
8797         * guile/scm-safe-call.c: Likewise.
8798         * linux-thread-db.c: Likewise.
8799         * main.c: Likewise.
8800         * nto-tdep.c: Likewise.
8801         * objfiles.c: Likewise.
8802         * source.c: Likewise.
8803         * symtab.c: Likewise.
8804         * utils.c: Include "common/pathstuff.h".
8805         (gdb_realpath): Move to "common/pathstuff.c".
8806         (gdb_realpath_keepfile): Likewise.
8807         (gdb_abspath): Likewise.
8808         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
8809         (gdb_realpath_keepfile): Likewise.
8810         (gdb_abspath): Likewise.
8811
8812 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
8813
8814         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
8815         wildcard process pid for super_resume for kernels with a
8816         specific bug.
8817
8818 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
8819
8820         * compile/compile.c (get_args): Add additional comments
8821         explaining function.
8822
8823 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
8824             Tom Tromey  <tom@tromey.com>
8825
8826         * target.h (memory_write_request_s): Remove typedef.  Don't define
8827         VEC.
8828         (target_write_memory_blocks): Change argument to std::vector.
8829         (struct memory_write_request): Add constructor.
8830         * target-memory.c (compare_block_starting_address): Return bool.
8831         Change argument types.
8832         (claim_memory): Change arguments to use std::vector.
8833         (split_regular_and_flash_blocks, blocks_to_erase)
8834         (compute_garbled_blocks): Likewise.
8835         (cleanup_request_data, cleanup_write_requests_vector): Remove.
8836         (target_write_memory_blocks): Change argument to std::vector.
8837         * symfile.c (struct load_section_data): Add constructor and
8838         destructor.  Use std::vector for "requests".
8839         (struct load_progress_data): Add initializers.
8840         (load_section_callback): Update.  Use "new".
8841         (clear_memory_write_data): Remove.
8842         (generic_load): Update.
8843
8844 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
8845
8846         * arch/aarch64.h: Use common/tdesc.h.
8847
8848 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8849
8850         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
8851         architecture with a 64-bit ABI.
8852
8853 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8854
8855         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
8856         ahead of target description loading.
8857
8858 2018-02-26  Tom Tromey  <tom@tromey.com>
8859
8860         * stack.c (backtrace_command_1): Update.
8861         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
8862         of "flags".
8863         * python/py-framefilter.c (py_print_frame)
8864         (gdbpy_apply_frame_filter): Change type of "flags".
8865         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
8866         of "flags".
8867         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
8868         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
8869         * extension.h (enum frame_filter_flag): Rename from
8870         frame_filter_flags.
8871         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
8872         (apply_ext_lang_frame_filter): Change type of "flags".
8873         * extension.c (apply_ext_lang_frame_filter): Change type of
8874         "flags".
8875         * extension-priv.h (struct extension_language_ops)
8876         <apply_frame_filter>: Change type of "flags".
8877
8878 2018-02-26  Tom Tromey  <tom@tromey.com>
8879
8880         PR python/16497:
8881         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
8882         off-by-one in py_end computation.
8883         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
8884         PRINT_MORE_FRAMES.
8885         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
8886         constant.
8887
8888 2018-02-26  Tom Tromey  <tom@tromey.com>
8889
8890         * dwarf2read.c (struct variant_field): New.
8891         (struct nextfield) <variant>: New field.
8892         (dwarf2_add_field): Handle DW_TAG_variant_part.
8893         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
8894         discriminated union.
8895         (read_structure_type): Handle DW_TAG_variant_part.
8896         (handle_struct_member_die): New function, extracted from
8897         process_structure_scope.  Handle DW_TAG_variant.
8898         (process_structure_scope): Handle discriminated unions.  Call
8899         handle_struct_member_die.
8900
8901 2018-02-26  Tom Tromey  <tom@tromey.com>
8902
8903         * rust-lang.h (rust_last_path_segment): Declare.
8904         * rust-lang.c (rust_last_path_segment): Now public.  Change
8905         contract.
8906         (struct disr_info): Remove.
8907         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
8908         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
8909         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
8910         (rust_enum_p, rust_enum_variant): New function.
8911         (rust_underscore_fields): Remove "offset" parameter.
8912         (rust_print_enum): New function.
8913         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
8914         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
8915         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
8916         enums.
8917         (rust_internal_print_type): New function, from rust_print_type.
8918         Remove enum code.
8919         (rust_print_type): Call rust_internal_print_type.
8920         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
8921         Update enum handling.
8922         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
8923         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
8924         (rust_union_quirks): New functions.
8925         (process_full_comp_unit, process_full_type_unit): Call
8926         rust_union_quirks.
8927         (process_structure_scope): Update rust_unions if necessary.
8928
8929 2018-02-26  Tom Tromey  <tom@tromey.com>
8930
8931         * value.h (value_union_variant): Declare.
8932         * valops.c (value_union_variant): New function.
8933         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
8934         (struct discriminant_info): New.
8935         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
8936         enumerator.
8937         (struct main_type) <flag_discriminated_union>: New field.
8938
8939 2018-02-26  Tom Tromey  <tom@tromey.com>
8940
8941         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8942         unittests/unpack-selftests.c.
8943         * unittests/unpack-selftests.c: New file.
8944         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
8945
8946 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8947
8948         * dwarf2read.c (struct partial_die_info) <read>: New method.
8949         (read_partial_die): Remove the declaration.
8950         (load_partial_dies): Update.
8951         (partial_die_info::partial_die_info):
8952         (read_partial_die): Change it to partial_die_info::read.
8953
8954 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8955
8956         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
8957         (fixup_partial_die): Remove declaration.
8958         (scan_partial_symbols): Update.
8959         (partial_die_parent_scope): Likewise.
8960         (partial_die_full_name): Likewise.
8961         (fixup_partial_die): Change it to partial_die_info::fixup.
8962
8963 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8964
8965         * dwarf2read.c (read_partial_die): Update the declaration.
8966         (load_partial_dies): Caller update.
8967         (read_partial_die): Remove one argument abbrev_len.
8968
8969 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8970
8971         * dwarf2read.c (struct partial_die_info): Add ctor, delete
8972         assignment operator.
8973         (load_partial_dies): Use ctor and copy ctor.
8974         (read_partial_die): Update.
8975         (dwarf2_cu::find_partial_die): Use ctor.
8976
8977 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8978
8979         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
8980         (find_partial_die_in_comp_unit): Change it to
8981         dwarf2_cu::find_partial_die.
8982         (find_partial_die): Update.
8983
8984 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8985
8986         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
8987         is NULL.
8988
8989 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8990
8991         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
8992
8993 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
8994
8995         * arch/amd64.h: Use common/tdesc.h.
8996         * arch/i386.c: Likewise.
8997         * arch/i386.h: Likewise.
8998         * arch/tic6x.c: Likewise.
8999         * arch/tdesc.h: Move file from here...
9000         * common/tdesc.h: ...to here.
9001         * features/aarch64-core.c: Regenerate.
9002         * features/aarch64-fpu.c: Regenerate.
9003         * features/i386/32bit-avx.c: Regenerate.
9004         * features/i386/32bit-avx512.c: Regenerate.
9005         * features/i386/32bit-core.c: Regenerate.
9006         * features/i386/32bit-linux.c: Regenerate.
9007         * features/i386/32bit-mpx.c: Regenerate.
9008         * features/i386/32bit-pkeys.c: Regenerate.
9009         * features/i386/32bit-sse.c: Regenerate.
9010         * features/i386/64bit-avx.c: Regenerate.
9011         * features/i386/64bit-avx512.c: Regenerate.
9012         * features/i386/64bit-core.c: Regenerate.
9013         * features/i386/64bit-linux.c: Regenerate.
9014         * features/i386/64bit-mpx.c: Regenerate.
9015         * features/i386/64bit-pkeys.c: Regenerate.
9016         * features/i386/64bit-segments.c: Regenerate.
9017         * features/i386/64bit-sse.c: Regenerate.
9018         * features/i386/x32-core.c: Regenerate.
9019         * features/tic6x-c6xp.c: Regenerate.
9020         * features/tic6x-core.c: Regenerate.
9021         * features/tic6x-gp.c: Regenerate.
9022         * target-descriptions.c: Use common/tdesc.h.
9023         * target-descriptions.h: Likewise.
9024
9025 2018-02-24  Tom Tromey  <tom@tromey.com>
9026
9027         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
9028         (try_thread_db_load_from_dir, thread_db_load_search): Use
9029         std::string.
9030         (info_auto_load_libthread_db_compare): Return bool.  Change
9031         argument types.
9032         (info_auto_load_libthread_db): Use std::vector, std::string.
9033         Remove cleanups.
9034
9035 2018-02-24  Tom Tromey  <tom@tromey.com>
9036
9037         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
9038         std::string.
9039         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
9040         std::string*.
9041         * gdbarch.c: Rebuild.
9042         * gdbarch.h: Rebuild.
9043         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9044         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9045         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9046         std::string*.
9047
9048 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9049
9050         * gdbtypes.h (sect_offset): Change type to uint64_t.
9051         (sect_offset_str): New function.
9052         * dwarf2read.c (create_addrmap_from_aranges): Use
9053         sect_offset_str.
9054         (error_check_comp_unit_head): Likewise.
9055         (create_debug_type_hash_table): Likewise.
9056         (read_cutu_die_from_dwo): Likewise.
9057         (init_cutu_and_read_dies): Likewise.
9058         (init_cutu_and_read_dies_no_follow): Likewise.
9059         (process_psymtab_comp_unit_reader): Likewise.
9060         (partial_die_parent_scope): Likewise.
9061         (peek_die_abbrev): Likewise.
9062         (process_queue): Likewise.
9063         (dwarf2_physname): Likewise.
9064         (read_namespace_alias): Likewise.
9065         (read_import_statement): Likewise.
9066         (create_dwo_cu_reader): Likewise.
9067         (create_cus_hash_table): Likewise.
9068         (lookup_dwo_cutu): Likewise.
9069         (inherit_abstract_dies): Likewise.
9070         (read_func_scope): Likewise.
9071         (read_call_site_scope): Likewise.
9072         (dwarf2_add_member_fn): Likewise.
9073         (read_common_block): Likewise.
9074         (read_module_type): Likewise.
9075         (read_typedef): Likewise.
9076         (read_subrange_type): Likewise.
9077         (load_partial_dies): Likewise.
9078         (read_partial_die): Likewise.
9079         (find_partial_die): Likewise.
9080         (read_str_index): Likewise.
9081         (dwarf2_string_attr): Likewise.
9082         (build_error_marker_type): Likewise.
9083         (lookup_die_type): Likewise.
9084         (dump_die_shallow): Likewise.
9085         (follow_die_ref): Likewise.
9086         (dwarf2_fetch_die_loc_sect_off): Likewise.
9087         (dwarf2_fetch_constant_bytes): Likewise.
9088         (follow_die_sig): Likewise.
9089         (get_signatured_type): Likewise.
9090         (get_DW_AT_signature_type): Likewise.
9091         (dwarf2_find_containing_comp_unit): Likewise.
9092         (set_die_type): Likewise.
9093
9094 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9095
9096         * arch/aarch64.c: Include "common-defs.h".
9097         * arch/amd64.c: Likewise.
9098         * arch/i386.c: Likewise.
9099
9100 2018-02-21  Tom Tromey  <tom@tromey.com>
9101
9102         * value.h: (extract_field_op): Update.
9103         * eval.c (extract_field_op): Return a const char *.
9104         * expression.h (parse_expression_for_completion): Update.
9105         * completer.c (complete_expression): Update.
9106         (add_struct_fields): Make fieldname const.
9107         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9108         (mark_completion_tag, parse_exp_in_context_1): Update.
9109         (parse_expression_for_completion): Change "name" to
9110         unique_xmalloc_ptr*.
9111
9112 2018-02-21  Tom Tromey  <tom@tromey.com>
9113
9114         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9115
9116 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9117
9118         * avr-tdep.c (avr_read_pc): Change parameter type to
9119         readable_regcache.
9120         * gdbarch.sh (read_pc): Likewise.
9121         * gdbarch.c: Re-generated.
9122         * gdbarch.h: Re-generated.
9123         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9124         readable_regcache.
9125         * ia64-tdep.c (ia64_read_pc): Likewise.
9126         * mips-tdep.c (mips_read_pc): Likewise.
9127         * spu-tdep.c (spu_read_pc): Likewise.
9128
9129 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9130
9131         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9132         * regcache-dump.c: New file.
9133         * regcache.c: Move register_dump to regcache-dump.c.
9134         (maintenance_print_registers): Likewise.
9135         (maintenance_print_raw_registers): Likewise.
9136         (maintenance_print_cooked_registers): Likewise.
9137         (maintenance_print_register_groups): Likewise.
9138         (maintenance_print_remote_registers): Likewise.
9139         (_initialize_regcache): Likewise.
9140         * regcache.h (register_dump): Moved from regcache.c.
9141
9142 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9143
9144         * regcache.c (regcache::regcache): Update.
9145         (regcache::invalidate): Move it to detached_regcache::invalidate.
9146         (get_thread_arch_aspace_regcache): Update.
9147         (regcache::raw_update): Update.
9148         (regcache::cooked_read): Remove some code.
9149         (regcache::cooked_read_value): Likewise.
9150         (regcache::raw_write): Remove assert on m_readonly_p.
9151         (regcache::raw_supply_integer): Move it to
9152         detached_regcache::raw_supply_integer.
9153         (regcache::raw_supply_zeroed): Likewise.
9154         * regcache.h (detached_regcache) <raw_supply_integer>: New
9155         declaration.
9156         <raw_supply_zeroed, invalidate>: Likewise.
9157         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9158         <invalidate>: Likewise.
9159         <m_readonly_p>: Removed.
9160
9161 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9162
9163         * infcmd.c (get_return_value): Let stop_regs point to
9164         get_current_regcache.
9165         * regcache.c (regcache::regcache): Remove.
9166         (register_dump_reg_buffer): New class.
9167         (regcache_print): Adjust.
9168         * regcache.h (regcache): Remove constructors.
9169
9170 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9171
9172         * regcache.c (class register_dump): New class.
9173         (register_dump_regcache, register_dump_none): New class.
9174         (register_dump_remote, register_dump_groups): New class.
9175         (regcache_print): Update.
9176         * regcache.h (regcache_dump_what): Move it to regcache.c.
9177         (regcache) <dump>: Remove.
9178
9179 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9180
9181         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9182          reg_buffer_rw *.
9183         (jit_unwind_reg_set_impl): Call raw_supply.
9184         (jit_frame_sniffer): Use reg_buffer_rw.
9185         * record-full.c (record_full_core_regbuf): Change its type.
9186         (record_full_core_open_1): Use reg_buffer_rw.
9187         (record_full_close): Likewise.
9188         (record_full_core_fetch_registers): Use regcache->raw_supply.
9189         (record_full_core_store_registers): Likewise.
9190         * regcache.c (regcache::get_register_status): Move it to
9191         reg_buffer.
9192         (regcache_raw_set_cached_value): Remove.
9193         (regcache::raw_set_cached_value): Remove.
9194         (regcache::raw_write): Call raw_supply.
9195         (regcache::raw_supply): Move it to reg_buffer_rw.
9196         * regcache.h (regcache_raw_set_cached_value): Remove.
9197         (reg_buffer_rw): New class.
9198
9199 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9200
9201         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9202         readonly_detached_regcache.
9203         (dummy_frame_prev_register): Use regcache->cooked_read.
9204         * frame.c (frame_save_as_regcache): Change return type.
9205         (frame_pop): Update.
9206         * frame.h (frame_save_as_regcache): Update declaration.
9207         * inferior.h (get_infcall_suspend_state_regcache): Update
9208         declaration.
9209         * infrun.c (infcall_suspend_state) <registers>: use
9210         readonly_detached_regcache.
9211         (save_infcall_suspend_state): Don't use regcache_dup.
9212         (get_infcall_suspend_state_regcache): Change return type.
9213         * linux-fork.c (struct fork_info) <savedregs>: Change to
9214         readonly_detached_regcache.
9215         <pc>: New field.
9216         (fork_save_infrun_state): Don't use regcache_dup.
9217         (info_checkpoints_command): Adjust.
9218         * mi/mi-main.c (register_changed_p): Update declaration.
9219         (mi_cmd_data_list_changed_registers): Use
9220         readonly_detached_regcache.
9221         (register_changed_p): Change parameter type to
9222         readonly_detached_regcache.
9223         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9224         readonly_detached_regcache.
9225         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9226         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9227         New.
9228         (regcache::save): Move it to reg_buffer.
9229         (regcache::restore): Change parameter type.
9230         (regcache_dup): Remove.
9231         * regcache.h (reg_buffer) <save>: New method.
9232         (readonly_detached_regcache): New class.
9233         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9234         readonly_detached_regcache.
9235         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9236
9237 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9238
9239         * frame.c (frame_save_as_regcache): Use regcache method save.
9240         (frame_pop): Use regcache method restore.
9241         * infrun.c (restore_infcall_suspend_state): Likewise.
9242         * linux-fork.c (fork_load_infrun_state): Likewise.
9243         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9244         save.
9245         * regcache.c (regcache_save): Remove.
9246         (regcache::restore): More asserts.
9247         (regcache_cpy): Remove.
9248         * regcache.h (regcache_save): Remove the declaration.
9249         (regcache::restore): Move from private to public.
9250         Remove the friend declaration of regcache_cpy.
9251         (regcache_cpy): Remove declaration.
9252
9253 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9254
9255         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9256         parameter type to 'readable_regcache *'.
9257         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9258         * arm-tdep.c (arm_neon_quad_read): Likewise.
9259         (arm_pseudo_read): Likewise.
9260         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9261         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9262         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9263         * gdbarch.c: Re-generated.
9264         * gdbarch.h: Re-generated.
9265         * gdbarch.sh (pseudo_register_read): Change parameter type to
9266         'readable_regcache *'.
9267         (pseudo_register_read_value): Likewise.
9268         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9269         (h8300_pseudo_register_read): Likewise.
9270         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9271         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9272         (i386_pseudo_register_read_into_value): Likewise.
9273         (i386_pseudo_register_read_value): Likewise.
9274         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9275         declaration.
9276         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9277         * m32c-tdep.c (m32c_raw_read): Likewise.
9278         (m32c_read_flg): Likewise.
9279         (m32c_banked_register): Likewise.
9280         (m32c_banked_read): Likewise.
9281         (m32c_sb_read): Likewise.
9282         (m32c_part_read): Likewise.
9283         (m32c_cat_read): Likewise.
9284         (m32c_r3r2r1r0_read): Likewise.
9285         (m32c_pseudo_register_read): Likewise.
9286         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9287         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9288         (mep_pseudo_cr64_read): Likewise.
9289         (mep_pseudo_register_read): Likewise.
9290         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9291         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9292         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9293         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9294         (regcache::cooked_read): Likewise.
9295         (regcache::cooked_read_value): Likewise.
9296         (regcache_cooked_read_signed):
9297         (regcache::cooked_read): Likewise.
9298         * regcache.h (readable_regcache): New class.
9299         (regcache): Inherit readable_regcache.  Move some methods to
9300         readable_regcache.
9301         * rl78-tdep.c (rl78_pseudo_register_read): Change
9302         parameter type to 'readable_regcache *'.
9303         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9304         (e500_pseudo_register_read): Change parameter type to
9305         'readable_regcache *'.
9306         (dfp_pseudo_register_read): Likewise.
9307         (vsx_pseudo_register_read): Likewise.
9308         (efpr_pseudo_register_read): Likewise.
9309         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9310         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9311         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9312         (sh64_pseudo_register_read): Likewise.
9313         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9314         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9315         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9316         (spu_pseudo_register_read): Likewise.
9317         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9318         (xtensa_pseudo_register_read): Likewise.
9319
9320 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9321
9322         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9323         (regcache::arch): Move it to reg_buffer::arch.
9324         (regcache::register_buffer): Likewise.
9325         (regcache::assert_regnum): Likewise.
9326         (regcache::num_raw_registers): Likewise.
9327         * regcache.h (reg_buffer): New class.
9328         (regcache): Inherit reg_buffer.
9329
9330 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9331
9332         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9333         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9334
9335 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9336
9337         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9338
9339 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9340
9341         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9342         (SFILES): Remove common/*.c files.
9343         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9344         * common/common.host: Add common reference.
9345         * configure.ac: Likewise.
9346         * configure: Regenerate.
9347
9348 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9349
9350         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9351         (block_initialize_namespace): Use new.
9352         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9353         (dwarf2_free_objfile): Use delete.
9354         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9355         (copy_type_recursive): Use new.
9356         * gdb_obstack.h (allocate_on_obstack): New.
9357
9358 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9359
9360         PR gdb/22849
9361         * inferior.c (exit_inferior_1): Reset inf->control.
9362
9363 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9364
9365         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9366         declaration.
9367
9368 2018-02-14  Pedro Alves  <palves@redhat.com>
9369
9370         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9371         frame_cleanup_after_sniffer on exception.
9372
9373 2018-02-14  Tom Tromey  <tom@tromey.com>
9374
9375         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9376         const.
9377         (solib_bfd_open): Make pathname const.
9378         * solib.c (solib_bfd_open): Make pathname const.
9379         * solib-spu.c (spu_bfd_fopen): Make name const.
9380         (spu_bfd_open): Make pathname const.
9381         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9382         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9383
9384 2018-02-14  Tom Tromey  <tom@tromey.com>
9385
9386         * symfile.c (symfile_bfd_open): Update.
9387         * source.h (openp, source_full_path_of, find_and_open_source):
9388         Change argument type to unique_xmalloc_ptr.
9389         * source.c (openp): Take a unique_xmalloc_ptr.
9390         (source_full_path_of, find_and_open_source): Likewise.
9391         (open_source_file, symtab_to_fullname): Update.
9392         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9393         unique_xmalloc_ptr.
9394         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9395         (exec_file_find): Update.
9396         * psymtab.c (psymtab_to_fullname): Update.
9397         * nto-tdep.h (nto_find_and_open_solib): Update.
9398         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9399         unique_xmalloc_ptr.
9400         * exec.c (exec_file_attach): Update.
9401         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9402         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9403
9404 2018-02-14  Tom Tromey  <tom@tromey.com>
9405
9406         * solib.c: Include source.h.
9407         * nto-tdep.c: Include source.h.
9408         * mi/mi-cmd-env.c: Include source.h.
9409         * infcmd.c: Include source.h.
9410         * exec.c: Include source.h.
9411         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9412         (add_path, directory_switch, source_path, init_source_path): Move
9413         declarations...
9414         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9415         (add_path, directory_switch, source_path, init_source_path):
9416         ...here.
9417
9418 2018-02-14  Tom Tromey  <tom@tromey.com>
9419
9420         * solist.h (exec_file_find, solib_find): Return
9421         unique_xmalloc_ptr.
9422         (solib_bfd_fopen): Take a const char *.
9423         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
9424         (exec_file_find, solib_find): Likewise.
9425         (solib_bfd_fopen): Do not take ownership of "pathname".
9426         (solib_bfd_open): Use unique_xmalloc_ptr.
9427         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
9428         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
9429         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
9430         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
9431
9432 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
9433
9434         * ada-lang.c (name_match_type_from_name): Remove reference to
9435         ada_name_for_lookup in function's documentation.
9436         * ada-lang.h (ada_name_for_lookup): Delete declaration.
9437
9438 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9439
9440         * defs.h (enum openp_flags): New enum.
9441         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
9442         Move to enum openp_flags.
9443         (openp_flags): New enum flags.
9444         (openp): Change parameter type to openp_flags.
9445         * source.c (openp): Change parameter type to openp_flags.
9446         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
9447         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
9448
9449 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9450
9451         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
9452         per-command.
9453
9454 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9455
9456         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
9457         into...
9458         (class dwarf2_queue_guard): ...the destructor of this new class.
9459         (dw2_do_instantiate_symtab): Create instance of the new class
9460         dwarf2_queue_guard, remove cleanup.
9461
9462 2018-02-09  Tom Tromey  <tom@tromey.com>
9463
9464         * source.c (find_source_lines): Don't reference past the end of
9465         the vector.
9466
9467 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9468
9469         * remote.c (remote_btrace_maybe_reopen): Change error message.
9470         * btrace.c (btrace_enable): Likewise.
9471         (parse_xml_btrace): Likewise.
9472         (parse_xml_btrace_conf): Likewise.
9473
9474 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9475
9476         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
9477         (linux_enable_pt, linux_enable_bts): Call
9478         diagnose_perf_event_open_fail.
9479
9480 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9481
9482         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
9483         Remove parameter and change return type.  Update callers.  Move it.
9484         (linux_enable_bts, linux_enable_pt): Improve error message.
9485         (linux_enable_pt): Remove zero buffer size check.
9486         (linux_enable_btrace): Improve error messages.  Remove NULL return
9487         check.
9488
9489 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9490
9491         * btrace.c (btrace_enable): Remove target_supports_btrace call.
9492         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
9493         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
9494         (linux_supports_pt, linux_supports_btrace): Remove.
9495         (linux_enable_bts): Call cpu_supports_bts.
9496         * nat/linux-btrace.h (linux_supports_btrace): Remove.
9497         * remote.c (remote_supports_btrace): Remove.
9498         (init_remote_ops): Remove remote_supports_btrace.
9499         * target-delegates.c: Regenerated.
9500         * target.c (target_supports_btrace): Remove.
9501         * target.h (target_ops) <to_supports_btrace>: Remove
9502         (target_supports_btrace): Remove.
9503         * x86-linux-nat.c (x86_linux_create_target): Remove
9504         linux_supports_btrace.
9505
9506 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9507
9508         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
9509         btrace failed.
9510         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
9511         exception and use message in own exception.
9512
9513 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9514
9515         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
9516         (perf_event_pt_event_type): Use gdb_file_up.
9517         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
9518         scoped_fd, and scoped_mmap.
9519
9520 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9521
9522         * common/scoped_mmap.h: New.
9523         * unittests/scoped_mmap-selftest.c: New.
9524         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9525         unittests/scoped_mmap-selftest.c.
9526
9527 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9528
9529         * common/scoped_fd.h: New.
9530         * unittests/scoped_fd-selftest.c: New.
9531         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9532         unittests/scoped_fd-selftest.c.
9533
9534 2018-02-09  Tom Tromey  <tom@tromey.com>
9535
9536         * auto-load.c (auto_load_section_scripts): Use
9537         gdb::unique_xmalloc_ptr.
9538
9539 2018-02-09  Tom Tromey  <tom@tromey.com>
9540
9541         * auto-load.c (execute_script_contents): Use std::string.
9542
9543 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
9544
9545         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
9546         Python function, rather than a new command.
9547
9548 2018-02-08  Tom Tromey  <tom@tromey.com>
9549
9550         * solib.c (solib_find_1): Use std::string.
9551         (solib_bfd_fopen): Use unique_xmalloc_ptr.
9552
9553 2018-02-08  Tom Tromey  <tom@tromey.com>
9554
9555         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
9556
9557 2018-02-08  Tom Tromey  <tom@tromey.com>
9558
9559         * source.c (find_source_lines): Use gdb::def_vector.
9560
9561 2018-02-08  Tom Tromey  <tom@tromey.com>
9562
9563         * macrocmd.c (struct temporary_macro_definition): New.
9564         (macro_define_command): Use temporary_macro_definition.  Remove
9565         cleanups.
9566         (free_macro_definition_ptr): Remove.
9567
9568 2018-02-08  Tom Tromey  <tom@tromey.com>
9569
9570         * macroexp.c (maybe_expand): Use std::string.
9571
9572 2018-02-08  Tom Tromey  <tom@tromey.com>
9573
9574         * macroexp.c (struct macro_buffer): Add initializers for some
9575         members.
9576         (init_buffer, init_shared_buffer, free_buffer)
9577         (free_buffer_return_text): Remove.
9578         (macro_buffer): New constructors.
9579         (~macro_buffer): New destructor.
9580         (macro_buffer::set_shared): New method.
9581         (macro_buffer::resize_buffer, macro_buffer::appendc)
9582         (macro_buffer::appendmem): Now methods, not free functions.
9583         (set_token, append_tokens_without_splicing, stringify)
9584         (macro_stringify): Update.
9585         (gather_arguments): Change return type.  Remove argc_p argument,
9586         add args_ptr argument.  Use std::vector.
9587         (substitute_args): Remove argc argument.  Accept std::vector.
9588         (expand): Update.  Use std::vector.
9589         (scan, macro_expand, macro_expand_next): Update.
9590
9591 2018-02-08  Tom Tromey  <tom@tromey.com>
9592
9593         * symtab.c (default_collect_symbol_completion_matches_break_on):
9594         Use unique_xmalloc_ptr.
9595         * macroscope.h: (sal_macro_scope, user_macro_scope)
9596         (default_macro_scope): Return unique_xmalloc_ptr.
9597         * macroscope.c (sal_macro_scope, user_macro_scope)
9598         (default_macro_scope): Return unique_xmalloc_ptr.
9599         * macroexp.h (macro_expand, macro_expand_once): Return
9600         unique_xmalloc_ptr.
9601         * macroexp.c (macro_expand, macro_expand_once): Return
9602         unique_xmalloc_ptr.
9603         * macrocmd.c (macro_expand_command, macro_expand_once_command)
9604         (info_macro_command, info_macros_command): Use
9605         unique_xmalloc_ptr.
9606         * compile/compile-c-support.c (write_macro_definitions): Use
9607         unique_xmalloc_ptr.
9608         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
9609
9610 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
9611
9612         * value.c (value_static_field): Assign field type instead of
9613         containing type when returning an optimized out value.
9614
9615 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9616
9617         * ft32-tdep.c (ft32_read_pc): Remove.
9618         (ft32_write_pc): Remove.
9619         (ft32_gdbarch_init): Update.
9620         * m32r-tdep.c (m32r_read_pc): Remove.
9621         (m32r_gdbarch_init): Update.
9622         * mep-tdep.c (mep_read_pc): Remove.
9623         (mep_gdbarch_init): Update.
9624         * microblaze-tdep.c (microblaze_write_pc): Remove.
9625         (microblaze_gdbarch_init): Update.
9626         * mn10300-tdep.c (mn10300_read_pc): Remove.
9627         (mn10300_write_pc): Remove.
9628         (mn10300_gdbarch_init): Update.
9629         * moxie-tdep.c (moxie_read_pc): Remove.
9630         (moxie_write_pc): Remove.
9631         (moxie_gdbarch_init): Update.
9632
9633 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9634
9635         * expprint.c (print_subexp_standard): Handle
9636         OP_F77_UNDETERMINED_ARGLIST.
9637         (dump_subexp_body_standard): Likewise.
9638
9639 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
9640
9641         * target-descriptions.c (tdesc_element_visitor) Add empty
9642         implementations.
9643         (tdesc_type): Move make_gdb_type from here.
9644         (tdesc_type_builtin): Likewise.
9645         (tdesc_type_vector): Likewise.
9646         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
9647         (make_gdb_type_struct): Move from tdesc_type_with_fields.
9648         (make_gdb_type_union): Likewise.
9649         (make_gdb_type_flags): Likewise.
9650         (make_gdb_type_enum): Likewise.
9651         (make_gdb_type): New function.
9652         (tdesc_register_type): Use static make_gdb_type.
9653
9654 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
9655
9656         * infcmd.c (default_print_one_register_info): Align natural-format
9657         column values consistently one under another.
9658         (pad_to_column): New function.
9659
9660 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
9661
9662         * dwarf2read.c (dwarf2_physname): Move commment.
9663
9664 2018-02-01  Leszek Swirski  <leszeks@google.com>
9665
9666         * varobj.c (varobj_formatted_print_options): Allow recursive
9667         pretty printing if pretty printing is enabled.
9668
9669 2018-02-01  Leszek Swirski  <leszeks@google.com>
9670
9671         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
9672         names after a structop as a filename.
9673
9674 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9675
9676         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
9677         (arm_record_coproc_data_proc): Likewise.
9678
9679 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9680
9681         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
9682
9683 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
9684
9685         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
9686         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
9687
9688 2018-01-31  Pedro Alves  <palves@redhat.com>
9689
9690         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
9691         * inflow.c (child_terminal_save_inferior): Wrap reference to
9692         tcgetpgrp in HAVE_TERMIOS_H.
9693         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
9694         _WIN32.
9695         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
9696         always iterate over all inferiors.
9697         (gdbsim_cntrl_c): Adjust.
9698         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
9699
9700 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9701
9702         * gdbtypes.c (lookup_array_range_type): Make sure the array's
9703         index type is objfile-owned if the element type is as well.
9704
9705 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9706
9707         GDB 8.1 released.
9708
9709 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9710
9711         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
9712         "features/s390x-linux64.c".
9713         (_initialize_s390_linux_tdep): Remove initialization of tdescs
9714         s390_linux32 and s390x_linux64.
9715         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
9716         default tdesc.
9717         * s390-tdep.c: Include "features/s390-linux32.c" and
9718         "features/s390x-linux64.c".
9719         (s390_tdesc_valid): Add check for tdesc_has_registers.
9720         (s390_gdbarch_init): Make sure there is always a valid tdesc.
9721         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
9722         tdesc_s390x_linux64.
9723         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
9724         tdesc_s390x_linux64 to...
9725         * s390-tdep.h: ...here.
9726
9727 2018-01-30  Pedro Alves  <palves@redhat.com>
9728
9729         PR gdb/13211
9730         * config.in, configure: Regenerate.
9731         * configure.ac: Check for getpgid.
9732         * go32-nat.c (go32_pass_ctrlc): New.
9733         (go32_target): Install it.
9734         * inf-child.c (inf_child_target): Install
9735         child_terminal_save_inferior, child_pass_ctrlc and
9736         child_interrupt.
9737         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
9738         (inf_ptrace_target): No longer install it.
9739         * infcmd.c (interrupt_target_1): Adjust.
9740         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
9741         (child_interrupt): Declare.
9742         (inferior::terminal_state): New.
9743         * inflow.c (struct terminal_info): Update comments.
9744         (inferior_process_group): Delete.
9745         (terminal_is_ours): Delete.
9746         (gdb_tty_state): New.
9747         (child_terminal_init): Adjust.
9748         (is_gdb_terminal, sharing_input_terminal_1)
9749         (sharing_input_terminal): New functions.
9750         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
9751         Set the process's actual process group in the foreground if
9752         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
9753         mark terminal as the inferior's if not sharing GDB's terminal.
9754         Don't check attach_flag.
9755         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
9756         pass down a target_terminal_state.
9757         (child_terminal_save_inferior): New, factored out from ...
9758         (child_terminal_ours_1): ... this.  Handle
9759         target_terminal_state::is_ours_for_output.
9760         (child_interrupt, child_pass_ctrlc): New.
9761         (inflow_inferior_exit): Clear the inferior's terminal_state.
9762         (copy_terminal_info): Copy the inferior's terminal state.
9763         (_initialize_inflow): Remove reference to terminal_is_ours.
9764         * inflow.h (inferior_process_group): Delete.
9765         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
9766         * procfs.c (procfs_target): Don't install procfs_interrupt.
9767         (procfs_interrupt): Delete.
9768         * remote.c (remote_serial_quit_handler): Adjust.
9769         (remote_interrupt): Remove ptid parameter.  Adjust.
9770         * target-delegates.c: Regenerate.
9771         * target.c: Include "terminal.h".
9772         (target_terminal::terminal_state): Rename to ...
9773         (target_terminal::m_terminal_state): ... this.
9774         (target_terminal::init): Adjust.
9775         (target_terminal::inferior): Adjust to per-inferior
9776         terminal_state.
9777         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
9778         (target_terminal::ours, target_terminal::ours_for_output): Use
9779         target_terminal_is_ours_kind.
9780         (target_interrupt): Remove ptid parameter.  Adjust.
9781         (default_target_pass_ctrlc): Adjust.
9782         * target.h (target_ops::to_terminal_save_inferior): New field.
9783         (target_ops::to_interrupt): Remove ptid_t parameter.
9784         (target_interrupt): Remove ptid_t parameter.  Update comment.
9785         (target_pass_ctrlc): Update comment.
9786         * target/target.h (target_terminal_state): New scoped enum,
9787         factored out of ...
9788         (target_terminal::terminal_state): ... here.
9789         (target_terminal::inferior): Update comments.
9790         (target_terminal::restore_inferior): New.
9791         (target_terminal::is_inferior, target_terminal::is_ours)
9792         (target_terminal::is_ours_for_output): Adjust.
9793         (target_terminal::scoped_restore_terminal_state): Adjust to
9794         rename, and call restore_inferior() instead of inferior().
9795         (target_terminal::scoped_restore_terminal_state::m_state): Change
9796         type.
9797         (target_terminal::terminal_state): Rename to ...
9798         (target_terminal::m_terminal_state): ... this and change type.
9799
9800 2018-01-30  Pedro Alves  <palves@redhat.com>
9801
9802         * linux-nat.c (wait_for_signal): New function.
9803         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
9804         directly.
9805         (async_terminal_is_ours)
9806         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
9807         (linux_nat_add_target): Don't override
9808         to_terminal_inferior/to_terminal_ours.
9809
9810 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
9811
9812         * remote.c (remote_follow_fork): Don't call "detach_inferior".
9813
9814 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
9815
9816         * dwarf2read.c (free_dwo_files): Add forward-declaration.
9817         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
9818         dwarf2_per_objfile_free here.
9819         (dwarf2_per_objfile_free): Remove.
9820         (_initialize_dwarf2_read): Don't register
9821         dwarf2_per_objfile_free as a registry cleanup.
9822
9823 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9824
9825         Avoid compilation errors in MinGW native builds
9826
9827         The error is triggered by including python-internal.h, and the
9828         error message is:
9829
9830              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
9831                       from build-gnulib/import/math.h:27,
9832                       from d:/usr/Python26/include/pyport.h:235,
9833                       from d:/usr/Python26/include/Python.h:58,
9834                       from python/python-internal.h:94,
9835                       from python/py-arch.c:24:
9836              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
9837         using ::hypot;
9838                 ^~~~~
9839
9840         This happens because Python headers define 'hypot' to expand t
9841         '_hypot' in the Windows builds.
9842         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
9843         'hypoth'.  This avoids a compilation error.
9844
9845 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9846
9847         * MAINTAINERS (Write After Approval): Fix ordering.
9848
9849 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9850
9851         * MAINTAINERS (Write After Approval): Add Alan Hayward.
9852
9853 2018-01-26  Alan Modra  <amodra@gmail.com>
9854
9855         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
9856         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
9857         Remove nop.  Make const.  Comment.
9858         (powerpc32_plt_stub_so_2): New.
9859         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
9860         Correct count.  Update uses.
9861         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
9862         Move common code reading PLT entry word.  Correct
9863         powerpc32_plt_stub PLT address calculation.
9864         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
9865         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
9866         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
9867         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
9868         (ppc64_standard_linkage8): Likewise.
9869         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
9870         Correct insns description.
9871         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
9872
9873 2018-01-24  Pedro Alves  <palves@redhat.com>
9874
9875         GCC PR libstdc++/83906
9876         * gdbtypes.c (operator==(const dynamic_prop &,
9877         const dynamic_prop &)): New.
9878         (operator==(const range_bounds &, const range_bounds &)): New.
9879         (check_types_equal): Use them instead of memcmp.
9880         * gdbtypes.h (operator==(const dynamic_prop &,
9881         const dynamic_prop &)): Declare.
9882         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
9883         (operator==(const range_bounds &, const range_bounds &)): Declare.
9884         (operator!=(const range_bounds &, const range_bounds &)): Declare.
9885
9886 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9887
9888         * s390-linux-tdep.c (s390_record_address_mask)
9889         (s390_record_calc_disp_common, s390_record_calc_disp)
9890         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9891         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9892         (s390_process_record): Move to s390-tdep.c.
9893         (s390_linux_init_abi_any): Adjust.
9894         * s390-tdep.c (s390_record_address_mask)
9895         (s390_record_calc_disp_common, s390_record_calc_disp)
9896         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9897         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9898         (s390_process_record): Moved from s390-linux-tdep.c
9899         (s390_gdbarch_init): Adjust.
9900
9901 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9902
9903         * s390-linux-nat.c (s390-tdep.h): New include.
9904         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
9905         (HFILES_NO_SRCDIR): Add s390-tdep.h.
9906         (ALLDEPFILES): Add s390-tdep.c.
9907         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
9908         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
9909         * s390-tdep.h: ...this.  New file.
9910         * s390-linux-tdep.c (s390-tdep.h): New include.
9911         (_initialize_s390_tdep): Rename to...
9912         (_initialize_s390_linux_tdep): ...this and adjust.
9913         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
9914         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
9915         s390-tdep.h.
9916         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
9917         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
9918         (s390_is_partial_instruction, s390_software_single_step)
9919         (is_non_branch_ril, s390_displaced_step_copy_insn)
9920         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
9921         (s390_prologue_data, s390_addr, s390_store, s390_load)
9922         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
9923         (s390_register_call_saved, s390_guess_tracepoint_registers)
9924         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
9925         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
9926         (s390_pseudo_register_name, s390_pseudo_register_type)
9927         (s390_pseudo_register_read, s390_pseudo_register_write)
9928         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
9929         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
9930         (s390_addr_bits_remove, s390_address_class_type_flags)
9931         (s390_address_class_type_flags_to_name)
9932         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
9933         (s390_function_arg_float, s390_function_arg_vector)
9934         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
9935         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
9936         (s390_frame_align, s390_register_return_value, s390_return_value)
9937         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
9938         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
9939         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
9940         (s390_trad_frame_prev_register, s390_unwind_cache)
9941         (s390_prologue_frame_unwind_cache)
9942         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
9943         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
9944         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
9945         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
9946         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
9947         (s390_frame_base_address, s390_local_base_address)
9948         (s390_frame_base, s390_gcc_target_options)
9949         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
9950         (s390_validate_reg_range, s390_tdesc_valid)
9951         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
9952         * s390-tdep.c: ...this.  New file.
9953
9954 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9955
9956         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
9957         (s390_process_record, s390_gdbarch_tdep_alloc)
9958         (s390_linux_init_abi_any): Use/set new hook.
9959
9960 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9961
9962         * s390-linux-tdep.c (osabi.h): New include.
9963         (s390_linux_init_abi_31, s390_linux_init_abi_64)
9964         (s390_linux_init_abi_any): New functions.
9965         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
9966
9967 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9968
9969         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
9970         tdesc_has_registers check
9971
9972 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9973
9974         * s390-linux-tdep.c (s390_tdesc_valid): New function.
9975         (s390_validate_reg_range): New macro.
9976         (s390_gdbarch_init): Adjust.
9977
9978 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9979
9980         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
9981         (s390_gdbarch_tdep_alloc): Adjust.
9982         (s390_gdbarch_init): Adjust.
9983
9984 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9985
9986         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
9987         <have_tdb>: Change type to bool.
9988         (s390_gdbarch_tdep_alloc): Adjust.
9989         (s390_gdbarch_init): Adjust.
9990
9991 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9992
9993         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
9994         (gdbarch_tdep) <have_upper, have_vx>: New fields.
9995         (s390_gdbarch_tdep_alloc): New function.
9996         (s390_gdbarch_init): Allocate tdep at start and use its fields
9997         instead of separate variables.
9998
9999 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10000
10001         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
10002         when looking for cached gdbarch and add comment for remaining.
10003
10004 2018-01-22  Pedro Alves  <palves@redhat.com>
10005             Sergio Durigan Junior  <sergiodj@redhat.com>
10006
10007         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
10008         case.
10009
10010 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
10011
10012         * MAINTAINERS: Update my company e-mail address.
10013
10014 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10015
10016         * regcache.c (cooked_write_test): New function.
10017         (_initialize_regcache): Register the test.
10018
10019 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10020
10021         * ia64-tdep.c (ia64_pseudo_register_read): Call
10022         regcache->cooked_read instead of regcache_cooked_read_unsigned.
10023         * m32c-tdep.c (m32c_cat_read): Likewise.
10024         (m32c_r3r2r1r0_read): Likewise.
10025         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10026         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10027
10028 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10029
10030         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
10031         method raw_read instead of regcache_raw_read.
10032         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10033         * arm-tdep.c (arm_neon_quad_read): Likewise.
10034         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10035         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10036         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10037         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
10038         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10039         (i386_pseudo_register_read_into_value): Likewise.
10040         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10041         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10042         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10043         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10044         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10045         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10046         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10047         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10048         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10049
10050 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10051
10052         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10053         * configure.tgt: Remove target mt.
10054         * mt-tdep.c: Remove.
10055         * regcache.c (cooked_read_test): Remove the check for mt.
10056
10057 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10058
10059         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10060         instead of gdbarch_pseudo_register_read_value.
10061
10062 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10063
10064         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10065         language is Ada.
10066
10067 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10068
10069         * linespec.c (create_sals_line_offset): Remove code that preserved
10070         the symtab_and_line's line number.
10071
10072 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10073
10074         * varobj.c (varobj_create): Don't set valid_block when creating a
10075         floating varobj.
10076
10077 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10078
10079         * varobj.c (varobj_create): Remove out of date comment.
10080
10081 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10082
10083         PR mi/20395
10084         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10085         updating innermost block.
10086         * parse.c (innermost_block_tracker::update): Take extra type
10087         parameter, and check types match before updating innermost block.
10088         (write_dollar_variable): Update innermost block for registers.
10089         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10090         (innermost_block_tracker::innermost_block_tracker): Initialise
10091         m_types member.
10092         (innermost_block_tracker::reset): Take type parameter.
10093         (innermost_block_tracker::update): Take type parameter, and pass
10094         type through as needed.
10095         (innermost_block_tracker::m_types): New member.
10096         * varobj.c (varobj_create): Pass type when reseting innermost
10097         block.
10098
10099 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10100
10101         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10102         * ada-lang.c (resolve_subexp): Likewise.
10103         * breakpoint.c (set_breakpoint_condition) Likewise.
10104         (watch_command_1) Likewise.
10105         * c-exp.y (variable): Likewise.
10106         * d-exp.y (PrimaryExpression): Likewise.
10107         * f-exp.y (variable): Likewise.
10108         * go-exp.y (variable): Likewise.
10109         * m2-exp.y (variable): Likewise.
10110         * objfiles.c (objfile::~objfile): Likewise.
10111         * p-exp.y (variable): Likewise.
10112         * parse.c (innermost_block): Change type.
10113         * parser-defs.h (class innermost_block_tracker): New.
10114         (innermost_block): Change to innermost_block_tracker.
10115         * printcmd.c (display_command): Switch to innermost_block API.
10116         (do_one_display): Likewise.
10117         * rust-exp.y (do_one_display): Likewise.
10118         * symfile.c (clear_symtab_users): Likewise.
10119         * varobj.c (varobj_create): Switch to innermost_block API, replace
10120         use of innermost_block with block stored on varobj object.
10121
10122 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10123
10124         * expression.h (innermost_block): Remove declaration.
10125         * varobj.c: Add 'parser-defs.h' include.
10126
10127 2018-01-19  Tom Tromey  <tom@tromey.com>
10128
10129         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10130         symbols in the static and global blocks.
10131
10132 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10133
10134         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10135         gdb_ptrace.h, and move including gdb_wait.h ...
10136         * nat/linux-ptrace.h: ... to here.
10137
10138 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10139
10140         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10141         inf_ptrace_detach_success.
10142         (inf_ptrace_detach_success): Add inferior parameter, use it
10143         instead of inferior_ptid, pass it to detach_inferior.
10144         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10145         parameter.
10146         * inferior.c (detach_inferior): Add overload that takes an
10147         inferior object.
10148         * inferior.h (detach_inferior): Likewise.
10149         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10150         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10151         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10152
10153 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10154
10155         * target.h (struct target_ops) <to_detach>: Add inferior
10156         parameter.
10157         (target_detach): Likewise.
10158         * target.c (dispose_inferior): Pass inferior down.
10159         (target_detach): Pass inferior down.  Assert that it is equal to
10160         the current inferior.
10161         * aix-thread.c (aix_thread_detach): Pass inferior down.
10162         * corefile.c (core_file_command): Pass current_inferior() down.
10163         * corelow.c (core_detach): Add inferior parameter.
10164         * darwin-nat.c (darwin_detach): Likewise.
10165         * gnu-nat.c (gnu_detach): Likewise.
10166         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10167         * infcmd.c (detach_command): Pass current_inferior() down to
10168         target_detach.
10169         * infrun.c (follow_fork_inferior): Pass parent_inf to
10170         target_detach.
10171         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10172         target_detach.
10173         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10174         * linux-thread-db.c (thread_db_detach): Likewise.
10175         * nto-procfs.c (procfs_detach): Likewise.
10176         * procfs.c (procfs_detach): Likewise.
10177         * record.c (record_detach): Likewise.
10178         * record.h (struct inferior): Forward-declare.
10179         (record_detach): Add inferior parameter.
10180         * remote-sim.c (gdbsim_detach): Likewise.
10181         * remote.c (remote_detach_1): Likewise.
10182         (remote_detach): Likewise.
10183         (extended_remote_detach): Likewise.
10184         * sol-thread.c (sol_thread_detach): Likewise.
10185         * target-debug.h (target_debug_print_inferior_p): New macro.
10186         * target-delegates.c: Re-generate.
10187         * top.c (kill_or_detach): Pass inferior down to target_detach.
10188         * windows-nat.c (windows_detach): Add inferior parameter.
10189
10190 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10191
10192         * target.h (struct target_ops) <to_detach>: Remove args
10193         parameter.
10194         (target_detach): Likewise.
10195         * target.c (dispose_inferior): Adjust.
10196         (target_detach): Remove args parameter, adjust.
10197         * aix-thread.c (aix_thread_detach): Adjust.
10198         * corefile.c (core_file_command): Adjust.
10199         * corelow.c (core_detach): Adjust.
10200         * darwin-nat.c (darwin_detach): Adjust.
10201         * gnu-nat.c (gnu_detach): Adjust.
10202         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10203         * infcmd.c (detach_command): Adjust
10204         * infrun.c (follow_fork_inferior): Adjust.
10205         (handle_vfork_child_exec_or_exit): Adjust.
10206         * linux-fork.c (linux_fork_detach): Remove args parameter.
10207         * linux-fork.h (linux_fork_detach): Likewise.
10208         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10209         * linux-thread-db.c (thread_db_detach): Likewise.
10210         * nto-procfs.c (procfs_detach): Likewise.
10211         * procfs.c (procfs_detach): Likewise.
10212         (do_detach): Remove signo parameter.
10213         * record.c (record_detach): Remove args parameter.
10214         * record.h (record_detach): Likewise.
10215         * remote-sim.c (gdbsim_detach): Likewise.
10216         * remote.c (remote_detach_1): Likewise.
10217         (remote_detach): Likewise.
10218         (extended_remote_detach): Likewise.
10219         * sol-thread.c (sol_thread_detach): Likewise.
10220         * target-delegates.c: Re-generate.
10221         * top.c (struct qt_args) <args>: Remove field.
10222         (kill_or_detach): Don't pass args.
10223         (quit_force): Don't set args.
10224         * windows-nat.c (windows_detach): Remove args parameter.
10225
10226 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10227
10228         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10229         (arm_linux_init_abi): Install it.
10230
10231 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10232
10233         * osabi.c (gdb_osabi_names): Extend the regexp for
10234         arm-linux-gnueabihf.
10235
10236 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10237
10238         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10239         m_abbrevs.
10240         (abbrev_table::add_abbrev): Update.
10241         (abbrev_table::lookup_abbrev): Update.
10242
10243 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10244
10245         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10246
10247 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10248
10249         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10250         to "std::string".
10251
10252 2018-01-17  Tom Tromey  <tom@tromey.com>
10253
10254         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10255
10256 2018-01-17  Tom Tromey  <tom@tromey.com>
10257
10258         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10259         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10260         (create_array_type_with_stride): Update.
10261         * dwarf2read.c (set_die_type): Update.
10262
10263 2018-01-17  Tom Tromey  <tom@tromey.com>
10264
10265         * dwarf2read.c (delayed_method_info): Remove typedef.
10266         (dwarf2_cu::method_info): Now a std::vector.
10267         (add_to_method_list): Update.
10268         (free_delayed_list): Remove.
10269         (compute_delayed_physnames): Update.
10270         (process_full_comp_unit, process_full_type_unit): Clear the method
10271         list.  Remove cleanups.
10272         (psymtab_include_file_name): Add name_holder parameter.  Use
10273         unique_xmalloc_ptr.
10274         (dwarf_decode_lines): Update.
10275
10276 2018-01-17  Tom Tromey  <tom@tromey.com>
10277             Simon Marchi  <simon.marchi@ericsson.com>
10278
10279         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10280         (dwarf2_per_objfile::free_cached_comp_units)
10281         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10282         (init_cutu_and_read_dies_no_follow): Update.
10283         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10284         (dwarf2_cu::~dwarf2_cu): New.
10285         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10286         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10287
10288 2018-01-17  Tom Tromey  <tom@tromey.com>
10289             Simon Marchi  <simon.marchi@ericsson.com>
10290
10291         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10292         (struct die_reader_specs) <abbrev_table>: New member.
10293         (struct abbrev_table): Add constructor.
10294         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10295         <abbrev_obstack>: Now an auto_obstack.
10296         (abbrev_table_up): New typedef.
10297         (init_cu_die_reader): Add abbrev_table parameter.
10298         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10299         Add result_dwo_abbrev_table.
10300         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10301         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10302         Update.
10303         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10304         parameter.
10305         (skip_children): Update.
10306         (abbrev_table::alloc_abbrev): Rename from
10307         abbrev_table_alloc_abbrev.
10308         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10309         (abbrev_table::lookup_abbrev): Rename from
10310         abbrev_table_lookup_abbrev.
10311         (abbrev_table_read_table): Return abbrev_table_up.
10312         (abbrev_table_free, abbrev_table_free_cleanup)
10313         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10314         (load_partial_dies): Update.
10315
10316 2018-01-17  Tom Tromey  <tom@tromey.com>
10317
10318         * dwarf2read.c (dwarf2_compute_name): Update comment.
10319         (read_func_scope, read_variable): Update.
10320         (new_symbol): Remove.
10321         (new_symbol_full): Rename to new_symbol.
10322
10323 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10324
10325         PR gdb/16577
10326         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10327         a warning instead of throwing an error, set section size to 0 and return
10328         NULL.
10329         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10330
10331 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10332
10333         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10334         std::string.
10335         (linux_ptrace_attach_fail_reason_string): Likewise.
10336         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10337         Likewise.
10338         (linux_ptrace_attach_fail_reason_string): Likewise.
10339         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10340
10341 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10342
10343         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10344
10345 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10346
10347         PR gdb/21559
10348         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10349         checking for fs_base/gs_base fields in struct user_regs_struct.
10350         * configure: Regenerate.
10351
10352 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10353
10354         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10355         function.
10356         (aarch64_linux_init_abi): Install it to gdbarch hook
10357         gcc_target_options.
10358
10359 2018-01-15  Pedro Alves  <palves@redhat.com>
10360
10361         * common/signals-state-save-restore.c
10362         (save_original_signals_state): Fix typos.
10363
10364 2017-01-12  Tom Tromey  <tom@tromey.com>
10365             Sergio Durigan Junior  <sergiodj@redhat.com>
10366
10367         * Makefile.in (install-only): Install gdb-add-index.
10368
10369 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10370
10371         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10372
10373 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10374
10375         * infrun.c (keep_going_pass_signal): Clear step-over info when
10376         insert_breakpoints fails.
10377
10378 2018-01-11  Pedro Alves  <palves@redhat.com>
10379
10380         PR gdb/22583
10381         * infrun.c (resume): Rename to ...
10382         (resume_1): ... this.
10383         (resume): Reimplement as wrapper around resume_1.
10384
10385 2018-01-11  Pedro Alves  <palves@redhat.com>
10386
10387         PR remote/22597
10388         * remote.c (remote_parse_stop_reply): Default to the last-set
10389         general thread instead of to 'magic_null_ptid'.
10390
10391 2018-01-10  Pedro Alves  <palves@redhat.com>
10392
10393         * language.h (language_get_symbol_name_matcher): Rename ...
10394         (get_symbol_name_matcher): ... this.
10395         * language.c (language_get_symbol_name_matcher): Ditto.
10396         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10397         callers adjusted.
10398
10399 2018-01-10  Pedro Alves  <palves@redhat.com>
10400
10401         PR gdb/22670
10402         * dwarf2read.c
10403         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10404         Adjust to use language_get_symbol_name_matcher instead of
10405         language_defn::la_get_symbol_name_matcher.
10406         * language.c (language_get_symbol_name_matcher): If in Ada mode
10407         and the lookup name is a verbatim match, return Ada's matcher.
10408         * language.h (language_get_symbol_name_matcher): Adjust comment.
10409         (ada_lookup_name_info::verbatim_p):: New method.
10410
10411 2018-01-10  Pedro Alves  <palves@redhat.com>
10412
10413         PR gdb/22670
10414         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10415         minsym's language is language_auto or language_cplus, pass down
10416         language_ada instead.
10417         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10418
10419 2018-01-10  Pedro Alves  <palves@redhat.com>
10420
10421         PR gdb/22670
10422         * minsyms.c (linkage_name_str): New function.
10423         (iterate_over_minimal_symbols): Use it.
10424
10425 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10426
10427         * NEWS: Document that 'info proc' now works on FreeBSD.
10428
10429 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10430
10431         * configure.ac: Check for kinfo_getfile in libutil.
10432         * configure: Regenerate.
10433         * config.in: Regenerate.
10434         * fbsd-nat.c: Include "fbsd-tdep.h".
10435         (fbsd_fetch_cmdline): New.
10436         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
10437         rather than calling error.
10438         (fbsd_info_proc): New.
10439         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
10440         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
10441         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
10442
10443 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10444
10445         * fbsd-nat.c (struct free_deleter): Remove.
10446         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
10447
10448 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10449
10450         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
10451         NULL for an empty pathname.
10452
10453 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10454
10455         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
10456         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
10457         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
10458         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
10459         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
10460         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
10461         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
10462         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
10463         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
10464         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
10465         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
10466         (fbsd_core_fetch_timeval, fbsd_print_sigset)
10467         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
10468         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
10469         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
10470
10471 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
10472
10473         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
10474         (gnu_xfer_auxv): New function.
10475         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
10476         TARGET_OBJECT_AUXV.
10477
10478 2018-01-08  Yao Qi  <yao.qi@linaro.org>
10479             Simon Marchi  <simon.marchi@ericsson.com>
10480
10481         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
10482         common/selftest.c.
10483         (COMMON_OBS): Remove selftest.o.
10484         * configure.ac: Append selftest-arch.c and common/selftest.c to
10485         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
10486         * configure: Re-generated.
10487         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
10488         GDB_SELF_TEST.
10489         (maintenance_info_selftests): Likewise.
10490
10491 2018-01-08  Xavier Roirand  <roirand@adacore.com>
10492
10493         * ada-valprint.c (val_print_packed_array_elements): Use
10494         proper number of elements when printing an array indexed
10495         by an enumeration type.
10496
10497 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10498
10499         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
10500         (dw2_get_file_names_reader): Adjust.
10501         (lookup_dwo_signatured_type): Adjust.
10502         (lookup_dwp_signatured_type): Adjust.
10503         (lookup_signatured_type): Adjust.
10504         (create_type_unit_group): Adjust.
10505         (get_type_unit_group): Adjust.
10506         (process_psymtab_comp_unit_reader): Adjust.
10507         (build_type_psymtabs_reader): Adjust.
10508         (scan_partial_symbols): Adjust.
10509         (add_partial_symbol): Adjust.
10510         (add_partial_subprogram): Adjust.
10511         (peek_die_abbrev): Adjust.
10512         (fixup_go_packaging): Adjust.
10513         (process_imported_unit_die): Adjust.
10514         (dwarf2_compute_name): Adjust.
10515         (dwarf2_physname): Adjust.
10516         (read_import_statement): Adjust.
10517         (handle_DW_AT_stmt_list): Adjust.
10518         (read_file_scope): Adjust.
10519         (read_func_scope): Adjust.
10520         (read_lexical_block_scope): Adjust.
10521         (read_call_site_scope): Adjust.
10522         (read_variable): Adjust.
10523         (dwarf2_rnglists_process): Adjust.
10524         (dwarf2_ranges_process): Adjust.
10525         (dwarf2_ranges_read): Adjust.
10526         (dwarf2_get_pc_bounds): Adjust.
10527         (dwarf2_record_block_ranges): Adjust.
10528         (dwarf2_add_field): Adjust.
10529         (dwarf2_add_member_fn): Adjust.
10530         (read_structure_type): Adjust.
10531         (process_structure_scope): Adjust.
10532         (read_enumeration_type): Adjust.
10533         (read_array_type): Adjust.
10534         (mark_common_block_symbol_computed): Adjust.
10535         (read_common_block): Adjust.
10536         (read_namespace_type): Adjust.
10537         (read_namespace): Adjust.
10538         (read_module_type): Adjust.
10539         (read_tag_pointer_type): Adjust.
10540         (read_tag_ptr_to_member_type): Adjust.
10541         (read_tag_string_type): Adjust.
10542         (read_subroutine_type): Adjust.
10543         (read_typedef): Adjust.
10544         (read_base_type): Adjust.
10545         (attr_to_dynamic_prop): Adjust.
10546         (read_subrange_type): Adjust.
10547         (read_unspecified_type): Adjust.
10548         (dwarf2_read_abbrevs): Adjust.
10549         (load_partial_dies): Adjust.
10550         (read_partial_die): Adjust.
10551         (find_partial_die): Adjust.
10552         (guess_partial_die_structure_name): Adjust.
10553         (fixup_partial_die): Adjust.
10554         (read_attribute_value): Adjust.
10555         (read_addr_index): Adjust.
10556         (read_addr_index_from_leb128): Adjust.
10557         (read_str_index): Adjust.
10558         (dwarf2_string_attr): Adjust.
10559         (get_debug_line_section): Adjust.
10560         (dwarf_decode_line_header): Adjust.
10561         (lnp_state_machine::check_line_address): Adjust.
10562         (dwarf_decode_lines_1): Adjust.
10563         (dwarf_decode_lines): Adjust.
10564         (dwarf2_start_symtab): Adjust.
10565         (var_decode_location): Adjust.
10566         (new_symbol_full): Adjust.
10567         (dwarf2_const_value_data): Adjust.
10568         (dwarf2_const_value_attr): Adjust.
10569         (dwarf2_const_value): Adjust.
10570         (die_type): Adjust.
10571         (die_containing_type): Adjust.
10572         (build_error_marker_type): Adjust.
10573         (lookup_die_type): Adjust.
10574         (guess_full_die_structure_name): Adjust.
10575         (anonymous_struct_prefix): Adjust.
10576         (determine_prefix): Adjust.
10577         (dwarf2_name): Adjust.
10578         (follow_die_ref_or_sig): Adjust.
10579         (follow_die_offset): Adjust.
10580         (follow_die_ref): Adjust.
10581         (follow_die_sig_1): Adjust.
10582         (follow_die_sig): Adjust.
10583         (get_signatured_type): Adjust.
10584         (get_DW_AT_signature_type): Adjust.
10585         (decode_locdesc): Adjust.
10586         (dwarf_decode_macros): Adjust.
10587         (cu_debug_loc_section): Adjust.
10588         (fill_in_loclist_baton): Adjust.
10589         (dwarf2_symbol_mark_computed): Adjust.
10590         (init_one_comp_unit): Don't assign
10591         dwarf2_cu::dwarf2_per_objfile.
10592         (set_die_type): Adjust.
10593
10594 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10595
10596         * dwarf2read.c (struct mapped_debug_names): Add constructor.
10597         <dwarf2_per_objfile>: New field.
10598         (dwarf2_per_objfile): Remove global.
10599         (get_dwarf2_per_objfile): New function.
10600         (set_dwarf2_per_objfile): New function.
10601         (dwarf2_build_psymtabs_hard): Change objfile parameter to
10602         dwarf2_per_objfile.
10603         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10604         (read_abbrev_offset): Likewise.
10605         (read_indirect_string): Likewise.
10606         (read_indirect_line_string): Likewise.
10607         (read_indirect_string_at_offset): Likewise.
10608         (read_indirect_string_from_dwz): Likewise.
10609         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10610         dwarf2_per_objfile.
10611         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10612         (create_all_comp_units): Change objfile parameter to
10613         dwarf2_per_objfile.
10614         (create_all_type_units): Likewise.
10615         (process_queue): Add dwarf2_per_objfile parameter.
10616         (read_and_check_comp_unit_head): Likewise.
10617         (lookup_dwo_unit_in_dwp): Likewise.
10618         (get_dwp_file): Likewise.
10619         (process_cu_includes): Likewise.
10620         (struct free_dwo_file_cleanup_data): New struct.
10621         (dwarf2_has_info): Use get_dwarf2_per_objfile and
10622         set_dwarf2_per_objfile.
10623         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
10624         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
10625         context, adjust calls.
10626         (dw2_instantiate_symtab): Likewise.
10627         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
10628         (dw2_get_cu): Likewise.
10629         (create_cu_from_index_list): Change objfile parameter to
10630         dwarf2_per_objfile.
10631         (create_cus_from_index_list): Get dwarf2_per_objfile from
10632         context, adjust calls.
10633         (create_cus_from_index): Likewise.
10634         (create_signatured_type_table_from_index): Change objfile
10635         parameter to dwarf2_per_objfile.
10636         (create_signatured_type_table_from_debug_names): Change objfile
10637         parameter to dwarf2_per_objfile.
10638         (create_addrmap_from_index): Likewise.
10639         (create_addrmap_from_aranges): Likewise.
10640         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
10641         (dw2_setup): Remove.
10642         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
10643         context.
10644         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
10645         get_dwarf2_per_objfile.
10646         (dw2_forget_cached_source_info): Likewise.
10647         (dw2_map_symtabs_matching_filename): Likewise.
10648         (struct dw2_symtab_iterator) <index>: Remove.
10649         <dwarf2_per_objfile>: New field.
10650         (dw2_symtab_iter_init): Replace index parameter with
10651         dwarf2_per_objfile.
10652         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
10653         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
10654         (dw2_print_stats): Likewise.
10655         (dw2_dump): Likewise.
10656         (dw2_expand_symtabs_for_function): Likewise.
10657         (dw2_expand_all_symtabs): Likewise.
10658         (dw2_expand_symtabs_with_fullname): Likewise.
10659         (dw2_expand_marked_cus): Replace index and objfile parameters
10660         with dwarf2_per_objfile.
10661         (dw_expand_symtabs_matching_file_matcher): Add
10662         dwarf2_per_objfile parameter and adjust calls.
10663         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
10664         adjust calls.
10665         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
10666         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
10667         adjust calls.
10668         (create_cus_from_debug_names_list): Replace objfile parameter
10669         with dwarf2_per_objfile and adjust calls.
10670         (create_cus_from_debug_names): Likewise.
10671         (dwarf2_read_debug_names): Likewise.
10672         (mapped_debug_names::namei_to_name): Adjust call.
10673         (dw2_debug_names_iterator::next): Likewise.
10674         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
10675         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
10676         (dw2_debug_names_dump): Likewise.
10677         (dw2_debug_names_expand_symtabs_for_function): Likewise.
10678         (dw2_debug_names_expand_symtabs_matching): Likewise.
10679         (dwarf2_initialize_objfile): Likewise.
10680         (dwarf2_build_psymtabs): Likewise.
10681         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
10682         this_cu.
10683         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
10684         (read_and_check_comp_unit_head): Likewise.
10685         (read_abbrev_offset): Likewise.
10686         (create_debug_type_hash_table): Likewise.
10687         (create_debug_types_hash_table): Likewise.
10688         (create_all_type_units): Replace objfile parameter with
10689         dwarf2_per_objfile.
10690         (add_type_unit): Add dwarf2_per_objfile parameter.
10691         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
10692         with dwarf2_per_objfile.
10693         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
10694         (lookup_dwp_signatured_type): Likewise.
10695         (lookup_signatured_type): Likewise.
10696         (read_cutu_die_from_dwo): Likewise.
10697         (init_tu_and_read_dwo_dies): Likewise.
10698         (init_cutu_and_read_dies): Likewise.
10699         (init_cutu_and_read_dies_no_follow): Likewise.
10700         (allocate_type_unit_groups_table): Add objfile parameter.
10701         (create_type_unit_group): Use dwarf2_per_objfile from cu.
10702         (get_type_unit_group): Likewise.
10703         (process_psymtab_comp_unit): Update call.
10704         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
10705         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
10706         (print_tu_stats): Likewise.
10707         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
10708         in void* parameter.
10709         (build_type_psymtabs): Change objfile parameter to
10710         dwarf2_per_objfile.
10711         (process_skeletonless_type_unit): Use dwarf2_per_objfile
10712         passed in void* parameter.
10713         (process_skeletonless_type_units): Change objfile parameter to
10714         dwarf2_per_objfile.
10715         (set_partial_user): Likewise.
10716         (dwarf2_build_psymtabs_hard): Likewise.
10717         (read_comp_units_from_section): Likewise.
10718         (create_all_comp_units): Likewise.
10719         (scan_partial_symbols): Update calls.
10720         (add_partial_symbol): Likewise.
10721         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
10722         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
10723         (process_queue): Add dwarf2_per_objfile parameter.
10724         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
10725         (compute_compunit_symtab_includes): Likewise.
10726         (process_cu_includes): Add dwarf2_per_objfile parameter.
10727         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
10728         (process_full_type_unit): Likewise.
10729         (process_imported_unit_die): Update call.
10730         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
10731         (read_file_scope): Likewise.
10732         (allocate_dwo_file_hash_table): Add objfile parameter.
10733         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
10734         (create_cus_hash_table): Likewise.
10735         (create_dwp_hash_table): Likewise.
10736         (create_dwo_unit_in_dwp_v1): Likewise.
10737         (create_dwp_v2_section): Likewise.
10738         (create_dwo_unit_in_dwp_v2): Likewise.
10739         (lookup_dwo_unit_in_dwp): Likewise.
10740         (try_open_dwop_file): Likewise.
10741         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
10742         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
10743         cleanup to include a reference to dwarf2_per_objfile.
10744         (open_dwp_file): Add dwarf2_per_objfile parameter.
10745         (open_and_init_dwp_file): Likewise.
10746         (get_dwp_file): Likewise.
10747         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
10748         (queue_and_load_all_dwo_tus): Update call.
10749         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
10750         data.
10751         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
10752         (dwarf2_ranges_process): Likewise.
10753         (dwarf2_get_pc_bounds): Likewise.
10754         (mark_common_block_symbol_computed): Likewise.
10755         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10756         (dwarf2_read_abbrevs): Update call.
10757         (read_partial_die): Use dwarf2_per_objfile from cu.
10758         (find_partial_die): Likewise.
10759         (fixup_partial_die): Likewise.
10760         (read_attribute_value): Likewise.
10761         (read_indirect_string_at_offset_from): Add objfile parameter.
10762         (read_indirect_string_at_offset): Add dwarf2_per_objfile
10763         parameter.
10764         (read_indirect_string_from_dwz): Add objfile parameter.
10765         (read_indirect_string): Add objfile parameter.
10766         (read_addr_index_1): Add dwarf2_per_objfile parameter.
10767         (read_addr_index): Use dwarf2_per_objfile from cu.
10768         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
10769         call dw2_setup.
10770         (read_str_index): Use dwarf2_per_objfile from cu.
10771         (get_debug_line_section): Likewise.
10772         (read_formatted_entries): Add dwarf2_per_objfile parameter.
10773         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
10774         (new_symbol_full): Use dwarf2_per_objfile from cu.
10775         (build_error_marker_type): Likewise.
10776         (lookup_die_type): Likewise.
10777         (determine_prefix): Likewise.
10778         (follow_die_offset): Likewise.
10779         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
10780         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
10781         (dwarf2_fetch_die_type_sect_off): Likewise.
10782         (dwarf2_get_die_type): Likewise.
10783         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
10784         (get_signatured_type): Likewise.
10785         (get_DW_AT_signature_type): Likewise.
10786         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
10787         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
10788         (cu_debug_loc_section): Likewise.
10789         (fill_in_loclist_baton): Likewise.
10790         (dwarf2_symbol_mark_computed): Likewise.
10791         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10792         dwarf2_per_objfile.
10793         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
10794         parameter.
10795         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10796         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
10797         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
10798         (set_die_type): Use dwarf2_free_objfile from cu.
10799         (get_die_type_at_offset): Likewise.
10800         (dwarf2_per_objfile_free): Don't assign global variable.
10801         (debug_names) <constructor>: Add dwarf2_per_objfile
10802         parameter, update m_debugstrlookup construction.
10803         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
10804         parameter.
10805         <m_dwarf2_per_objfile>: New field.
10806         <lookup>: Use m_dwarf2_per_objfile.
10807         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
10808         (psyms_seen_size): Likewise.
10809         (write_gdbindex): Replace objfile parameter with
10810         dwarf2_per_objfile.
10811         (write_debug_names): Likewise.
10812         (write_psymtabs_to_index): Likewise.
10813         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
10814         calls.
10815
10816 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10817
10818         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
10819         <dwarf2_per_objfile>: New field.
10820         (struct dwarf2_per_cu_data) <objfile>: Remove.
10821         <dwarf2_per_objfile>: New field.
10822         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
10823         of objfile.
10824         (create_signatured_type_table_from_index): Likewise.
10825         (create_debug_type_hash_table): Likewise.
10826         (fill_in_sig_entry_from_dwo_entry): Likewise.
10827         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
10828         (create_type_unit_group): Assign dwarf2_per_objfile instead of
10829         objfile.
10830         (create_partial_symtab): Access objfile through
10831         dwarf2_per_objfile.
10832         (process_psymtab_comp_unit_reader): Likewise.
10833         (read_comp_units_from_section): Likewise.
10834         (scan_partial_symbols): Likewise.
10835         (add_partial_symbol): Likewise.
10836         (add_partial_subprogram): Likewise.
10837         (peek_die_abbrev): Likewise.
10838         (fixup_go_packaging): Likewise.
10839         (process_full_comp_unit): Likewise.
10840         (process_full_type_unit): Likewise.
10841         (process_imported_unit_die): Likewise.
10842         (dwarf2_compute_name): Likewise.
10843         (dwarf2_physname): Likewise.
10844         (read_import_statement): Likewise.
10845         (create_cus_hash_table): Assign dwarf2_physname instead of
10846         objfile.
10847         (read_func_scope): Access objfile through dwarf2_per_objfile.
10848         (read_lexical_block_scope): Likewise.
10849         (read_call_site_scope): Likewise.
10850         (read_variable): Likewise.
10851         (dwarf2_rnglists_process): Likewise.
10852         (dwarf2_ranges_process): Likewise.
10853         (dwarf2_ranges_read): Likewise.
10854         (dwarf2_record_block_ranges): Likewise.
10855         (dwarf2_add_field): Likewise.
10856         (dwarf2_add_member_fn): Likewise.
10857         (read_structure_type): Likewise.
10858         (process_structure_scope): Likewise.
10859         (read_enumeration_type): Likewise.
10860         (read_array_type): Likewise.
10861         (read_common_block): Likewise.
10862         (read_namespace_type): Likewise.
10863         (read_namespace): Likewise.
10864         (read_module_type): Likewise.
10865         (read_tag_pointer_type): Likewise.
10866         (read_tag_ptr_to_member_type): Likewise.
10867         (read_tag_string_type): Likewise.
10868         (read_subroutine_type): Likewise.
10869         (read_typedef): Likewise.
10870         (read_base_type): Likewise.
10871         (attr_to_dynamic_prop): Likewise.
10872         (read_subrange_type): Likewise.
10873         (read_unspecified_type): Likewise.
10874         (load_partial_dies): Likewise.
10875         (read_partial_die): Likewise.
10876         (find_partial_die): Likewise.
10877         (guess_partial_die_structure_name): Likewise.
10878         (fixup_partial_die): Likewise.
10879         (read_attribute_value): Likewise.
10880         (read_addr_index_from_leb128): Likewise.
10881         (dwarf2_read_addr_index): Likewise.
10882         (dwarf2_string_attr): Likewise.
10883         (lnp_state_machine::check_line_address): Likewise.
10884         (dwarf_decode_lines_1): Likewise.
10885         (dwarf_decode_lines): Likewise.
10886         (dwarf2_start_symtab): Likewise.
10887         (var_decode_location): Likewise.
10888         (new_symbol_full): Likewise.
10889         (dwarf2_const_value_data): Likewise.
10890         (dwarf2_const_value_attr): Likewise.
10891         (dwarf2_const_value): Likewise.
10892         (die_type): Likewise.
10893         (die_containing_type): Likewise.
10894         (lookup_die_type): Likewise.
10895         (guess_full_die_structure_name): Likewise.
10896         (anonymous_struct_prefix): Likewise.
10897         (dwarf2_name): Likewise.
10898         (follow_die_ref_or_sig): Likewise.
10899         (follow_die_offset): Likewise.
10900         (follow_die_ref): Likewise.
10901         (dwarf2_fetch_die_loc_sect_off): Likewise.
10902         (dwarf2_fetch_constant_bytes): Likewise.
10903         (dwarf2_fetch_die_type_sect_off): Likewise.
10904         (dwarf2_get_die_type): Likewise.
10905         (follow_die_sig): Likewise.
10906         (decode_locdesc): Likewise.
10907         (dwarf2_per_cu_objfile): Likewise.
10908         (dwarf2_per_cu_text_offset): Likewise.
10909         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
10910         objfile.
10911         (set_die_type): Access objfile through
10912         dwarf2_per_objfile.
10913
10914 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10915
10916         * valprint.c (converted_character_d): Remove typedef.
10917         (DEF_VEC_O (converted_character_d)): Remove.
10918         (count_next_character): Use std::vector.
10919         (print_converted_chars_to_obstack): Likewise.
10920         (generic_printstr): Likewise.
10921
10922 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10923
10924         * xml-support.h (struct gdb_xml_value): Add constructor.
10925         <value>: Change type to unique_xmalloc_ptr.
10926         (gdb_xml_value_s): Remove typedef.
10927         (DEF_VEC_O (gdb_xml_value_s)): Remove.
10928         (gdb_xml_element_start_handler): Change parameter type to
10929         std::vector.
10930         (xml_find_attribute): Likewise.
10931         * xml-support.c (xml_find_attribute): Change parameter type to
10932         std::vector and adjust.
10933         (gdb_xml_values_cleanup): Remove.
10934         (gdb_xml_parser::start_element): Adjust to std::vector.
10935         (xinclude_start_include): Change paraeter type to std::vector
10936         and adjust.
10937         * btrace.c (check_xml_btrace_version): Likewise.
10938         (parse_xml_btrace_block): Likewise.
10939         (parse_xml_btrace_pt_config_cpu): Likewise.
10940         (parse_xml_btrace_pt): Likewise.
10941         (parse_xml_btrace_conf_bts): Likewise.
10942         (parse_xml_btrace_conf_pt): Likewise.
10943         * memory-map.c (memory_map_start_memory): Likewise.
10944         (memory_map_start_property): Likewise.
10945         * osdata.c (osdata_start_osdata): Likewise.
10946         (osdata_start_item): Likewise.
10947         (osdata_start_column): Likewise.
10948         * remote.c (start_thread): Likewise.
10949         * solib-aix.c (library_list_start_library): Likewise.
10950         (library_list_start_list): Likewise.
10951         * solib-svr4.c (library_list_start_library): Likewise.
10952         (svr4_library_list_start_list): Likewise.
10953         * solib-target.c (library_list_start_segment): Likewise.
10954         (library_list_start_section): Likewise.
10955         (library_list_start_library): Likewise.
10956         (library_list_start_list): Likewise.
10957         * tracepoint.c (traceframe_info_start_memory): Likewise.
10958         (traceframe_info_start_tvar): Likewise.
10959         * xml-syscall.c (syscall_start_syscall): Likewise.
10960         * xml-tdesc.c (tdesc_start_target): Likewise.
10961         (tdesc_start_feature): Likewise.
10962         (tdesc_start_reg): Likewise.
10963         (tdesc_start_union): Likewise.
10964         (tdesc_start_struct): Likewise.
10965         (tdesc_start_flags): Likewise.
10966         (tdesc_start_enum): Likewise.
10967         (tdesc_start_field): Likewise.
10968         (tdesc_start_enum_value): Likewise.
10969         (tdesc_start_vector): Likewise.
10970
10971 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10972
10973         * extension.h (struct xmethod_worker) <clone>: Remove.
10974         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
10975         Remove.
10976         (python_xmethod_worker::clone): Remove.
10977         * valops.c (find_overload_match): Use std::move instead of
10978         clone.
10979
10980 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10981
10982         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
10983         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
10984         <free_xmethod_worker_data>: Remove.
10985         <get_matching_xmethod_workers>: Chance VEC to std::vector.
10986         <get_xmethod_arg_types>: Remove.
10987         <get_xmethod_result_type>: Remove.
10988         <invoke_xmethod>: Remove.
10989         * extension.c (new_xmethod_worker): Remove.
10990         (clone_xmethod_worker): Remove.
10991         (get_matching_xmethod_workers): Return void, pass std::vector by
10992         pointer.
10993         (get_xmethod_arg_types): Rename to...
10994         (xmethod_worker::get_arg_types): ... this, and adjust.
10995         (get_xmethod_result_type): Rename to...
10996         (xmethod_worker::get_result_type): ... this, and adjust.
10997         (invoke_xmethod): Remove.
10998         (free_xmethod_worker): Remove.
10999         (free_xmethod_worker_vec): Remove.
11000         * extension.h (enum ext_lang_rc): Move here from
11001         extension-priv.h.
11002         (struct xmethod_worker): Add constructor and destructor.
11003         <data>: Remove.
11004         <value>: Remove.
11005         <invoke, clone, do_get_result_type, do_get_arg_types>: New
11006         virtual pure methods.
11007         <get_arg_types, get_result_type>: New methods.
11008         (xmethod_worker_ptr): Remove typedef.
11009         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
11010         (xmethod_worker_vec): Remove typedef.
11011         (xmethod_worker_up): New typedef.
11012         (invoke_xmethod): Remove.
11013         (clone_xmethod_worker): Remove.
11014         (free_xmethod_worker): Remove.
11015         (free_xmethod_worker_vec): Remove.
11016         (get_xmethod_arg_types): Remove.
11017         (get_xmethod_result_type): Remove.
11018         * valops.c (find_method_list): Use std::vector, don't use
11019         intermediate vector.
11020         (value_find_oload_method_list): Use std::vector.
11021         (find_overload_match): Use std::vector.
11022         (find_oload_champ): Use std::vector.
11023         * value.c (value_free): Use operator delete.
11024         (value_of_xmethod): Rename to...
11025         (value_from_xmethod): ... this.  Don't assign
11026         xmethod_worker::value, take rvalue-reference.
11027         (result_type_of_xmethod): Adjust.
11028         (call_xmethod): Adjust.
11029         * value.h: Include extension.h.
11030         (struct xmethod_worker): Don't forward-declare.
11031         (value_of_xmethod): Rename to...
11032         (value_from_xmethod): ... this, take rvalue-reference.
11033         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
11034         (struct python_xmethod_worker): ... this, add constructor and
11035         destructor.
11036         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
11037         (gdbpy_free_xmethod_worker_data): Rename to...
11038         (python_xmethod_worker::~python_xmethod_worker): ... this and
11039         adjust.
11040         (gdbpy_clone_xmethod_worker_data): Rename to...
11041         (python_xmethod_worker::clone): ... this and adjust.
11042         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11043         temporary vector.
11044         (gdbpy_get_xmethod_arg_types): Rename to...
11045         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11046         (gdbpy_get_xmethod_result_type): Rename to...
11047         (python_xmethod_worker::do_get_result_type): ... this and
11048         adjust.
11049         (gdbpy_invoke_xmethod): Rename to...
11050         (python_xmethod_worker::invoke): ... this and adjust.
11051         (new_python_xmethod_worker): Rename to...
11052         (python_xmethod_worker::python_xmethod_worker): ... this and
11053         adjust.
11054         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11055         Remove.
11056         (gdbpy_free_xmethod_worker_data): Remove.
11057         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11058         (gdbpy_get_xmethod_arg_types): Remove.
11059         (gdbpy_get_xmethod_result_type): Remove.
11060         (gdbpy_invoke_xmethod): Remove.
11061         * python/python.c (python_extension_ops): Remove obsolete
11062         callbacks.
11063
11064 2018-01-05  Pedro Alves  <palves@redhat.com>
11065
11066         PR gdb/18653
11067         * common/signals-state-save-restore.c
11068         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11069         find a custom handler preinstalled, instead of internal erroring.
11070         But only warn if !quiet.
11071         * common/signals-state-save-restore.h
11072         (save_original_signals_state): New parameter 'quiet'.
11073         * main.c (captured_main_1): Move save_original_signals_state call
11074         after option handling, and pass QUIET.
11075
11076 2018-01-05  Pedro Alves  <palves@redhat.com>
11077
11078         * spu-tdep.c (spu_catch_start): Pass
11079         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11080
11081 2018-01-05  Pedro Alves  <palves@redhat.com>
11082
11083         PR gdb/22670
11084         * ada-lang.c (literal_symbol_name_matcher): New function.
11085         (ada_get_symbol_name_matcher): Use it for
11086         symbol_name_match_type::SEARCH_NAME.
11087         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11088         it down instead of assuming symbol_name_match_type::FULL.
11089         * block.h (block_lookup_symbol): New parameter 'match_type'.
11090         * c-valprint.c (print_unpacked_pointer): Use
11091         lookup_symbol_search_name instead of lookup_symbol.
11092         * compile/compile-object-load.c (get_out_value_type): Pass down
11093         symbol_name_match_type::SEARCH_NAME.
11094         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11095         symbol_name_match_type::FULL.
11096         * cp-support.c (cp_get_symbol_name_matcher): Handle
11097         symbol_name_match_type::SEARCH_NAME.
11098         * infrun.c (insert_exception_resume_breakpoint): Use
11099         lookup_symbol_search_name.
11100         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11101         * psymtab.c (maintenance_check_psymtabs): Use
11102         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11103         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11104         SYMBOL_SEARCH_NAME.
11105         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11106         if symbol_name_match_type::SEARCH_NAME.
11107         (lookup_symbol_in_language): Pass down
11108         symbol_name_match_type::FULL.
11109         (lookup_symbol_search_name): New.
11110         (lookup_language_this): Pass down
11111         symbol_name_match_type::SEARCH_NAME.
11112         (lookup_symbol_aux, lookup_local_symbol): New parameter
11113         'match_type'.  Pass it down.
11114         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11115         (lookup_symbol_search_name): New declaration.
11116         (lookup_symbol_in_block): New 'match_type' parameter.
11117
11118 2018-01-05  Pedro Alves  <palves@redhat.com>
11119
11120         PR gdb/22670
11121         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11122         ada_lookup_symbol.
11123         (ada_lookup_symbol): Reimplement in terms of
11124         ada_lookup_symbol_list, bits factored out from
11125         ada_lookup_encoded_symbol.
11126
11127 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11128
11129         * ada-exp.y (write_object_renaming): When subscripting an array
11130         using a symbol as the index, pass the block in call to
11131         ada_lookup_encoded_symbol when looking that symbol up.
11132
11133 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11134
11135         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11136         TYPE_INDEX_TYPE.
11137
11138 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11139
11140         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11141         the case where VALUE_LVAL (val0) is not lval_memory.
11142
11143 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11144
11145         * ada-valprint.c (print_optional_low_bound): Handle
11146         character-indexed array printing like boolean-indexed array
11147         printing.
11148
11149 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11150
11151         * NEWS: Create a new section for the next release branch.
11152         Rename the section of the current branch, now that it has
11153         been cut.
11154
11155 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11156
11157         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11158         * version.in: Bump version to 8.1.50.DATE-git.
11159
11160 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11161
11162         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11163         Add field.
11164         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11165         Add field.
11166         (default_exception_support_info) <catch_handlers_sym>: Add field.
11167         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11168         (ada_exception_name_addr_1): Add "catch handlers" handling.
11169         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11170         Update all callers.
11171         (create_excep_cond_exprs) <ex>: Add parameter.
11172         (re_set_exception): Update create_excep_cond_exprs call.
11173         (print_it_exception, print_one_exception, print_mention_exception)
11174         (print_recreate_exception): Add "catch handler" handling.
11175         (allocate_location_catch_handlers, re_set_catch_handlers)
11176         (check_status_catch_handlers, print_it_catch_handlers)
11177         (print_one_catch_handlers, print_mention_catch_handlers)
11178         (print_recreate_catch_handlers): New function.
11179         (catch_handlers_breakpoint_ops): New variable.
11180         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11181         Add parameter.  Add "catch handler" handling.
11182         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11183         Add "catch handler" handling.
11184         (ada_exception_catchpoint_cond_string): Add "catch handler"
11185         handling.
11186         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11187         call.
11188         (catch_ada_handlers_command): New function.
11189         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11190         operations structure.
11191         (_initialize_ada_language): Add "catch handlers" command entry.
11192         * NEWS: Document "catch handlers" feature.
11193
11194 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11195
11196         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11197         account when creating the array type of the slice.
11198         (ada_value_slice): Likewise.
11199
11200 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11201
11202         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11203         New enum value.
11204         (create_array_type_with_stride): Add byte_stride_prop parameter.
11205         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11206         New parameter.  Update all callers in this file.
11207         (array_type_has_dynamic_stride): New function.
11208         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11209         of arrays with dynamic byte strides.
11210         * dwarf2read.c (read_array_type): Add support for dynamic
11211         DW_AT_byte_stride attributes.
11212
11213 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11214
11215         * dwarf2read.c (read_unspecified_type): Treat
11216         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11217
11218 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11219
11220         Update copyright year range in all GDB files.
11221
11222 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11223
11224         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11225         and gdb/testsuite/gdb.base/step-line.c.
11226
11227 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11228
11229         * copyright.py (main): Dump the contents of
11230         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11231         even if BY_HAND is empty.
11232
11233 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11234
11235         * top.c (print_gdb_version): Update Copyright year in version
11236         message.
11237
11238 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11239
11240         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11241
11242 For older changes see ChangeLog-2017.
11243 \f
11244 Local Variables:
11245 mode: change-log
11246 left-margin: 8
11247 fill-column: 74
11248 version-control: never
11249 coding: utf-8
11250 End: