Fix segfault when invoking -var-info-path-expression on a dynamic varobj
[external/binutils.git] / gdb / ChangeLog
1 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
2
3         * varobj.c (varobj_get_path_expr_parent): Report an error if
4         parent is a dynamic varobj.
5
6 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
7
8         * gnulib/aclocal.m4: Re-generate.
9         * gnulib/config.in: Re-generate.
10         * gnulib/configure: Re-generate.
11         * gnulib/import/Makefile.in: Re-generate.
12         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
13         * gnulib/import/m4/onceonly.m4: Re-generate.
14
15 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
16
17         * target-descriptions.c (struct xml_test_tdesc): New.
18         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
19         (record_xml_tdesc): Update.
20         (maintenance_check_xml_descriptions): Update.
21         * target-descriptions.h (record_xml_tdesc): Update comment.
22
23 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
24
25         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
26         checking array bounds are defined.
27
28 2018-07-30  Tom Tromey  <tom@tromey.com>
29
30         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
31         irreflexivity violation.
32
33 2018-07-30  Tom Tromey  <tom@tromey.com>
34
35         * cli/cli-decode.c (lookup_cmd): Remove lint code.
36         * value.c (unpack_long): Remove lint code.
37         * valops.c (value_ind): Remove lint code.
38         * valarith.c (value_x_binop, value_x_unop, value_equal)
39         (value_pos): Remove lint code.
40
41 2018-07-28  Tom de Vries  <tdevries@suse.de>
42
43         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
44         with undefined upper bound as <optimized out>.
45
46 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
47
48         * gcore.in: Rename variable "name" to "prefix".  Expand
49         "usage" text.
50
51 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
52
53         * windows-nat.c (windows_nat_target::create_inferior): Update to
54         call close() in global namespace.
55
56 2018-07-26  Tom Tromey  <tom@tromey.com>
57
58         * dwarf-index-write.c (add_address_entry): Don't add objfile
59         offsets.
60         * dbxread.c (find_stab_function): Rename from
61         find_stab_function_addr.  Return a bound_minimal_symbol.
62         (read_dbx_symtab): Use raw_text_low, raw_text_high.
63         Don't add objfile offsets.
64         (end_psymtab): Use raw_text_low, raw_text_high,
65         MSYMBOL_VALUE_RAW_ADDRESS.
66         (read_ofile_symtab): Update.
67         (process_one_symbol): Update.
68         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
69         offsets.
70         (dw2_relocate): Remove.
71         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
72         searching addrmap.
73         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
74         Update.
75         (process_psymtab_comp_unit_reader, add_partial_symbol)
76         (add_partial_subprogram, dwarf2_ranges_read): Update.
77         (load_partial_dies): Update.
78         (add_address_entry): Don't add objfile offsets.
79         (dwarf2_build_include_psymtabs): Update.
80         (create_addrmap_from_aranges): Don't add objfile offsets.
81         (dw2_find_pc_sect_compunit_symtab): Update.
82         * mdebugread.c (parse_symbol): Don't add objfile offsets.
83         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
84         Update.
85         (parse_partial_symbols): Don't add objfile offsets.  Use
86         raw_text_low, raw_text_high.  Update.
87         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
88         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
89         or call 'relocate' quick function.  Clear psymbol_map.
90         * psympriv.h (struct partial_symbol) <address>: Add section
91         offset.
92         <set_unrelocated_address>: Rename from set_address.
93         <raw_text_low, raw_text_high>: New methods.
94         <text_low, text_high>: Add objfile parameter.
95         (add_psymbol_to_bcache): Add 'section' parameter.  Call
96         set_unrelocated_address.
97         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
98         (find_pc_psymbol): Update.
99         (fixup_psymbol_section, relocate_psymtabs): Remove.
100         (dump_psymtab, psym_functions): Update.
101         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
102         parameter.
103         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
104         (start_psymtab_common): Update.
105         * symfile-debug.c (debug_qf_relocate): Remove.
106         (debug_sym_quick_functions): Update.
107         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
108         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
109         Update.
110
111 2018-07-26  Tom Tromey  <tromey@redhat.com>
112
113         * dbxread.c (end_psymtab): Use text_high_valid and
114         text_low_valid.
115         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
116         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
117         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
118         Update comment.
119         <text_low_valid, text_high_valid>: New fields.
120         <set_text_low, set_text_high>: Update.
121         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
122
123 2018-07-26  Tom Tromey  <tom@tromey.com>
124
125         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
126         Update.
127         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
128         textlow and texthigh fields.
129         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
130         Update.
131         * mdebugread.c (parse_lines, parse_partial_symbols)
132         (psymtab_to_symtab_1): Update.
133         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
134         Rename fields.  Update comment.  Now private.
135         <text_low, text_high, set_text_low, set_text_high>: New methods.
136         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
137         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
138         (start_psymtab_common, maintenance_info_psymtabs)
139         (maintenance_check_psymtabs): Update.
140         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
141         texthigh fields.
142         (scan_xcoff_symtab): Update.
143
144 2018-07-26  Tom Tromey  <tromey@redhat.com>
145
146         * psympriv.h (struct partial_symbol) <unrelocated_address,
147         address, set_address>: New methods.
148         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
149         (fixup_psymbol_section, relocate_psymtabs): Update.
150         (print_partial_symbols): Add 'objfile' parameter.  Update.
151         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
152         Update.
153
154 2018-07-26  Tom Tromey  <tom@tromey.com>
155
156         * dwarf-index-write.c (write_psymbols, debug_names::insert)
157         (debug_names::write_psymbols): Update.
158         * psympriv.h (struct partial_symbol): Derive from
159         general_symbol_info.
160         <obj_section>: New method.
161         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
162         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
163         (find_pc_sect_psymbol, fixup_psymbol_section)
164         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
165         (print_partial_symbols, recursively_search_psymtabs)
166         (compare_psymbols, psymbol_hash, psymbol_compare)
167         (add_psymbol_to_bcache, maintenance_check_psymtabs)
168         (psymbol_name_matches, psym_fill_psymbol_map): Update.
169
170 2018-07-26  Tom Tromey  <tromey@redhat.com>
171
172         * dbxread.c (end_psymtab): Remove dead code.
173
174 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
175
176         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
177         DWARF unwinders are disabled.
178         * dwarf2-frame.c: Add dwarf2read.h include.
179         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
180         disabled.
181         (dwarf2_frame_unwinders_enabled_p): Define.
182         (show_dwarf_unwinders_enabled_p): New function.
183         (_initialize_dwarf2_frame): Register switch to control DWARF
184         unwinder use.
185         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
186         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
187         (show_dwarf_cmdlist): Remove static keyword.
188         * dwarf2read.h (set_dwarf_cmdlist): Declare.
189         (show_dwarf_cmdlist): Declare.
190         * NEWS: Document new feature.
191
192 2018-07-26  Tom de Vries  <tdevries@suse.de>
193
194         PR breakpoints/23366
195         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
196
197 2018-07-26  Tom de Vries  <tdevries@suse.de>
198
199         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
200         DW_AT_count can't be translated to a dynamic prop.
201
202 2018-07-25  Tom de Vries  <tdevries@suse.de>
203
204         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
205         try/catch.
206
207 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
208
209         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
210
211 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
212
213         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
214
215 2018-07-24  Keith Seitz  <keiths@redhat.comt
216
217         PR symtab/23010
218         * dwarf2read.c (dw2_add_symbol_to_list): New function.
219         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
220         instead of add_symbol_to_list.
221         (read_file_scope): Call prepare_one_comp_unit before reading
222         any other DIEs.
223
224 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
225
226         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
227
228 2018-07-24  Tom Tromey  <tom@tromey.com>
229
230         * utils.c (malloc, realloc, free): Don't declare.
231         * configure, config.in: Rebuild.
232         * configure.ac: Don't check for declarations of free, malloc, or
233         realloc.
234
235 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
236
237         * aarch64-linux-nat.c
238         (aarch64_linux_nat_target::stopped_data_address): Remove unused
239         variable.
240         * arm-linux-nat.c (fetch_regs): Likewise.
241         (store_regs): Likewise.
242         (fetch_vfp_regs): Likewise.
243         (store_vfp_regs): Likewise.
244         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
245         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
246         (arm_linux_nat_target::insert_watchpoint): Likewise.
247         (arm_linux_nat_target::remove_watchpoint): Likewise.
248         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
249         Likewise.
250         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
251         Likewise.
252         * ppc-linux-nat.c (fetch_register): Likewise.
253         (fetch_all_gp_regs): Likewise.
254         (fetch_ppc_registers): Likewise.
255         (store_all_gp_regs): Likewise.
256         (store_ppc_registers): Likewise.
257         (hwdebug_insert_point): Likewise.
258         (can_use_watchpoint_cond_accel): Likewise.
259         * remote-sim.c (gdb_os_write_stdout): Likewise.
260
261 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
262             Tom Tromey  <tom@tromey.com>
263
264         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
265         test for it.
266         * configure: Rebuild.
267
268 2018-07-22  Tom Tromey  <tom@tromey.com>
269
270         * regformats/regdat.sh: Define xmltarget_${name} inside
271         #ifndef IN_PROCESS_AGENT.
272
273 2018-07-22  Tom Tromey  <tom@tromey.com>
274
275         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
276
277 2018-07-22  Tom Tromey  <tom@tromey.com>
278
279         * symfile.c (reread_symbols): Notify iter, not objfile.
280
281 2018-07-22  Tom Tromey  <tom@tromey.com>
282
283         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
284         Use arch_ops.
285         (ravenscar_thread_target::prepare_to_store): Likewise.
286
287 2018-07-22  Tom Tromey  <tom@tromey.com>
288
289         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
290         unused variable.  Call value_fetch_lazy when needed.
291         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
292         Remove unused variable.  Call value_fetch_lazy when needed.
293
294 2018-07-22  Tom Tromey  <tom@tromey.com>
295
296         * m32c-tdep.c (mark_dma): Return void.
297         (make_regs): Remove unused declarations.
298
299 2018-07-22  Tom Tromey  <tom@tromey.com>
300
301         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
302         cmdscm_get_valid_command_smob_arg_unsafe for effect.
303         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
304         bkscm_get_valid_block_smob_arg_unsafe for effect.
305
306 2018-07-22  Tom Tromey  <tom@tromey.com>
307
308         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
309         value_type.
310
311 2018-07-22  Tom Tromey  <tom@tromey.com>
312
313         * windows-nat.c (saved_context): Conditionally define.
314         * remote.c (remote_target::remote_btrace_maybe_reopen):
315         Conditionally declare "warned".
316         * inflow.c (sigquit_ours): Conditionally define.
317         (new_tty): Move "tty" declaration inside #if.
318         * guile/guile.c (guile_datadir): Conditionally define.
319         * charset.c (set_be_le_names): Move some declarations inside #if.
320         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
321         #if.
322         (parse_xml_btrace_conf): Likewise.
323
324 2018-07-22  Tom Tromey  <tom@tromey.com>
325
326         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
327
328 2018-07-22  Tom Tromey  <tom@tromey.com>
329
330         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
331         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
332         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
333         * buildsym-legacy.c (get_macro_table): Remove unused variable.
334         * stack.c (frame_apply_level_command): Remove unused variable.
335         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
336         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
337         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
338         unused variable.
339         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
340         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
341         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
342         variable.
343         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
344         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
345         variable.
346         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
347         Remove unused variable.
348         * cli/cli-script.c (recurse_read_control_structure): Remove unused
349         variable.
350         * common/tdesc.c (print_xml_feature::visit): Remove unused
351         variable.
352         * compile/compile-object-load.c (store_regs): Remove unused
353         variables.
354         * complaints.c (clear_complaints): Remove unused variable.
355         * corelow.c (core_target_open): Remove unused variable.
356         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
357         variable.
358         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
359         variable.
360         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
361         variable.
362         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
363         variable.
364         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
365         variable.
366         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
367         variable.
368         * ia64-tdep.c (examine_prologue): Remove unused variable.
369         * infcall.c (run_inferior_call): Remove unused variable.
370         * inferior.c (exit_inferior): Remove unused variable.
371         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
372         * linespec.c (decode_line_2): Remove unused variable.
373         * linux-nat.c (super_close): Remove.
374         * linux-tdep.c (linux_info_proc): Remove unused variable.
375         * mi/mi-main.c (mi_execute_command): Remove unused variable.
376         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
377         Remove unused variable.
378         * parse.c (find_minsym_type_and_address): Remove unused variable.
379         * printcmd.c (info_symbol_command, printf_floating): Remove unused
380         variable.
381         * python/py-breakpoint.c (bppy_set_commands): Remove unused
382         variable.
383         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
384         variables.
385         * record-btrace.c (record_btrace_target::store_registers): Remove
386         unused variable.
387         (cmd_show_record_btrace_cpu): Remove unused variable.
388         * riscv-tdep.c (riscv_register_reggroup_p)
389         (riscv_push_dummy_call, riscv_return_value): Remove unused
390         variable.
391         * rust-exp.y (literal): Remove unused variable.
392         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
393         unused variable.
394         <STRUCTOP_ANONYMOUS>: Likewise.
395         * s390-linux-tdep.c (s390_linux_init_abi_31)
396         (s390_linux_init_abi_64): Remove unused variable.
397         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
398         (file_select_thread, net_windows_open, _initialize_ser_windows):
399         Remove unused variables.
400         * symtab.c (find_pc_sect_line): Remove unused variable.
401         * target-memory.c (compute_garbled_blocks): Remove unused
402         variable.
403         (target_write_memory_blocks): Remove unused variable.
404         * target.c (target_stack::unpush): Remove unused variables.
405         * tracepoint.c (start_tracing, all_tracepoint_actions)
406         (merge_uploaded_trace_state_variables)
407         (print_one_static_tracepoint_marker): Remove unused variable.
408         * unittests/basic_string_view/element_access/char/1.cc (test01):
409         Remove unused variable.
410         * windows-nat.c (windows_continue, windows_add_all_dlls)
411         (do_initial_windows_stuff, windows_nat_target::create_inferior):
412         Remove unused variables.
413
414 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
415
416         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
417         attr_profile in HAVE_ELF.
418         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
419         HAVE_ELF.
420
421 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
422
423         * frame.c (frame_register_unwind): Change parameter name.
424         (frame_unwind_register): Likewise.
425         (frame_unwind_register_value): Likewise.
426         (frame_unwind_register_signed): Likewise.
427         (frame_unwind_register_unsigned): Likewise.
428         * frame.h (frame_register_unwind): Likewise.
429         (frame_unwind_register): Likewise.
430         (frame_unwind_register_value): Likewise.
431         (frame_unwind_register_signed): Likewise.
432         (frame_unwind_register_unsigned): Likewise.
433         (frame_unwind_arch): Likewise.
434
435 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
436
437         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
438         ISA maintenance.
439
440 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
441
442         * mips-linux-nat.c (mips_linux_nat_target::read_description):
443         Call `get_ptrace_pid' rather than extracting the ptrace PID by
444         hand.
445
446 2018-07-20  Keith Seitz  <keiths@redhat.com>
447
448         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
449         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
450         m_compunit_symtab, m_language>: Add "m_" prefix.
451         Update all uses.
452         * buildsym.c: Update all uses.
453
454 2018-07-20  Tom Tromey  <tom@tromey.com>
455
456         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
457         * buildsym.h (record_line_ftype): Remove typedef.
458
459 2018-07-20  Tom Tromey  <tom@tromey.com>
460
461         * buildsym-legacy.h (augment_type_symtab): Don't declare.
462         (end_expandable_symtab): Likewise.
463         (end_symtab_get_static_block): Likewise.
464         (end_symtab_from_static_block): Likewise.
465         * buildsym-legacy.c (augment_type_symtab): Remove.
466         (end_expandable_symtab): Remove.
467         (end_symtab_get_static_block): Remove.
468         (end_symtab_from_static_block): Remove.
469
470 2018-07-20  Tom Tromey  <tom@tromey.com>
471
472         * dwarf2read.c: Include buildsym.h.
473         (struct dwarf2_cu) <builder>: New method.
474         (fixup_go_packaging): Update.
475         (process_full_comp_unit, process_full_type_unit): Update.  Don't
476         use scoped_free_pendings.
477         (using_directives): Add "cu" parameter, remove "language".
478         (read_import_statement, setup_type_unit_groups, )
479         (read_func_scope, read_lexical_block_scope)
480         (dwarf2_record_block_ranges, read_namespace): Update.
481         (lnp_state_machine::lnp_state_machine): Add cu parameter.
482         (lnp_state_machine::handle_end_sequence): Update.
483         (class lnp_state_machine) <m_cu>: New member.
484         <m_record_line_callback>: Remove.
485         <m_currently_recording_lines>: New member.
486         (lnp_state_machine::handle_set_file): Update.
487         (noop_record_line): Remove.
488         (dwarf_record_line_p): Add cu parameter.
489         (dwarf_record_line_1, dwarf_finish_line): Likewise.
490         (lnp_state_machine::record_line)
491         (lnp_state_machine::lnp_state_machine)
492         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
493         (dwarf_decode_lines): Update.
494         (dwarf2_start_subfile): Add cu parameter.
495         (dwarf2_start_symtab, new_symbol): Update.
496         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
497         Remove dwarf2_per_objfile parameter.
498         (dwarf_decode_macros): Update.
499
500 2018-07-20  Tom Tromey  <tom@tromey.com>
501
502         * stabsread.c (define_symbol): Update.
503         * buildsym-legacy.h (get_buildsym_compunit): Declare.
504         * dwarf2read.c (new_symbol): Update.
505         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
506         * cp-namespace.c: Include buildsym.h.
507         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
508         * buildsym-legacy.c (get_buildsym_compunit): New function.
509
510 2018-07-20  Tom Tromey  <tom@tromey.com>
511
512         * xcoffread.c: Include buildsym-legacy.h.
513         * windows-nat.c: Include buildsym-legacy.h.
514         * stabsread.c: Include buildsym-legacy.h.
515         * mdebugread.c: Include buildsym-legacy.h.
516         * buildsym-legacy.h: New file.
517         * buildsym-legacy.c: New file, from buildsym.c.
518         * go32-nat.c: Include buildsym-legacy.h.
519         * dwarf2read.c: Include buildsym-legacy.h.
520         * dbxread.c: Include buildsym-legacy.h.
521         * cp-namespace.c: Include buildsym-legacy.h.
522         * coffread.c: Include buildsym-legacy.h.
523         * buildsym.h: Move some contents to buildsym-legacy.h.
524         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
525         buildsym-legacy.c.
526         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
527
528 2018-07-20  Tom Tromey  <tom@tromey.com>
529
530         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
531         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
532         (buildsym_compunit::buildsym_compunit)
533         (buildsym_compunit::~buildsym_compunit)
534         (buildsym_compunit::get_macro_table): Define.
535
536 2018-07-20  Tom Tromey  <tom@tromey.com>
537
538         * buildsym.c (reset_symtab_globals): Remove.
539         (buildsym_compunit::end_symtab_from_static_block): Update.
540         (buildsym_compunit::augment_type_symtab): Update.
541         (end_symtab_from_static_block): Call free_buildsym_compunit.
542         (augment_type_symtab, end_symtab, end_expandable_symtab):
543         Likewise.
544
545 2018-07-20  Tom Tromey  <tom@tromey.com>
546
547         * arch-utils.c: Do not include buildsym.h.
548         * mipsread.c: Do not include buildsym.h.
549         * machoread.c: Do not include buildsym.h.
550         * elfread.c: Do not include buildsym.h.
551
552 2018-07-20  Tom Tromey  <tom@tromey.com>
553
554         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
555         initialization.
556         (buildsym_compunit): Add new constructor.
557         (struct buildsym_compunit) <get_last_source_file, finish_block,
558         record_block_range, start_subfile, patch_subfile_names,
559         push_subfile, pop_subfile, record_line, get_compunit_symtab,
560         set_last_source_start_addr, get_last_source_start_addr,
561         get_local_using_directives, set_local_using_directives,
562         get_global_using_directives, outermost_context_p,
563         get_current_context_stack, get_context_stack_depth,
564         get_current_subfile, get_local_symbols, get_file_symbols,
565         get_global_symbols, record_debugformat, record_producer,
566         push_context, pop_context, end_symtab_get_static_block,
567         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
568         New public methods.
569         <record_pending_block, finish_block_internal, make_blockvector,
570         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
571         private methods.
572         Update all users.
573
574 2018-05-22  Tom Tromey  <tom@tromey.com>
575
576         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
577         parameter.
578         (finish_block_internal): Update.
579
580 2018-07-20  Tom Tromey  <tom@tromey.com>
581
582         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
583         parameter.
584         (finish_block_internal): Update.
585
586 2018-07-20  Tom Tromey  <tom@tromey.com>
587
588         * buildsym.h (EXTERN): Don't define or undef.
589         * buildsym.c (EXTERN): Don't define.
590
591 2018-07-20  Tom Tromey  <tom@tromey.com>
592
593         * buildsym.c: Remove TODO comment.
594
595 2018-07-20  Tom Tromey  <tom@tromey.com>
596
597         * coffread.c (coff_symtab_read): Update.
598         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
599         (xcoff_new_init): Update.
600         * mipsread.c (mipscoff_new_init): Update.
601         * mdebugread.c (mdebug_build_psymtabs): Update.
602         * elfread.c (elf_new_init): Update.
603         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
604         Update.
605         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
606         (coffstab_build_psymtabs, elfstab_build_psymtabs)
607         (stabsect_build_psymtabs): Update.
608         * buildsym.h (buildsym_init): Don't declare.
609         * buildsym.c: Update comment.
610         (prepare_for_building): Remove.
611         (start_symtab, restart_symtab): Update.
612         (reset_symtab_globals): Update comment.
613         (buildsym_init): Remove.
614
615 2018-07-20  Tom Tromey  <tom@tromey.com>
616
617         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
618         * stabsread.c (patch_block_stabs, define_symbol, read_type)
619         (read_enum_type, common_block_start, common_block_end)
620         (cleanup_undefined_types_1, finish_global_stabs): Update.
621         * mdebugread.c (psymtab_to_symtab_1): Update.
622         * dwarf2read.c (fixup_go_packaging, read_func_scope)
623         (read_lexical_block_scope, new_symbol): Update.
624         * dbxread.c (process_one_symbol): Update.
625         * coffread.c (coff_symtab_read, process_coff_symbol)
626         (coff_read_enum_type): Update.
627         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
628         declare.
629         (get_local_symbols, get_file_symbols, get_global_symbols): New
630         functions.
631         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
632         m_global_symbols.
633         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
634         (~scoped_free_pendings): Update.
635         (finish_block, prepare_for_building, reset_symtab_globals)
636         (end_symtab_get_static_block, end_symtab_with_blockvector)
637         (augment_type_symtab, push_context): Update.
638         (get_local_symbols, get_file_symbols, get_global_symbols): New
639         functions.
640         (buildsym_init): Update.
641
642 2018-07-20  Tom Tromey  <tom@tromey.com>
643
644         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
645         (process_full_type_unit): Likewise.
646         (dwarf2_start_symtab): Set list_in_scope.
647
648 2018-07-20  Tom Tromey  <tom@tromey.com>
649
650         * dwarf2read.c (process_psymtab_comp_unit_reader)
651         (build_type_psymtabs_reader): Do not set list_in_scope.
652
653 2018-07-20  Tom Tromey  <tom@tromey.com>
654
655         * buildsym.c (free_pendings): Remove.
656         (add_symbol_to_list, scoped_free_pendings)
657         (finish_block_internal, buildsym_init): Update.
658
659 2018-07-20  Tom Tromey  <tom@tromey.com>
660
661         * xcoffread.c (read_xcoff_symtab): Update.
662         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
663         Update.
664         * dbxread.c (process_one_symbol): Update.
665         * coffread.c (coff_symtab_read): Update.
666         * buildsym.h (finish_block): Update.
667         * buildsym.c (finish_block): Remove "listhead" argument.
668         (end_symtab_get_static_block): Update.
669
670 2018-07-20  Tom Tromey  <tom@tromey.com>
671
672         * buildsym.h (class scoped_free_pendings): Remove constructor.
673         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
674         method.
675         <m_pending_block_obstack, m_pending_blocks>: New members.
676         (pending_block_obstack, pending_blocks): Remove.
677         (scoped_free_pendings::scoped_free_pendings): Default.
678         (~scoped_free_pendings): Update.
679         (free_pending_blocks): Remove.
680         (finish_block_internal, record_pending_block, make_blockvector)
681         (end_symtab_get_static_block, augment_type_symtab, push_context)
682         (buildsym_init): Update.
683
684 2018-07-20  Tom Tromey  <tom@tromey.com>
685
686         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
687         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
688         members.
689         (pending_addrmap, pending_addrmap_obstack)
690         (pending_addrmap_interesting): Remove.
691         (scoped_free_pendings, record_block_range, make_blockvector)
692         (prepare_for_building, reset_symtab_globals, buildsym_init):
693         Update.
694
695 2018-07-20  Tom Tromey  <tom@tromey.com>
696
697         * xcoffread.c (process_linenos): Update.
698         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
699         * mdebugread.c (psymtab_to_symtab_1): Update.
700         * dwarf2read.c (setup_type_unit_groups)
701         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
702         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
703         * dbxread.c (process_one_symbol): Update.
704         * coffread.c (coff_symtab_read, enter_linenos)
705         (process_coff_symbol): Update.
706         * buildsym.h (current_subfile): Don't declare.
707         (get_current_subfile): Declare.
708         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
709         member.
710         (start_subfile, free_buildsym_compunit, push_subfile)
711         (prepare_for_building, start_symtab): Update.
712         (get_current_subfile): New function.
713
714 2018-07-20  Tom Tromey  <tom@tromey.com>
715
716         * coffread.c (coff_symtab_read): Update.
717         * xcoffread.c (read_xcoff_symtab): Update.
718         * dwarf2read.c (new_symbol): Update.
719         (read_func_scope, read_lexical_block_scope): Update.
720         * dbxread.c (process_one_symbol): Update.
721         * buildsym.h (context_stack, context_stack_depth): Don't declare.
722         (outermost_context_p): Remove macro.
723         (outermost_context_p, get_current_context_stack)
724         (get_context_stack_depth): Declare.
725         (pop_context): Return struct context_stack.
726         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
727         member.
728         (context_stack_size): Remove.
729         (INITIAL_CONTEXT_STACK_SIZE): Remove.
730         (prepare_for_building, end_symtab_get_static_block)
731         (augment_type_symtab, push_context): Update.
732         (pop_context): Return struct context_stack.
733         (outermost_context_p, get_current_context_stack)
734         (get_context_stack_depth): New functions.
735         (buildsym_init): Update.
736
737 2018-07-20  Tom Tromey  <tom@tromey.com>
738
739         * rust-exp.y: Now a pure parser.  Update all rules.
740         (%union): Move earlier.
741         (current_parser, work_obstack): Remove globals.
742         (rust_parser, ~rust_parser): Update.
743         (class rust_parser) <copy_name, concat3, crate_name, super_name,
744         lex_character, lex_number, lex_string, lex_identifier,
745         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
746         convert_name, convert_params_to_expression,
747         convert_ast_to_expression, ast_basic_type, ast_operation,
748         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
749         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
750         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
751         ast_array_type, ast_slice_type, ast_reference_type,
752         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
753         (rust_parse): Update.
754         (rustyyerror, rustyylex): Add parser parameter.
755         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
756         (rust_lex_stringish_test, rust_lex_test_sequence)
757         (rust_lex_test_trailing_dot, rust_lex_test_completion)
758         (rust_lex_test_push_back, rust_lex_tests): Update.
759
760 2018-07-19  Pedro Alves  <palves@redhat.com>
761
762         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
763         gdb::unique_xmalloc_ptr.
764         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
765         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
766         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
767         copy-initialization.
768         * guile/scm-pretty-print.c (ppscm_print_children): Use
769         gdb::unique_xmalloc_ptr instead of cleanups.
770         (gdbscm_apply_val_pretty_printer): Remove cleanups.
771         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
772         gdb::unique_xmalloc_ptr.
773         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
774         Adjust to use gdb::unique_xmalloc_ptr.
775         * guile/scm-utils.c (extract_arg): Adjust.
776         * guile/scm-value.c (gdbscm_value_field): Adjust to use
777         gdb::unique_xmalloc_ptr instead of a cleanup.
778
779 2018-07-19  Tom Tromey  <tom@tromey.com>
780
781         * utils.c (do_value_free_to_mark)
782         (make_cleanup_value_free_to_mark): Remove.
783         * utils.h (make_cleanup_value_free_to_mark): Remove.
784
785 2018-07-19  Pedro Alves  <palves@redhat.com>
786
787         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
788         forwarding reference.
789
790 2018-07-18  Pedro Alves  <palves@redhat.com>
791
792         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
793         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
794         cleanup.
795
796 2018-07-18  Pedro Alves  <palves@redhat.com>
797
798         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
799         exceptions.
800         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
801         (gdbscm_wrap): New.
802         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
803         directly instead of a cleanup.
804         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
805         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
806         (vlscm_binop_gdbthrow): New, factored out from ...
807         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
808         (vlscm_rich_compare): Use gdbscm_wrap.
809         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
810         instead of a cleanup.
811         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
812         cleanup.
813         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
814         Use xfree directly instead of a cleanup.
815         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
816         Adjust to use gdbscm_wrap and scoped_value_mark.
817         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
818         (gdbscm_value_address, gdbscm_value_dereference)
819         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
820         scoped_value_mark.
821         (gdbscm_value_dynamic_type): Use scoped_value_mark.
822         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
823         scoped_value_mark.
824         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
825         gdbscm_wrap and scoped_value_mark.
826         (gdbscm_value_to_string): Use xfree directly instead of a
827         cleanup.  Move 'buffer' unique_ptr to TRY scope.
828         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
829         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
830         scoped_value_mark.
831         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
832         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
833         scoped_value_mark.
834         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
835         gdbscm_wrap.
836
837 2018-07-18  Tom de Vries  <tdevries@suse.de>
838
839         * findvar.c (default_read_var_value): Also resolve dynamic type for
840         LOC_OPTIMIZED_OUT vars.
841
842 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
843
844         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
845         decoding.
846
847 2018-07-17  Tom Tromey  <tom@tromey.com>
848
849         * guile/scm-param.c (pascm_set_func, pascm_show_func)
850         (compute_enum_list, pascm_set_param_value_x)
851         (gdbscm_parameter_value): Update.
852         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
853         (gdbscm_scm_to_host_string): Update.
854         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
855         Update.
856         * guile/scm-cmd.c (cmdscm_add_completion): Update.
857         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
858         * guile/scm-string.c (gdbscm_scm_to_string): Return
859         unique_xmalloc_ptr.
860         (gdbscm_scm_to_host_string): Likewise.
861
862 2018-07-17  Tom Tromey  <tom@tromey.com>
863
864         * guile/guile.c (gdbscm_eval_from_control_command): Update.
865         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
866         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
867         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
868         unique_xmalloc_ptr.
869
870 2018-07-17  Tom Tromey  <tom@tromey.com>
871
872         * guile/scm-param.c (pascm_signal_setshow_error): Update.
873         * guile/guile-internal.h (gdbscm_exception_message_to_string):
874         Update.
875         * guile/scm-cmd.c (cmdscm_function): Update.
876         * guile/scm-pretty-print.c
877         (ppscm_print_exception_unless_memory_error): Update.
878         * guile/scm-exception.c (gdbscm_exception_message_to_string):
879         Return unique_xmalloc_ptr.
880
881 2018-07-17  Tom Tromey  <tom@tromey.com>
882
883         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
884         Use string_printf.
885
886 2018-07-17  Jim Wilson  <jimw@sifive.com>
887
888         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
889         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
890         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
891         unecessary braces after EF_RISCV_RVC test.  Delete call to
892         set_gdbarch_decr_pc_after_break.
893
894         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
895         RISCV_LAST_FP_REGNUM + 1.
896         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
897
898 2018-07-17  Tom Tromey  <tom@tromey.com>
899
900         * configure.ac: Remove --disable-gdbcli.
901         * configure: Rebuild.
902         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
903         (SUBDIR_CLI_CFLAGS): Remove.
904         (SFILES): Use SUBDIR_CLI_SRCS.
905         (COMMON_OBS): Use SUBDIR_CLI_OBS.
906
907 2018-07-17  Tom Tromey  <tom@tromey.com>
908
909         PR gdb/18624:
910         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
911
912 2018-07-16  Jim Wilson  <jimw@sifive.com>
913
914         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
915
916 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
917
918         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
919         variable.
920         (libunwind_frame_sniffer): Likewise.
921         (libunwind_frame_prev_register): Likewise.
922         (libunwind_sigtramp_frame_sniffer): Likewise.
923         * ia64-tdep.c (ia64_access_reg): Likewise.
924         (ia64_access_rse_reg): Likewise.
925         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
926         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
927
928 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
929
930         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
931
932 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
933
934         * remote-sim.c (gdbsim_target::close,
935         gdbsim_target::mourn_inferior): Remove unused variables.
936
937 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
938
939         * ia64-tdep.c (ktab_buf): New global.
940         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
941         (get_kernel_table): Adjust.
942
943 2018-07-16  Tom Tromey  <tom@tromey.com>
944
945         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
946         * dwarf2read.c (using_directives, new_symbol): Use
947         outermost_context_p.
948         * dbxread.c (process_one_symbol): Use outermost_context_p.
949         * coffread.c (coff_symtab_read): Use outermost_context_p.
950
951 2018-07-16  Tom Tromey  <tom@tromey.com>
952
953         * dwarf2read.c (using_directives, read_func_scope)
954         (read_lexical_block_scope): Update.
955         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
956         * buildsym.h (local_using_directives, global_using_directives):
957         Don't declare.
958         (get_local_using_directives, set_local_using_directives)
959         (get_global_using_directives): Declare.
960         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
961         m_global_using_directives>: New members.
962         (finish_block_internal, prepare_for_building)
963         (reset_symtab_globals, end_symtab_get_static_block)
964         (push_context): Update.
965         (get_local_using_directives, set_local_using_directives)
966         (get_global_using_directives): New functions.
967         (buildsym_init): Update.
968
969 2018-07-16  Tom Tromey  <tom@tromey.com>
970
971         * xcoffread.c (xcoff_initial_scan): Don't call
972         free_pending_blocks.
973         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
974         * buildsym.h (class scoped_free_pendings): Add constructor.
975         (free_pending_blocks): Don't declare.
976         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
977         (free_pending_blocks): Now static.
978
979 2018-07-16  Tom Tromey  <tom@tromey.com>
980
981         * buildsym.h (push_subfile, pop_subfile): Update declarations.
982         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
983         member.
984         (struct subfile_stack): Remove.
985         (subfile_stack): Remove.
986         (push_subfile, pop_subfile, buildsym_init): Update.
987
988 2018-07-16  Tom Tromey  <tom@tromey.com>
989
990         * buildsym.c (push_subfile): Use gdb_assert.
991         (pop_subfile): Use gdb_assert.
992
993 2018-07-16  Tom Tromey  <tom@tromey.com>
994
995         * buildsym.h (merge_symbol_lists): Remove.
996         * buildsym.c (merge_symbol_lists): Remove.
997
998 2018-07-16  Tom Tromey  <tom@tromey.com>
999
1000         * stabsread.c (scan_file_globals): Update comment.
1001         * stabsread.h (scan_file_globals): Move from buildsym.h.
1002         * buildsym.h (scan_file_globals): Move to stabsread.h.
1003
1004 2018-07-16  Tom Tromey  <tom@tromey.com>
1005
1006         * xcoffread.c (xcoff_new_init): Update.
1007         * mipsread.c (mipscoff_new_init): Update.
1008         * mdebugread.c (mdebug_build_psymtabs): Update.
1009         * elfread.c (elf_new_init): Update.
1010         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1011         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1012         * buildsym.h (buildsym_new_init): Don't declare.
1013         * buildsym.c (buildsym_new_init): Remove.
1014
1015 2018-07-16  Tom Tromey  <tom@tromey.com>
1016
1017         * stabsread.h (within_function): Move from buildsym.h.
1018         * stabsread.c (start_stabs): Clear within_function.
1019         * coffread.c (coff_start_symtab): Clear within_function.
1020         * buildsym.h (within_function): Move to stabsread.h.
1021         * buildsym.c (prepare_for_building): Update.
1022
1023 2018-07-16  Tom Tromey  <tom@tromey.com>
1024
1025         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1026         * dwarf2read.c (dwarf2_start_symtab): Don't set
1027         processing_gcc_compilation.
1028         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1029
1030 2018-07-16  Tom Tromey  <tom@tromey.com>
1031
1032         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1033         (next_symbol_text_func): Move from buildsym.h.
1034         * stabsread.c (hashname): Move from buildsym.c.
1035         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1036         (next_symbol_text_func, hashname): Move to stabsread.h.
1037         * buildsym.c: Don't include bcache.h
1038         (hashname): Move to stasbread.c.
1039
1040 2018-07-16  Tom Tromey  <tom@tromey.com>
1041
1042         * buildsym.h (context_stack_size): Don't declare.
1043         * buildsym.c (context_stack_size): New global.
1044
1045 2018-07-16  Tom Tromey  <tom@tromey.com>
1046
1047         * dbxread.c (processing_acc_compilation): New global.
1048         * buildsym.h (processing_acc_compilation): Don't declare.
1049
1050 2018-07-16  Tom Tromey  <tom@tromey.com>
1051
1052         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1053         * dbxread.c (read_ofile_symtab): Update.
1054         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1055         * buildsym.h (last_source_start_addr): Remove.
1056         (set_last_source_start_addr, get_last_source_start_addr):
1057         Declare.
1058         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1059         parameter.
1060         (struct buildsym_compunit) <m_last_source_start_addr>: New
1061         member.
1062         (prepare_for_building): Remove start_addr parameter.
1063         (start_symtab, restart_symtab, end_symtab_get_static_block)
1064         (end_symtab_with_blockvector): Update.
1065         (set_last_source_start_addr, get_last_source_start_addr): New
1066         functions.
1067
1068 2018-07-16  Tom Tromey  <tom@tromey.com>
1069
1070         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1071         member.
1072         (have_line_numbers): Remove.
1073         (record_line, prepare_for_building, end_symtab_get_static_block)
1074         (augment_type_symtab): Update.
1075
1076 2018-07-16  Tom Tromey  <tom@tromey.com>
1077
1078         * buildsym.c (~buildsym_compunit): Free the macro table.
1079         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1080         methods.
1081         <m_pending_macros>: New member.
1082         (pending_macros): Remove.
1083         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1084         (reset_symtab_globals, end_symtab_get_static_block)
1085         (end_symtab_with_blockvector, augment_type_symtab)
1086         (buildsym_init): Update.
1087
1088 2018-07-16  Tom Tromey  <tom@tromey.com>
1089
1090         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1091         parameter.
1092         (buildsym_compunit::set_last_source_file): New method.
1093         <m_last_source_file>: New member.
1094         (prepare_for_building): Remove "name" parameter.
1095         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1096         (last_source_file): Remove.
1097         (set_last_source_file, get_last_source_file): Update.
1098
1099 2018-07-16  Tom Tromey  <tom@tromey.com>
1100
1101         * buildsym.c (prepare_for_building): Add assert.
1102
1103 2018-07-16  Tom Tromey  <tom@tromey.com>
1104
1105         * buildsym.c (~buildsym_compunit): Update.
1106         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1107         (start_subfile, patch_subfile_names)
1108         (end_symtab_with_blockvector): Update.
1109
1110 2018-07-16  Tom Tromey  <tom@tromey.com>
1111
1112         * buildsym.c (struct buildsym_compunit): Add constructor,
1113         destructor, initializers.
1114         (start_buildsym_compunit): Remove.
1115         (free_buildsym_compunit): Use "delete".
1116         (start_symtab, restart_symtab): Use "new".
1117
1118 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1119
1120         * symfile.c (set_objfile_default_section_offset): Remove struct
1121         keyword.
1122
1123 2018-07-14  Stafford Horne  <shorne@gmail.com>
1124
1125         * (Responsible Maintainers): Add myself as or1k maintainer.
1126
1127 2018-07-13  Tom Tromey  <tom@tromey.com>
1128
1129         * symfile.c (set_objfile_default_section_offset): Use extra braces
1130         around initializer.
1131
1132 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1133
1134         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1135         non-branching basr.
1136
1137 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1138
1139         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1140         unittests/cli-utils-selftests.c
1141         * unittests/cli-utils-selftests.c: New file.
1142
1143 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1144
1145         * NEWS: Mention new commands. Mention change to 'thread apply'.
1146
1147 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1148
1149         * thread.c (thr_try_catch_cmd): New function.
1150         (thread_apply_all_command): Handle qcs flags.
1151         (thread_apply_command): Handle qcs flags.
1152         (taas_command): New function.
1153         (tfaas_command): New function.
1154         (_initialize_thread): Update to setup the new commands 'taas
1155         and 'tfaas'. Change doc string for 'thread apply'.
1156
1157 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1158
1159         * stack.c: (trailing_outermost_frame): New function, mostly
1160         extracted from backtrace_command_1.
1161         (leading_innermost_frame): New function.
1162         (backtrace_command_1): Update to call trailing_outermost_frame.
1163         (frame_apply_command_count): New function.
1164         (frame_apply_level_command): New function.
1165         (frame_apply_all_command): New function.
1166         (frame_apply_command): New function.
1167         (faas_command): New function.
1168         (frame_cmd_list): New variable.
1169         (_initialize_stack): Update to setup the new commands 'frame apply'
1170         and 'faas'.
1171
1172 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1173
1174         * cli-utils.c (number_or_range_parser::get_number): Only handle
1175         numbers or convenience var as numbers.
1176         (parse_flags): New function.
1177         (parse_flags_qcs): New function.
1178         (number_or_range_parser::finished): Ensure parsing end is detected
1179         before end of string.
1180         * cli-utils.h (parse_flags): New function.
1181         (parse_flags_qcs): New function.
1182         (number_or_range_parser): Remove m_finished bool.
1183         (number_or_range_parser::skip_range): Set m_in_range to false.
1184
1185 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1186
1187         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1188         on Windows.
1189
1190 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1191             Jan Kratochvil  <jan.kratochvil@redhat.com>
1192             Paul Fertser  <fercerpav@gmail.com>
1193             Tsutomu Seki  <sekiriki@gmail.com>
1194             Pedro Alves  <palves@redhat.com>
1195
1196         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1197         'unittests/parse-connection-spec-selftests.c'.
1198         (COMMON_SFILES): Add 'common/netstuff.c'.
1199         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1200         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1201         * common/netstuff.c: New file.
1202         * common/netstuff.h: New file.
1203         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1204         (wait_for_connect): Update comment.  New parameter
1205         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1206         Use 'sock' directly instead of 'scb->fd'.
1207         (try_connect): New function, with code from 'net_open'.
1208         (net_open): Rewrite main loop to deal with multiple
1209         sockets/addresses.  Handle IPv6-style hostnames; implement
1210         support for IPv6 connections.
1211         * unittests/parse-connection-spec-selftests.c: New file.
1212
1213 2018-07-11  Pedro Alves  <palves@redhat.com>
1214
1215         PR gdb/23377
1216         * remote.c (remote_target::remote_detach_pid): Call
1217         set_current_process.
1218
1219 2018-07-11  Pedro Alves  <palves@redhat.com>
1220
1221         * h8300-tdep.c (h8300_gdbarch_init): Remove
1222         set_gdbarch_ecoff_reg_to_regnum calls.
1223
1224 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1225
1226         PR c++/23373
1227         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1228         offsets/sizes for static members of a class/struct.
1229
1230 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1231
1232         * target-descriptions.c (tdesc_register_bitsize): Rename.
1233         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1234         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1235         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1236
1237 2018-07-10  Tom Tromey  <tom@tromey.com>
1238
1239         * breakpoint.c (moribund_locations): Now static and a
1240         std::vector.
1241         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1242         (build_bpstat_chain, update_global_location_list)
1243         (breakpoint_retire_moribund): Update.
1244         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1245         VEC.
1246
1247 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1248
1249         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1250         (riscv_register_reggroup_p): Use new function, remove unneeded
1251         parenthesis.
1252         (riscv_push_dummy_call): Extend assert to compare against xlen or
1253         flen based on register type.
1254
1255 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1256
1257         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1258
1259 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1260
1261         * remote.c (show_hardware_watchpoint_limit): New function.
1262         (show_hardware_watchpoint_length_limit): New function.
1263         (show_hardware_breakpoint_limit): New function.
1264         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1265         where appropriate, update help text.
1266
1267 2018-07-09  Tom Tromey  <tom@tromey.com>
1268
1269         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1270         (CLIBS): Don't mention NAT_CLIBS.
1271
1272 2018-07-09  Tom Tromey  <tom@tromey.com>
1273
1274         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1275         (LIBGDB_OBS, clean mostlyclean): Update.
1276         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1277
1278 2018-07-09  Tom Tromey  <tom@tromey.com>
1279
1280         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1281         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1282         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1283
1284 2018-07-09  Tom Tromey  <tom@tromey.com>
1285
1286         * Makefile.in (ALLDEPFILES): Remove exec.c.
1287         (COMMON_OBS): Remove exec.o.
1288         (COMMON_SFILES): Add exec.c.
1289
1290 2018-07-09  Tom Tromey  <tom@tromey.com>
1291
1292         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1293
1294 2018-07-09  Tom Tromey  <tom@tromey.com>
1295
1296         * Makefile.in (clean mostlyclean): Remove stamp-version.
1297         (version.c): Depend on stamp-version.
1298         (stamp-version): New rule, from version.c rule.
1299
1300 2018-07-09  Tom Tromey  <tom@tromey.com>
1301
1302         * Makefile.in (init.c): Depend on stamp-init.
1303         (stamp-init): New rule, from init.c rule.
1304         (clean mostlyclean): Remove stamp-init.
1305
1306 2018-07-09  Tom Tromey  <tom@tromey.com>
1307
1308         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1309         SUBDIR_GCC_COMPILE_SRCS.
1310
1311 2018-07-09  Tom Tromey  <tom@tromey.com>
1312
1313         * Makefile.in (init.c): Remove some unused sed rules.
1314
1315 2018-07-09  Tom Tromey  <tom@tromey.com>
1316
1317         * Makefile.in (TSOBS): Remove.
1318         (INIT_FILES): Update.
1319         (LIBGDB_OBS): Update.
1320         (COMMON_SFILES): Add inflow.c.
1321         (SFILES): Remove inflow.c.
1322
1323 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1324
1325         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1326
1327 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1328
1329         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1330         get_saveloc_name, is_signal_frame_name, step_name,
1331         init_remote_name, create_addr_space_name,
1332         destroy_addr_space_name, search_unwind_table_name,
1333         find_dyn_list_name): Constify.
1334
1335 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1336
1337         * darwin-nat.c (darwin_pthread_kill): New function.
1338         (darwin_resume_thread): Use darwin_pthread_kill.
1339
1340 2018-07-05  Tom de Vries  <tdevries@suse.de>
1341
1342         * macroexp.c (macro_buffer) <operator=>: New member function.
1343
1344 2018-07-04  Tom Tromey  <tom@tromey.com>
1345
1346         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1347
1348 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1349
1350         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1351         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1352         * maint.c: Likewise.
1353         * top.c: Likewise.
1354
1355 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1356
1357         * NEWS: Create a new section for the next release branch.
1358         Rename the section of the current branch, now that it has
1359         been cut.
1360
1361 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1362
1363         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1364         * version.in: Bump version to 8.2.50.DATE-git.
1365
1366 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1367             Pedro Alves  <palves@redhat.com>
1368
1369         * linux-nat.c (linux_init_ptrace): Rename to ...
1370         (linux_init_ptrace_procfs): ... this.  Call
1371         linux_proc_init_warnings.
1372         (linux_nat_target::post_attach)
1373         (linux_nat_target::post_startup_inferior): Adjust.
1374         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1375         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1376
1377 2018-07-04  Tom de Vries  <tdevries@suse.de>
1378
1379         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
1380         check ...
1381         (read_comp_unit_head): ... here.
1382
1383 2018-07-03  Tom Tromey  <tom@tromey.com>
1384
1385         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
1386         (stop_tracing, tstatus_command)
1387         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
1388         (print_one_static_tracepoint_marker): Update.
1389         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
1390         std::vector.
1391         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
1392         VEC.
1393         (all_tracepoints, static_tracepoints_here): Return std::vector.
1394
1395 2018-07-03  Tom Tromey  <tom@tromey.com>
1396
1397         * common/ptid.c (ptid_equal): Remove.
1398         * common/ptid.h (ptid_equal): Don't declare.
1399         * ada-tasks.c: Update.
1400         * breakpoint.c: Update.
1401         * common/agent.c: Update.
1402         * corelow.c: Update.
1403         * darwin-nat-info.c: Update.
1404         * darwin-nat.c: Update.
1405         * dcache.c: Update.
1406         * dtrace-probe.c: Update.
1407         * dummy-frame.c: Update.
1408         * fbsd-nat.c: Update.
1409         * frame.c: Update.
1410         * gdbthread.h: Update.
1411         * gnu-nat.c: Update.
1412         * go32-nat.c: Update.
1413         * inf-loop.c: Update.
1414         * inf-ptrace.c: Update.
1415         * infcall.c: Update.
1416         * infcmd.c: Update.
1417         * inflow.c: Update.
1418         * infrun.c: Update.
1419         * linux-fork.c: Update.
1420         * linux-nat.c: Update.
1421         * linux-thread-db.c: Update.
1422         * mi/mi-cmd-var.c: Update.
1423         * mi/mi-interp.c: Update.
1424         * mi/mi-main.c: Update.
1425         * nto-procfs.c: Update.
1426         * ppc-linux-tdep.c: Update.
1427         * procfs.c: Update.
1428         * python/py-inferior.c: Update.
1429         * python/py-record-btrace.c: Update.
1430         * python/py-record.c: Update.
1431         * ravenscar-thread.c: Update.
1432         * regcache.c: Update.
1433         * remote-sim.c: Update.
1434         * remote.c: Update.
1435         * sol-thread.c: Update.
1436         * solib.c: Update.
1437         * target.c: Update.
1438         * tui/tui-stack.c: Update.
1439         * varobj.c: Update.
1440         * windows-nat.c: Update.
1441         * windows-tdep.c: Update.
1442
1443 2018-07-03  Tom Tromey  <tom@tromey.com>
1444
1445         * common/ptid.c (ptid_match): Remove.
1446         * common/ptid.h (ptid_match): Don't declare.
1447         * fbsd-nat.c: Update.
1448         * infcmd.c: Update.
1449         * infrun.c: Update.
1450         * linux-nat.c: Update.
1451         * record-btrace.c: Update.
1452         * regcache.c: Update.
1453         * remote.c: Update.
1454
1455 2018-07-03  Tom Tromey  <tom@tromey.com>
1456
1457         * common/ptid.c (ptid_tid_p): Remove.
1458         * common/ptid.h (ptid_tid_p): Don't declare.
1459         * sol-thread.c: Update.
1460
1461 2018-07-03  Tom Tromey  <tom@tromey.com>
1462
1463         * common/ptid.c (ptid_lwp_p): Remove.
1464         * common/ptid.h (ptid_lwp_p): Don't declare.
1465         * fbsd-nat.c: Update.
1466         * linux-nat.c: Update.
1467         * nat/linux-procfs.c: Update.
1468         * nat/x86-linux-dregs.c: Update.
1469         * sol-thread.c: Update.
1470
1471 2018-07-03  Tom Tromey  <tom@tromey.com>
1472
1473         * common/ptid.c (ptid_is_pid): Remove.
1474         * common/ptid.h (ptid_is_pid): Don't declare.
1475         * infrun.c: Update.
1476         * linux-nat.c: Update.
1477         * mi/mi-interp.c: Update.
1478         * remote.c: Update.
1479         * thread.c: Update.
1480
1481 2018-07-03  Tom Tromey  <tom@tromey.com>
1482
1483         * common/ptid.c (ptid_get_tid): Remove.
1484         * common/ptid.h (ptid_get_tid): Don't declare.
1485         * ada-tasks.c: Update.
1486         * aix-thread.c: Update.
1487         * bsd-uthread.c: Update.
1488         * darwin-nat.c: Update.
1489         * fbsd-nat.c: Update.
1490         * i386-darwin-nat.c: Update.
1491         * infrun.c: Update.
1492         * linux-tdep.c: Update.
1493         * nto-procfs.c: Update.
1494         * ppc-ravenscar-thread.c: Update.
1495         * python/py-infthread.c: Update.
1496         * ravenscar-thread.c: Update.
1497         * sol-thread.c: Update.
1498         * sparc-ravenscar-thread.c: Update.
1499         * windows-nat.c: Update.
1500
1501 2018-07-03  Tom Tromey  <tom@tromey.com>
1502
1503         * common/ptid.c (ptid_get_lwp): Remove.
1504         * common/ptid.h (ptid_get_lwp): Don't declare.
1505         * aarch64-linux-nat.c: Update.
1506         * ada-tasks.c: Update.
1507         * aix-thread.c: Update.
1508         * amd64-linux-nat.c: Update.
1509         * arm-linux-nat.c: Update.
1510         * corelow.c: Update.
1511         * fbsd-nat.c: Update.
1512         * fbsd-tdep.c: Update.
1513         * gnu-nat.c: Update.
1514         * i386-cygwin-tdep.c: Update.
1515         * i386-gnu-nat.c: Update.
1516         * i386-linux-nat.c: Update.
1517         * ia64-linux-nat.c: Update.
1518         * inf-ptrace.c: Update.
1519         * infrun.c: Update.
1520         * linux-fork.c: Update.
1521         * linux-nat.c: Update.
1522         * linux-tdep.c: Update.
1523         * linux-thread-db.c: Update.
1524         * mips-linux-nat.c: Update.
1525         * nat/aarch64-linux-hw-point.c: Update.
1526         * nat/aarch64-linux.c: Update.
1527         * nat/linux-btrace.c: Update.
1528         * nat/linux-osdata.c: Update.
1529         * nat/linux-procfs.c: Update.
1530         * nat/x86-linux-dregs.c: Update.
1531         * obsd-nat.c: Update.
1532         * ppc-fbsd-nat.c: Update.
1533         * ppc-linux-nat.c: Update.
1534         * procfs.c: Update.
1535         * python/py-infthread.c: Update.
1536         * ravenscar-thread.c: Update.
1537         * remote.c: Update.
1538         * s390-linux-nat.c: Update.
1539         * sol-thread.c: Update.
1540         * sol2-tdep.c: Update.
1541         * spu-linux-nat.c: Update.
1542         * x86-linux-nat.c: Update.
1543         * xtensa-linux-nat.c: Update.
1544
1545 2018-07-03  Tom Tromey  <tom@tromey.com>
1546
1547         * common/ptid.c (ptid_get_pid): Remove.
1548         * common/ptid.h (ptid_get_pid): Don't declare.
1549         * aarch64-linux-nat.c: Update.
1550         * ada-lang.c: Update.
1551         * aix-thread.c: Update.
1552         * alpha-bsd-nat.c: Update.
1553         * amd64-fbsd-nat.c: Update.
1554         * amd64-linux-nat.c: Update.
1555         * arm-linux-nat.c: Update.
1556         * arm-nbsd-nat.c: Update.
1557         * auxv.c: Update.
1558         * break-catch-syscall.c: Update.
1559         * breakpoint.c: Update.
1560         * bsd-uthread.c: Update.
1561         * corelow.c: Update.
1562         * ctf.c: Update.
1563         * darwin-nat.c: Update.
1564         * fbsd-nat.c: Update.
1565         * fbsd-tdep.c: Update.
1566         * gcore.c: Update.
1567         * gnu-nat.c: Update.
1568         * hppa-nbsd-nat.c: Update.
1569         * hppa-obsd-nat.c: Update.
1570         * i386-fbsd-nat.c: Update.
1571         * ia64-linux-nat.c: Update.
1572         * inf-ptrace.c: Update.
1573         * infcmd.c: Update.
1574         * inferior.c: Update.
1575         * inferior.h: Update.
1576         * inflow.c: Update.
1577         * infrun.c: Update.
1578         * linux-fork.c: Update.
1579         * linux-nat.c: Update.
1580         * linux-tdep.c: Update.
1581         * linux-thread-db.c: Update.
1582         * m68k-bsd-nat.c: Update.
1583         * mi/mi-interp.c: Update.
1584         * mi/mi-main.c: Update.
1585         * mips-linux-nat.c: Update.
1586         * mips-nbsd-nat.c: Update.
1587         * mips64-obsd-nat.c: Update.
1588         * nat/aarch64-linux-hw-point.c: Update.
1589         * nat/aarch64-linux.c: Update.
1590         * nat/linux-btrace.c: Update.
1591         * nat/linux-osdata.c: Update.
1592         * nat/linux-procfs.c: Update.
1593         * nat/x86-linux-dregs.c: Update.
1594         * nto-procfs.c: Update.
1595         * obsd-nat.c: Update.
1596         * ppc-linux-nat.c: Update.
1597         * ppc-nbsd-nat.c: Update.
1598         * ppc-obsd-nat.c: Update.
1599         * proc-service.c: Update.
1600         * procfs.c: Update.
1601         * python/py-inferior.c: Update.
1602         * python/py-infthread.c: Update.
1603         * ravenscar-thread.c: Update.
1604         * record.c: Update.
1605         * remote-sim.c: Update.
1606         * remote.c: Update.
1607         * rs6000-nat.c: Update.
1608         * s390-linux-nat.c: Update.
1609         * sh-nbsd-nat.c: Update.
1610         * sol-thread.c: Update.
1611         * sparc-nat.c: Update.
1612         * sparc64-tdep.c: Update.
1613         * spu-linux-nat.c: Update.
1614         * spu-tdep.c: Update.
1615         * target-debug.h: Update.
1616         * target.c: Update.
1617         * thread.c: Update.
1618         * tid-parse.c: Update.
1619         * tracefile-tfile.c: Update.
1620         * vax-bsd-nat.c: Update.
1621         * windows-nat.c: Update.
1622         * x86-linux-nat.c: Update.
1623         * x86-nat.c: Update.
1624
1625 2018-07-03  Tom Tromey  <tom@tromey.com>
1626
1627         * common/ptid.c (pid_to_ptid): Remove.
1628         * common/ptid.h (pid_to_ptid): Don't declare.
1629         * aix-thread.c: Update.
1630         * arm-linux-nat.c: Update.
1631         * common/ptid.c: Update.
1632         * common/ptid.h: Update.
1633         * corelow.c: Update.
1634         * ctf.c: Update.
1635         * darwin-nat.c: Update.
1636         * fbsd-nat.c: Update.
1637         * fork-child.c: Update.
1638         * gnu-nat.c: Update.
1639         * go32-nat.c: Update.
1640         * inf-ptrace.c: Update.
1641         * infcmd.c: Update.
1642         * inferior.c: Update.
1643         * infrun.c: Update.
1644         * linux-fork.c: Update.
1645         * linux-nat.c: Update.
1646         * nat/aarch64-linux-hw-point.c: Update.
1647         * nat/fork-inferior.c: Update.
1648         * nat/x86-linux-dregs.c: Update.
1649         * nto-procfs.c: Update.
1650         * obsd-nat.c: Update.
1651         * procfs.c: Update.
1652         * progspace.c: Update.
1653         * remote.c: Update.
1654         * rs6000-nat.c: Update.
1655         * s390-linux-nat.c: Update.
1656         * sol-thread.c: Update.
1657         * spu-linux-nat.c: Update.
1658         * target.c: Update.
1659         * top.c: Update.
1660         * tracefile-tfile.c: Update.
1661         * windows-nat.c: Update.
1662
1663 2018-07-03  Tom Tromey  <tom@tromey.com>
1664
1665         * common/ptid.h (ptid_build): Don't declare.
1666         * common/ptid.c (ptid_build): Remove.
1667         * aix-thread.c: Update.
1668         * bsd-kvm.c: Update.
1669         * bsd-uthread.c: Update.
1670         * common/agent.c: Update.
1671         * common/ptid.c: Update.
1672         * common/ptid.h: Update.
1673         * corelow.c: Update.
1674         * darwin-nat.c: Update.
1675         * fbsd-nat.c: Update.
1676         * gnu-nat.c: Update.
1677         * linux-fork.c: Update.
1678         * linux-nat.c: Update.
1679         * linux-thread-db.c: Update.
1680         * nat/linux-osdata.c: Update.
1681         * nat/linux-procfs.c: Update.
1682         * nto-procfs.c: Update.
1683         * obsd-nat.c: Update.
1684         * proc-service.c: Update.
1685         * procfs.c: Update.
1686         * ravenscar-thread.c: Update.
1687         * remote-sim.c: Update.
1688         * remote.c: Update.
1689         * sol-thread.c: Update.
1690         * target.c: Update.
1691         * windows-nat.c: Update.
1692
1693 2018-07-03  Tom Tromey  <tom@tromey.com>
1694
1695         * infrun.c (follow_exec): Use exit_inferior_silent.
1696         * inferior.c (exit_inferior_num_silent): Remove.
1697         * inferior.h (exit_inferior_num_silent): Don't declare.
1698
1699 2018-07-03  Tom Tromey  <tom@tromey.com>
1700
1701         PR cli/23340:
1702         * darwin-nat.c (darwin_attach_pid): Reset inferior and
1703         inferior_ptid on error.
1704
1705 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
1706             Simon Marchi  <simon.marchi@polymtl.ca>
1707
1708         PR tdep/8282
1709         * disasm.h (gdb_disassembler): Add
1710         `m_disassembler_options_holder'. member
1711         * disasm.c (get_all_disassembler_options): New function.
1712         (gdb_disassembler::gdb_disassembler): Use it.
1713         (gdb_buffered_insn_length_init_dis): Likewise.
1714         (gdb_buffered_insn_length): Adjust accordingly.
1715         (set_disassembler_options): Handle options with arguments.
1716         (show_disassembler_options_sfunc): Likewise.  Add a leading new
1717         line if showing options with descriptions.
1718         (disassembler_options_completer): Adapt to using the
1719         `disasm_options_and_args_t' structure.
1720         * mips-tdep.c (mips_disassembler_options): New variable.
1721         (mips_disassembler_options_o32): Likewise.
1722         (mips_disassembler_options_n32): Likewise.
1723         (mips_disassembler_options_n64): Likewise.
1724         (gdb_print_insn_mips): Don't set `disassembler_options'.
1725         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
1726         functions.
1727         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
1728         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
1729         `gdbarch_disassembler_options_implicit' and
1730         `gdbarch_valid_disassembler_options'.
1731         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
1732         `disasm_options_and_args_t' structure.
1733         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
1734         method.
1735         (valid_disassembler_options): Switch from `disasm_options_t' to
1736         the `disasm_options_and_args_t' structure.
1737         * NEWS: Document `set disassembler-options' support for the MIPS
1738         target.
1739         * gdbarch.h: Regenerate.
1740         * gdbarch.c: Regenerate.
1741
1742 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1743
1744         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
1745
1746 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
1747
1748         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
1749         parameter in call to amd64_target_description.
1750         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
1751         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
1752         (amd64fbsd_init_abi): Likewise.
1753         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
1754         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
1755         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
1756         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
1757
1758 2018-06-29  Pedro Alves  <palves@redhat.com>
1759
1760         * gdb/amd64-tdep.h (amd64_create_target_description): Add
1761         "segments" parameter.
1762         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
1763         (_initialize_amd64_tdep): Update call to
1764         amd64_create_target_description.
1765         (amd64_target_description): Add "segments" parameter.  Adjust
1766         the implementation to use it.
1767         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
1768         call to amd64_create_target_description.
1769         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
1770         * gdb/arch/amd64.h (amd64_create_target_description): Add
1771         "segments" register.
1772         * gdb/arch/amd64.c (amd64_create_target_description): Add
1773         "segments" parameter.  Call create_feature_i386_64bit_segments
1774         only if SEGMENTS is true.
1775         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
1776         call to amd64_create_target_description.
1777
1778 2018-06-29  Pedro Alves  <palves@redhat.com>
1779
1780         * thread.c (thread_target_id_str): New, factored out from ...
1781         (print_thread_info_1): ... here.  Use it to compute the max
1782         "Target Id" column width.
1783
1784 2018-06-29  Pedro Alves  <palves@redhat.com>
1785
1786         * remote.c (remote_target::extra_thread_info): Delete
1787         'display_buf' and 'n' locals.  from the cache, regardless of
1788         packet mechanims is in use.  Use cache for qThreadExtra and qP
1789         methods too.
1790
1791 2018-06-29  Pedro Alves  <palves@redhat.com>
1792
1793         * blockframe.c (find_pc_sect_containing_function): New function.
1794         * breakpoint.c (print_breakpoint_location): Don't call
1795         find_pc_sect_function.
1796         * linespec.c (create_sals_line_offset): Record the location's
1797         symbol in the sal.
1798         * linespec.c (convert_address_location_to_sals): Fill in sal's
1799         symbol with find_pc_sect_containing_function.
1800         * symtab.c (find_function_start_sal): Rename to ...
1801         (find_function_start_sal_1): ... this.
1802         (find_function_start_sal): Reimplement as wrapper around
1803         find_function_start_sal_1, and use
1804         find_pc_sect_containing_function to fill in the sal's symbol.
1805         (find_function_start_sal(symbol*, bool)): Adjust.
1806         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
1807         comments.
1808         (find_pc_sect_containing_function): Declare.
1809
1810 2018-06-29  Pedro Alves  <palves@redhat.com>
1811
1812         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
1813         true if the the location has no symbol.
1814
1815 2018-06-28  Tom Tromey  <tom@tromey.com>
1816
1817         * NEWS: Mention --enable-codesign.
1818         * silent-rules.mk (ECHO_SIGN): New variable.
1819         * configure.ac: Add --enable-codesign.
1820         * configure: Rebuild.
1821         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
1822         (gdb$(EXEEXT)): Optionally invoke codesign.
1823
1824 2018-06-28  Pedro Alves  <palves@redhat.com>
1825
1826         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
1827         comments.
1828         (switch_to_thread_no_regs): Adjust comment.
1829         * infcmd.c (stop_pc): Delete.
1830         (post_create_inferior, info_program_command): Replace references
1831         to stop_pc with references to thread_info->suspend.stop_pc.
1832         * inferior.h (stop_pc): Delete declaration.
1833         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
1834         (handle_inferior_event_1, handle_signal_stop)
1835         (process_event_stop_test, keep_going_stepped_thread)
1836         (handle_step_into_function, handle_step_into_function_backward)
1837         (print_stop_location): Replace references to stop_pc with
1838         references to thread_info->suspend.stop_pc.
1839         (struct infcall_suspend_state) <stop_pc>: Delete field.
1840         (save_infcall_suspend_state, restore_infcall_suspend_state):
1841         Remove references to inf_stat->stop_pc.
1842         * linux-fork.c (fork_load_infrun_state): Likewise.
1843         * record-btrace.c (record_btrace_set_replay): Likewise.
1844         * record-full.c (record_full_goto_entry): Likewise.
1845         * remote.c (print_one_stopped_thread): Likewise.
1846         * target.c (target_resume): Extend comment.
1847         * thread.c (set_executing_thread): New.
1848         (set_executing): Use it.
1849         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
1850         Remove references to stop_pc.
1851
1852 2018-06-28  Pedro Alves  <palves@redhat.com>
1853
1854         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
1855         Moving fetching stop_pc until after ecs->event_thread is refreshed.
1856
1857 2018-06-28  Tom Tromey  <tom@tromey.com>
1858
1859         * coffread.c (coff_symfile_finish): Update.
1860         * xcoffread.c (xcoff_symfile_finish): Update.
1861         * elfread.c (elf_symfile_finish): Update.
1862         * symfile.h (dwarf2_free_objfile): Don't declare.
1863         * dwarf2read.c (_initialize_dwarf2_read): Use
1864         register_objfile_data_with_cleanup.
1865         (dwarf2_free_objfile): Now static.  Change signature.
1866
1867 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1868
1869         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
1870         option "-o" to add-symbol-file-load to add an offset to each
1871         section's load address.
1872         * symfile.c (set_objfile_default_section_offset): New function.
1873
1874 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1875
1876         * symfile.c (add_symbol_file_command): Make sure that sections
1877         with the same name are sorted in the same order.
1878
1879 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1880
1881         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
1882         require the second argument.  If omitted, load sections at the
1883         addresses specified in the file.
1884
1885 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1886
1887         * symfile.c (symbol_file_command, symbol_file_add_main_1)
1888         (_initialize_symfile): Add option "-o" to symbol-file to add an
1889         offset to each section of the symbol file.
1890
1891 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1892
1893         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
1894
1895 2018-06-27  Tom Tromey  <tom@tromey.com>
1896
1897         * stack.c (_initialize_stack): Update "func" help text.
1898
1899 2018-06-27  Tom Tromey  <tom@tromey.com>
1900
1901         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
1902         std::vector.
1903         (unwind_infopy_str, pyuw_create_unwind_info)
1904         (unwind_infopy_add_saved_register, pyuw_sniffer)
1905         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
1906         Update.
1907         (struct saved_reg): Add constructor.
1908         <value>: Now a gdbpy_ref<>.
1909
1910 2018-06-27  Tom Tromey  <tom@tromey.com>
1911
1912         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
1913
1914 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1915
1916         * gdb-gdb.py.in: Format using autopep8.
1917
1918 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1919
1920         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
1921         (type_lookup_function): Recognize CORE_ADDR values.
1922
1923 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1924
1925         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
1926         print tag_name.
1927
1928 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1929
1930         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
1931         <__lt__>: Add.
1932
1933 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1934
1935         * gdb-gdb.py: Move to...
1936         * gdb-gdb.py.in: ... here.
1937         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
1938         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
1939         dependencies.
1940         (distclean): Remove gdb-gdb.py when cleaning.
1941         (gdb-gdb.py, gdb-gdb.gdb): New rules.
1942         * configure: Re-generate.
1943
1944 2018-06-27  Pedro Alves  <palves@redhat.com>
1945
1946         * proc-service.c (get_ps_regcache): New.
1947         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
1948         (ps_lsetfpregs): Use it.
1949
1950 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
1951
1952         PR gdb/21695
1953         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
1954         (dwarf_decode_lines_1): Adjust.
1955
1956 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
1957
1958         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
1959         override.
1960         <info_proc>: Likewise.
1961
1962 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
1963
1964         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
1965         to windows_fetch_one_register, and only handle the case of
1966         fetching one register.  Move the code that reloads the context
1967         and iterates over all registers if R is negative to...
1968         (windows_nat_target::fetch_registers): ... here.
1969         (do_windows_store_inferior_registers): Rename to
1970         windows_store_one_register, and only handle the case of storing
1971         one register.  Move the code that handles the case where r is
1972         negative to...
1973         (windows_nat_target::store_registers) ... here.
1974
1975 2018-06-26  Tom Tromey  <tom@tromey.com>
1976
1977         PR rust/22574:
1978         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
1979         * rust-lang.c (rust_print_struct_def): Add podata parameter.
1980         Update.
1981         (rust_internal_print_type): Add podata parameter.
1982         (rust_print_type): Update.
1983
1984 2018-06-26  Tom Tromey  <tom@tromey.com>
1985
1986         * typeprint.h (struct print_offset_data) <update, finish,
1987         maybe_print_hole>: New methods.
1988         <indentation>: New constant.
1989         * typeprint.c (print_offset_data::indentation): Define.
1990         (print_offset_data::maybe_print_hole, print_offset_data::update)
1991         (print_offset_data::finish): Move from c-typeprint.c and rename.
1992         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
1993         (print_spaces_filtered_with_print_options): Update.
1994         (c_print_type_union_field_offset, maybe_print_hole)
1995         (c_print_type_struct_field_offset): Move to typeprint.c and
1996         rename.
1997         (c_type_print_base_struct_union): Update.
1998
1999 2018-06-25  Pedro Alves  <palves@redhat.com>
2000
2001         * gdbthread.h (thread_info_ref, delete_thread)
2002         (delete_thread_silent, first_thread_of_inferior)
2003         (any_thread_of_inferior, switch_to_thread)
2004         (enable_thread_stack_temporaries)
2005         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2006         (get_last_thread_stack_temporary)
2007         (value_in_thread_stack_temporaries, can_access_registers_thread):
2008         Spell out "struct thread_info" instead of just "thread_info".
2009         * inferior.h (notice_new_inferior): Likewise.
2010
2011 2018-06-25  Pedro Alves  <palves@redhat.com>
2012
2013         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2014         pass thread_info pointer to delete_thread.
2015         (windows_nat_target::detach): Pass inferior pointer to
2016         detach_inferior.
2017         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2018         delete_thread.
2019         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2020         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2021         and pass a thread_info pointer to delete_thread.
2022         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2023         pass thread_info pointer to delete_thread.
2024         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2025         delete_thread_silent call.
2026         * procfs.c (procfs_target::detach): Pass inferior pointer to
2027         detach_inferior.
2028         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2029         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2030         delete_thread_silent call.
2031         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2032         pass thread_info pointer to delete_thread.
2033         (windows_nat_target::detach): Pass inferior pointer to
2034         delete_inferior.
2035
2036 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2037
2038         * regcache.c (readable_regcache::read_part): Fix asserts.
2039         (reg_buffer::raw_collect_part): New function.
2040         (regcache::write_part): Fix asserts.
2041         (reg_buffer::raw_supply_part): New function.
2042         (regcache::transfer_regset_register): New helper function.
2043         (regcache::transfer_regset): Call new functions.
2044         (regcache_supply_regset): Use gdb_byte*.
2045         (regcache::supply_regset): Likewise.
2046         (regcache_collect_regset): Likewise.
2047         (regcache::collect_regset): Likewise.
2048         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2049         (reg_buffer::raw_supply_part): Likewise.
2050         (regcache::transfer_regset_register): Likewise.
2051         (regcache::transfer_regset): Use gdb_byte*.
2052
2053 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2054
2055         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2056
2057 2018-06-21  Pedro Alves  <palves@redhat.com>
2058
2059         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2060         instead of a ptid_t.  All callers adjusted.
2061         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2062         adjusted.
2063         (print_ada_task_info, display_current_task_id, task_command_1):
2064         Adjust.
2065         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2066         inferior_thread.
2067         (breakpoint_kind): Adjust.
2068         (remove_breakpoints_pid): Rename to ...
2069         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2070         pointer.  All callers adjusted.
2071         (bpstat_clear_actions): Use inferior_thread.
2072         (get_bpstat_thread): New.
2073         (bpstat_do_actions): Use it.
2074         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2075         to take a thread_info pointer.  All callers adjusted.
2076         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2077         (breakpoint_re_set_thread): Use inferior_thread.
2078         * breakpoint.h (struct inferior): Forward declare.
2079         (bpstat_stop_status): Update.
2080         (remove_breakpoints_pid): Delete.
2081         (remove_breakpoints_inf): New.
2082         * bsd-uthread.c (bsd_uthread_target::wait)
2083         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2084         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2085         (maint_btrace_packet_history_cmd)
2086         (maint_btrace_clear_packet_history_cmd): Adjust.
2087         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2088         inferior_thread.
2089         * cli/cli-interp.c: Include "inferior.h".
2090         * common/refcounted-object.h (struct
2091         refcounted_object_ref_policy): New.
2092         * compile/compile-object-load.c: Include gdbthread.h.
2093         (store_regs): Use inferior_thread.
2094         * corelow.c (core_target::close): Use current_inferior.
2095         (core_target_open): Adjust to use first_thread_of_inferior and use
2096         the current inferior.
2097         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2098         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2099         <thread>: ... this new field.  All references adjusted.
2100         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2101         Take a thread_info pointer instead of a ptid_t.
2102         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2103         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2104         thread_info pointer instead of a ptid_t.
2105         * elfread.c: Include "inferior.h".
2106         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2107         Use inferior_thread.
2108         * eval.c (evaluate_subexp): Likewise.
2109         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2110         inferior_thread.
2111         * gdb_proc_service.h (struct thread_info): Forward declare.
2112         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2113         <thread>: ... this new field.  All references adjusted.
2114         * gdbarch.h, gdbarch.c: Regenerate.
2115         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2116         'thread' parameter.  All implementations and callers adjusted.
2117         * gdbthread.h (thread_info) <set_running>: New method.
2118         (delete_thread, delete_thread_silent): Take a thread_info pointer
2119         instead of a ptid.
2120         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2121         (first_thread_of_process): Delete, replaced by ...
2122         (first_thread_of_inferior): ... this new function.  All callers
2123         adjusted.
2124         (any_live_thread_of_process): Delete, replaced by ...
2125         (any_live_thread_of_inferior): ... this new function.  All callers
2126         adjusted.
2127         (switch_to_thread, switch_to_no_thread): Declare.
2128         (is_executing): Delete.
2129         (enable_thread_stack_temporaries): Update comment.
2130         <enable_thread_stack_temporaries>: Take a thread_info pointer
2131         instead of a ptid_t.  Incref the thread.
2132         <~enable_thread_stack_temporaries>: Decref the thread.
2133         <m_ptid>: Delete
2134         <m_thr>: New.
2135         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2136         (get_last_thread_stack_temporary)
2137         (value_in_thread_stack_temporaries, can_access_registers_thread):
2138         Take a thread_info pointer instead of a ptid_t.  All callers
2139         adjusted.
2140         * infcall.c (get_call_return_value): Use inferior_thread.
2141         (run_inferior_call): Work with thread pointers instead of ptid_t.
2142         (call_function_by_hand_dummy): Work with thread pointers instead
2143         of ptid_t.  Use thread_info_ref.
2144         * infcmd.c (proceed_thread_callback): Access thread's state
2145         directly.
2146         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2147         access thread's state directly.
2148         (continue_command): Use inferior_thread.
2149         (info_program_command): Use find_thread_ptid and access thread
2150         state directly.
2151         (proceed_after_attach_callback): Use thread state directly.
2152         (notice_new_inferior): Take a thread_info pointer instead of a
2153         ptid_t.  All callers adjusted.
2154         (exit_inferior): Take an inferior pointer instead of a pid.  All
2155         callers adjusted.
2156         (exit_inferior_silent): New.
2157         (detach_inferior): Delete.
2158         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2159         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2160         (detach_inferior_command, kill_inferior_command): Use
2161         find_inferior_id instead of valid_gdb_inferior_id and
2162         gdb_inferior_id_to_pid.
2163         (inferior_command): Use inferior and thread pointers.
2164         * inferior.h (struct thread_info): Forward declare.
2165         (notice_new_inferior): Take a thread_info pointer instead of a
2166         ptid_t.  All callers adjusted.
2167         (detach_inferior): Delete declaration.
2168         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2169         instead of a pid.  All callers adjusted.
2170         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2171         (valid_gdb_inferior_id): Delete.
2172         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2173         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2174         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2175         ...
2176         <inf>: ... this new field.
2177         <step_ptid>: Delete, replaced by ...
2178         <step_thread>: ... this new field.
2179         (get_displaced_stepping_state): Take an inferior pointer instead
2180         of a pid.  All callers adjusted.
2181         (displaced_step_in_progress_any_inferior): Adjust.
2182         (displaced_step_in_progress_thread): Take a thread pointer instead
2183         of a ptid_t.  All callers adjusted.
2184         (displaced_step_in_progress, add_displaced_stepping_state): Take
2185         an inferior pointer instead of a pid.  All callers adjusted.
2186         (get_displaced_step_closure_by_addr): Adjust.
2187         (remove_displaced_stepping_state): Take an inferior pointer
2188         instead of a pid.  All callers adjusted.
2189         (displaced_step_prepare_throw, displaced_step_prepare)
2190         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2191         All callers adjusted.
2192         (start_step_over): Adjust.
2193         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2194         displaced step queue.
2195         (do_target_resume): Adjust.
2196         (fetch_inferior_event): Use inferior_thread.
2197         (context_switch, get_inferior_stop_soon): Take an
2198         execution_control_state pointer instead of a ptid_t.  All callers
2199         adjusted.
2200         (switch_to_thread_cleanup): Delete.
2201         (stop_all_threads): Use scoped_restore_current_thread.
2202         * inline-frame.c: Include "gdbthread.h".
2203         (inline_state) <inline_state>: Take a thread pointer instead of a
2204         ptid_t.  All callers adjusted.
2205         <ptid>: Delete, replaced by ...
2206         <thread>: ... this new field.
2207         (find_inline_frame_state): Take a thread pointer instead of a
2208         ptid_t.  All callers adjusted.
2209         (skip_inline_frames, step_into_inline_frame)
2210         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2211         pointer instead of a ptid_t.  All callers adjusted.
2212         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2213         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2214         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2215         pointers directly.
2216         * linux-nat.c (get_detach_signal): Likewise.
2217         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2218         (thread_db_notice_clone): Adjust.
2219         (thread_db_find_new_threads_silently)
2220         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2221         a thread pointer instead of a ptid_t.  All callers adjusted.
2222         * mi/mi-cmd-var.c: Include "inferior.h".
2223         (mi_cmd_var_update_iter): Update to use thread pointers.
2224         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2225         inferior directly.
2226         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2227         out to ...
2228         (mi_output_running): ... this new function.
2229         (mi_on_resume_1): Adjust to use it.
2230         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2231         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2232         directly.
2233         (interrupt_thread_callback): : Adjust to use thread and inferior
2234         pointers.
2235         * proc-service.c: Include "gdbthread.h".
2236         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2237         * progspace-and-thread.c: Include "inferior.h".
2238         * progspace.c: Include "inferior.h".
2239         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2240         hold a reference to an inferior_object.
2241         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2242         inferior_thread.
2243         * python/py-inferior.c (struct inferior_object): Give the type a
2244         tag name instead of a typedef.
2245         (python_on_normal_stop): No need to check if the current thread is
2246         listed.
2247         (inferior_to_inferior_object): Change return type to
2248         inferior_object.  All callers adjusted.
2249         (find_thread_object): Delete, bits factored out to ...
2250         (thread_to_thread_object): ... this new function.
2251         * python/py-infthread.c (create_thread_object): Use
2252         inferior_to_inferior_object.
2253         (thpy_is_stopped): Use thread pointer directly.
2254         (gdbpy_selected_thread): Use inferior_thread.
2255         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2256         field, replaced with ...
2257         <thread>: ... this new field.  All users adjusted.
2258         (btpy_insn_or_gap_new): Drop const.
2259         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2260         callers adjusted.
2261         * python/py-record.c: Include "gdbthread.h".
2262         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2263         a ptid_t.  All callers adjusted.
2264         (gdbpy_current_recording): Use inferior_thread.
2265         * python/py-record.h (recpy_record_object) <ptid>: Delete
2266         field, replaced with ...
2267         <thread>: ... this new field.  All users adjusted.
2268         (recpy_element_object) <ptid>: Delete
2269         field, replaced with ...
2270         <thread>: ... this new field.  All users adjusted.
2271         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2272         a ptid_t.  All callers adjusted.
2273         * python/py-threadevent.c: Include "gdbthread.h".
2274         (get_event_thread): Use thread_to_thread_object.
2275         * python/python-internal.h (struct inferior_object): Forward
2276         declare.
2277         (find_thread_object, find_inferior_object): Delete declarations.
2278         (thread_to_thread_object, inferior_to_inferior_object): New
2279         declarations.
2280         * record-btrace.c: Include "inferior.h".
2281         (require_btrace_thread): Use inferior_thread.
2282         (record_btrace_frame_sniffer)
2283         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2284         (get_thread_current_frame): Use scoped_restore_current_thread and
2285         switch_to_thread.
2286         (get_thread_current_frame): Use thread pointer directly.
2287         (record_btrace_replay_at_breakpoint): Use thread's inferior
2288         pointer directly.
2289         * record-full.c: Include "inferior.h".
2290         * regcache.c: Include "gdbthread.h".
2291         (get_thread_arch_regcache): Use the inferior's address space
2292         directly.
2293         (get_thread_regcache, registers_changed_thread): New.
2294         * regcache.h (get_thread_regcache(thread_info *thread)): New
2295         overload.
2296         (registers_changed_thread): New.
2297         (remote_target) <remote_detach_1>: Swap order of parameters.
2298         (remote_add_thread): <remote_add_thread>: Return the new thread.
2299         (get_remote_thread_info(ptid_t)): New overload.
2300         (remote_target::remote_notice_new_inferior): Use thread pointers
2301         directly.
2302         (remote_target::process_initial_stop_replies): Use
2303         thread_info::set_running.
2304         (remote_target::remote_detach_1, remote_target::detach)
2305         (extended_remote_target::detach): Adjust.
2306         * stack.c (frame_show_address): Use inferior_thread.
2307         * target-debug.h (target_debug_print_thread_info_pp): New.
2308         * target-delegates.c: Regenerate.
2309         * target.c (default_thread_address_space): Delete.
2310         (memory_xfer_partial_1): Use current_inferior.
2311         (target_detach): Use current_inferior.
2312         (target_thread_address_space): Delete.
2313         (generic_mourn_inferior): Use current_inferior.
2314         * target.h (struct target_ops) <thread_address_space>: Delete.
2315         (target_thread_address_space): Delete.
2316         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2317         pointers directly.
2318         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2319         thread pointer instead of a ptid_t.  Adjust all callers.
2320         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2321         (first_thread_of_process): Delete, replaced by ...
2322         (first_thread_of_inferior): ... this new function.  All callers
2323         adjusted.
2324         (any_thread_of_process): Rename to ...
2325         (any_thread_of_inferior): ... this, and take an inferior pointer.
2326         (any_live_thread_of_process): Rename to ...
2327         (any_live_thread_of_inferior): ... this, and take an inferior
2328         pointer.
2329         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2330         (value_in_thread_stack_temporaries)
2331         (get_last_thread_stack_temporary): Take a thread pointer instead
2332         of a ptid_t.  Adjust all callers.
2333         (thread_info::set_running): New.
2334         (validate_registers_access): Use inferior_thread.
2335         (can_access_registers_ptid): Rename to ...
2336         (can_access_registers_thread): ... this, and take a thread
2337         pointer.
2338         (print_thread_info_1): Adjust to compare thread pointers instead
2339         of ptids.
2340         (switch_to_no_thread, switch_to_thread): Make extern.
2341         (scoped_restore_current_thread::~scoped_restore_current_thread):
2342         Use m_thread pointer directly.
2343         (scoped_restore_current_thread::scoped_restore_current_thread):
2344         Use inferior_thread.
2345         (thread_command): Use thread pointer directly.
2346         (thread_num_make_value_helper): Use inferior_thread.
2347         * top.c (execute_command): Use inferior_thread.
2348         * tui/tui-interp.c: Include "inferior.h".
2349         * varobj.c (varobj_create): Use inferior_thread.
2350         (value_of_root_1): Use find_thread_global_id instead of
2351         global_thread_id_to_ptid.
2352
2353 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2354
2355         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2356         possible.
2357         (regcache::write_part): Likewise.
2358         (readable_regcache::cooked_read_part): Update comment.
2359         (readable_regcache::cooked_write_part): Likewise.
2360         * regcache.h: (readable_regcache::read_part): Likewise.
2361         (regcache::write_part): Likewise.
2362
2363 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2364             Dirk Schubert  <dirk.schubert@arm.com>
2365
2366         * aarch64-linux-nat.c (post_attach): New.
2367         (aarch64_linux_nat_target::post_attach): Override post_attach to
2368         record the number of hardware debug registers.
2369
2370 2018-06-20  Tom Tromey  <tom@tromey.com>
2371
2372         * python/py-param.c (add_setshow_generic): Make parameters const.
2373         (parmpy_init): Update.
2374
2375 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2376
2377         * regcache.h (regcache_cooked_read_ftype): Rename to...
2378         (register_read_ftype): ...this, change type to function_view.
2379         (class reg_buffer) <save>: Remove src parameter.
2380         (readonly_detached_regcache) <readonly_detached_regcache>: Make
2381         parameter non-const in first overload.  Remove src parameter in
2382         second overload.
2383         * regcache.c (do_cooked_read): Remove.
2384         (readonly_detached_regcache::readonly_detached_regcache): Make
2385         parameter non-const, adjust call to other constructor.
2386         (reg_buffer::save): Remove src parameter.
2387         * frame.c (do_frame_register_read): Remove.
2388         (frame_save_as_regcache): Use lambda function.
2389         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
2390         parameter to ppu2spu_data *.
2391         (ppu2spu_sniffer): Use lambda function.
2392
2393 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2394
2395         * record-full.c (record_full_target::insert_breakpoint): Remove
2396         "struct" keyword, add const.
2397
2398 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
2399
2400         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
2401         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
2402         * configure.ac: Remove AC_PREREQ, add missing quoting.
2403         * gnulib/configure.ac: Modernize usage of
2404         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
2405         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
2406         (AUTOMAKE_VERSION): Bump to 1.15.1.
2407         * configure: Re-generate.
2408         * config.in: Re-generate.
2409         * aclocal.m4: Re-generate.
2410         * gnulib/aclocal.m4: Re-generate.
2411         * gnulib/config.in: Re-generate.
2412         * gnulib/configure: Re-generate.
2413         * gnulib/import/Makefile.in: Re-generate.
2414
2415 2018-06-19  Pedro Alves  <palves@redhat.com>
2416
2417         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
2418         (lookup_minimal_symbol_by_pc_section): ... here with
2419         gdb_assert_not_reached added.
2420
2421 2018-06-19  Pedro Alves  <palves@redhat.com>
2422
2423         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
2424         parameter with a block parameter.  Compare location's block symbol
2425         with the frame's block instead of addresses.
2426         (skip_inline_frames): Pass the current block instead of the
2427         frame's address.  Break out as soon as we determine the frame
2428         should not be skipped.
2429
2430 2018-06-18  Tom Tromey  <tom@tromey.com>
2431
2432         * solib-aix.c (solib_aix_get_section_offsets): Return
2433         unique_xmalloc_ptr.
2434         (solib_aix_solib_create_inferior_hook): Update.
2435
2436 2018-06-18  Tom Tromey  <tom@tromey.com>
2437
2438         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
2439
2440 2018-06-18  Tom Tromey  <tom@tromey.com>
2441
2442         * solib-frv.c (frv_relocate_main_executable): Use
2443         unique_xmalloc_ptr.
2444         * solib-dsbt.c (dsbt_relocate_main_executable): Use
2445         unique_xmalloc_ptr.
2446
2447 2018-06-18  Tom Tromey  <tom@tromey.com>
2448
2449         * objfiles.h (inhibit_section_map_updates): Update.
2450         (resume_section_map_updates, resume_section_map_updates_cleanup):
2451         Remove.
2452         * solib-svr4.c (svr4_handle_solib_event): Update.
2453         * objfiles.c (inhibit_section_map_updates): Return
2454         scoped_restore_tmpl<int>.
2455         (resume_section_map_updates, resume_section_map_updates_cleanup):
2456         Remove.
2457
2458 2018-06-18  Tom Tromey  <tom@tromey.com>
2459
2460         * valprint.h (read_string): Update.
2461         * valprint.c (read_string): Change type of "buffer".
2462         (val_print_string): Update.
2463         * python/py-value.c (valpy_string): Update.
2464         * language.h (struct language_defn) <la_get_string>: Change
2465         type of "buffer".
2466         (default_get_string, c_get_string): Update.
2467         * language.c (default_get_string): Change type of "buffer".
2468         * guile/scm-value.c (gdbscm_value_to_string): Update.
2469         * c-lang.c (c_get_string): Change type of "buffer".
2470
2471 2018-06-18  Tom Tromey  <tom@tromey.com>
2472
2473         * ser-mingw.c (struct pipe_state_destroyer): New.
2474         (pipe_state_up): New typedef.
2475         (cleanup_pipe_state): Remove.
2476         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
2477
2478 2018-06-18  Tom Tromey  <tom@tromey.com>
2479
2480         * rust-lang.h (rust_yyerror): Don't declare.
2481         * rust-lang.c (rust_language_defn): Update.
2482         * rust-exp.y (yyerror): Now static.
2483         * parse.c (parse_exp_in_context_1): Update.
2484         * p-lang.h (p_yyerror): Don't declare.
2485         * p-lang.c (p_language_defn): Update.
2486         * p-exp.y (yyerror): Now static.
2487         * opencl-lang.c (opencl_language_defn): Update.
2488         * objc-lang.c (objc_language_defn): Update.
2489         * m2-lang.h (m2_yyerror): Don't declare.
2490         * m2-lang.c (m2_language_defn): Update.
2491         * m2-exp.y (yyerror): Now static.
2492         * language.h (struct language_defn) <la_error>: Remove.
2493         * language.c (unk_lang_error): Remove.
2494         (unknown_language_defn, auto_language_defn): Remove.
2495         * go-lang.h (go_yyerror): Don't declare.
2496         * go-lang.c (go_language_defn): Update.
2497         * go-exp.y (yyerror): Now static.
2498         * f-lang.h (f_yyerror): Don't declare.
2499         * f-lang.c (f_language_defn): Update.
2500         * f-exp.y (yyerror): Now static.
2501         * d-lang.h (d_yyerror): Don't declare.
2502         * d-lang.c (d_language_defn): Update.
2503         * d-exp.y (yyerror): Now static.
2504         * c-lang.h (c_yyerror): Don't declare.
2505         * c-lang.c (c_language_defn, cplus_language_defn)
2506         (asm_language_defn, minimal_language_defn): Update.
2507         * c-exp.y (yyerror): Now static.
2508         * ada-lang.h (ada_yyerror): Don't declare.
2509         * ada-lang.c (ada_language_defn): Update.
2510         * ada-exp.y (yyerror): Now static.
2511
2512 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2513
2514         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
2515         (store_sveregs_to_thread): Likewise.
2516         (aarch64_linux_fetch_inferior_registers): Check for SVE.
2517         (aarch64_linux_store_inferior_registers): Likewise.
2518         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
2519         function.
2520         (aarch64_sve_regs_copy_to_regcache): Likewise.
2521         (aarch64_sve_regs_copy_from_regcache): Likewise.
2522         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
2523         declaration.
2524         (aarch64_sve_regs_copy_to_regcache): Likewise.
2525         (aarch64_sve_regs_copy_from_regcache): Likewise.
2526         (sve_context): Structure from Linux headers.
2527         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
2528         (SVE_SIG_ZREG_SIZE): Likewise.
2529         (SVE_SIG_PREG_SIZE): Likewise.
2530         (SVE_SIG_FFR_SIZE): Likewise.
2531         (SVE_SIG_REGS_OFFSET): Likewise.
2532         (SVE_SIG_ZREGS_OFFSET): Likewise.
2533         (SVE_SIG_ZREG_OFFSET): Likewise.
2534         (SVE_SIG_ZREGS_SIZE): Likewise.
2535         (SVE_SIG_PREGS_OFFSET): Likewise.
2536         (SVE_SIG_PREG_OFFSET): Likewise.
2537         (SVE_SIG_PREGS_SIZE): Likewise.
2538         (SVE_SIG_FFR_OFFSET): Likewise.
2539         (SVE_SIG_REGS_SIZE): Likewise.
2540         (SVE_SIG_CONTEXT_SIZE): Likewise.
2541         (SVE_PT_REGS_MASK): Likewise.
2542         (SVE_PT_REGS_FPSIMD): Likewise.
2543         (SVE_PT_REGS_SVE): Likewise.
2544         (SVE_PT_VL_INHERIT): Likewise.
2545         (SVE_PT_VL_ONEXEC): Likewise.
2546         (SVE_PT_REGS_OFFSET): Likewise.
2547         (SVE_PT_FPSIMD_OFFSET): Likewise.
2548         (SVE_PT_FPSIMD_SIZE): Likewise.
2549         (SVE_PT_SVE_ZREG_SIZE): Likewise.
2550         (SVE_PT_SVE_PREG_SIZE): Likewise.
2551         (SVE_PT_SVE_FFR_SIZE): Likewise.
2552         (SVE_PT_SVE_FPSR_SIZE): Likewise.
2553         (SVE_PT_SVE_FPCR_SIZE): Likewise.
2554         (__SVE_SIG_TO_PT): Likewise.
2555         (SVE_PT_SVE_OFFSET): Likewise.
2556         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
2557         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
2558         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
2559         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
2560         (SVE_PT_SVE_PREG_OFFSET): Likewise.
2561         (SVE_PT_SVE_PREGS_SIZE): Likewise.
2562         (SVE_PT_SVE_FFR_OFFSET): Likewise.
2563         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
2564         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
2565         (SVE_PT_SVE_SIZE): Likewise.
2566         (SVE_PT_SIZE): Likewise.
2567         (HAS_SVE_STATE): New define.
2568
2569 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2570
2571         * nat/aarch64-sve-linux-sigcontext.h: New file.
2572         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
2573         new files.
2574         (SVE_VQ_MIN): Likewise.
2575         (SVE_VQ_MAX): Likewise.
2576         (SVE_VL_MIN): Likewise.
2577         (SVE_VL_MAX): Likewise.
2578         (SVE_NUM_ZREGS): Likewise.
2579         (SVE_NUM_PREGS): Likewise.
2580         (sve_vl_valid): Likewise.
2581         (struct user_sve_header): Likewise.
2582
2583 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
2584             Richard Bunt <Richard.Bunt@arm.com>
2585
2586         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
2587         was requested by GDB.
2588
2589 2018-06-15  Tom de Vries  <tdevries@suse.de>
2590
2591         * MAINTAINERS (Write After Approval): Add Tom de Vries.
2592
2593 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
2594
2595         * gnulib/update-gnulib.sh: Print expected versions of
2596         autoconf/aclocal.
2597
2598 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
2599
2600         * arch-utils.c (default_type_align): Use type_length_units.
2601         * gdbtypes.c (type_align): Use type_length_units.
2602
2603 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2604
2605         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
2606         of 'define' command.
2607
2608 2018-06-14  Tom de Vries  <tdevries@suse.de>
2609
2610         PR cli/22573
2611         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
2612         get_no_prettyformat_print_options.
2613
2614 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
2615
2616         * sparc-nat.h: Include target.h.
2617         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
2618         <fetch_registers>: Remove this argument in function call.
2619         <store_registers>: Remove this argument in function call, remove
2620         extra semicolon.
2621         <low_forget_process>: Call sparc64_forget_process instead of
2622         sparc_forget_process.
2623
2624 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2625
2626         * procfs.c (_initialize_procfs): Use add_inf_child_target.
2627         (procfs_target::make_corefile_notes): Adjust to new
2628         target_read_alloc return type.
2629
2630 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2631             Stephen Roberts  <stephen.roberts@arm.com>
2632
2633         PR gdb/22882
2634         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
2635         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
2636         Move should_notify_stop local into more inner scope.
2637
2638 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2639             Stephen Roberts  <stephen.roberts@arm.com>
2640
2641         PR gdb/22882
2642         * infrun.c (resume_1): Add call to mark_async_event_handler.
2643
2644 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2645
2646         * infrun.c (do_target_wait): Change old version of $pc printed.
2647
2648 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
2649
2650         * dwarf2read.c (read_index_from_section): Rename to...
2651         (read_gdb_index_from_section): ... this, update all callers.
2652         (dwarf2_read_index): Rename to...
2653         (dwarf2_read_gdb_index): ... this, update all callers.
2654
2655 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
2656
2657         * gdb/hppa-linux-nat.c
2658         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
2659         hppa_linux_nat_target::fetch_registers.
2660
2661 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2662
2663         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
2664         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
2665         (AARCH64_DWARF_SVE_FFR): Likewise.
2666         (AARCH64_DWARF_SVE_P0): Likewise.
2667         (AARCH64_DWARF_SVE_Z0): Likewise.
2668
2669 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2670
2671         * common/common-regcache.h (raw_compare): New function.
2672         * regcache.c (regcache::raw_compare): Likewise.
2673         * regcache.h (regcache::raw_compare): New declaration.
2674
2675 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2676
2677         * common/common-regcache.h (reg_buffer_common): New structure.
2678         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
2679         (reg_buffer::raw_supply): Likewise.
2680         (reg_buffer::raw_supply_integer): Likewise.
2681         (reg_buffer::raw_supply_zeroed): Likewise.
2682         (reg_buffer::raw_collect): Likewise.
2683         (reg_buffer::raw_collect_integer): Likewise.
2684         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
2685         (reg_buffer::raw_supply): Likewise.
2686         (reg_buffer::raw_supply_integer): Likewise.
2687         (reg_buffer::raw_supply_zeroed): Likewise.
2688         (reg_buffer::raw_collect): Likewise.
2689         (reg_buffer::raw_collect_integer): Likewise.
2690
2691 2018-06-10  Tom Tromey  <tom@tromey.com>
2692
2693         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
2694         (class remote_state) <stop_reply_queue>: Now std::vector.
2695         (remote_state::~remote_state)
2696         (remote_target::stop_reply_queue_length): Update.
2697         (struct queue_iter_param, remove_child_of_pending_fork)
2698         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
2699         (check_pending_event_prevents_wildcard_vcont_callback)
2700         (remove_stop_reply_for_inferior)
2701         (remove_stop_reply_of_remote_state)
2702         (remote_notif_remove_once_on_match)
2703         (stop_reply_match_ptid_and_ws)
2704         (remote_kill_child_of_pending_fork): Remove.
2705         (remote_target::remove_new_fork_children)
2706         (remote_target::check_pending_events_prevent_wildcard_vcont)
2707         (remote_target::discard_pending_stop_replies)
2708         (remote_target::discard_pending_stop_replies_in_queue)
2709         (remote_target::remote_notif_remove_queued_reply)
2710         (remote_target::queued_stop_reply)
2711         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
2712         (remote_target::wait, remote_target::kill_new_fork_children)
2713         (remote_target::async): Update.
2714
2715 2018-06-10  Tom Tromey  <tom@tromey.com>
2716
2717         * record-full.c (record_full_arch_list_cleanups): Remove.
2718         (record_full_message): Use try/catch.
2719         (record_full_wait_cleanups): Remove.
2720         (record_full_wait_1): Use try/catch.
2721         (record_full_restore): Likewise.
2722
2723 2018-06-10  Tom Tromey  <tom@tromey.com>
2724
2725         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
2726         declare VEC.  Add constructor.
2727         <in_target_beneath>: Now bool.
2728         (record_full_breakpoints): Now a std::vector, static.
2729         (record_full_sync_record_breakpoints)
2730         (record_full_init_record_breakpoints)
2731         (record_full_target::insert_breakpoint)
2732         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
2733
2734 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
2735
2736         * dwarf2read.c (process_cu_includes): Remove struct keyword.
2737         * serial.c (serial_interface_lookup): Remove struct keyword.
2738
2739 2018-06-10  Tom Tromey  <tom@tromey.com>
2740
2741         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
2742         method.
2743         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
2744         a method.
2745         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
2746         method.
2747         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
2748         "beneath" as a method.
2749         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
2750         Use "beneath" as a method.
2751
2752 2018-06-10  Tom Tromey  <tom@tromey.com>
2753
2754         * tracefile.c (struct trace_file_writer_deleter): New.
2755         <operator()>: Rename from trace_file_writer_xfree.
2756         (trace_file_writer_up): New typedef.
2757         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
2758
2759 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2760
2761         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
2762         <m_registers, m_register_status>: Change type to
2763         std::unique_ptr.
2764         * regcache.c (reg_buffer::reg_buffer): Use new instead of
2765         XCNEWVEC.
2766
2767 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2768
2769         * common/common-regcache.h (enum register_status): Add
2770         underlying type "signed char".
2771         * regcache.h (reg_buffer) <m_register_status>: Change type to
2772         register_status *.
2773         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
2774         register_status instead of signed char.
2775         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
2776         (reg_buffer::get_register_status): Remove cast.
2777         (readable_regcache::raw_read): Remove cast.
2778         (readable_regcache::cooked_read): Remove cast.
2779
2780 2018-06-09  Tom Tromey  <tom@tromey.com>
2781
2782         * source.c (reverse_search_command, forward_search_command): Use
2783         scoped_fd.
2784
2785 2018-06-09  Tom Tromey  <tom@tromey.com>
2786
2787         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
2788         (serial_ops_list): Now static, std::vector.
2789         (serial_interface_lookup, serial_add_interface): Update.
2790
2791 2018-06-09  Tom Tromey  <tom@tromey.com>
2792
2793         * dwarf2read.c (process_cu_includes): Update.
2794         (process_full_comp_unit): Update.
2795         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
2796         std::vector.
2797
2798 2018-06-08  Paul Koning  <paul_koning@dell.com>
2799
2800         PR gdb/23252
2801
2802         * python/python.c (do_start_initialization):
2803         Avoid call to internal Python API.
2804         (init__gdb_module): New function.
2805
2806 2018-06-08  Gary Benson <gbenson@redhat.com>
2807
2808         * linux-thread-db.c (valprint.h): New include.
2809         (struct check_thread_db_info): New structure.
2810         (check_thread_db_on_load, tdb_testinfo): New static globals.
2811         (check_thread_db, check_thread_db_callback): New functions.
2812         (try_thread_db_load_1): Run integrity checks if requested.
2813         (maintenance_check_libthread_db): New function.
2814         (_initialize_thread_db): Register "maint check libthread-db"
2815         and "maint set/show check-libthread-db".
2816         * NEWS: Mention the above new commands.
2817
2818 2018-06-08  Tom Tromey  <tom@tromey.com>
2819
2820         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
2821         now a method.
2822
2823 2018-06-08  Tom Tromey  <tom@tromey.com>
2824
2825         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
2826
2827 2018-06-08  Tom Tromey  <tom@tromey.com>
2828
2829         * common/btrace-common.h (struct btrace_data): Add constructor,
2830         destructor, move assignment operator.
2831         <empty, clear, fini>: New methods.
2832         <format>: Initialize.
2833         (btrace_data_init, btrace_data_fini, btrace_data_clear)
2834         (btrace_data_empty): Don't declare.
2835         * common/btrace-common.c (btrace_data_init): Remove.
2836         (btrace_data::fini): Rename from btrace_data_fini.
2837         (btrace_data::empty): Rename from btrace_data_empty.
2838         (btrace_data::clear): Rename from btrace_data_clear.  Return
2839         bool.
2840         * btrace.h (make_cleanup_btrace_data): Don't declare.
2841         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
2842         (parse_xml_btrace): Update.
2843         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
2844         (maint_btrace_clear_packet_history_cmd): Update.
2845
2846 2018-06-07  Pedro Alves  <palves@redhat.com>
2847
2848         * target.h (target_ops) <beneath>: Now a method.  All references
2849         updated.
2850         (class target_stack): New.
2851         * target.c (g_target_stack): New.
2852         (g_current_top_target): Delete.
2853         (current_top_target): Get the top target out of g_target_stack.
2854         (target_stack::push, target_stack::unpush): New.
2855         (push_target, unpush_target): Reimplement.
2856         (target_is_pushed): Reimplement in terms of g_target_stack.
2857         (target_ops::beneath, target_stack::find_beneath): New.
2858
2859 2018-06-07  Pedro Alves  <palves@redhat.com>
2860
2861         * target.h (find_target_beneath): Delete declaration.
2862         * target.c (find_target_beneath): Delete definition.
2863         * aix-thread.c: All callers of find_target_beneath adjusted to
2864         call target_ops::beneath instead.
2865         * bsd-uthread.c: Likewise.
2866         * linux-thread-db.c: Likewise.
2867         * ravenscar-thread.c: Likewise.
2868         * sol-thread.c: Likewise.
2869         * spu-multiarch.c: Likewise.
2870
2871 2018-06-07  Pedro Alves  <palves@redhat.com>
2872
2873         * target.h (target_ops) <beneath>: Now a method.  All references
2874         updated.
2875         (target_ops) <m_beneath>: New.
2876         * target.c (target_ops::beneath): New.
2877         * corelow.c: Adjust all references to target_ops::beneath.
2878         * linux-thread-db.c: Likewise.
2879         * make-target-delegates: Likewise.
2880         * record-btrace.c: Likewise.
2881         * record-full.c: Likewise.
2882         * remote.c: Likewise.
2883         * target.c: Likewise.
2884         * target-delegates.c: Regenerate.
2885
2886 2018-06-07  Pedro Alves  <palves@redhat.com>
2887
2888         * target.h (target_stack): Delete.
2889         (current_top_target): Declare function.
2890         * target.c (target_stack): Delete.
2891         (g_current_top_target): New.
2892         (current_top_target): New function.
2893         * auxv.c: Use current_top_target instead of target_stack
2894         throughout.
2895         * avr-tdep.c: Likewise.
2896         * breakpoint.c: Likewise.
2897         * corefile.c: Likewise.
2898         * elfread.c: Likewise.
2899         * eval.c: Likewise.
2900         * exceptions.c: Likewise.
2901         * frame.c: Likewise.
2902         * gdbarch-selftests.c: Likewise.
2903         * gnu-v3-abi.c: Likewise.
2904         * ia64-tdep.c: Likewise.
2905         * ia64-vms-tdep.c: Likewise.
2906         * infcall.c: Likewise.
2907         * infcmd.c: Likewise.
2908         * infrun.c: Likewise.
2909         * linespec.c: Likewise.
2910         * linux-tdep.c: Likewise.
2911         * minsyms.c: Likewise.
2912         * ppc-linux-nat.c: Likewise.
2913         * ppc-linux-tdep.c: Likewise.
2914         * procfs.c: Likewise.
2915         * regcache.c: Likewise.
2916         * remote.c: Likewise.
2917         * rs6000-tdep.c: Likewise.
2918         * s390-linux-nat.c: Likewise.
2919         * s390-tdep.c: Likewise.
2920         * solib-aix.c: Likewise.
2921         * solib-darwin.c: Likewise.
2922         * solib-dsbt.c: Likewise.
2923         * solib-spu.c: Likewise.
2924         * solib-svr4.c: Likewise.
2925         * solib-target.c: Likewise.
2926         * sparc-tdep.c: Likewise.
2927         * sparc64-tdep.c: Likewise.
2928         * spu-tdep.c: Likewise.
2929         * symfile.c: Likewise.
2930         * symtab.c: Likewise.
2931         * target-descriptions.c: Likewise.
2932         * target-memory.c: Likewise.
2933         * target.c: Likewise.
2934         * target.h: Likewise.
2935         * tracefile-tfile.c: Likewise.
2936         * tracepoint.c: Likewise.
2937         * valops.c: Likewise.
2938         * valprint.c: Likewise.
2939         * value.c: Likewise.
2940         * windows-tdep.c: Likewise.
2941         * mi/mi-main.c: Likewise.
2942
2943 2018-06-07  Tom Tromey  <tom@tromey.com>
2944
2945         * valprint.h (build_address_symbolic): Declare.
2946         * printcmd.c (print_address_symbolic): Update.
2947         (build_address_symbolic): Change "name" and "filename" to
2948         std::string.
2949         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
2950         Update.
2951         * defs.h (build_address_symbolic): Remove declaration.
2952
2953 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
2954
2955         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
2956         (aarch64_vnv_type): Add function.
2957         (aarch64_pseudo_register_name): Add V regs for SVE.
2958         (aarch64_pseudo_register_type): Likewise.
2959         (aarch64_pseudo_register_reggroup_p): Likewise.
2960         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
2961         (aarch64_pseudo_read_value): Add V regs for SVE.
2962         (aarch64_pseudo_write_2): Use V0 offset for SVE
2963         (aarch64_pseudo_write): Add V regs for SVE.
2964         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
2965
2966 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
2967
2968         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
2969         (sve_vl_from_vq): Likewise.
2970
2971 2018-06-05  Tom Tromey  <tom@tromey.com>
2972
2973         * cli/cli-cmds.c (show_version): Update.
2974         * top.c (print_gdb_version): Add "interactive" parameter.
2975         Update.
2976         * main.c (captured_main_1): Update.
2977         * top.h (print_gdb_version): Add "interactive" parameter and a
2978         comment.
2979
2980 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
2981
2982         * common/enum-flags.h: Add trailing semicolon to example in
2983         comment.
2984
2985 2018-06-05  Tom Tromey  <tom@tromey.com>
2986
2987         PR cli/12326:
2988         * NEWS: Add entry about pager.
2989         * utils.c (pagination_disabled_for_command): New global.
2990         (prompt_for_continue): Allow "c" response to prompt.
2991         (reinitialize_more_filter): Clear
2992         pagination_disabled_for_command.
2993         (fputs_maybe_filtered): Check pagination_disabled_for_command.
2994
2995 2018-06-04  Tom Tromey  <tom@tromey.com>
2996
2997         * ada-lang.h (ada_lookup_symbol_list): Update.
2998         * ada-lang.c (resolve_subexp): Update.
2999         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3000         parameter.
3001         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3002         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3003         results parameter to std::vector.
3004         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3005         Update.
3006         * ada-exp.y (block_lookup): Update.
3007         (select_possible_type_sym): Change type of syms.  Remove nsyms
3008         parameter.
3009         (write_var_or_type, write_name_assoc): Update.
3010
3011 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3012
3013         * windows-nat.c (windows_nat_target::xfer_partial): Return
3014         TARGET_XFER_E_IO if we need to delegate to the target beneath
3015         but BENEATH is NULL.
3016
3017 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3018
3019         * Makefile.in (config.status): Add configure.nat as a
3020         dependency.
3021
3022 2018-06-04  Tom Tromey  <tom@tromey.com>
3023
3024         * cp-name-parser.y (cpname_state): Add method declarations.
3025         (HANDLE_QUAL): Update.
3026         (cpname_state::d_grab, cpname_state::fill_comp)
3027         (cpname_state::make_operator, cpname_state::make_dtor)
3028         (cpname_state::make_builtin_type, cpname_state::make_name)
3029         (cpname_state::d_qualify, cpname_state::d_int_type)
3030         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3031         (%union): Move earlier.
3032
3033 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3034
3035         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3036
3037 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3038
3039         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3040         (aarch64_pseudo_write_1): Likewise.
3041         (aarch64_pseudo_read_value): Use helper.
3042         (aarch64_pseudo_write): Likewise.
3043
3044 2018-06-04  Pedro Alves  <palves@redhat.com>
3045
3046         * darwin-nat.c (darwin_ops): Delete.
3047         (darwin_attach_pid): Use get_native_target.
3048
3049 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3050
3051         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3052         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3053
3054 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3055
3056         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3057         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3058         (aarch64_gdbarch_init): Check for SVE.
3059         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3060
3061 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3062
3063         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3064         * aarch64-tdep.h (aarch64_read_description): Likewise.
3065         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3066         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3067         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3068         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3069         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3070
3071 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3072
3073         * value.c (value_fetch_lazy_bitfield): New.
3074         (value_fetch_lazy_memory): New.
3075         (value_fetch_lazy_register): New.
3076         (value_fetch_lazy): Factor out to smaller functions.
3077
3078 2018-06-01  Tom Tromey  <tom@tromey.com>
3079
3080         * cp-name-parser.y (backslashable, represented): Now const.
3081
3082 2018-06-01  Tom Tromey  <tom@tromey.com>
3083
3084         * cp-name-parser.y: Include parser-defs.h.
3085         (parser_fprintf): Remove declaration.
3086
3087 2018-06-01  Tom Tromey  <tom@tromey.com>
3088
3089         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3090         %parse-param.
3091         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3092         (global_result): Remove globals.
3093         (struct cpname_state): New.
3094         (yyparse): Don't declare.
3095         (yylex, yyerror): Move declarations after %union.
3096         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3097         (make_name): Add state parameter.
3098         Update all callers.
3099         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3100         parameter.
3101         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3102         Update.
3103         (yylex): Add lvalp, state parameters.
3104         (yyerror): Add state parameter.
3105         (cp_demangled_name_to_comp): Update.
3106
3107 2018-06-01  Tom Tromey  <tom@tromey.com>
3108
3109         * cp-name-parser.y (parser_fprintf): Declare.
3110         (GDB_YY_REMAP_PREFIX): Define.
3111         Include yy-remap.h.  Don't redefine yy* identifiers.
3112
3113 2018-06-01  Tom Tromey  <tom@tromey.com>
3114
3115         * python/py-type.c (typy_legacy_template_argument): Update.
3116         * cp-support.h (cp_demangled_name_to_comp): Update.
3117         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3118         parameter to be a "std::string *".
3119         (main): Update.
3120
3121 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3122
3123         * ada-lex.l: Include "diagnostics.h" instead of
3124         "common/diagnostics.h".
3125         * unittests/environ-selftests.c: Likewise.
3126         * common/diagnostics.h: Moved to ../include.
3127
3128 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3129
3130         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3131         to language_mode_manual while calling breakpoint_re_set_one.
3132
3133 2018-06-01  Tom Tromey  <tom@tromey.com>
3134
3135         * valops.c (value_cast_structs, destructor_name_p): Update.
3136         * symtab.c (gdb_mangle_name): Update.
3137         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3138         Update.
3139         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3140         (pascal_object_print_value_fields, pascal_object_print_value):
3141         Update.
3142         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3143         * linespec.c (find_methods): Update.
3144         * gdbtypes.h (type_name_no_tag): Remove.
3145         (type_name_or_error): Rename from type_name_no_tag_or_error.
3146         * gdbtypes.c (type_name_no_tag): Remove.
3147         (type_name_or_error): Rename from type_name_no_tag_or_error.
3148         (lookup_struct_elt_type, check_typedef): Update.
3149         * expprint.c (print_subexp_standard): Update.
3150         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3151         * d-namespace.c (d_lookup_nested_symbol): Update.
3152         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3153         (cp_print_class_member): Update.
3154         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3155         * completer.c (add_struct_fields): Update.
3156         * c-typeprint.c (cp_type_print_derivation_info)
3157         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3158         Update.
3159         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3160         (ada_prefer_type, ada_is_exception_sym): Update.
3161
3162 2018-06-01  Tom Tromey  <tom@tromey.com>
3163
3164         * valops.c (enum_constant_from_type, value_namespace_elt)
3165         (value_maybe_namespace_elt): Update.
3166         * valarith.c (find_size_for_pointer_math): Update.
3167         * target-descriptions.c (make_gdb_type): Update.
3168         * symmisc.c (print_symbol): Update.
3169         * stabsread.c (define_symbol, read_type)
3170         (complain_about_struct_wipeout, add_undefined_type)
3171         (cleanup_undefined_types_1): Update.
3172         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3173         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3174         (rust_internal_print_type, rust_composite_type)
3175         (rust_evaluate_funcall, rust_evaluate_subexp)
3176         (rust_inclusive_range_type_p): Update.
3177         * python/py-type.c (typy_get_tag): Update.
3178         * p-typeprint.c (pascal_type_print_base): Update.
3179         * mdebugread.c (parse_symbol, parse_type): Update.
3180         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3181         Update.
3182         * guile/scm-type.c (gdbscm_type_tag): Update.
3183         * go-lang.c (sixg_string_p): Update.
3184         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3185         Update.
3186         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3187         (TYPE_TAG_NAME): Remove.
3188         * gdbtypes.c (type_name_no_tag): Simplify.
3189         (check_typedef, check_types_equal, recursive_dump_type)
3190         (copy_type_recursive, arch_composite_type): Update.
3191         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3192         in summary mode when needed.
3193         * eval.c (evaluate_funcall): Update.
3194         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3195         (process_structure_scope, read_enumeration_type)
3196         (read_namespace_type, read_module_type, determine_prefix): Update.
3197         * cp-support.c (inspect_type): Update.
3198         * coffread.c (process_coff_symbol, decode_base_type): Update.
3199         * c-varobj.c (c_is_path_expr_parent): Update.
3200         * c-typeprint.c (c_type_print_base_struct_union): Update.
3201         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3202         summary when using C language.
3203         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3204         (gen_maybe_namespace_elt): Update.
3205         * ada-lang.c (ada_type_name): Simplify.
3206         (empty_record, ada_template_to_fixed_record_type_1)
3207         (template_to_static_fixed_type)
3208         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3209
3210 2018-06-01  Tom Tromey  <tom@tromey.com>
3211
3212         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3213         c_print_type.
3214         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3215         (c_print_type): Update.
3216         (c_print_type): New overload.
3217         (c_type_print_varspec_prefix, c_type_print_args)
3218         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3219         (c_type_print_base_struct_union, c_type_print_base_1)
3220         (cp_type_print_method_args): Add "language" parameter.
3221         (c_type_print_base): Update.
3222         * c-lang.h (c_print_type): Add new overload.
3223
3224 2018-06-01  Tom Tromey  <tom@tromey.com>
3225
3226         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3227         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3228
3229 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3230
3231         * aarch64-tdep.c (aarch64_sve_register_names): New const
3232         var.
3233         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3234         (AARCH64_SVE_Z_REGS_NUM): New define.
3235         (AARCH64_SVE_P_REGS_NUM): Likewise.
3236         (AARCH64_SVE_NUM_REGS): Likewise.
3237
3238 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3239
3240         * nat/linux-ptrace.h [__alpha__]
3241         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3242         definitions.
3243
3244 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3245
3246         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3247         the endianness selected.
3248         * NEWS: Document `set endian auto' mode operation update.
3249
3250 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3251
3252         * Makefile.in: Add new header.
3253         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3254         (sve_vl_from_vg): Likewise.
3255         (sve_vq_from_vl): Likewise.
3256         (sve_vl_from_vq): Likewise.
3257         (sve_vq_from_vg): Likewise.
3258         (sve_vg_from_vq): Likewise.
3259         * configure.nat: Add new c file.
3260         * nat/aarch64-sve-linux-ptrace.c: New file.
3261         * nat/aarch64-sve-linux-ptrace.h: New file.
3262
3263 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3264
3265         * aarch64-linux-nat.c (aarch64_linux_read_description):
3266         Add parmeter zero.
3267         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3268         Likewise.
3269         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3270         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3271         (aarch64_gdbarch_init): Add parmeter zero.
3272         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3273         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3274         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3275         parmeter.
3276         * doc/gdb.texinfo: Describe SVE feature
3277         * features/aarch64-sve.c: New file.
3278
3279 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3280
3281         PR gdb/23210
3282         * gdbarch.sh (significant_addr_bit): Default to zero when
3283         not set by target architecture.
3284         * gdbarch.c: Re-generated.
3285         * utils.c (address_significant): Update.
3286
3287 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3288
3289         * stack.c (func_command): Remove trailing newline in call to error.
3290
3291 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3292
3293         * regcache.h (regcache_raw_collect): Remove, update callers to
3294         use regcache::raw_collect.
3295         * regcache.c (regcache_raw_collect): Remove.
3296
3297 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3298
3299         * regcache.h (regcache_raw_supply): Remove, update callers to
3300         use detached_regcache::raw_supply.
3301         * regcache.c (regcache_raw_supply): Remove.
3302
3303 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3304
3305         * regcache.h (regcache_cooked_write_part): Remove, update
3306         callers to use regcache::cooked_write_part.
3307         * regcache.c (regcache_cooked_write_part): Remove.
3308
3309 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3310
3311         * regcache.h (regcache_cooked_read_part): Remove, update callers
3312         to use readable_regcache::cooked_read_part.
3313         * regcache.c (regcache_cooked_read_part): Remove.
3314
3315 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3316
3317         * regcache.h (regcache_cooked_read_value): Remove, update
3318         callers to use readable_regcache::cooked_read_value.
3319         * regcache.c (regcache_cooked_read_value): Remove.
3320
3321 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3322
3323         * regcache.h (regcache_cooked_write): Remove, update callers to
3324         use regcache::cooked_write.
3325         * regcache.c (regcache_cooked_write): Remove.
3326
3327 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3328
3329         * regcache.h (regcache_invalidate): Remove, update callers to
3330         use detached_regcache::invalidate instead.
3331         * regcache.c (regcache_invalidate): Remove.
3332
3333 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3334
3335         * regcache.h (regcache_raw_write_part): Remove, update callers
3336         to use regcache::raw_write_part instead.
3337         * regcache.c (regcache_raw_write_part): Remove.
3338
3339 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3340
3341         * regcache.h (regcache_raw_read_part): Remove, update callers to
3342         use readable_regcache::raw_read_part instead.
3343         * regcache.c (regcache_raw_read_part): Remove.
3344
3345 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3346
3347         * regcache.h (regcache_cooked_read): Remove, update callers to
3348         use readable_regcache::cooked_read instead.
3349         * regcache.c (regcache_cooked_read): Remove.
3350
3351 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3352
3353         * regcache.h (regcache_raw_write): Remove, update callers to use
3354         regcache::raw_write instead.
3355         * regcache.c (regcache_raw_write): Remove.
3356
3357 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3358
3359         * regcache.h (regcache_raw_read): Remove, update callers to use
3360         readable_regcache::raw_read instead.
3361         * regcache.c (regcache_raw_read): Remove.
3362
3363 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3364
3365         * regcache.h (regcache_raw_update): Remove, update callers to
3366         use readable_regcache::raw_update instead.
3367         * regcache.c (regcache_raw_update): Remove.
3368
3369 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3370
3371         * regcache.h (regcache_register_status): Remove, update callers
3372         to use reg_buffer::get_register_status directly instead.
3373         * regcache.c (regcache_register_status): Remove.
3374
3375 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3376
3377         * regcache.h (regcache_get_ptid): Remove, update all callers to
3378         call regcache::ptid instead.
3379         * regcache.c (regcache_get_ptid): Remove.
3380
3381 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3382
3383         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
3384
3385 2018-05-30  Pedro Alves  <palves@redhat.com>
3386
3387         * common/common-exceptions.h (exception_rethrow): Use
3388         ATTRIBUTE_NORETURN.
3389
3390 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
3391
3392         * breakpoint.c (print_solib_event, check_status_catch_solib):
3393         Remove struct keyword in range-based for loops.
3394         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
3395         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
3396         Likewise.
3397         * linespec.c (find_superclass_methods, search_minsyms_for_name):
3398         Likewise.
3399         * symfile.c (addr_info_make_relative): Likewise.
3400         * thread.c (value_in_thread_stack_temporaries): Likewise.
3401
3402 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
3403
3404         PR gdb/16841
3405         * valops.c (value_struct_elt_for_reference): Call check_typedef on
3406         aggregate type to get its real type before accessing it.
3407
3408 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
3409
3410         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
3411         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
3412         * coff-pe-read.c (add_pe_forwarded_sym): Replace
3413         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
3414         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
3415         * jit.c (jit_breakpoint_re_set_internal): Likewise.
3416         * printcmd.c (info_address_command): Likewise.
3417
3418 2018-05-29  Tom Tromey  <tom@tromey.com>
3419
3420         * windows-nat.c (handle_exception): Update fall-through comment.
3421
3422 2018-05-29  Tom Tromey  <tom@tromey.com>
3423
3424         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
3425         (struct program_space) <added_solibs>: Now a std::vector.
3426         * breakpoint.c (print_solib_event): Update.
3427         (check_status_catch_solib): Update.
3428         * progspace.c (clear_program_space_solib_cache): Update.
3429         * solib.c (update_solib_list): Update.
3430
3431 2018-05-29  Tom Tromey  <tom@tromey.com>
3432
3433         * python/py-type.c (typy_richcompare): Update.
3434         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
3435         * gdbtypes.h (types_deeply_equal): Return bool.
3436         (types_equal): Likewise.
3437         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
3438         declare VEC.
3439         (check_types_equal): Change worklist to std::vector.  Return
3440         bool.
3441         (struct type_equality_entry): Add constructor.
3442         (compare_maybe_null_strings): Return bool.
3443         (check_types_worklist): Return bool.  Change worklist to
3444         std::vector.
3445         (types_deeply_equal): Use std::vector.
3446         (types_equal): Return bool.
3447         (compare_maybe_null_strings): Simplify.
3448
3449 2018-05-29  Tom Tromey  <tom@tromey.com>
3450
3451         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
3452
3453 2018-05-29  Tom Tromey  <tom@tromey.com>
3454
3455         * objc-lang.h: Don't include cp-support.h.
3456         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
3457         declare VEC.
3458
3459 2018-05-27  Tom Tromey  <tom@tromey.com>
3460
3461         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
3462
3463 2018-05-25  Tom Tromey  <tom@tromey.com>
3464
3465         * value.c (value::location): Initialize.
3466
3467 2018-05-25  Tom Tromey  <tom@tromey.com>
3468
3469         * dbxread.c (init_bincl_list): Remove.
3470         (bincl_list): Now a std::vector.
3471         (bincls_allocated, next_bincl): Remove.
3472         (free_bincl_list, do_free_bincl_list_cleanup)
3473         (make_cleanup_free_bincl_list): Remove.
3474         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
3475         unique_xmalloc_ptr.
3476         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
3477         (struct header_file_location): Add constructor.
3478         (add_bincl_to_list): Remove.
3479
3480 2018-05-25  Tom Tromey  <tom@tromey.com>
3481
3482         * tui/tui.c (tui_enable): Update.
3483         * mi/mi-interp.c (mi_interp::init): Update.
3484         * interps.h (class interp) <name>: New method.
3485         <m_name>: Rename from name.
3486         (~scoped_restore_interp): Update.
3487         * interps.c (interp::interp): Update.
3488         (interp_add, interp_set, interp_lookup_existing)
3489         (current_interp_named_p): Update.
3490
3491 2018-05-25  Tom Tromey  <tom@tromey.com>
3492
3493         * interps.c (interp_name): Remove.
3494         * mi/mi-interp.c (mi_interp::init): Update.
3495         * interps.h (interp_name): Remove.
3496         (~scoped_restore_interp): Update.
3497         * tui/tui.c (tui_enable): Update.
3498
3499 2018-05-25  Tom Tromey  <tom@tromey.com>
3500
3501         * utils.c (fputs_maybe_filtered): Update.
3502         * linespec.c (decode_line_full): Update.
3503         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
3504         (mi_print_breakpoint_for_event, mi_solib_loaded)
3505         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
3506         (mi_user_selected_context_changed): Update.
3507         * mi/mi-main.c (mi_execute_command): Update.
3508         * cli/cli-script.c (execute_control_command): Update.
3509         * python/python.c (execute_gdb_command): Update.
3510         * solib.c (info_sharedlibrary_command): Update.
3511         * interps.c (interp_ui_out): Remove.
3512         * interps.h (interp_ui_out): Remove.
3513
3514 2018-05-25  Tom Tromey  <tom@tromey.com>
3515
3516         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
3517         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
3518         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
3519
3520 2018-05-25  Tom Tromey  <tom@tromey.com>
3521
3522         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
3523         * interps.c (interp_exec): Use scoped_restore.
3524
3525 2018-05-25  Tom Tromey  <tom@tromey.com>
3526
3527         * remote.c (remote_target::remote_file_get): Use
3528         gdb::byte_vector.
3529         (remote_target::remote_file_put): Likewise.
3530
3531 2018-05-25  Tom Tromey  <tom@tromey.com>
3532
3533         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
3534         a std::string.
3535         (get_pe_section_index, add_pe_exported_sym): Update.
3536         (read_pe_exported_syms): Use gdb::def_vector.
3537
3538 2018-05-25  Tom Tromey  <tom@tromey.com>
3539
3540         * frame.c (remove_prev_frame): Remove.
3541         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
3542
3543 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
3544
3545         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
3546         Remove prototypes.
3547         * mips-linux-nat.c (supply_fpregset): Always call
3548         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
3549         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
3550         `mips_fill_fpregset'.
3551         * mips-linux-tdep.c (mips_supply_fpregset)
3552         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
3553         (mips_fill_fpregset_wrapper): Remove functions.
3554         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
3555         (mips_linux_fpregset): Remove variable.
3556         (mips_linux_iterate_over_regset_sections): Use
3557         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
3558         (mips_linux_o32_sigframe_init): Remove comment.
3559
3560 2018-05-25  Pedro Alves  <palves@redhat.com>
3561
3562         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
3563         (struct readahead_cache, struct packet_reg, struct
3564         remote_arch_state, class remote_state): Move higher up in the
3565         file.
3566         (remote_target::m_remote_state): Now an object instead of a pointer.
3567         (remote_target::get_remote_state): Adjust.
3568
3569 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3570
3571         * stack.c (select_and_print_frame): Delete.
3572         (struct function_bounds): Move struct within function.
3573         (func_command): Most content moved into new function
3574         find_frame_for_function, use new function, print result, add
3575         function comment.
3576         (find_frame_for_function): New function, now returns a result.
3577
3578 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3579
3580         * stack.c (iterate_over_block_arg_vars): Fix comment.
3581         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
3582
3583 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3584
3585         PR gdb/23203
3586         * frame.c
3587         (scoped_restore_selected_frame::scoped_restore_selected_frame):
3588         Define.
3589         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
3590         Define.
3591         * frame.h (class scoped_restore_selected_frame): New class.
3592         * stack.c (print_frame_local_vars): Remove catching and rethrowing
3593         of any exception, use scoped_restore_selected_frame to restore the
3594         frame instead.
3595
3596 2018-05-24  Pedro Alves  <palves@redhat.com>
3597
3598         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
3599         override.
3600
3601 2018-05-23  Tom Tromey  <tom@tromey.com>
3602
3603         * complaints.c (struct complaints): Remove.
3604         (symfile_complaint_book): Remove.
3605         (series): New global.
3606         (complaint_internal): Update.
3607         (clear_complaints): Update.
3608
3609 2018-05-23  Tom Tromey  <tom@tromey.com>
3610
3611         * complaints.c (counters): New global.
3612         (struct complain): Remove.
3613         (struct complaints) <root>: Remove.
3614         (complaint_sentinel): Remove.
3615         (symfile_complaint_book): Update.
3616         (find_complaint) Remove.
3617         (complaint_internal, clear_complaints): Update.
3618
3619 2018-05-23  Tom Tromey  <tom@tromey.com>
3620
3621         * complaints.c (struct complain) <file, line>: Remove.
3622         (find_complaint): Remove file, line parameters.
3623         (complaint_internal): Update.
3624
3625 2018-05-23  Tom Tromey  <tom@tromey.com>
3626
3627         * complaints.c (vcomplaint): Remove.
3628         (complaint_internal) Merge in contents of vcomplaint.
3629
3630 2018-05-23  Tom Tromey  <tom@tromey.com>
3631
3632         * complaints.c (struct complaints) <explanation>: Remove.
3633         (symfile_explanations): Remove.
3634         (symfile_complaint_book): Update.
3635         (vcomplaint): Update.
3636         (struct explanation): Remove.
3637
3638 2018-05-23  Tom Tromey  <tom@tromey.com>
3639
3640         * complaints.c (symfile_complaints): Remove.
3641         (complaint_internal): Remove "complaints" parameter.
3642         (clear_complaints, vcomplaint): Remove "c" parameter.
3643         (get_complaints): Remove.
3644         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
3645         (dwarf2_debug_line_missing_file_complaint)
3646         (dwarf2_debug_line_missing_end_sequence_complaint)
3647         (dwarf2_complex_location_expr_complaint)
3648         (dwarf2_const_value_length_mismatch_complaint)
3649         (dwarf2_section_buffer_overflow_complaint)
3650         (dwarf2_macro_malformed_definition_complaint)
3651         (dwarf2_invalid_attrib_class_complaint)
3652         (create_addrmap_from_index, dw2_symtab_iter_next)
3653         (dw2_expand_marked_cus)
3654         (dw2_debug_names_iterator::find_vec_in_debug_names)
3655         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
3656         (create_debug_type_hash_table, init_cutu_and_read_dies)
3657         (partial_die_parent_scope, add_partial_enumeration)
3658         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
3659         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
3660         (read_import_statement, read_file_scope, create_dwo_cu_reader)
3661         (create_cus_hash_table, create_dwp_hash_table)
3662         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
3663         (dwarf2_rnglists_process, dwarf2_ranges_process)
3664         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
3665         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
3666         (handle_struct_member_die, process_structure_scope)
3667         (read_array_type, read_common_block, read_module_type)
3668         (read_tag_pointer_type, read_typedef, read_base_type)
3669         (read_subrange_type, load_partial_dies, partial_die_info::read)
3670         (partial_die_info::read, partial_die_info::read)
3671         (partial_die_info::read, read_checked_initial_length_and_offset)
3672         (dwarf2_string_attr, read_formatted_entries)
3673         (dwarf_decode_line_header)
3674         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3675         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
3676         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
3677         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
3678         (get_signatured_type, get_DW_AT_signature_type)
3679         (decode_locdesc, file_file_name, consume_improper_spaces)
3680         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
3681         (dwarf_decode_macro_bytes, dwarf_decode_macros)
3682         (dwarf2_symbol_mark_computed, set_die_type)
3683         (read_attribute_value): Update.
3684         * stap-probe.c (handle_stap_probe, get_stap_base_address):
3685         Update.
3686         * dbxread.c (unknown_symtype_complaint)
3687         (lbrac_mismatch_complaint, repeated_header_complaint)
3688         (set_namestring, function_outside_compilation_unit_complaint)
3689         (read_dbx_symtab, process_one_symbol): Update.
3690         * gdbtypes.c (stub_noname_complaint): Update.
3691         * windows-nat.c (handle_unload_dll): Update.
3692         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
3693         (decode_base_type): Update.
3694         * xcoffread.c (bf_notfound_complaint, ef_complaint)
3695         (eb_complaint, record_include_begin, record_include_end)
3696         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
3697         (process_xcoff_symbol, read_symbol)
3698         (function_outside_compilation_unit_complaint)
3699         (scan_xcoff_symtab): Update.
3700         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
3701         * buildsym.c (finish_block_internal, make_blockvector)
3702         (end_symtab_get_static_block, augment_type_symtab): Update.
3703         * dtrace-probe.c (dtrace_process_dof)
3704         (dtrace_static_probe_ops::get_probes): Update.
3705         * complaints.h (struct complaint): Don't declare.
3706         (symfile_complaints): Remove.
3707         (complaint_internal): Remove "complaints" parameter.
3708         (complaint): Likewise.
3709         (clear_complaints): Likewise.
3710         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3711         (reread_symbols): Update.
3712         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
3713         (dwarf2_frame_cache, decode_frame_entry): Update.
3714         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
3715         * objc-lang.c (lookup_objc_class, lookup_child_selector)
3716         (info_selectors_command): Update.
3717         * macrotab.c (macro_include, check_for_redefinition)
3718         (macro_undef): Update.
3719         * objfiles.c (filter_overlapping_sections): Update.
3720         * stabsread.c (invalid_cpp_abbrev_complaint)
3721         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
3722         (define_symbol, error_type, read_type, rs6000_builtin_type)
3723         (stabs_method_name_from_physname, read_member_functions)
3724         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
3725         (attach_fields_to_type, complain_about_struct_wipeout)
3726         (read_range_type, read_args, common_block_start)
3727         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
3728         Update.
3729         * mdebugread.c (index_complaint, unknown_ext_complaint)
3730         (basic_type_complaint, bad_tag_guess_complaint)
3731         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
3732         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
3733         (parse_procedure, parse_lines)
3734         (function_outside_compilation_unit_complaint)
3735         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
3736         (bad_tag_guess_complaint, reg_value_complaint): Update.
3737         * cp-support.c (demangled_name_complaint): Update.
3738         * macroscope.c (sal_macro_scope): Update.
3739         * dwarf-index-write.c (class debug_names): Update.
3740
3741 2018-05-23  Tom Tromey  <tom@tromey.com>
3742
3743         * complaints.c (clear_complaints): Remove "noisy" parameter.
3744         * complaints.h (clear_complaints): Update.
3745         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3746         (reread_symbols): Update.
3747
3748 2018-05-23  Tom Tromey  <tom@tromey.com>
3749
3750         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
3751         SUBSEQUENT_MESSAGE.
3752         (vcomplaint, clear_complaints): Update.
3753         (symfile_explanations): Remove some messages.
3754
3755 2018-05-23  Tom Tromey  <tom@tromey.com>
3756
3757         * complaints.c (internal_complaint): Remove.
3758         * complaints.h (internal_complaint): Remove.
3759
3760 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
3761
3762         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
3763
3764 2018-05-22  Pedro Alves  <palves@redhat.com>
3765
3766         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
3767         (remote_fileio_badfd, remote_fileio_return_errno)
3768         (remote_fileio_return_success, remote_fileio_func_open)
3769         (remote_fileio_func_open, remote_fileio_func_close)
3770         (remote_fileio_func_read, remote_fileio_func_write)
3771         (remote_fileio_func_lseek, remote_fileio_func_rename)
3772         (remote_fileio_func_unlink, remote_fileio_func_stat)
3773         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
3774         (remote_fileio_func_isatty, remote_fileio_func_system): Add
3775         remote_target parameter.
3776         (remote_fio_func_map) <func>: Add remote_target parameter.
3777         (do_remote_fileio_request, remote_fileio_request):
3778         * remote-fileio.h (remote_fileio_request):
3779         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
3780         remote_target parameter.
3781         (remote_notif_process, handle_notification): Adjust to pass down
3782         the remote.
3783         (remote_notif_state_allocate): Add remote_target parameter.  Save
3784         it.
3785         * remote-notif.h (struct remote_target): Forward declare.
3786         (struct notif_client) <parse, ack, can_get_pending_events>: Add
3787         remote_target parameter.
3788         (struct remote_notif_state) <remote>: New field.
3789         (remote_notif_ack, remote_notif_parse): Add remote_target
3790         parameter.
3791         (remote_notif_state_allocate, remote_notif_state_allocate): Add
3792         remote_target parameter.
3793         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
3794         (threads_listing_context, rmt_thread_action, protocol_feature)
3795         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
3796         (packet_result, struct threads_listing_context, remote_state):
3797         Move definitions and declarations higher up.
3798         (remote_target) <~remote_target>: Declare.
3799         (remote_download_command_source, remote_file_put, remote_file_get)
3800         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
3801         (remote_hostio_pread_vFile, remote_hostio_send_command)
3802         (remote_hostio_set_filesystem, remote_hostio_open)
3803         (remote_hostio_close, remote_hostio_unlink, remote_state)
3804         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
3805         (get_memory_write_packet_size, get_memory_read_packet_size)
3806         (append_pending_thread_resumptions, remote_detach_1)
3807         (append_resumption, remote_resume_with_vcont)
3808         (add_current_inferior_and_thread, wait_ns, wait_as)
3809         (process_stop_reply, remote_notice_new_inferior)
3810         (process_initial_stop_replies, remote_add_thread)
3811         (btrace_sync_conf, remote_btrace_maybe_reopen)
3812         (remove_new_fork_children, kill_new_fork_children)
3813         (discard_pending_stop_replies, stop_reply_queue_length)
3814         (check_pending_events_prevent_wildcard_vcont)
3815         (discard_pending_stop_replies_in_queue, stop_reply)
3816         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
3817         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
3818         (remote_interrupt_as, remote_interrupt_ns)
3819         (remote_get_noisy_reply, remote_query_attached)
3820         (remote_add_inferior, remote_current_thread, get_current_thread)
3821         (set_thread, set_general_thread, set_continue_thread)
3822         (set_general_process, write_ptid)
3823         (remote_unpack_thread_info_response, remote_get_threadinfo)
3824         (parse_threadlist_response, remote_get_threadlist)
3825         (remote_threadlist_iterator, remote_get_threads_with_ql)
3826         (remote_get_threads_with_qxfer)
3827         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
3828         (get_offsets, remote_check_symbols, remote_supported_packet)
3829         (remote_query_supported, remote_packet_size)
3830         (remote_serial_quit_handler, remote_detach_pid)
3831         (remote_vcont_probe, remote_resume_with_hc)
3832         (send_interrupt_sequence, interrupt_query)
3833         (remote_notif_get_pending_events, fetch_register_using_p)
3834         (send_g_packet, process_g_packet, fetch_registers_using_g)
3835         (store_register_using_P, store_registers_using_G)
3836         (set_remote_traceframe, check_binary_download)
3837         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
3838         (remote_xfer_live_readonly_partial, remote_read_bytes)
3839         (remote_send_printf, remote_flash_write, readchar)
3840         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
3841         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
3842         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
3843         (extended_remote_disable_randomization, extended_remote_run)
3844         (send_environment_packet, extended_remote_environment_support)
3845         (extended_remote_set_inferior_cwd, remote_write_qxfer)
3846         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
3847         (packet_command): Now methods of ...
3848         (remote_target): ... this class.
3849         (m_remote_state) <remote_target>: New field.
3850         (struct remote_state) <stop_reply_queue,
3851         remote_async_inferior_event_token, wait_forever_enabled_p>: New
3852         fields.
3853         (remote_state::remote_state): Allocate stop_reply_queue.
3854         (remote_state): Delete global.
3855         (get_remote_state_raw): Delete.
3856         (remote_target::get_remote_state): Allocate m_remote_state on
3857         demand.
3858         (get_current_remote_target): New.
3859         (remote_ops, extended_remote_ops): Delete.
3860         (wait_forever_enabled_p, remote_async_inferior_event_token):
3861         Delete, moved to struct remote_state.
3862         (remote_target::close): Delete self.  Destruction bits split to
3863         ...
3864         (remote_target::~remote_target): ... this.
3865         (show_memory_packet_size): Adjust to use
3866         get_current_remote_target.
3867         (struct protocol_feature) <func>: Add remote_target parameter.
3868         All callers adjusted.
3869         (curr_quit_handler_target): New.
3870         (remote_serial_quit_handler): Reimplement.
3871         (remote_target::open_1): Adjust to use get_current_remote_target.
3872         Heap-allocate remote_target/extended_remote_target instances.
3873         (vcont_builder::vcont_builder): Add remote_target parameter, and
3874         save it in m_remote.  All callers adjusted.
3875         (vcont_builder::m_remote): New field.
3876         (vcont_builder::restart, vcont_builder::flush)
3877         (vcont_builder::push_action): Use it.
3878         (remote_target::commit_resume): Use it.
3879         (struct queue_iter_param) <remote>: New field.
3880         (remote_target::remove_new_fork_children): Fill in 'remote' field.
3881         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
3882         (check_pending_event_prevents_wildcard_vcont_callback)
3883         (remote_target::check_pending_events_prevent_wildcard_vcont)
3884         (remote_target::discard_pending_stop_replies)
3885         (remote_target::discard_pending_stop_replies_in_queue)
3886         (remote_target::remote_notif_remove_queued_reply): Fill in
3887         'remote' field.
3888         (remote_notif_get_pending_events): New.
3889         (remote_target::readchar, remote_target::remote_serial_write):
3890         Save/restore curr_quit_handler_target.
3891         (putpkt): New.
3892         (kill_new_fork_children): Fill in 'remote' field.
3893         (packet_command): Use get_current_remote_target, defer to
3894         remote_target method of same name.
3895         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
3896         parameter, and save it in m_remote.  All callers adjusted.
3897         (scoped_remote_fd::release): Use m_remote.
3898         (scoped_remote_fd::m_remote): New field.
3899         (remote_file_put, remote_file_get, remote_file_delete): Use
3900         get_current_remote_target, defer to remote_target method of same
3901         name.
3902         (remote_btrace_reset): Add remote_state paremeter.  Update all
3903         callers.
3904         (remote_async_inferior_event_handler). Pass down 'data'.
3905         (remote_new_objfile): Use get_current_remote_target.
3906         (remote_target::vcont_r_supported): New.
3907         (set_range_stepping): Use get_current_remote_target and
3908         remote_target::vcont_r_supported.
3909         (_initialize_remote): Don't allocate 'remote_state' and
3910         'stop_reply_queue' globals.
3911         * remote.h (struct remote_target): Forward declare.
3912         (getpkt, putpkt, remote_notif_get_pending_events): Add
3913         'remote_target' parameter.
3914
3915 2018-05-22  Pedro Alves  <palves@redhat.com>
3916
3917         * remote.c (vcont_builder): Now a class.  Make all data members
3918         private.
3919         (vcont_builder) <vcont_builder, restart, flush, push_action>:
3920         Declare methods.
3921         (vcont_builder_restart): Rename to ...
3922         (vcont_builder::restart): ... this.
3923         (vcont_builder_flush): Rename to ...
3924         (vcont_builder::flush): ... this.
3925         (vcont_builder_push_action): Rename to ...
3926         (vcont_builder::push_action): ... this.
3927         (remote_target::commit_resume): Adjust.
3928
3929 2018-05-22  Pedro Alves  <palves@redhat.com>
3930
3931         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
3932         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
3933         (get_fixed_memory_packet_size): New.
3934         (get_memory_packet_size): Use it.
3935         (set_memory_packet_size): Don't override the config size with
3936         DEFAULT_MAX_MEMORY_PACKET_SIZE.
3937         (show_memory_packet_size): Use get_fixed_memory_packet_size.
3938         Don't refer to get_memory_packet_size if not connected to a remote
3939         target.  Show "(default)" if configured size is 0.
3940
3941 2018-05-22  Pedro Alves  <palves@redhat.com>
3942
3943         * remote.c (remote_target::mourn_inferior): Move
3944         discard_pending_stop_replies call here from ...
3945         (_initialize_remote): ... here.
3946
3947 2018-05-22  Pedro Alves  <palves@redhat.com>
3948
3949         * remote.c (compare_section_command): Remove set_general_process
3950         call.
3951
3952 2018-05-22  Pedro Alves  <palves@redhat.com>
3953
3954         * remote.c (struct packet_reg, struct remote_arch_state):
3955         Move higher up in the file.
3956         (remote_state) <m_arch_states>: Store remote_arch_state values
3957         instead of remote_arch_state pointers.
3958         (remote_state::get_remote_arch_state): Adjust.
3959
3960 2018-05-22  Pedro Alves  <palves@redhat.com>
3961
3962         * remote.c: Include <unordered_map>.
3963         (remote_state): Now a class.
3964         (remote_state) <get_remote_arch_state>: Declare method.
3965         <get_remote_arch_state>: New field.
3966         (remote_arch_state) <remote_arch_state>: Declare ctor.
3967         <regs>: Now a unique_ptr.
3968         (remote_gdbarch_data_handle): Delete.
3969         (get_remote_arch_state): Delete.
3970         (remote_state::get_remote_arch_state): New.
3971         (get_remote_state): Adjust to call remote_state's
3972         get_remote_arch_state method.
3973         (init_remote_state): Delete, bits factored out to ...
3974         (remote_arch_state::remote_arch_state): ... this new method.
3975         (get_remote_packet_size, get_memory_packet_size)
3976         (process_g_packet, remote_target::fetch_registers)
3977         (remote_target::prepare_to_store, store_registers_using_G)
3978         (remote_target::store_registers, remote_target::get_trace_status):
3979         Adjust to call remote_state's method.
3980         (_initialize_remote): Remove reference to
3981         remote_gdbarch_data_handle.
3982
3983 2018-05-22  Pedro Alves  <palves@redhat.com>
3984
3985         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
3986         pread>: New method declarations.
3987         (remote_target::open_1): Adjust.
3988         (readahead_cache_invalidate): Rename to ...
3989         (readahead_cache::invalidate): ... this, and adjust to be a class
3990         method.
3991         (readahead_cache_invalidate_fd): Rename to ...
3992         (readahead_cache::invalidate_fd): ... this, and adjust to be a
3993         class method.
3994         (remote_hostio_pwrite): Adjust.
3995         (remote_hostio_pread_from_cache): Rename to ...
3996         (readahead_cache::pread): ... this, and adjust to be a class
3997         method.
3998         (remote_hostio_close): Adjust.
3999
4000 2018-05-22  Pedro Alves  <palves@redhat.com>
4001
4002         * remote.c (remote_hostio_close_cleanup): Delete.
4003         (class scoped_remote_fd): New.
4004         (remote_file_put, remote_file_get): Use it.
4005
4006 2018-05-22  Pedro Alves  <palves@redhat.com>
4007
4008         (struct vCont_action_support): Use bool and initialize all fields.
4009         (struct readahead_cache): Initialize all fields.
4010         (remote_state): Use bool and initialize all fields.
4011         (remote_state::remote_state, remote_state::~remote_state): New.
4012         (new_remote_state): Delete.
4013         (_initialize_remote): Use new to allocate remote_state.
4014
4015 2018-05-22  Pedro Alves  <palves@redhat.com>
4016             張俊芝  <zjz@zjz.name>
4017
4018         PR gdb/22973
4019         * c-exp.y: Include "c-support.h".
4020         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4021         of tolower.  Use c_ident_is_alpha to scan names.
4022         * c-lang.c: Include "c-support.h".
4023         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4024         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4025         * c-support.h: New file, with bits factored out from ...
4026         * cp-name-parser.y: ... this file.
4027         Include "c-support.h".
4028         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4029         c-support.h and renamed.
4030         (symbol_end, yylex): Adjust.
4031
4032 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4033
4034         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4035         parameter type to CORE_ADDR.
4036         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4037         parameter type in declaration to CORE_ADDR.
4038         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4039         target_auxv_search to get AT_HWCAP and use the result to get the
4040         target description.
4041         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4042         to CORE_ADDR. Remove the cast of the return value to unsigned
4043         long. Fix error predicate of target_auxv_search.
4044         (ppc_linux_nat_target::read_description): Change the type of the
4045         hwcap variable to CORE_ADDR.
4046
4047 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4048
4049         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4050         if the size of fpscr is larger than 32 bits.
4051
4052 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4053
4054         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4055         (ppc32_linux_vsxregmap): New global.
4056         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4057         regcache_supply_regset, and regcache_collect_regset.
4058         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4059         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4060         (fetch_vsx_register, store_vsx_register): Remove.
4061         (fetch_vsx_registers): Add regno parameter. Get regset using
4062         ppc_linux_vsxregset. Use regset to supply registers.
4063         (store_vsx_registers): Add regno parameter. Get regset using
4064         ppc_linux_vsxregset. Use regset to collect registers.
4065         (fetch_register): Call fetch_vsx_registers instead of
4066         fetch_vsx_register.
4067         (store_register): Call store_vsx_registers instead of
4068         store_vsx_register.
4069         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4070         new regno parameter.
4071         (store_ppc_registers): Call store_vsx_registers with -1 for the
4072         new regno parameter.
4073         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4074         (ppc_collect_vsxregset): Remove.
4075
4076 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4077
4078         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4079         offset fields.
4080         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4081         for vector register offset fields.
4082         (ppc64_fbsd_reg_offsets): Likewise.
4083         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4084         to vector register offset fields.
4085         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4086         to vector register offset fields.
4087         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4088         vector register offset fields.
4089         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4090         initializers for vector register offset fields.
4091         (rs6000_aix64_reg_offsets): Likewise.
4092         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4093         (ppc_supply_vrregset): Remove.
4094         (ppc_collect_vrregset): Remove.
4095         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4096         (ppc_linux_vrregset) : New function.
4097         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4098         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4099         (ppc32_linux_vrregset): Remove.
4100         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4101         and use result instead of ppc32_linux_vrregset.
4102         (ppc32_linux_reg_offsets): Remove initializers for vector register
4103         offset fields.
4104         (ppc64_linux_reg_offsets): Likewise.
4105         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4106         * ppc-linux-nat.c: Include regset.h.
4107         (gdb_vrregset_t): Adjust comment to account for little-endian
4108         mode.
4109         (supply_vrregset, fill_vrregset): Remove.
4110         (fetch_altivec_register, store_altivec_register): Remove.
4111         (fetch_altivec_registers): Add regno parameter. Get regset using
4112         ppc_linux_vrregset. Use regset to supply registers.
4113         (store_altivec_registers): Add regno parameter. Get regset using
4114         ppc_linux_vrregset. Use regset to collect registers.
4115         (fetch_register): Call fetch_altivec_registers instead of
4116         fetch_altivec_register.
4117         (store_register): Call store_altivec_registers instead of
4118         store_altivec_register.
4119         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4120         the new regno parameter.
4121         (store_ppc_registers): Call store_altivec_registers with -1 for
4122         the new regno parameter.
4123
4124 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4125
4126         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4127         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4128         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4129         (gdb_vrregset_t): Change array type size to
4130         PPC_LINUX_SIZEOF_VRREGSET.
4131         (gdb_vsxregset_t): Change array type size to
4132         PPC_LINUX_SIZEOF_VSXREGSET.
4133         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4134         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4135         PPC_LINUX_SIZEOF_VSXREGSET.
4136
4137 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4138
4139         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4140         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4141         nat/ppc-linux.c.
4142         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4143         ppc_linux_target_wordsize with tid.
4144         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4145         wordsize with tid.
4146         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4147         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4148         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4149         tid parameter. Remove static specifier.
4150         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4151         (ppc_linux_target_wordsize): New declaration.
4152
4153 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4154
4155         * arch/ppc-linux-common.c: New file.
4156         * arch/ppc-linux-common.h: New file.
4157         * arch/ppc-linux-tdesc.h: New file.
4158         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4159         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4160         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4161         arch/ppc-linux-tdesc.h.
4162         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4163         arch/ppc-linux-tdesc.h.
4164         (ppc_linux_nat_target::read_description): Remove target
4165         description matching code. Fill a ppc_linux_features struct and
4166         call ppc_linux_match_description with it. Move comment about ISA
4167         2.05 to ppc-linux-common.c.
4168         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4169         arch/ppc-linux-tdesc.h.
4170         (ppc_linux_core_read_description): Remove target description
4171         matching code. Fill a ppc_linux_features struct and call
4172         ppc_linux_match_description with it.
4173         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4174         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4175         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4176         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4177         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4178         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4179         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4180         (tdesc_powerpc_e500l): Remove.
4181
4182 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4183
4184         * ada-lang.c (catch_assert_command): Pass empty string instead
4185         of NULL for excep_string argument.
4186
4187 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4188
4189         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4190         the width of the requested register exceeds the width of the
4191         `ptrace' data type.
4192
4193 2018-05-21  Tom Tromey  <tom@tromey.com>
4194
4195         * printcmd.c (output_command): Remove.
4196         (output_command_const): Rename to output_command.
4197         * valprint.h (output_command): Rename from output_command_const.
4198         * tracepoint.c (trace_dump_actions): Call output_command.
4199
4200 2018-05-21  Tom Tromey  <tom@tromey.com>
4201
4202         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4203         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4204         * ada-lang.h (create_ada_exception_catchpoint): Update.
4205         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4206         std::string.
4207         (create_excep_cond_exprs, ~ada_catchpoint)
4208         (should_stop_exception, print_one_exception)
4209         (print_mention_exception, print_recreate_exception): Update.
4210         (ada_get_next_arg): Remove.
4211         (catch_ada_exception_command_split): Use std::string.  Change type
4212         of "excep_string", "cond_string".
4213         (catch_ada_exception_command): Update.
4214         (create_ada_exception_catchpoint): Change type of excep_string.
4215         (ada_exception_sal): Remove excep_string parameter.
4216         (~ada_catchpoint): Remove.
4217
4218 2018-05-21  Tom Tromey  <tom@tromey.com>
4219
4220         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4221         cleanup.
4222
4223 2018-05-21  Tom Tromey  <tom@tromey.com>
4224
4225         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4226         Return unique_xmalloc_ptr.
4227         (print_it_exception): Update.
4228
4229 2018-05-21  Tom Tromey  <tom@tromey.com>
4230
4231         * tracepoint.c (trace_dump_actions): Use std::string.
4232
4233 2018-05-21  Tom Tromey  <tom@tromey.com>
4234
4235         * symfile.c (reread_symbols): Use std::string for original_name.
4236
4237 2018-05-21  Tom Tromey  <tom@tromey.com>
4238
4239         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4240         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4241         constructor.
4242
4243 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4244
4245         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4246         instance to...
4247         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4248         * objfiles.c (get_objfile_bfd_data): Allocate
4249         objfile_per_bfd_storage with obstack_new when allocating on
4250         obstack.
4251
4252 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4253
4254         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4255         OBSTACK_ZALLOC.
4256         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4257         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4258         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4259         (add_pending): Likewise.
4260         (parse_symbol): Likewise.
4261         (parse_partial_symbols): Likewise.
4262         (psymtab_to_symtab_1): Likewise.
4263         (new_psymtab): Likewise.
4264         (elfmdebug_build_psymtabs): Likewise.
4265         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4266         * objfiles.c (get_objfile_bfd_data): Likewise.
4267         (objfile_register_static_link): Likewise.
4268         * psymtab.c (allocate_psymtab): Likewise.
4269         * stabsread.c (read_member_functions): Likewise.
4270         * xcoffread.c (xcoff_end_psymtab): Likewise.
4271
4272 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4273
4274         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4275         compiler supports std::is_trivially_constructible.
4276         * common/poison.h: Include obstack.h.
4277         (IsMallocable): Define to is_trivially_constructible if the
4278         compiler supports it, define to true_type otherwise.
4279         (xobnew): New.
4280         (XOBNEW): Redefine.
4281         (xobnewvec): New.
4282         (XOBNEWVEC): Redefine.
4283         * gdb_obstack.h (obstack_zalloc): New.
4284         (OBSTACK_ZALLOC): Redefine.
4285         (obstack_calloc): New.
4286         (OBSTACK_CALLOC): Redefine.
4287         (obstack_new): New.
4288         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4289         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4290         gdbarch.c.
4291         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4292         obstack_calloc/obstack_zalloc.
4293         (gdbarch_obstack_zalloc): Remove.
4294         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4295
4296 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4297
4298         * stack.c (backtrace_command_1): Remove useless variable int i.
4299
4300 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4301
4302         * stack.c (print_frame_info): Fix comment.
4303
4304 2018-05-18  Tom Tromey  <tom@tromey.com>
4305
4306         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4307         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4308         (~dwarf2_per_objfile): Update
4309         (dwarf2_get_dwz_file): Use new.
4310         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4311         unique_ptr.
4312
4313 2018-05-18  Tom Tromey  <tom@tromey.com>
4314
4315         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4316         unique_ptr.
4317         * dwarf2read.c (struct dwp_file): Add constructor and
4318         initializers.
4319         (open_and_init_dwp_file): Return a unique_ptr.
4320         (dwarf2_per_objfile, create_dwp_hash_table)
4321         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4322         (lookup_dwo_unit_in_dwp): Update.
4323         (open_and_init_dwp_file, get_dwp_file): Update.
4324
4325 2018-05-18  Tom Tromey  <tom@tromey.com>
4326
4327         * dwarf2read.c (dwarf2_per_objfile): Update.
4328         (struct mapped_index): Add initializers.
4329         (dwarf2_read_index): Use new.
4330         (dw2_symtab_iter_init): Update.
4331         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4332         unique_ptr.
4333
4334 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4335
4336         * dwarf2read.c (mapped_index) <total_size>: Remove.
4337
4338 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4339
4340         * unittests/format_pieces-selftests.c (test_format_specifier):
4341         Add ARI comments.
4342
4343 2018-05-18  Tom Tromey  <tom@tromey.com>
4344
4345         * c-typeprint.c (maybe_print_hole): New function.
4346         (c_print_type_struct_field_offset): Update.
4347         (c_type_print_base_struct_union): Call maybe_print_hole.
4348
4349 2018-05-17  Keith Seitz  <keiths@redhat.com>
4350
4351         * breakpoint.c (build_bpstat_chain): New function, moved from
4352         bpstat_stop_status.
4353         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4354         If no stop chain is passed, call build_bpstat_chain to build it.
4355         * breakpoint.h (build_bpstat_chain): Declare.
4356         (bpstat_stop_status): Move documentation here from breakpoint.c.
4357         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4358         build the stop chain and pass it to skip_inline_frames.
4359         Pass this stop chain to bpstat_stop_status.
4360         * inline-frame.c: Include breakpoint.h.
4361         (stopped_by_user_bp_inline_frame): New function.
4362         (skip_inline_frames): Add parameter `stop_chain'.
4363         Move documention to inline-frame.h.
4364         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4365         whether the frame should be elided.
4366         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4367         Add moved documentation and update for new parameter.
4368
4369 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4370
4371         PR cli/14975
4372         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4373         unittests/format_pieces-selftests.c.
4374         * common/format.h (format_piece) <operator==>: New.
4375         (format_pieces) <operator[]>: Remove.
4376         * common/format.c (format_pieces::format_pieces): Handle \e.
4377         * unittests/format_pieces-selftests.c: New.
4378
4379 2018-05-17  Tom Tromey  <tom@tromey.com>
4380
4381         PR symtab/23010:
4382         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
4383         (dw2_instantiate_symtab): Add skip_partial parameter.
4384         (dw2_find_last_source_symtab, dw2_map_expand_apply)
4385         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
4386         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
4387         (dw2_expand_symtabs_matching_one)
4388         (dw2_find_pc_sect_compunit_symtab)
4389         (dw2_debug_names_lookup_symbol)
4390         (dw2_debug_names_expand_symtabs_for_function): Update.
4391         (init_cutu_and_read_dies): Add skip_partial parameter.
4392         (process_psymtab_comp_unit, build_type_psymtabs_1)
4393         (process_skeletonless_type_unit, load_partial_comp_unit)
4394         (psymtab_to_symtab_1): Update.
4395         (load_full_comp_unit): Add skip_partial parameter.
4396         (process_imported_unit_die, dwarf2_read_addr_index)
4397         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
4398         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
4399         (read_signatured_type): Update.
4400
4401 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4402
4403         * value.c (release_value): Remove unused variable.
4404         (record_latest_value): Likewise.
4405         (access_value_history): Likewise.
4406         (preserve_values): Likewise.
4407
4408 2018-05-17  Tom Tromey  <tom@tromey.com>
4409
4410         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
4411         Initialize.
4412
4413 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
4414
4415         PR gdb/22286
4416         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
4417         Also handle registers whose width is not a multiple of
4418         PTRACE_TYPE_RET.
4419         (linux_nat_trad_target::store_register): Likewise.
4420
4421 2018-05-16  Tom Tromey  <tom@tromey.com>
4422
4423         * gdbcore.h (core_bfd): Redefine.
4424         * corelow.c (core_target::close): Update.
4425         (core_target_open): Update.
4426         * progspace.h (struct program_space) <cbfd>: Now a
4427         gdb_bfd_ref_ptr.
4428
4429 2018-05-16  Tom Tromey  <tom@tromey.com>
4430
4431         PR cli/19551:
4432         * symfile-add-flags.h (enum symfile_add_flags)
4433         <SYMFILE_NOT_FILENAME>: New constant.
4434         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
4435         objfile name from BFD.
4436         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
4437         * minidebug.c (find_separate_debug_file_in_section): Put
4438         ".gnu_debugdata" into BFD's file name.
4439
4440 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
4441
4442         * regcache.c (regcache_read_ftype, regcache_write_ftype):
4443         Remove.
4444
4445 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
4446
4447         PR binutils/21446
4448         * aarch64-tdep.c (aarch64_analyze_prologue,
4449         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
4450         Indicate not interested in errors.
4451
4452 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4453
4454         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
4455         Supply the MIPS_ZERO_REGNUM register.
4456
4457 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4458
4459         * mips-tdep.c (mask_address_var): Make variable static.
4460
4461 2018-05-14  Tom Tromey  <tom@tromey.com>
4462
4463         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
4464
4465 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
4466
4467         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
4468         FXSAVE_ADDR for the mxcsr register.
4469
4470 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
4471
4472         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
4473
4474 2018-05-11  Pedro Alves  <palves@redhat.com>
4475
4476         * corelow.c (core_target) <core_target>: No longer inline.
4477         Initialize m_core_gdbarch, m_core_vec and build the section table
4478         here.
4479         <~core_target>: New.
4480         <core_gdbarch, get_core_register_section>: New methods.
4481         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
4482         factored out from ...
4483         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
4484         (core_ops): Delete.
4485         (sniff_core_bfd): Add gdbarch parameter.
4486         (core_close): Delete, merged into ...
4487         (core_target::close): ... here.  Delete self.
4488         (core_close_cleanup): Delete.
4489         (core_target_open): Allocate a core_target on the heap.  Use a
4490         unique_ptr instead of a cleanup.  Bits moved into the core_target
4491         ctor.  Adjust to use core_target methods instead of globals.
4492         (get_core_register_section): Rename to ...
4493         (core_target::get_core_register_section): ... this and adjust.
4494         (struct get_core_registers_cb_data): New.
4495         (get_core_registers_cb): Use it.  Use bool.
4496         (core_target::fetch_registers, core_target::files_info)
4497         (core_target::xfer_partial, core_target::read_description)
4498         (core_target::pid_to, core_target::thread_name): Adjust to
4499         reference class fields instead of globals.
4500         * target.h (struct target_ops_deleter, target_ops_up): New.
4501
4502 2018-05-11  Pedro Alves  <palves@redhat.com>
4503
4504         * corefile.c (core_file_command): Move to corelow.c.
4505         * corelow.c (the_core_target): Delete.
4506         (core_file_command): Moved from corefile.c.  Check exec_bfd
4507         instead of the_core_target.  Use target_detach instead of calling
4508         into the_core_target directly.
4509         (maybe_say_no_core_file_now): New.
4510         (core_target::detach): Use it.
4511         (_initialize_corelow): Remove references to the_core_target.
4512         * gdbcore.h (the_core_target): Delete.
4513
4514 2018-05-11  Tom Tromey  <tromey@redhat.com>
4515             Pedro Alves  <palves@redhat.com>
4516
4517         * corefile.c (core_bfd): Remove.
4518         * gdbcore.h (core_bfd): Now a macro.
4519         * progspace.h (struct program_space) <cbfd>: New field.
4520
4521 2018-05-11  Tom Tromey  <tom@tromey.com>
4522
4523         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
4524         gdb::def_vector.
4525
4526 2018-05-10  Tom Tromey  <tom@tromey.com>
4527
4528         * configure: Rebuild.
4529         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
4530
4531 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
4532
4533         PR server/23158:
4534         * regformats/regdat.sh: Adjust script, following the addition
4535         of the new expedite_regs parameter to init_target_desc.
4536
4537 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
4538     
4539         PR gdb/23127
4540         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
4541         set_gdbarch_significant_addr_bit.
4542         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
4543         set_gdbarch_significant_addr_bit.
4544         * utils.c (address_significant): Update to sign extend addr.
4545
4546 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
4547
4548         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
4549         (xtensa_linux_init_abi): Limit tdep->num_regs by
4550         tdep->num_nopriv_regs.
4551         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
4552         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
4553         not initialized.
4554
4555 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
4556
4557         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
4558
4559 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
4560
4561         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
4562         (I387_MXCSR_INIT_VAL): New constant.
4563         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
4564         buffer if it was supplied by the inferior.
4565         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
4566         (i387_xsave_get_clear_bv): New function.
4567         (i387_supply_xsave): Only read x87 control registers from the
4568         xsave buffer if the feature is enabled, and the state will have
4569         been written, otherwise, provide a suitable default.
4570         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
4571         including x87 control registers.  Update control registers if they
4572         have changed from the default value, and mark features as enabled
4573         as required.
4574         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
4575
4576 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
4577
4578         * spu-tdep.c (info_spu_event_command): Fix output formatting.
4579
4580 2018-05-07  Tom Tromey  <tom@tromey.com>
4581
4582         * configure: Rebuild.
4583         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
4584
4585 2018-05-07  Tom Tromey  <tom@tromey.com>
4586
4587         PR tdep/20362:
4588         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
4589         bit.  Use correct value for VDIV.
4590
4591 2018-05-04  Tom Tromey  <tom@tromey.com>
4592
4593         * configure: Rebuild.
4594         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
4595
4596 2018-05-04  Tom Tromey  <tom@tromey.com>
4597
4598         * linux-record.c (record_linux_system_call) <case
4599         RECORD_SYS_RECVFROM>: Add "break".
4600
4601 2018-05-04  Tom Tromey  <tom@tromey.com>
4602
4603         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
4604         Add missing "break".
4605         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
4606         Add missing "break".
4607
4608 2018-05-04  Tom Tromey  <tom@tromey.com>
4609
4610         * rs6000-tdep.c (ppc_process_record_op4)
4611         (ppc_process_record_op63): Add fall-through comment.
4612
4613 2018-05-04  Tom Tromey  <tom@tromey.com>
4614
4615         * i386-tdep.c (i386_process_record): Add fall-through comment.
4616
4617 2018-05-04  Tom Tromey  <tom@tromey.com>
4618
4619         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
4620         comment.
4621
4622 2018-05-04  Tom Tromey  <tom@tromey.com>
4623
4624         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
4625         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
4626         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
4627         comment.
4628         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
4629         comment.
4630         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
4631         comment.
4632
4633 2018-05-04  Tom Tromey  <tom@tromey.com>
4634
4635         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
4636
4637 2018-05-04  Tom Tromey  <tom@tromey.com>
4638
4639         * s390-tdep.c (s390_process_record): Fix fall-through comments.
4640         * xcoffread.c (scan_xcoff_symtab): Move comment later.
4641         * symfile.c (section_is_mapped): Fix fall-through comment.
4642         * stabsread.c (define_symbol, read_member_functions): Fix
4643         fall-through comment.
4644         * s390-linux-tdep.c (s390_process_record): Fix fall-through
4645         comment.
4646         * remote.c (remote_wait_as): Fix fall-through comment.
4647         * p-exp.y (yylex): Fix fall-through comment.
4648         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
4649         comment.
4650         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
4651         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
4652         * jv-exp.y (yylex): Fix fall-through comment.
4653         * go-exp.y (lex_one_token): Fix fall-through comment.
4654         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
4655         fall-through comment.
4656         * f-exp.y (yylex): Fix fall-through comment.
4657         * dwarf2read.c (process_die): Fix fall-through comments.
4658         * dbxread.c (process_one_symbol): Fix fall-through comment.
4659         * d-exp.y (lex_one_token): Fix fall-through comment.
4660         * cp-name-parser.y (yylex): Fix fall-through comment.
4661         * coffread.c (coff_symtab_read): Fix fall-through comment.
4662         * c-exp.y (lex_one_token): Fix fall-through comment.
4663         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
4664         comment.
4665         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
4666         comment.
4667
4668 2018-05-04  Tom Tromey  <tom@tromey.com>
4669
4670         PR python/22730:
4671         * NEWS: Mention gdb.execute change.
4672         * gdbcmd.h (execute_control_command): Don't declare.
4673         * python/python.c (execute_gdb_command): Use read_command_lines_1,
4674         execute_control_commands, execute_control_commands_to_string.
4675         * cli/cli-script.h (execute_control_commands)
4676         (execute_control_commands_to_string): Declare.
4677         (execute_control_command): Add from_tty parameter.
4678         * cli/cli-script.c (execute_control_commands)
4679         (execute_control_commands_to_string): New functions.
4680         (execute_user_command): Use execute_control_commands.
4681         (execute_control_command_1): Add "from_tty" parameter.  Update.
4682         (execute_control_command): Likewise.
4683
4684 2018-05-04  Tom Tromey  <tom@tromey.com>
4685
4686         PR python/22731:
4687         * NEWS: Mention that breakpoint commands are writable.
4688         * python/py-breakpoint.c (bppy_set_commands): New function.
4689         (breakpoint_object_getset) <"commands">: Use it.
4690
4691 2018-05-04  Tom Tromey  <tom@tromey.com>
4692
4693         * tracepoint.c (actions_command): Update.
4694         * mi/mi-cmd-break.c (mi_command_line_array)
4695         (mi_command_line_array_cnt, mi_command_line_array_ptr)
4696         (mi_read_next_line): Remove.
4697         (mi_cmd_break_commands): Update.
4698         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
4699         function_view.
4700         * cli/cli-script.c (get_command_line): Update.
4701         (process_next_line): Use function_view.  Constify.
4702         (recurse_read_control_structure, read_command_lines)
4703         (read_command_lines_1): Change argument types to function_view.
4704         (do_define_command, document_command): Update.
4705         * breakpoint.h (check_tracepoint_command): Don't declare.
4706         * breakpoint.c (check_tracepoint_command): Remove.
4707         (commands_command_1, create_tracepoint_from_upload): Update.
4708
4709 2018-05-04  Tom Tromey  <tom@tromey.com>
4710
4711         PR gdb/11750:
4712         * cli/cli-script.h (enum command_control_type) <define_control>:
4713         New constant.
4714         * cli/cli-script.c (multi_line_command_p): Handle define_control.
4715         (build_command_line, execute_control_command_1)
4716         (process_next_line): Likewise.
4717         (do_define_command): New function, extracted from define_command.
4718         (define_command): Use it.
4719
4720 2018-05-04  Tom Tromey  <tom@tromey.com>
4721
4722         * tracepoint.c (actions_command): Update.
4723         * cli/cli-script.h (read_command_lines): Update.
4724         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
4725         (MAX_TMPBUF): Remove define.
4726         (define_command): Use string_printf.
4727         (document_command): Likewise.
4728         * breakpoint.c (commands_command_1): Update.
4729
4730 2018-05-04  Tom Tromey  <tom@tromey.com>
4731
4732         * top.c (execute_command): Update.
4733         * cli/cli-script.h (print_command_lines): Now varargs.
4734         * cli/cli-script.c (print_command_lines): Now varargs.
4735         (execute_control_command_1) <case while_control, case if_control>:
4736         Update.
4737
4738 2018-05-04  Tom Tromey  <tom@tromey.com>
4739
4740         * tracepoint.c (all_tracepoint_actions): Rename from
4741         all_tracepoint_actions_and_cleanup.  Change return type.
4742         (actions_command, encode_actions_1, encode_actions)
4743         (trace_dump_actions, tdump_command): Update.
4744         * remote.c (remote_download_command_source): Update.
4745         * python/python.c (gdbpy_eval_from_control_command)
4746         (python_command, python_interactive_command): Update.
4747         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
4748         * guile/guile.c (guile_command)
4749         (gdbscm_eval_from_control_command, guile_command): Update.
4750         * compile/compile.c (compile_code_command)
4751         (compile_print_command, compile_to_object): Update.
4752         * cli/cli-script.h (struct command_lines_deleter): New.
4753         (counted_command_line): New typedef.
4754         (struct command_line): Add constructor, destructor.
4755         <body_list>: Remove.
4756         <body_list_0, body_list_1>: New members.
4757         (command_line_up): Remove typedef.
4758         (read_command_lines, read_command_lines_1, get_command_line):
4759         Update.
4760         (copy_command_lines): Don't declare.
4761         * cli/cli-script.c (build_command_line): Use "new".
4762         (get_command_line): Return counted_command_line.
4763         (print_command_lines, execute_user_command)
4764         (execute_control_command_1, while_command, if_command): Update.
4765         (realloc_body_list): Remove.
4766         (process_next_line, recurse_read_control_structure): Update.
4767         (read_command_lines, read_command_lines_1): Return counted_command_line.
4768         (free_command_lines): Use "delete".
4769         (copy_command_lines): Remove.
4770         (define_command, document_command, show_user_1): Update.
4771         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
4772         a counted_command_line.
4773         * breakpoint.h (counted_command_line): Remove typedef.
4774         (breakpoint_set_commands): Update.
4775         * breakpoint.c (check_no_tracepoint_commands)
4776         (validate_commands_for_breakpoint): Update.
4777         (breakpoint_set_commands): Change commands to be a
4778         counted_command_line.
4779         (commands_command_1, update_dprintf_command_list)
4780         (create_tracepoint_from_upload): Update.
4781
4782 2018-05-04  Tom Tromey  <tom@tromey.com>
4783
4784         * cli/cli-decode.h (cmd_list_element): New constructor.
4785         (~cmd_list_element): New destructor.
4786         (struct cmd_list_element): Add initializers.
4787         * cli/cli-decode.c (do_add_cmd): Use "new".
4788         (delete_cmd): Use "delete".
4789
4790 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
4791             Pedro Alves <palves@redhat.com>
4792
4793         PR breakpoints/19806 and support for PR external/20207.
4794         * NEWS: Mention Aarch64 watchpoint improvements.
4795         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
4796         watchpoints and PR external/20207 watchpoints.
4797         * nat/aarch64-linux-hw-point.c
4798         (kernel_supports_any_contiguous_range): New.
4799         (aarch64_watchpoint_offset): New.
4800         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
4801         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
4802         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
4803         (aarch64_align_watchpoint): New parameters aligned_offset_p and
4804         next_addr_orig_p.  Support PR external/20207 watchpoints.
4805         (aarch64_downgrade_regs): New.
4806         (aarch64_dr_state_insert_one_point): New parameters offset and
4807         addr_orig.
4808         (aarch64_dr_state_remove_one_point): Likewise.
4809         (aarch64_handle_breakpoint): Update caller.
4810         (aarch64_handle_aligned_watchpoint): Likewise.
4811         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
4812         aligned_offset.
4813         (aarch64_linux_set_debug_regs): Remove const from state.  Call
4814         aarch64_downgrade_regs.
4815         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
4816         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
4817         (DR_CONTROL_MASK): ... this.
4818         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
4819         (unsigned int aarch64_watchpoint_offset): New prototype.
4820         (aarch64_linux_set_debug_regs): Remove const from state.
4821         * utils.c (align_up, align_down): Move to ...
4822         * common/common-utils.c (align_up, align_down): ... here.
4823         * utils.h (align_up, align_down): Move to ...
4824         * common/common-utils.h (align_up, align_down): ... here.
4825
4826 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
4827
4828         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
4829         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
4830         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
4831         Re-implement to match the ABI as summarized in GCC's
4832         gcc/config/sparc/sparc.c.  All callers updated.
4833         (sparc32_store_arguments): Remove assertion.
4834
4835 2018-05-04  Tom Tromey  <tom@tromey.com>
4836
4837         * printcmd.c: Don't include tui.h.
4838         (decode_format): Use skip_spaces.
4839
4840 2018-05-04  Tom Tromey  <tom@tromey.com>
4841
4842         PR gdb/22619:
4843         * printcmd.c (last_count): New global.
4844         (x_command): Use saved count when repeating.
4845
4846 2018-05-04  Tom Tromey  <tom@tromey.com>
4847
4848         * nto-procfs.c (do_closedir_cleanup): Remove.
4849         (procfs_pidlist): Use gdb_dir_up.
4850         * procfs.c (do_closedir_cleanup): Remove.
4851         (proc_update_threads): Use gdb_dir_up.
4852         * common/filestuff.h (struct gdb_dir_deleter): New.
4853         (gdb_dir_up): New typedef.
4854
4855 2018-05-04  Tom Tromey  <tom@tromey.com>
4856
4857         * ada-lang.c (print_mention_exception): Use std::string.
4858
4859 2018-05-04  Tom Tromey  <tom@tromey.com>
4860
4861         * ada-lang.c (create_excep_cond_exprs): Update.
4862         (ada_exception_catchpoint_cond_string): Use std::string.
4863
4864 2018-05-04  Tom Tromey  <tom@tromey.com>
4865
4866         * ada-lang.c (xget_renaming_scope): Return std::string.
4867         (old_renaming_is_invisible): Update.
4868
4869 2018-05-04  Tom Tromey  <tom@tromey.com>
4870
4871         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
4872         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
4873
4874 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
4875
4876         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
4877
4878 2018-05-04  Tom Tromey  <tom@tromey.com>
4879
4880         * remote.c (remote_query_supported_append): Change type.
4881         (remote_check_symbols): Update.
4882
4883 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
4884
4885         PR gdb/11420
4886         * configure.ac: Prepend libpython.
4887         * python/python-config.py: Likewise.
4888         * configure: Regenerate.
4889
4890 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
4891
4892         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
4893
4894 2018-05-03  Pedro Alves  <palves@redhat.com>
4895
4896         * s390-linux-nat.c
4897         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
4898         override.  Write 'true' instead of '1'.
4899         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
4900         declaration.
4901
4902 2018-05-02  Pedro Alves  <palves@redhat.com>
4903
4904         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
4905         add_inf_child_target.
4906         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
4907         add_inf_child_target.
4908         * aix-thread.c (aix_thread_target_info): New.
4909         (aix_thread_target) <shortname, longname, doc>: Delete.
4910         <info>: New.
4911         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
4912         add_inf_child_target.
4913         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
4914         add_inf_child_target.
4915         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
4916         add_inf_child_target.
4917         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
4918         add_inf_child_target.
4919         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
4920         add_inf_child_target.
4921         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
4922         add_inf_child_target.
4923         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
4924         add_inf_child_target.
4925         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
4926         add_inf_child_target.
4927         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
4928         add_inf_child_target.
4929         * bfd-target.c (target_bfd_target_info): New.
4930         (target_bfd) <shortname, longname, doc>: Delete.
4931         <info>: New.
4932         * bsd-kvm.c (bsd_kvm_target_info): New.
4933         (bsd_kvm_target) <shortname, longname, doc>: Delete.
4934         <info>: New.
4935         (bsd_kvm_target::open): Rename to ...
4936         (bsd_kvm_target_open): ... this.  Adjust.
4937         * bsd-uthread.c (bsd_uthread_target_info): New.
4938         (bsd_uthread_target) <shortname, longname, doc>: Delete.
4939         <info>: New.
4940         * corefile.c (core_file_command): Adjust.
4941         * corelow.c (core_target_info): New.
4942         (core_target) <shortname, longname, doc>: Delete.
4943         <info>: New.
4944         (core_target::open): Rename to ...
4945         (core_target_open): ... this.  Adjust.
4946         * ctf.c (ctf_target_info): New.
4947         (ctf_target) <shortname, longname, doc>: Delete.
4948         <info>: New.
4949         (ctf_target::open): Rename to ...
4950         (ctf_target_open): ... this.
4951         (_initialize_ctf): Adjust.
4952         * exec.c (exec_target_info): New.
4953         (exec_target) <shortname, longname, doc>: Delete.
4954         <info>: New.
4955         (exec_target::open): Rename to ...
4956         (exec_target_open): ... this.
4957         * gdbcore.h (core_target_open): Declare.
4958         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
4959         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
4960         add_inf_child_target.
4961         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
4962         add_inf_child_target.
4963         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
4964         add_inf_child_target.
4965         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
4966         add_inf_child_target.
4967         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
4968         add_inf_child_target.
4969         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
4970         add_inf_child_target.
4971         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
4972         add_inf_child_target.
4973         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
4974         add_inf_child_target.
4975         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
4976         add_inf_child_target.
4977         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
4978         add_inf_child_target.
4979         * inf-child.c (inf_child_target_info): New.
4980         (inf_child_target::info): New.
4981         (inf_child_open_target): Remove 'target' parameter.  Use
4982         get_native_target instead.
4983         (inf_child_target::open): Delete.
4984         (add_inf_child_target): New.
4985         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
4986         Delete.
4987         <info>: New.
4988         (add_inf_child_target): Declare.
4989         (inf_child_open_target): Declare.
4990         * linux-thread-db.c (thread_db_target_info): New.
4991         (thread_db_target) <shortname, longname, doc>: Delete.
4992         <info>: New.
4993         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
4994         add_inf_child_target.
4995         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
4996         add_inf_child_target.
4997         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
4998         add_inf_child_target.
4999         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5000         add_inf_child_target.
5001         * make-target-delegates (print_class): Adjust.
5002         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5003         add_inf_child_target.
5004         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5005         add_inf_child_target.
5006         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5007         add_inf_child_target.
5008         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5009         add_inf_child_target.
5010         * nto-procfs.c (nto_native_target_info): New.
5011         (nto_procfs_target_native) <shortname, longname, doc>:
5012         Delete.
5013         <info>: New.
5014         (nto_procfs_target_info): New.
5015         (nto_procfs_target_procfs) <shortname, longname, doc>:
5016         Delete.
5017         <info>: New.
5018         (init_procfs_targets): Adjust.
5019         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5020         add_inf_child_target.
5021         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5022         add_inf_child_target.
5023         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5024         add_inf_child_target.
5025         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5026         add_inf_child_target.
5027         * ravenscar-thread.c (ravenscar_target_info): New.
5028         (ravenscar_thread_target) <shortname, longname, doc>:
5029         Delete.
5030         <info>: New.
5031         * record-btrace.c (record_btrace_target_info):
5032         (record_btrace_target) <shortname, longname, doc>: Delete.
5033         <info>: New.
5034         (record_btrace_target::open): Rename to ...
5035         (record_btrace_target_open): ... this.  Adjust.
5036         * record-full.c (record_longname, record_doc): New.
5037         (record_full_base_target) <shortname, longname, doc>: Delete.
5038         <info>: New.
5039         (record_full_target_info): New.
5040         (record_full_target): <shortname>: Delete.
5041         <info>: New.
5042         (record_full_core_open_1, record_full_open_1): Update comments.
5043         (record_full_base_target::open): Rename to ...
5044         (record_full_open): ... this.
5045         (cmd_record_full_restore): Update.
5046         (_initialize_record_full): Update.
5047         * remote-sim.c (remote_sim_target_info): New.
5048         (gdbsim_target) <shortname, longname, doc>: Delete.
5049         <info>: New.
5050         (gdbsim_target::open): Rename to ...
5051         (gdbsim_target_open): ... this.
5052         (_initialize_remote_sim): Adjust.
5053         * remote.c (remote_doc): New.
5054         (remote_target_info): New.
5055         (remote_target) <shortname, longname, doc>: Delete.
5056         <info>: New.
5057         (extended_remote_target_info): New.
5058         (extended_remote_target) <shortname, longname, doc>: Delete.
5059         <info>: New.
5060         (remote_target::open_1): Make static.  Adjust.
5061         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5062         * s390-linux-nat.c (_initialize_s390_nat): Use
5063         add_inf_child_target.
5064         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5065         add_inf_child_target.
5066         * sol-thread.c (thread_db_target_info): New.
5067         (sol_thread_target) <shortname, longname, doc>: Delete.
5068         <info>: New.
5069         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5070         add_inf_child_target.
5071         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5072         add_inf_child_target.
5073         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5074         add_inf_child_target.
5075         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5076         add_inf_child_target.
5077         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5078         add_inf_child_target.
5079         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5080         add_inf_child_target.
5081         * spu-linux-nat.c (_initialize_spu_nat): Use
5082         add_inf_child_target.
5083         * spu-multiarch.c (spu_multiarch_target_info): New.
5084         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5085         <info>: New.
5086         * target-delegates.c: Regenerate.
5087         * target.c: Include <unordered_map>.
5088         (target_ops_p): Delete.
5089         (DEF_VEC_P(target_ops_p)): Delete.
5090         (target_factories): New.
5091         (test_target_info): New.
5092         (test_target_ops::info): New.
5093         (open_target): Adjust to use target_factories.
5094         (add_target_with_completer): Rename to ...
5095         (add_target): ... this.  Change prototype.  Register target_info
5096         and open callback in target_factories.  Register target_info in
5097         command context instead of target_ops.
5098         (add_target): Delete old implementation.
5099         (add_deprecated_target_alias): Change prototype.  Adjust.
5100         (the_native_target): New.
5101         (set_native_target, get_native_target): New.
5102         (find_default_run_target): Use the_native_target.
5103         (find_attach_target, find_run_target): Simplify.
5104         (target_ops::open): Delete.
5105         (dummy_target_info): New.
5106         (dummy_target::shortname, dummy_target::longname)
5107         (dummy_target::doc): Delete.
5108         (dummy_target::info): New.
5109         (debug_target::shortname, debug_target::longname)
5110         (debug_target::doc): Delete.
5111         (debug_target::info): New.
5112         * target.h (struct target_info): New.
5113         (target_ops::~target_ops): Add comment.
5114         (target_ops::info): New.
5115         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5116         longer virtual.  Implement in terms of target_info.
5117         (set_native_target, get_native_target): Declare.
5118         (target_open_ftype): New.
5119         (add_target, add_target_with_completer)
5120         (add_deprecated_target_alias): Change prototype.
5121         (test_target) <shortname, longname, doc>: Delete.
5122         <info>: New.
5123         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5124         add_inf_child_target.
5125         * tracefile-tfile.c (tfile_target_info): New.
5126         (tfile_target) <shortname, longname, doc>: Delete.
5127         <info>: New.
5128         (tfile_target::open): Rename to ...
5129         (tfile_target_open): ... this.
5130         (_initialize_tracefile_tfile): Adjust.
5131         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5132         add_inf_child_target.
5133         * windows-nat.c (_initialize_windows_nat): Use
5134         add_inf_child_target.
5135         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5136         add_inf_child_target.
5137
5138 2018-05-02  Pedro Alves  <palves@redhat.com>
5139
5140         * linux-nat.h (linux_nat_target) <low_new_thread,
5141         low_delete_thread, low_new_fork, low_forget_process,
5142         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5143         New virtual methods.
5144         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5145         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5146         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5147         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5148         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5149         Delete.
5150         * linux-fork.c (delete_fork): Adjust to call low method.
5151         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5152         (linux_nat_new_fork, linux_nat_forget_process_hook)
5153         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5154         (linux_nat_status_is_event):
5155         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5156         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5157         to call low method.
5158         (sigtrap_is_event): Rename to ...
5159         (linux_nat_target::low_status_is_event): ... this.
5160         (linux_nat_set_status_is_event): Delete.
5161         (save_stop_reason, linux_nat_wait_1)
5162         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5163         low methods.
5164         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5165         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5166         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5167         (linux_nat_set_prepare_to_resume): Delete.
5168         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5169         low virtual methods.
5170         * amd64-linux-nat.c: Likewise.
5171         * arm-linux-nat.c: Likewise.
5172         * i386-linux-nat.c: Likewise.
5173         * ia64-linux-nat.c: Likewise.
5174         * mips-linux-nat.c: Likewise.
5175         * ppc-linux-nat.c: Likewise.
5176         * s390-linux-nat.c: Likewise.
5177         * sparc64-linux-nat.c: Likewise.
5178         * x86-linux-nat.c: Likewise.
5179         * x86-linux-nat.h: Include "nat/x86-linux.h".
5180         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5181         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5182         Override methods.
5183
5184 2018-05-02  Pedro Alves  <palves@redhat.com>
5185
5186         * target.h (target_ops)
5187         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5188         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5189         stopped_by_watchpoint, have_continuable_watchpoint,
5190         stopped_data_address, watchpoint_addr_within_range,
5191         can_accel_watchpoint_condition, can_run, thread_alive,
5192         has_all_memory, has_memory, has_stack, has_registers,
5193         has_execution, can_async_p, is_async_p, supports_non_stop,
5194         always_non_stop_p, can_execute_reverse, supports_multi_process,
5195         supports_enable_disable_tracepoint,
5196         supports_disable_randomization, supports_string_tracing,
5197         supports_evaluation_of_breakpoint_conditions,
5198         can_run_breakpoint_commands, filesystem_is_local,
5199         can_download_tracepoint, get_trace_state_variable_value,
5200         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5201         record_is_replaying, record_will_replay,
5202         augmented_libraries_svr4_read>: Adjust to return bool.
5203         * aarch64-linux-nat.c: All implementations adjusted.
5204         * aix-thread.c: All implementations adjusted.
5205         * arm-linux-nat.c: All implementations adjusted.
5206         * breakpoint.c: All implementations adjusted.
5207         * bsd-kvm.c: All implementations adjusted.
5208         * bsd-uthread.c: All implementations adjusted.
5209         * corelow.c: All implementations adjusted.
5210         * ctf.c: All implementations adjusted.
5211         * darwin-nat.c: All implementations adjusted.
5212         * darwin-nat.h: All implementations adjusted.
5213         * exec.c: All implementations adjusted.
5214         * fbsd-nat.c: All implementations adjusted.
5215         * fbsd-nat.h: All implementations adjusted.
5216         * gnu-nat.c: All implementations adjusted.
5217         * gnu-nat.h: All implementations adjusted.
5218         * go32-nat.c: All implementations adjusted.
5219         * ia64-linux-nat.c: All implementations adjusted.
5220         * inf-child.c: All implementations adjusted.
5221         * inf-child.h: All implementations adjusted.
5222         * inf-ptrace.c: All implementations adjusted.
5223         * inf-ptrace.h: All implementations adjusted.
5224         * linux-nat.c: All implementations adjusted.
5225         * linux-nat.h: All implementations adjusted.
5226         * mips-linux-nat.c: All implementations adjusted.
5227         * nto-procfs.c: All implementations adjusted.
5228         * ppc-linux-nat.c: All implementations adjusted.
5229         * procfs.c: All implementations adjusted.
5230         * ravenscar-thread.c: All implementations adjusted.
5231         * record-btrace.c: All implementations adjusted.
5232         * record-full.c: All implementations adjusted.
5233         * remote-sim.c: All implementations adjusted.
5234         * remote.c: All implementations adjusted.
5235         * s390-linux-nat.c: All implementations adjusted.
5236         * sol-thread.c: All implementations adjusted.
5237         * spu-multiarch.c: All implementations adjusted.
5238         * target-delegates.c: All implementations adjusted.
5239         * target.c: All implementations adjusted.
5240         * target.h: All implementations adjusted.
5241         * tracefile-tfile.c: All implementations adjusted.
5242         * tracefile.c: All implementations adjusted.
5243         * tracefile.h: All implementations adjusted.
5244         * windows-nat.c: All implementations adjusted.
5245         * x86-linux-nat.h: All implementations adjusted.
5246         * x86-nat.h: All implementations adjusted.
5247
5248 2018-05-02  Pedro Alves  <palves@redhat.com>
5249
5250         * make-target-delegates (scan_target_h): Don't trim lines here.
5251         Replace sequences of tabs and/or whitespace with a single
5252         whitespace.
5253         (top level, parsing methods): Trim each line before processing it
5254         here.
5255
5256 2018-05-02  Pedro Alves  <palves@redhat.com>
5257             John Baldwin  <jhb@freebsd.org>
5258
5259         * target.h (enum strata) <debug_stratum>: New.
5260         (struct target_ops) <all delegation methods>: Replace by C++
5261         virtual methods, and drop "to_" prefix.  All references updated
5262         throughout.
5263         <to_shortname, to_longname, to_doc, to_data,
5264         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5265         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5266         virtual methods.  All references updated throughout.
5267         <can_attach, supports_terminal_ours, can_create_inferior,
5268         get_thread_control_capabilities, attach_no_wait>: New
5269         virtual methods.
5270         <insert_breakpoint, remove_breakpoint>: Now
5271         TARGET_DEFAULT_NORETURN methods.
5272         <info_proc>: Now returns bool.
5273         <to_magic>: Delete.
5274         (OPS_MAGIC): Delete.
5275         (current_target): Delete.  All references replaced by references
5276         to ...
5277         (target_stack): ... this.  New.
5278         (target_shortname, target_longname): Adjust.
5279         (target_can_run): Now a function declaration.
5280         (default_child_has_all_memory, default_child_has_memory)
5281         (default_child_has_stack, default_child_has_registers)
5282         (default_child_has_execution): Remove target_ops parameter.
5283         (complete_target_initialization): Delete.
5284         (memory_breakpoint_target): New template class.
5285         (test_target_ops): Refactor as a C++ class with virtual methods.
5286         * make-target-delegates (NAME_PART): Tighten.
5287         (POINTER_PART, CP_SYMBOL): New.
5288         (SIMPLE_RETURN_PART): Reimplement.
5289         (VEC_RETURN_PART): Expect less.
5290         (RETURN_PART, VIRTUAL_PART): New.
5291         (METHOD): Adjust to C++ virtual methods.
5292         (scan_target_h): Remove reference to C99.
5293         (dname): Output "target_ops::" prefix.
5294         (write_function_header): Adjust to output a C++ class method.
5295         (write_declaration): New.
5296         (write_delegator): Adjust to output a C++ class method.
5297         (tdname): Output "dummy_target::" prefix.
5298         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5299         method.
5300         (tdefault_names, debug_names): Delete.
5301         (return_types, tdefaults, styles, argtypes_array): New.
5302         (top level): All methods are delegators.
5303         (print_class): New.
5304         (top level): Print dummy_target and debug_target classes.
5305         * target-delegates.c: Regenerate.
5306         * target-debug.h (target_debug_print_enum_info_proc_what)
5307         (target_debug_print_thread_control_capabilities)
5308         (target_debug_print_thread_info_p): New.
5309         * target.c (dummy_target): Delete.
5310         (the_dummy_target, the_debug_target): New.
5311         (target_stack): Now extern.
5312         (set_targetdebug): Push/unpush debug target.
5313         (default_child_has_all_memory, default_child_has_memory)
5314         (default_child_has_stack, default_child_has_registers)
5315         (default_child_has_execution): Remove target_ops parameter.
5316         (complete_target_initialization): Delete.
5317         (add_target_with_completer): No longer call
5318         complete_target_initialization.
5319         (target_supports_terminal_ours): Use regular delegation.
5320         (update_current_target): Delete.
5321         (push_target): No longer check magic number.  Don't call
5322         update_current_target.
5323         (unpush_target): Don't call update_current_target.
5324         (target_is_pushed): No longer check magic number.
5325         (target_require_runnable): Skip for all stratums over
5326         process_stratum.
5327         (target_ops::info_proc): New.
5328         (target_info_proc): Use find_target_at and
5329         find_default_run_target.
5330         (target_supports_disable_randomization): Use regular delegation.
5331         (target_get_osdata): Use find_target_at.
5332         (target_ops::open, target_ops::close, target_ops::can_attach)
5333         (target_ops::attach, target_ops::can_create_inferior)
5334         (target_ops::create_inferior, target_ops::can_run)
5335         (target_can_run): New.
5336         (default_fileio_target): Use regular delegation.
5337         (target_ops::fileio_open, target_ops::fileio_pwrite)
5338         (target_ops::fileio_pread, target_ops::fileio_fstat)
5339         (target_ops::fileio_close, target_ops::fileio_unlink)
5340         (target_ops::fileio_readlink): New.
5341         (target_fileio_open_1, target_fileio_unlink)
5342         (target_fileio_readlink): Always call the target method.  Handle
5343         FILEIO_ENOSYS.
5344         (return_zero, return_zero_has_execution): Delete.
5345         (init_dummy_target): Delete.
5346         (dummy_target::dummy_target, dummy_target::shortname)
5347         (dummy_target::longname, dummy_target::doc)
5348         (debug_target::debug_target, debug_target::shortname)
5349         (debug_target::longname, debug_target::doc): New.
5350         (target_supports_delete_record): Use regular delegation.
5351         (setup_target_debug): Delete.
5352         (maintenance_print_target_stack): Skip debug_stratum.
5353         (initialize_targets): Instantiate the_dummy_target and
5354         the_debug_target.
5355         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5356         use target_stack.
5357         (target_auxv_search, fprint_target_auxv): Adjust.
5358         (info_auxv_command): Adjust to use target_stack.
5359         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5360         * exceptions.c (print_flush): Handle a NULL target_stack.
5361         * regcache.c (target_ops_no_register): Refactor as class with
5362         virtual methods.
5363
5364         * exec.c (exec_target): New class.
5365         (exec_ops): Now an exec_target.
5366         (exec_open, exec_close_1, exec_get_section_table)
5367         (exec_xfer_partial, exec_files_info, exec_has_memory)
5368         (exec_make_note_section): Refactor as exec_target methods.
5369         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5370         Delete.
5371         (exec_target::find_memory_regions): New.
5372         (_initialize_exec): Don't call init_exec_ops.
5373         * gdbcore.h (exec_file_clear): Delete.
5374
5375         * corefile.c (core_target): Delete.
5376         (core_file_command): Adjust.
5377         * corelow.c (core_target): New class.
5378         (the_core_target): New.
5379         (core_close): Remove target_ops parameter.
5380         (core_close_cleanup): Adjust.
5381         (core_target::close): New.
5382         (core_open, core_detach, get_core_registers, core_files_info)
5383         (core_xfer_partial, core_thread_alive, core_read_description)
5384         (core_pid_to_str, core_thread_name, core_has_memory)
5385         (core_has_stack, core_has_registers, core_info_proc): Rework as
5386         core_target methods.
5387         (ignore, core_remove_breakpoint, init_core_ops): Delete.
5388         (_initialize_corelow): Initialize the_core_target.
5389         * gdbcore.h (core_target): Delete.
5390         (the_core_target): New.
5391
5392         * ctf.c: (ctf_target): New class.
5393         (ctf_ops): Now a ctf_target.
5394         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
5395         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
5396         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
5397         methods.
5398         (init_ctf_ops): Delete.
5399         (_initialize_ctf): Don't call it.
5400         * tracefile-tfile.c (tfile_target): New class.
5401         (tfile_ops): Now a tfile_target.
5402         (tfile_open, tfile_close, tfile_files_info)
5403         (tfile_get_tracepoint_status, tfile_trace_find)
5404         (tfile_fetch_registers, tfile_xfer_partial)
5405         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
5406         Refactor as tfile_target methods.
5407         (tfile_xfer_partial_features): Remove target_ops parameter.
5408         (init_tfile_ops): Delete.
5409         (_initialize_tracefile_tfile): Don't call it.
5410         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
5411         (tracefile_has_stack, tracefile_has_registers)
5412         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
5413         tracefile_target methods.
5414         (init_tracefile_ops): Delete.
5415         (tracefile_target::tracefile_target): New.
5416         * tracefile.h: Include "target.h".
5417         (tracefile_target): New class.
5418         (init_tracefile_ops): Delete.
5419
5420         * spu-multiarch.c (spu_multiarch_target): New class.
5421         (spu_ops): Now a spu_multiarch_target.
5422         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
5423         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
5424         (spu_search_memory, spu_mourn_inferior): Refactor as
5425         spu_multiarch_target methods.
5426         (init_spu_ops): Delete.
5427         (_initialize_spu_multiarch): Remove references to init_spu_ops,
5428         complete_target_initialization.
5429
5430         * ravenscar-thread.c (ravenscar_thread_target): New class.
5431         (ravenscar_ops): Now a ravenscar_thread_target.
5432         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
5433         (ravenscar_thread_alive, ravenscar_pid_to_str)
5434         (ravenscar_fetch_registers, ravenscar_store_registers)
5435         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
5436         (ravenscar_stopped_by_hw_breakpoint)
5437         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
5438         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
5439         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
5440         methods.
5441         (init_ravenscar_thread_ops): Delete.
5442         (_initialize_ravenscar): Remove references to
5443         init_ravenscar_thread_ops and complete_target_initialization.
5444
5445         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
5446         (bsd_uthread_target): New class.
5447         (bsd_uthread_ops): Now a bsd_uthread_target.
5448         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
5449         (bsd_uthread_close, bsd_uthread_mourn_inferior)
5450         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
5451         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
5452         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
5453         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
5454         (bsd_uthread_target): Delete function.
5455         (_initialize_bsd_uthread): Remove reference to
5456         complete_target_initialization.
5457
5458         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
5459         (target_bfd): ... this new class.
5460         (target_bfd_xfer_partial, target_bfd_get_section_table)
5461         (target_bfd_close): Refactor as target_bfd methods.
5462         (target_bfd::~target_bfd): New.
5463         (target_bfd_reopen): Adjust.
5464         (target_bfd::close): New.
5465
5466         * record-btrace.c (record_btrace_target): New class.
5467         (record_btrace_ops): Now a record_btrace_target.
5468         (record_btrace_open, record_btrace_stop_recording)
5469         (record_btrace_disconnect, record_btrace_close)
5470         (record_btrace_async, record_btrace_info)
5471         (record_btrace_insn_history, record_btrace_insn_history_range)
5472         (record_btrace_insn_history_from, record_btrace_call_history)
5473         (record_btrace_call_history_range)
5474         (record_btrace_call_history_from, record_btrace_record_method)
5475         (record_btrace_is_replaying, record_btrace_will_replay)
5476         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
5477         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
5478         (record_btrace_store_registers, record_btrace_prepare_to_store)
5479         (record_btrace_to_get_unwinder)
5480         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
5481         (record_btrace_commit_resume, record_btrace_wait)
5482         (record_btrace_stop, record_btrace_can_execute_reverse)
5483         (record_btrace_stopped_by_sw_breakpoint)
5484         (record_btrace_supports_stopped_by_sw_breakpoint)
5485         (record_btrace_stopped_by_hw_breakpoint)
5486         (record_btrace_supports_stopped_by_hw_breakpoint)
5487         (record_btrace_update_thread_list, record_btrace_thread_alive)
5488         (record_btrace_goto_begin, record_btrace_goto_end)
5489         (record_btrace_goto, record_btrace_stop_replaying_all)
5490         (record_btrace_execution_direction)
5491         (record_btrace_prepare_to_generate_core)
5492         (record_btrace_done_generating_core): Refactor as
5493         record_btrace_target methods.
5494         (init_record_btrace_ops): Delete.
5495         (_initialize_record_btrace): Remove reference to
5496         init_record_btrace_ops.
5497         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
5498         the execution_direction global.
5499         (record_full_base_target, record_full_target)
5500         (record_full_core_target): New classes.
5501         (record_full_ops): Now a record_full_target.
5502         (record_full_core_ops): Now a record_full_core_target.
5503         (record_full_target::detach, record_full_target::disconnect)
5504         (record_full_core_target::disconnect)
5505         (record_full_target::mourn_inferior, record_full_target::kill):
5506         New.
5507         (record_full_open, record_full_close, record_full_async): Refactor
5508         as methods of the record_full_base_target class.
5509         (record_full_resume, record_full_commit_resume): Refactor
5510         as methods of the record_full_target class.
5511         (record_full_wait, record_full_stopped_by_watchpoint)
5512         (record_full_stopped_data_address)
5513         (record_full_stopped_by_sw_breakpoint)
5514         (record_full_supports_stopped_by_sw_breakpoint)
5515         (record_full_stopped_by_hw_breakpoint)
5516         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
5517         methods of the record_full_base_target class.
5518         (record_full_store_registers, record_full_xfer_partial)
5519         (record_full_insert_breakpoint, record_full_remove_breakpoint):
5520         Refactor as methods of the record_full_target class.
5521         (record_full_can_execute_reverse, record_full_get_bookmark)
5522         (record_full_goto_bookmark, record_full_execution_direction)
5523         (record_full_record_method, record_full_info, record_full_delete)
5524         (record_full_is_replaying, record_full_will_replay)
5525         (record_full_goto_begin, record_full_goto_end, record_full_goto)
5526         (record_full_stop_replaying): Refactor as methods of the
5527         record_full_base_target class.
5528         (record_full_core_resume, record_full_core_kill)
5529         (record_full_core_fetch_registers)
5530         (record_full_core_prepare_to_store)
5531         (record_full_core_store_registers, record_full_core_xfer_partial)
5532         (record_full_core_insert_breakpoint)
5533         (record_full_core_remove_breakpoint)
5534         (record_full_core_has_execution): Refactor
5535         as methods of the record_full_core_target class.
5536         (record_full_base_target::supports_delete_record): New.
5537         (init_record_full_ops): Delete.
5538         (init_record_full_core_ops): Delete.
5539         (record_full_save): Refactor as method of the
5540         record_full_base_target class.
5541         (_initialize_record_full): Remove references to
5542         init_record_full_ops and init_record_full_core_ops.
5543
5544         * remote.c (remote_target, extended_remote_target): New classes.
5545         (remote_ops): Now a remote_target.
5546         (extended_remote_ops): Now an extended_remote_target.
5547         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
5548         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
5549         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
5550         (remote_pass_signals, remote_set_syscall_catchpoint)
5551         (remote_program_signals, )
5552         (remote_thread_always_alive): Remove target_ops parameter.
5553         (remote_thread_alive, remote_thread_name)
5554         (remote_update_thread_list, remote_threads_extra_info)
5555         (remote_static_tracepoint_marker_at)
5556         (remote_static_tracepoint_markers_by_strid)
5557         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
5558         (remote_open): Refactor as methods of remote_target.
5559         (extended_remote_open, extended_remote_detach)
5560         (extended_remote_attach, extended_remote_post_attach):
5561         (extended_remote_supports_disable_randomization)
5562         (extended_remote_create_inferior): : Refactor as method of
5563         extended_remote_target.
5564         (remote_set_permissions, remote_open_1, remote_detach)
5565         (remote_follow_fork, remote_follow_exec, remote_disconnect)
5566         (remote_resume, remote_commit_resume, remote_stop)
5567         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
5568         (remote_terminal_ours, remote_wait, remote_fetch_registers)
5569         (remote_prepare_to_store, remote_store_registers)
5570         (remote_flash_erase, remote_flash_done, remote_files_info)
5571         (remote_kill, remote_mourn, remote_insert_breakpoint)
5572         (remote_remove_breakpoint, remote_insert_watchpoint)
5573         (remote_watchpoint_addr_within_range)
5574         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
5575         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
5576         (remote_supports_stopped_by_sw_breakpoint)
5577         (remote_stopped_by_hw_breakpoint)
5578         (remote_supports_stopped_by_hw_breakpoint)
5579         (remote_stopped_by_watchpoint, remote_stopped_data_address)
5580         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
5581         (remote_verify_memory): Refactor as methods of remote_target.
5582         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
5583         parameter.
5584         (remote_xfer_partial, remote_get_memory_xfer_limit)
5585         (remote_search_memory, remote_rcmd, remote_memory_map)
5586         (remote_pid_to_str, remote_get_thread_local_address)
5587         (remote_get_tib_address, remote_read_description): Refactor as
5588         methods of remote_target.
5589         (remote_target::fileio_open, remote_target::fileio_pwrite)
5590         (remote_target::fileio_pread, remote_target::fileio_close): New.
5591         (remote_hostio_readlink, remote_hostio_fstat)
5592         (remote_filesystem_is_local, remote_can_execute_reverse)
5593         (remote_supports_non_stop, remote_supports_disable_randomization)
5594         (remote_supports_multi_process, remote_supports_cond_breakpoints)
5595         (remote_supports_enable_disable_tracepoint)
5596         (remote_supports_string_tracing)
5597         (remote_can_run_breakpoint_commands, remote_trace_init)
5598         (remote_download_tracepoint, remote_can_download_tracepoint)
5599         (remote_download_trace_state_variable, remote_enable_tracepoint)
5600         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
5601         (remote_trace_start, remote_get_trace_status)
5602         (remote_get_tracepoint_status, remote_trace_stop)
5603         (remote_trace_find, remote_get_trace_state_variable_value)
5604         (remote_save_trace_data, remote_get_raw_trace_data)
5605         (remote_set_disconnected_tracing, remote_core_of_thread)
5606         (remote_set_circular_trace_buffer, remote_traceframe_info)
5607         (remote_get_min_fast_tracepoint_insn_len)
5608         (remote_set_trace_buffer_size, remote_set_trace_notes)
5609         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
5610         (remote_disable_btrace, remote_teardown_btrace)
5611         (remote_read_btrace, remote_btrace_conf)
5612         (remote_augmented_libraries_svr4_read, remote_load)
5613         (remote_pid_to_exec_file, remote_can_do_single_step)
5614         (remote_execution_direction, remote_thread_handle_to_thread_info):
5615         Refactor as methods of remote_target.
5616         (init_remote_ops, init_extended_remote_ops): Delete.
5617         (remote_can_async_p, remote_is_async_p, remote_async)
5618         (remote_thread_events, remote_upload_tracepoints)
5619         (remote_upload_trace_state_variables): Refactor as methods of
5620         remote_target.
5621         (_initialize_remote): Remove references to init_remote_ops and
5622         init_extended_remote_ops.
5623
5624         * remote-sim.c (gdbsim_target): New class.
5625         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
5626         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
5627         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
5628         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
5629         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
5630         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
5631         Refactor as methods of gdbsim_target.
5632         (gdbsim_ops): Now a gdbsim_target.
5633         (init_gdbsim_ops): Delete.
5634         (gdbsim_cntrl_c): Adjust.
5635         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
5636
5637         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
5638         (the_amd64_linux_nat_target): New.
5639         (amd64_linux_fetch_inferior_registers)
5640         (amd64_linux_store_inferior_registers): Refactor as methods of
5641         amd64_linux_nat_target.
5642         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
5643         * i386-linux-nat.c: Don't include "linux-nat.h".
5644         (i386_linux_nat_target): New class.
5645         (the_i386_linux_nat_target): New.
5646         (i386_linux_fetch_inferior_registers)
5647         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
5648         as methods of i386_linux_nat_target.
5649         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
5650         * inf-child.c (inf_child_ops): Delete.
5651         (inf_child_fetch_inferior_registers)
5652         (inf_child_store_inferior_registers): Delete.
5653         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
5654         methods of inf_child_target.
5655         (inf_child_target::supports_terminal_ours)
5656         (inf_child_target::terminal_init)
5657         (inf_child_target::terminal_inferior)
5658         (inf_child_target::terminal_ours_for_output)
5659         (inf_child_target::terminal_ours, inf_child_target::interrupt)
5660         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
5661         New.
5662         (inf_child_open, inf_child_disconnect, inf_child_close)
5663         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
5664         (inf_child_post_startup_inferior, inf_child_can_run)
5665         (inf_child_pid_to_exec_file): Refactor as methods of
5666         inf_child_target.
5667         (inf_child_follow_fork): Delete.
5668         (inf_child_target::can_create_inferior)
5669         (inf_child_target::can_attach): New.
5670         (inf_child_target::has_all_memory, inf_child_target::has_memory)
5671         (inf_child_target::has_stack, inf_child_target::has_registers)
5672         (inf_child_target::has_execution): New.
5673         (inf_child_fileio_open, inf_child_fileio_pwrite)
5674         (inf_child_fileio_pread, inf_child_fileio_fstat)
5675         (inf_child_fileio_close, inf_child_fileio_unlink)
5676         (inf_child_fileio_readlink, inf_child_use_agent)
5677         (inf_child_can_use_agent): Refactor as methods of
5678         inf_child_target.
5679         (return_zero, inf_child_target): Delete.
5680         (inf_child_target::inf_child_target): New.
5681         * inf-child.h: Include "target.h".
5682         (inf_child_target): Delete function prototype.
5683         (inf_child_target): New class.
5684         (inf_child_open_target, inf_child_mourn_inferior)
5685         (inf_child_maybe_unpush_target): Delete.
5686         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
5687         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
5688         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
5689         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
5690         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
5691         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
5692         (inf_ptrace_wait, inf_ptrace_xfer_partial)
5693         (inf_ptrace_thread_alive, inf_ptrace_files_info)
5694         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
5695         methods of inf_ptrace_target.
5696         (inf_ptrace_target): Delete function.
5697         * inf-ptrace.h: Include "inf-child.h".
5698         (inf_ptrace_target): Delete function declaration.
5699         (inf_ptrace_target): New class.
5700         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
5701         * linux-nat.c (linux_target): New.
5702         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
5703         (linux_nat_target::~linux_nat_target): New.
5704         (linux_child_post_attach, linux_child_post_startup_inferior)
5705         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
5706         (linux_child_remove_fork_catchpoint)
5707         (linux_child_insert_vfork_catchpoint)
5708         (linux_child_remove_vfork_catchpoint)
5709         (linux_child_insert_exec_catchpoint)
5710         (linux_child_remove_exec_catchpoint)
5711         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
5712         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
5713         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
5714         (linux_nat_stopped_data_address)
5715         (linux_nat_stopped_by_sw_breakpoint)
5716         (linux_nat_supports_stopped_by_sw_breakpoint)
5717         (linux_nat_stopped_by_hw_breakpoint)
5718         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
5719         (linux_nat_kill, linux_nat_mourn_inferior)
5720         (linux_nat_xfer_partial, linux_nat_thread_alive)
5721         (linux_nat_update_thread_list, linux_nat_pid_to_str)
5722         (linux_nat_thread_name, linux_child_pid_to_exec_file)
5723         (linux_child_static_tracepoint_markers_by_strid)
5724         (linux_nat_is_async_p, linux_nat_can_async_p)
5725         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
5726         (linux_nat_supports_multi_process)
5727         (linux_nat_supports_disable_randomization, linux_nat_async)
5728         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
5729         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
5730         (linux_nat_fileio_open, linux_nat_fileio_readlink)
5731         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
5732         methods of linux_nat_target.
5733         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
5734         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
5735         parameter.
5736         (check_stopped_by_watchpoint): Adjust.
5737         (linux_xfer_partial): Delete.
5738         (linux_target_install_ops, linux_target, linux_nat_add_target):
5739         Delete.
5740         (linux_nat_target::linux_nat_target): New.
5741         * linux-nat.h: Include "inf-ptrace.h".
5742         (linux_nat_target): New.
5743         (linux_target, linux_target_install_ops, linux_nat_add_target):
5744         Delete function declarations.
5745         (linux_target): Declare global.
5746         * linux-thread-db.c (thread_db_target): New.
5747         (thread_db_target::thread_db_target): New.
5748         (thread_db_ops): Delete.
5749         (the_thread_db_target): New.
5750         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
5751         (thread_db_update_thread_list, thread_db_pid_to_str)
5752         (thread_db_extra_thread_info)
5753         (thread_db_thread_handle_to_thread_info)
5754         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
5755         (thread_db_resume): Refactor as methods of thread_db_target.
5756         (init_thread_db_ops): Delete.
5757         (_initialize_thread_db): Remove reference to init_thread_db_ops.
5758         * x86-linux-nat.c: Don't include "linux-nat.h".
5759         (super_post_startup_inferior): Delete.
5760         (x86_linux_nat_target::~x86_linux_nat_target): New.
5761         (x86_linux_child_post_startup_inferior)
5762         (x86_linux_read_description, x86_linux_enable_btrace)
5763         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
5764         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
5765         methods of x86_linux_nat_target.
5766         (x86_linux_create_target): Delete.  Bits folded ...
5767         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
5768         pointer.
5769         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
5770         (x86_linux_nat_target): New class.
5771         (x86_linux_create_target): Delete.
5772         (x86_linux_add_target): Now takes a linux_nat_target pointer.
5773         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
5774         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
5775         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
5776         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
5777         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
5778         make extern.
5779         (x86_use_watchpoints): Delete.
5780         * x86-nat.h: Include "breakpoint.h" and "target.h".
5781         (x86_use_watchpoints): Delete.
5782         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
5783         (x86_stopped_by_watchpoint, x86_stopped_data_address)
5784         (x86_insert_watchpoint, x86_remove_watchpoint)
5785         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
5786         (x86_stopped_by_hw_breakpoint): New declarations.
5787         (x86_nat_target): New template class.
5788
5789         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
5790         (the_ppc_linux_nat_target): New.
5791         (ppc_linux_fetch_inferior_registers)
5792         (ppc_linux_can_use_hw_breakpoint)
5793         (ppc_linux_region_ok_for_hw_watchpoint)
5794         (ppc_linux_ranged_break_num_registers)
5795         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
5796         (ppc_linux_insert_mask_watchpoint)
5797         (ppc_linux_remove_mask_watchpoint)
5798         (ppc_linux_can_accel_watchpoint_condition)
5799         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
5800         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
5801         (ppc_linux_watchpoint_addr_within_range)
5802         (ppc_linux_masked_watch_num_registers)
5803         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
5804         (ppc_linux_read_description): Refactor as methods of
5805         ppc_linux_nat_target.
5806         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
5807
5808         * procfs.c (procfs_xfer_partial): Delete forward declaration.
5809         (procfs_target): New class.
5810         (the_procfs_target): New.
5811         (procfs_target): Delete function.
5812         (procfs_auxv_parse, procfs_attach, procfs_detach)
5813         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
5814         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
5815         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
5816         (procfs_create_inferior, procfs_update_thread_list)
5817         (procfs_thread_alive, procfs_pid_to_str)
5818         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
5819         (procfs_stopped_data_address, procfs_insert_watchpoint)
5820         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
5821         (proc_find_memory_regions, procfs_info_proc)
5822         (procfs_make_note_section): Refactor as methods of procfs_target.
5823         (_initialize_procfs): Adjust.
5824         * sol-thread.c (sol_thread_target): New class.
5825         (sol_thread_ops): Now a sol_thread_target.
5826         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
5827         (sol_thread_fetch_registers, sol_thread_store_registers)
5828         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
5829         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
5830         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
5831         (init_sol_thread_ops): Delete.
5832         (_initialize_sol_thread): Adjust.  Remove references to
5833         init_sol_thread_ops and complete_target_initialization.
5834
5835         * windows-nat.c (windows_nat_target): New class.
5836         (windows_fetch_inferior_registers)
5837         (windows_store_inferior_registers, windows_resume, windows_wait)
5838         (windows_attach, windows_detach, windows_pid_to_exec_file)
5839         (windows_files_info, windows_create_inferior)
5840         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
5841         (windows_close, windows_pid_to_str, windows_xfer_partial)
5842         (windows_get_tib_address, windows_get_ada_task_ptid)
5843         (windows_thread_name, windows_thread_alive): Refactor as
5844         windows_nat_target methods.
5845         (do_initial_windows_stuff): Adjust.
5846         (windows_target): Delete function.
5847         (_initialize_windows_nat): Adjust.
5848
5849         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
5850         (darwin_mourn_inferior, darwin_kill_inferior)
5851         (darwin_create_inferior, darwin_attach, darwin_detach)
5852         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
5853         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
5854         (darwin_supports_multi_process): Refactor as darwin_nat_target
5855         methods.
5856         (darwin_resume_to, darwin_files_info): Delete.
5857         (_initialize_darwin_inferior): Rename to ...
5858         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
5859         * darwin-nat.h: Include "inf-child.h".
5860         (darwin_nat_target): New class.
5861         (darwin_complete_target): Delete.
5862         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
5863         (darwin_target): New.
5864         (i386_darwin_fetch_inferior_registers)
5865         (i386_darwin_store_inferior_registers): Refactor as methods of
5866         darwin_nat_target.
5867         (darwin_complete_target): Delete, with ...
5868         (_initialize_i386_darwin_nat): ... bits factored out here.
5869
5870         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
5871         (the_alpha_linux_nat_target): New.
5872         (alpha_linux_register_u_offset): Refactor as
5873         alpha_linux_nat_target method.
5874         (_initialize_alpha_linux_nat): Adjust.
5875         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
5876         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
5877         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
5878         methods of linux_nat_trad_target.
5879         (linux_trad_target): Delete.
5880         * linux-nat-trad.h (linux_trad_target): Delete function.
5881         (linux_nat_trad_target): New class.
5882         * mips-linux-nat.c (mips_linux_nat_target): New class.
5883         (super_fetch_registers, super_store_registers, super_close):
5884         Delete.
5885         (the_mips_linux_nat_target): New.
5886         (mips64_linux_regsets_fetch_registers)
5887         (mips64_linux_regsets_store_registers)
5888         (mips64_linux_fetch_registers, mips64_linux_store_registers)
5889         (mips_linux_register_u_offset, mips_linux_read_description)
5890         (mips_linux_can_use_hw_breakpoint)
5891         (mips_linux_stopped_by_watchpoint)
5892         (mips_linux_stopped_data_address)
5893         (mips_linux_region_ok_for_hw_watchpoint)
5894         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
5895         (mips_linux_close): Refactor as methods of mips_linux_nat.
5896         (_initialize_mips_linux_nat): Adjust to C++ification.
5897
5898         * aix-thread.c (aix_thread_target): New class.
5899         (aix_thread_ops): Now an aix_thread_target.
5900         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
5901         (aix_thread_fetch_registers, aix_thread_store_registers)
5902         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
5903         (aix_thread_thread_alive, aix_thread_pid_to_str)
5904         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
5905         Refactor as methods of aix_thread_target.
5906         (init_aix_thread_ops): Delete.
5907         (_initialize_aix_thread): Remove references to init_aix_thread_ops
5908         and complete_target_initialization.
5909         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
5910         (rs6000_nat_target): New class.
5911         (the_rs6000_nat_target): New.
5912         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
5913         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
5914         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
5915         (super_create_inferior): Delete.
5916         (_initialize_rs6000_nat): Adjust to C++ification.
5917
5918         * arm-linux-nat.c (arm_linux_nat_target): New class.
5919         (the_arm_linux_nat_target): New.
5920         (arm_linux_fetch_inferior_registers)
5921         (arm_linux_store_inferior_registers, arm_linux_read_description)
5922         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
5923         (arm_linux_remove_hw_breakpoint)
5924         (arm_linux_region_ok_for_hw_watchpoint)
5925         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
5926         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
5927         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
5928         arm_linux_nat_target.
5929         (_initialize_arm_linux_nat): Adjust to C++ification.
5930
5931         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
5932         (the_aarch64_linux_nat_target): New.
5933         (aarch64_linux_fetch_inferior_registers)
5934         (aarch64_linux_store_inferior_registers)
5935         (aarch64_linux_child_post_startup_inferior)
5936         (aarch64_linux_read_description)
5937         (aarch64_linux_can_use_hw_breakpoint)
5938         (aarch64_linux_insert_hw_breakpoint)
5939         (aarch64_linux_remove_hw_breakpoint)
5940         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
5941         (aarch64_linux_region_ok_for_hw_watchpoint)
5942         (aarch64_linux_stopped_data_address)
5943         (aarch64_linux_stopped_by_watchpoint)
5944         (aarch64_linux_watchpoint_addr_within_range)
5945         (aarch64_linux_can_do_single_step): Refactor as methods of
5946         aarch64_linux_nat_target.
5947         (super_post_startup_inferior): Delete.
5948         (_initialize_aarch64_linux_nat): Adjust to C++ification.
5949
5950         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
5951         (the_hppa_linux_nat_target): New.
5952         (hppa_linux_fetch_inferior_registers)
5953         (hppa_linux_store_inferior_registers): Refactor as methods of
5954         hppa_linux_nat_target.
5955         (_initialize_hppa_linux_nat): Adjust to C++ification.
5956
5957         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
5958         (the_ia64_linux_nat_target): New.
5959         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
5960         (ia64_linux_stopped_data_address)
5961         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
5962         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
5963         ia64_linux_nat_target methods.
5964         (super_xfer_partial): Delete.
5965         (_initialize_ia64_linux_nat): Adjust to C++ification.
5966
5967         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
5968         (the_m32r_linux_nat_target): New.
5969         (m32r_linux_fetch_inferior_registers)
5970         (m32r_linux_store_inferior_registers): Refactor as
5971         m32r_linux_nat_target methods.
5972         (_initialize_m32r_linux_nat): Adjust to C++ification.
5973
5974         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
5975         (the_m68k_linux_nat_target): New.
5976         (m68k_linux_fetch_inferior_registers)
5977         (m68k_linux_store_inferior_registers): Refactor as
5978         m68k_linux_nat_target methods.
5979         (_initialize_m68k_linux_nat): Adjust to C++ification.
5980
5981         * s390-linux-nat.c (s390_linux_nat_target): New class.
5982         (the_s390_linux_nat_target): New.
5983         (s390_linux_fetch_inferior_registers)
5984         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
5985         (s390_insert_watchpoint, s390_remove_watchpoint)
5986         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
5987         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
5988         (s390_auxv_parse, s390_read_description): Refactor as methods of
5989         s390_linux_nat_target.
5990         (_initialize_s390_nat): Adjust to C++ification.
5991
5992         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
5993         (the_sparc_linux_nat_target): New.
5994         (_initialize_sparc_linux_nat): Adjust to C++ification.
5995         * sparc-nat.c (sparc_fetch_inferior_registers)
5996         (sparc_store_inferior_registers): Remove target_ops parameter.
5997         * sparc-nat.h (sparc_fetch_inferior_registers)
5998         (sparc_store_inferior_registers): Remove target_ops parameter.
5999         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6000         (the_sparc64_linux_nat_target): New.
6001         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6002
6003         * spu-linux-nat.c (spu_linux_nat_target): New class.
6004         (the_spu_linux_nat_target): New.
6005         (spu_child_post_startup_inferior, spu_child_post_attach)
6006         (spu_child_wait, spu_fetch_inferior_registers)
6007         (spu_store_inferior_registers, spu_xfer_partial)
6008         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6009         methods.
6010         (_initialize_spu_nat): Adjust to C++ification.
6011
6012         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6013         (the_tilegx_linux_nat_target): New.
6014         (fetch_inferior_registers, store_inferior_registers):
6015         Refactor as methods.
6016         (_initialize_tile_linux_nat): Adjust to C++ification.
6017
6018         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6019         (the_xtensa_linux_nat_target): New.
6020         (xtensa_linux_fetch_inferior_registers)
6021         (xtensa_linux_store_inferior_registers): Refactor as
6022         xtensa_linux_nat_target methods.
6023         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6024
6025         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6026         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6027         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6028         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6029         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6030         (fbsd_stopped_by_sw_breakpoint)
6031         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6032         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6033         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6034         (fbsd_post_startup_inferior, fbsd_post_attach)
6035         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6036         (fbsd_set_syscall_catchpoint)
6037         (super_xfer_partial, super_resume, super_wait)
6038         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6039         (fbsd_handle_debug_trap): Remove target_ops parameter.
6040         (fbsd_nat_add_target): Delete.
6041         * fbsd-nat.h: Include "inf-ptrace.h".
6042         (fbsd_nat_add_target): Delete.
6043         (USE_SIGTRAP_SIGINFO): Define.
6044         (fbsd_nat_target): New class.
6045
6046         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6047         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6048         (amd64bsd_target): Delete.
6049         * amd64-bsd-nat.h: New file.
6050         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6051         "x86-bsd-nat.h".
6052         (amd64_fbsd_nat_target): New class.
6053         (the_amd64_fbsd_nat_target): New.
6054         (amd64fbsd_read_description): Refactor as method of
6055         amd64_fbsd_nat_target.
6056         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6057         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6058         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6059         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6060         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6061         (i386bsd_target): Delete.
6062         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6063         (i386bsd_fetch_inferior_registers)
6064         (i386bsd_store_inferior_registers): Declare.
6065         (i386_bsd_nat_target): New class.
6066         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6067         (the_i386_fbsd_nat_target): New.
6068         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6069         i386_fbsd_nat_target methods.
6070         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6071         (_initialize_i386fbsd_nat): Adjust to C++ification.
6072         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6073         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6074         (_initialize_x86_bsd_nat): Adjust to C++ification.
6075         * x86-bsd-nat.h: Include "x86-nat.h".
6076         (x86bsd_target): Delete declaration.
6077         (x86bsd_nat_target): New class.
6078
6079         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6080         (the_aarch64_fbsd_nat_target): New.
6081         (aarch64_fbsd_fetch_inferior_registers)
6082         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6083         aarch64_fbsd_nat_target.
6084         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6085         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6086         (the_alpha_bsd_nat_target): New.
6087         (alphabsd_fetch_inferior_registers)
6088         (alphabsd_store_inferior_registers): Refactor as
6089         alpha_bsd_nat_target methods.
6090         (_initialize_alphabsd_nat): Refactor as methods of
6091         alpha_bsd_nat_target.
6092         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6093         (the_amd64_nbsd_nat_target): New.
6094         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6095         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6096         (the_amd64_obsd_nat_target): New.
6097         (_initialize_amd64obsd_nat): Adjust to C++ification.
6098         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6099         (the_arm_fbsd_nat_target): New.
6100         (arm_fbsd_fetch_inferior_registers)
6101         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6102         (_initialize_arm_fbsd_nat): Refactor as methods of
6103         arm_fbsd_nat_target.
6104         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6105         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6106         (the_arm_netbsd_nat_target): New.
6107         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6108         arm_netbsd_nat_target.
6109         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6110         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6111         (the_hppa_nbsd_nat_target): New.
6112         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6113         hppa_nbsd_nat_target methods.
6114         (_initialize_hppanbsd_nat): Adjust to C++ification.
6115         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6116         (the_hppa_obsd_nat_target): New.
6117         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6118         methods of hppa_obsd_nat_target.
6119         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6120         add_target.
6121         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6122         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6123         add_target.
6124         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6125         (_initialize_i386obsd_nat): Use add_target.
6126         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6127         (the_m68k_bsd_nat_target): New.
6128         (m68kbsd_fetch_inferior_registers)
6129         (m68kbsd_store_inferior_registers): Refactor as methods of
6130         m68k_bsd_nat_target.
6131         (_initialize_m68kbsd_nat): Adjust to C++ification.
6132         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6133         (the_mips_fbsd_nat_target): New.
6134         (mips_fbsd_fetch_inferior_registers)
6135         (mips_fbsd_store_inferior_registers): Refactor as methods of
6136         mips_fbsd_nat_target.
6137         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6138         add_target.
6139         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6140         (the_mips_nbsd_nat_target): New.
6141         (mipsnbsd_fetch_inferior_registers)
6142         (mipsnbsd_store_inferior_registers): Refactor as methods of
6143         mips_nbsd_nat_target.
6144         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6145         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6146         (the_mips64_obsd_nat_target): New.
6147         (mips64obsd_fetch_inferior_registers)
6148         (mips64obsd_store_inferior_registers): Refactor as methods of
6149         mips64_obsd_nat_target.
6150         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6151         add_target.
6152         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6153         nbsd_nat_target.
6154         * nbsd-nat.h: Include "inf-ptrace.h".
6155         (nbsd_nat_target): New class.
6156         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6157         (obsd_wait): Refactor as methods of obsd_nat_target.
6158         (obsd_add_target): Delete.
6159         * obsd-nat.h: Include "inf-ptrace.h".
6160         (obsd_nat_target): New class.
6161         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6162         (the_ppc_fbsd_nat_target): New.
6163         (ppcfbsd_fetch_inferior_registers)
6164         (ppcfbsd_store_inferior_registers): Refactor as methods of
6165         ppc_fbsd_nat_target.
6166         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6167         add_target.
6168         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6169         (the_ppc_nbsd_nat_target): New.
6170         (ppcnbsd_fetch_inferior_registers)
6171         (ppcnbsd_store_inferior_registers): Refactor as methods of
6172         ppc_nbsd_nat_target.
6173         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6174         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6175         (the_ppc_obsd_nat_target): New.
6176         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6177         methods of ppc_obsd_nat_target.
6178         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6179         add_target.
6180         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6181         (the_sh_nbsd_nat_target): New.
6182         (shnbsd_fetch_inferior_registers)
6183         (shnbsd_store_inferior_registers): Refactor as methods of
6184         sh_nbsd_nat_target.
6185         (_initialize_shnbsd_nat): Adjust to C++ification.
6186         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6187         (inf_ptrace_xfer_partial): Delete.
6188         (sparc_xfer_partial, sparc_target): Delete.
6189         * sparc-nat.h (sparc_fetch_inferior_registers)
6190         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6191         (sparc_target): Delete function declaration.
6192         (sparc_target): New template class.
6193         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6194         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6195         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6196         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6197         add_target.
6198         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6199         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6200         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6201         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6202         add_target.
6203         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6204         (the_vax_bsd_nat_target): New.
6205         (vaxbsd_fetch_inferior_registers)
6206         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6207         methods.
6208         (_initialize_vaxbsd_nat): Adjust to C++ification.
6209
6210         * bsd-kvm.c (bsd_kvm_target): New class.
6211         (bsd_kvm_ops): Now a bsd_kvm_target.
6212         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6213         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6214         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6215         bsd_kvm_target.
6216         (bsd_kvm_return_one): Delete.
6217         (bsd_kvm_add_target): Adjust to C++ification.
6218
6219         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6220         (nto_procfs_target_procfs): New classes.
6221         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6222         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6223         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6224         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6225         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6226         (procfs_remove_hw_breakpoint, procfs_resume)
6227         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6228         (procfs_kill_inferior, procfs_store_registers)
6229         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6230         as methods of nto_procfs_target.
6231         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6232         (nto_native_ops): Delete.
6233         (procfs_open, procfs_native_open): Delete.
6234         (nto_native_ops): Now an nto_procfs_target_native.
6235         (init_procfs_targets): Adjust to C++ification.
6236         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6237         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6238         Refactor as methods of nto_procfs_target.
6239
6240         * go32-nat.c (go32_nat_target): New class.
6241         (the_go32_nat_target): New.
6242         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6243         (go32_store_registers, go32_xfer_partial, go32_files_info)
6244         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6245         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6246         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6247         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6248         (go32_target): Delete.
6249         (_initialize_go32_nat): Adjust to C++ification.
6250
6251         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6252         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6253         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6254         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6255         gnu_nat_target.
6256         (gnu_target): Delete.
6257         * gnu-nat.h (gnu_target): Delete.
6258         (gnu_nat_target): New class.
6259         * i386-gnu-nat.c (gnu_base_target): New.
6260         (i386_gnu_nat_target): New class.
6261         (the_i386_gnu_nat_target): New.
6262         (_initialize_i386gnu_nat): Adjust to C++ification.
6263
6264 2018-05-02  Pedro Alves  <palves@redhat.com>
6265
6266         * bfd-target.c (target_bfd_xclose): Rename to ...
6267         (target_bfd_close): ... this.
6268         (target_bfd_reopen): Adjust.
6269         * target.c (target_close): Remove references to to_xclose.
6270         * target.h (target_ops::to_xclose): Delete.
6271         (target_ops::to_close): Update comments.
6272
6273 2018-05-02  Pedro Alves  <palves@redhat.com>
6274
6275         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6276         "linux-nat.h".
6277         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6278         * inf-ptrace.c (inf_ptrace_register_u_offset)
6279         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6280         (inf_ptrace_store_register, inf_ptrace_store_registers)
6281         (inf_ptrace_trad_target): Move to ...
6282         * linux-nat-trad.c: ... this new file.
6283         * linux-nat-trad.h: New file.
6284         * linux-nat.c (linux_target_install_ops): Make extern.
6285         (linux_trad_target): Delete.
6286         * linux-nat.h (linux_trad_target): Delete declaration.
6287         (linux_target_install_ops): Declare.
6288         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6289         "linux-nat.h".
6290
6291 2018-05-02  Pedro Alves  <palves@redhat.com>
6292
6293         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6294         procfs_target/add_target here.
6295         * procfs.c (procfs_target): Make static.
6296         (_initialize_procfs): Call add_target here.
6297         * procfs.h (struct target_ops): Remove forward declaration.
6298         (procfs_target): Remove declaration.
6299         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6300
6301 2018-05-02  Pedro Alves  <palves@redhat.com>
6302
6303         * procfs.c (procfs_stopped_by_watchpoint)
6304         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6305         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6306         Forward declare.
6307         (procfs_use_watchpoints): Delete, move contents...
6308         (procfs_target): ... here.
6309         * procfs.h (procfs_use_watchpoints): Delete declaration.
6310         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6311         procfs_use_watchpoints.
6312         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6313         procfs_use_watchpoints.
6314
6315 2018-05-02  Tom Tromey  <tom@tromey.com>
6316
6317         PR python/20084:
6318         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6319         and var_zuinteger_unlimited.
6320         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6321         and PARAM_ZUINTEGER_UNLIMITED.
6322         (set_parameter_value): Handle var_zuinteger and
6323         var_zuinteger_unlimited.
6324         (add_setshow_generic): Likewise.
6325         (parmpy_init): Likewise.
6326
6327 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6328
6329         PR rust/23124
6330         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6331         pointer is not null before dereferencing it.
6332
6333 2018-04-30  Tom Tromey  <tom@tromey.com>
6334
6335         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6336         is_mi_like_p.
6337
6338 2018-04-30  Tom Tromey  <tom@tromey.com>
6339
6340         * breakpoint.c (mention): Remove use of is_mi_like_p.
6341         (print_mention_ranged_breakpoint): Likewise.
6342         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6343         of is_mi_like_p.
6344
6345 2018-04-30  Tom Tromey  <tom@tromey.com>
6346
6347         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6348
6349 2018-04-30  Tom Tromey  <tom@tromey.com>
6350
6351         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6352         (info_spu_event_command): Remove some uses of is_mi_like_p.
6353
6354 2018-04-30  Tom Tromey  <tom@tromey.com>
6355
6356         * python/py-framefilter.c (py_print_single_arg)
6357         (enumerate_locals, py_print_args, py_print_frame): Remove some
6358         uses of is_mi_like_p.
6359
6360 2018-04-30  Tom Tromey  <tom@tromey.com>
6361
6362         * ui-out.c: Update.
6363         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6364         * ui-out.h (ui_out::is_mi_like_p): Now const.
6365         (ui_out::do_is_mi_like_p): Now const.
6366         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6367
6368 2018-04-30  Tom Tromey  <tom@tromey.com>
6369
6370         * varobj.c (varobj_set_visualizer): Use new_reference.
6371         * python/python.c (gdbpy_decode_line): Use new_reference.
6372         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6373         new_reference.
6374
6375 2018-04-30  Tom Tromey  <tom@tromey.com>
6376
6377         * varobj.c (install_new_value): Use new_reference.
6378         * value.h (value_incref): Return void.  Swap intro comment with
6379         value_decref.
6380         * value.c (set_value_parent): Use new_reference.
6381         (value_incref): Return void.  Update intro comment.
6382         (release_value): Use new_reference.
6383         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
6384
6385 2018-04-30  Tom Tromey  <tom@tromey.com>
6386
6387         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
6388         * gdb_bfd.h (new_bfd_ref): Remove.
6389         (gdb_bfd_open): Update comment.
6390         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
6391         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
6392         (gdb_bfd_fdopenr): Use new_reference.
6393         * exec.c (exec_file_attach): Use new_reference.
6394
6395 2018-04-30  Tom Tromey  <tom@tromey.com>
6396
6397         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
6398         method.
6399
6400 2018-04-30  Tom Tromey  <tom@tromey.com>
6401
6402         * jit.c (jit_read_code_entry): Use type_align.
6403         * i386-tdep.c (i386_gdbarch_init): Don't call
6404         set_gdbarch_long_long_align_bit.
6405         * gdbarch.sh: Remove long_long_align_bit.
6406         * gdbarch.c, gdbarch.h: Rebuild.
6407         * arc-tdep.c (arc_type_align): New function.
6408         (arc_gdbarch_init): Use arc_type_align.  Don't call
6409         set_gdbarch_long_long_align_bit.
6410
6411 2018-04-30  Tom Tromey  <tom@tromey.com>
6412
6413         * rust-lang.c (rust_type_alignment): Remove.
6414         (rust_composite_type): Use type_align.
6415
6416 2018-04-30  Tom Tromey  <tom@tromey.com>
6417
6418         * NEWS: Mention Type.align.
6419         * python/py-type.c (typy_get_alignof): New function.
6420         (type_object_getset): Add "alignof".
6421
6422 2018-04-30  Tom Tromey  <tom@tromey.com>
6423
6424         PR exp/17095:
6425         * NEWS: Update.
6426         * std-operator.def (UNOP_ALIGNOF): New operator.
6427         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
6428         New.
6429         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
6430         * c-lang.c (c_op_print_tab): Add alignof.
6431         * c-exp.y (ALIGNOF): New token.
6432         (exp): Add "ALIGNOF" production.
6433         (ident_tokens): Add _Alignof and alignof.
6434
6435 2018-04-30  Tom Tromey  <tom@tromey.com>
6436
6437         * i386-tdep.c (i386_type_align): New function.
6438         (i386_gdbarch_init): Update.
6439         * gdbarch.sh (type_align): New method.
6440         * gdbarch.c, gdbarch.h: Rebuild.
6441         * arch-utils.h (default_type_align): Declare.
6442         * arch-utils.c (default_type_align): New function.
6443         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
6444         (struct type) <align_log2>: New field.
6445         <instance_flags>: Now a bitfield.
6446         (TYPE_RAW_ALIGN): New macro.
6447         (type_align, type_raw_align, set_type_align): Declare.
6448         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
6449         functions.
6450         * dwarf2read.c (quirk_rust_enum): Set type alignment.
6451         (get_alignment, maybe_set_alignment): New functions.
6452         (read_structure_type, read_enumeration_type, read_array_type)
6453         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
6454         (read_subrange_type, read_base_type): Set type alignment.
6455
6456 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
6457
6458         * dwarf2read.c (read_index_from_section): Use bool.
6459
6460 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
6461
6462         PR gdb/22950
6463         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
6464         with #ifdef.
6465
6466 2018-04-29  John Reiser  <jreiser@BitWagon.com>
6467
6468         PR build/22873
6469         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
6470         last step, and do it atomically.
6471
6472 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
6473
6474         * compile/compile-c-types.c (convert_int, convert_float):
6475         Update for C FE v1.
6476
6477 2018-04-27  Tom Tromey  <tom@tromey.com>
6478
6479         PR rust/22545:
6480         * rust-lang.c (rust_inclusive_range_type_p): New function.
6481         (rust_range): Handle inclusive ranges.
6482         (rust_compute_range): Likewise.
6483         * rust-exp.y (struct rust_op) <inclusive>: New field.
6484         (DOTDOTEQ): New constant.
6485         (range_expr): Add "..=" productions.
6486         (operator_tokens): Add "..=" token.
6487         (ast_range): Add "inclusive" parameter.
6488         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
6489         ranges.
6490         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
6491         bounds values.
6492         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
6493         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
6494         Update comments.
6495         * expprint.c (print_subexp_standard): Handle new bounds values.
6496         (dump_subexp_body_standard): Likewise.
6497
6498 2018-04-27  Tom Tromey  <tom@tromey.com>
6499
6500         * configure: Rebuild.
6501         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
6502         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
6503         "OVERRIDE".
6504         (class symbol_needs_eval_context): Likewise.
6505         * dwarf2read.c (mock_mapped_index::symbol_name_count)
6506         (mock_mapped_index::symbol_name_at): Use "override".  Remove
6507         "virtual".
6508         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
6509         "override".
6510         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
6511         * aarch64-tdep.c (instruction_reader::read): Use "override".
6512         (instruction_reader_test::read): Likewise.
6513         * arm-tdep.c (instruction_reader::read): Use "override".
6514         (instruction_reader_thumb::read): Likewise.
6515
6516 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
6517
6518         PR remote/9665
6519         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
6520         instead of remote_send.
6521         (remote_send): Remove.
6522
6523 2018-04-26  Pedro Alves  <palves@redhat.com>
6524
6525         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
6526         find_function_start_sal instead of find_pc_line.
6527
6528 2018-04-26  Pedro Alves  <palves@redhat.com>
6529
6530         * breakpoint.c (set_breakpoint_location_function): Handle
6531         mst_data_gnu_ifunc.
6532         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
6533         * elfread.c (elf_symtab_read): Give data symbols with
6534         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
6535         (elf_rel_plt_read): Update comment.
6536         * linespec.c (convert_linespec_to_sals): Handle
6537         mst_data_gnu_ifunc.
6538         (minsym_found): Handle mst_data_gnu_ifunc.
6539         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
6540         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
6541         * parse.c (find_minsym_type_and_address): Handle
6542         mst_data_gnu_ifunc.
6543         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
6544         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
6545         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
6546         comment.
6547         <mst_data_gnu_ifunc>: New enumerator.
6548
6549 2018-04-26  Pedro Alves  <palves@redhat.com>
6550
6551         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
6552         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
6553         'want_trampoline' parameter by a lookup_msym_prefer parameter.
6554         Handle it.
6555         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
6556         (lookup_minimal_symbol_by_pc): Adjust.
6557         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
6558         (lookup_solib_trampoline_symbol_by_pc): Adjust.
6559         * minsyms.h (lookup_msym_prefer): New enum.
6560         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6561         parameter by a lookup_msym_prefer parameter.
6562
6563 2018-04-26  Pedro Alves  <palves@redhat.com>
6564
6565         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
6566         ends in "@plt" instead of looking at the symbol's section.
6567
6568 2018-04-26  Pedro Alves  <palves@redhat.com>
6569
6570         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
6571         all references.
6572         (find_pc_partial_function_gnu_ifunc): Rename to ...
6573         (find_pc_partial_function): ... this, and remove references to
6574         'is_gnu_ifunc_p'.
6575         (find_pc_partial_function): Delete old implementation.
6576         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
6577
6578 2018-04-26  Pedro Alves  <palves@redhat.com>
6579
6580         * linespec.c (struct bound_minimal_symbol_search_key): New.
6581         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
6582         skip first line if we found a GNU ifunc minimal symbol by name.
6583         (compare_msymbols): Change parameters to work with a destructured
6584         lhs minsym.
6585         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
6586         functions.
6587
6588 2018-04-26  Pedro Alves  <palves@redhat.com>
6589
6590         * breakpoint.c (set_breakpoint_location_function): Don't resolve
6591         ifunc targets here.  Instead, if we have an ifunc minsym, use its
6592         address/name.
6593         (add_location_to_breakpoint): Store the minsym and the objfile in
6594         the breakpoint location.
6595         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
6596         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
6597         Record the minsym in the sal.
6598         * symtab.h (symtab_and_line) <msymbol>: New field.
6599
6600 2018-04-26  Pedro Alves  <palves@redhat.com>
6601
6602         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
6603         unless we actually resolved the ifunc.
6604
6605 2018-04-26  Pedro Alves  <palves@redhat.com>
6606
6607         * c-exp.y (variable production): Prefer ifunc minsyms over
6608         regular function symbols.
6609         * symtab.c (find_gnu_ifunc): New function.
6610         * minsyms.h (lookup_msym_prefer): New enum.
6611         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6612         parameter by a lookup_msym_prefer parameter.
6613         * symtab.h (find_gnu_ifunc): New declaration.
6614
6615 2018-04-26  Pedro Alves  <palves@redhat.com>
6616
6617         * blockframe.c (find_gnu_ifunc_target_type): New function.
6618         (find_function_type): New.
6619         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
6620         return a value with a memory address.
6621         (eval_call): For calls to GNU ifunc functions, try to find the
6622         type of the target function from the type that the resolver
6623         returns.
6624         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
6625         symbols.
6626         * infcall.c (find_function_return_type): Delete.
6627         (find_function_addr): Add 'function_type' parameter.  For calls to
6628         GNU ifunc functions, try to find the type of the target function
6629         from the type that the resolver returns, and return it via
6630         FUNCTION_TYPE.
6631         (call_function_by_hand_dummy): Adjust to use the function type
6632         returned by find_function_addr.
6633         (find_function_addr): Add 'function_type' parameter and move
6634         description here.
6635         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
6636         declarations.
6637
6638 2018-04-26  Pedro Alves  <palves@redhat.com>
6639
6640         * c-exp.y (variable production): Skip finding an alias for ifunc
6641         symbols.
6642
6643 2018-04-26  Pedro Alves  <palves@redhat.com>
6644
6645         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
6646
6647 2018-04-25  Pedro Alves  <palves@redhat.com>
6648
6649         * infcmd.c (kill_command): Print the pid as string, not the whole
6650         thread's ptid.  Add comment.  s/has been killed/killed/ in output
6651         message.
6652         * remote.c (remote_detach_1): Print the pid as string, not the
6653         whole thread's ptid.
6654
6655 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
6656             Sergio Durigan Junior  <sergiodj@redhat.com>
6657             Pedro Alves  <palves@redhat.com>
6658
6659         * infcmd.c (kill_command): Print message when inferior has
6660         been killed.
6661         * inferior.c (print_inferior_events): Remove 'static'.  Set as
6662         '1'.
6663         (add_inferior): Improve message printed when
6664         'print_inferior_events' is on.
6665         (exit_inferior): Remove message printed when
6666         'print_inferior_events' is on.
6667         (detach_inferior): Improve message printed when
6668         'print_inferior_events' is on.
6669         (initialize_inferiors): Use 'add_inferior_silent' to set
6670         'current_inferior_'.
6671         * inferior.h (print_inferior_events): Declare here as
6672         'extern'.
6673         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
6674         '[Detaching...]' messages when 'print_inferior_events' is on.
6675         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
6676         as prefix/suffix for messages.  Remove periods.  Fix erroneous
6677         'Detaching after fork from child...', replace it by '... from
6678         parent...'.
6679         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
6680         prefix/suffix when printing 'Detaching...' messages.  Print
6681         them when 'print_inferior_events' is on.
6682         * remote.c (remote_detach_1): Print message when detaching
6683         from inferior and '!is_fork_parent'.
6684
6685 2018-04-24  Tom Tromey  <tom@tromey.com>
6686
6687         * cli-out.h: Reindent.
6688
6689 2018-04-24  Tom Tromey  <tom@tromey.com>
6690
6691         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
6692         (cli_ui_out::do_field_string): Use fputs_filtered.
6693         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
6694
6695 2018-04-23  Tom Tromey  <tom@tromey.com>
6696
6697         * guile/scm-frame.c (gdbscm_frame_read_var): Use
6698         gdb::unique_xmalloc_ptr.
6699
6700 2018-04-23  Tom Tromey  <tom@tromey.com>
6701
6702         * configure: Rebuild.
6703
6704 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
6705
6706         PR gdb/23095
6707         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
6708         prepare_for_testing.  Set normal_bp to r_debug_state if target
6709         is bsd.
6710
6711 2018-04-21  Pedro Alves  <palves@redhat.com>
6712             Rajendra SY  <rajendra.sy@gmail.com>
6713
6714         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
6715         * remote.c (extended_remote_attach): In all-stop mode, mark the
6716         thread as executing.
6717
6718 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6719
6720         * thread.c (thread_apply_all_command): Fix comment.
6721         (thread_command): Fix comment.
6722
6723 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
6724
6725         * common/tdesc.h (tdesc_create_feature): Remove xml filename
6726         parameter.
6727         * features/aarch64-core.c (create_feature_aarch64_core):
6728         Regenerate.
6729         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
6730         Likewise.
6731         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
6732         Likewise.
6733         * features/i386/32bit-avx512.c
6734         (create_feature_i386_32bit_avx512): Likewise.
6735         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
6736         Likewise.
6737         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
6738         Likewise.
6739         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
6740         Likewise.
6741         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
6742         Likewise.
6743         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
6744         Likewise.
6745         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
6746         Likewise.
6747         * features/i386/64bit-avx512.c
6748         (create_feature_i386_64bit_avx512): Likewise.
6749         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
6750         Likewise.
6751         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
6752         Likewise.
6753         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
6754         Likewise.
6755         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
6756         Likewise.
6757         * features/i386/64bit-segments.c
6758         (create_feature_i386_64bit_segments): Likewise.
6759         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
6760         Likewise.
6761         * features/i386/x32-core.c
6762         (create_feature_i386_x32_core): Likewise.
6763         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
6764         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
6765         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
6766         * target-descriptions.c: In generated code, don't pass xml
6767         filename.
6768
6769 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6770
6771         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
6772         (print_xml_feature::visit_post): Likewise.
6773         (print_xml_feature::visit): Likewise.
6774         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
6775         (print_xml_feature): Add new class.
6776         * regformats/regdat.sh: Null xmltarget on feature targets.
6777         * target-descriptions.c (struct target_desc): Add xmltarget.
6778         (maintenance_check_tdesc_xml_convert): Add unittest function.
6779         (tdesc_get_features_xml): Add function to get xml.
6780         (maintenance_check_xml_descriptions): Test xml generation.
6781         * xml-tdesc.c (string_read_description_xml): Add function.
6782         * xml-tdesc.h (string_read_description_xml): Add declaration.
6783
6784 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6785
6786         * features/Makefile: Add feature marker to targets with new style
6787         target descriptions.
6788         * regformats/aarch64.dat: Regenerate.
6789         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
6790         * regformats/i386/amd64-avx-linux.dat: Likewise.
6791         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
6792         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
6793         * regformats/i386/amd64-linux.dat: Likewise.
6794         * regformats/i386/amd64-mpx-linux.dat: Likewise.
6795         * regformats/i386/amd64.dat: Likewise.
6796         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
6797         * regformats/i386/i386-avx-linux.dat: Likewise.
6798         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
6799         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
6800         * regformats/i386/i386-linux.dat: Likewise.
6801         * regformats/i386/i386-mmx-linux.dat: Likewise.
6802         * regformats/i386/i386-mpx-linux.dat: Likewise.
6803         * regformats/i386/i386.dat: Likewise.
6804         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
6805         * regformats/i386/x32-avx-linux.dat: Likewise.
6806         * regformats/i386/x32-linux.dat: Likewise.
6807         * regformats/tic6x-c62x-linux.dat: Likewise.
6808         * regformats/tic6x-c64x-linux.dat: Likewise.
6809         * regformats/tic6x-c64xp-linux.dat: Likewise.
6810         * regformats/regdat.sh: Parse feature marker.
6811
6812 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6813
6814         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
6815         (tdesc_osabi_name): Likewise.
6816         * target-descriptions.c (tdesc_architecture_name): Add new
6817         function.
6818         (tdesc_osabi_name): Likewise.
6819
6820 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6821
6822         * common/tdesc.c (tdesc_predefined_type): Move to here.
6823         (tdesc_named_type): Likewise.
6824         (tdesc_create_vector): Likewise.
6825         (tdesc_create_struct): Likewise.
6826         (tdesc_set_struct_size): Likewise.
6827         (tdesc_create_union): Likewise.
6828         (tdesc_create_flags): Likewise.
6829         (tdesc_create_enum): Likewise.
6830         (tdesc_add_field): Likewise.
6831         (tdesc_add_typed_bitfield): Likewise.
6832         (tdesc_add_bitfield): Likewise.
6833         (tdesc_add_flag): Likewise.
6834         (tdesc_add_enum_value): Likewise.
6835         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
6836         (struct tdesc_type_vector): Likewise.
6837         (struct tdesc_type_field): Likewise.
6838         (struct tdesc_type_with_fields): Likewise.
6839         (tdesc_create_enum): Add declaration.
6840         (tdesc_add_typed_bitfield): Likewise.
6841         (tdesc_add_enum_value): Likewise.
6842         * target-descriptions.c (tdesc_type_field): Move from here.
6843         (tdesc_type_builtin): Likewise.
6844         (tdesc_type_vector): Likewise.
6845         (tdesc_type_with_fields): Likewise.
6846         (tdesc_predefined_types): Likewise.
6847         (tdesc_named_type): Likewise.
6848         (tdesc_create_vector): Likewise.
6849         (tdesc_create_struct): Likewise.
6850         (tdesc_set_struct_size): Likewise.
6851         (tdesc_create_union): Likewise.
6852         (tdesc_create_flags): Likewise.
6853         (tdesc_create_enum): Likewise.
6854         (tdesc_add_field): Likewise.
6855         (tdesc_add_typed_bitfield): Likewise.
6856         (tdesc_add_bitfield): Likewise.
6857         (tdesc_add_flag): Likewise.
6858         (tdesc_add_enum_value): Likewise.
6859         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
6860         (tdesc_add_typed_bitfield): Likewise.
6861         (tdesc_add_enum_value): Likewise.
6862
6863 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6864
6865         * common/tdesc.c (tdesc_feature::accept): Move to here.
6866         (tdesc_feature::operator==): Likewise.
6867         (tdesc_create_reg): Likewise.
6868         * common/tdesc.h (tdesc_type_kind): Likewise.
6869         (struct tdesc_type): Likewise.
6870         (struct tdesc_feature): Likewise.
6871         * regformats/regdat.sh: Create a feature.
6872         * target-descriptions.c (tdesc_type_kind): Move from here.
6873         (tdesc_type): Likewise.
6874         (tdesc_type_up): Likewise.
6875         (tdesc_feature): Likewise.
6876         (tdesc_create_reg): Likewise.
6877
6878 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6879
6880         * Makefile.in: Add arch/tdesc.c
6881         * common/tdesc.c: New file.
6882         * common/tdesc.h (tdesc_element_visitor): Move to here.
6883         (tdesc_element): Likewise.
6884         (tdesc_reg): Likewise.
6885         (tdesc_reg_up): Likewise.
6886         * regformats/regdef.h (reg): Add offset to constructors.
6887         * target-descriptions.c (tdesc_element_visitor): Move from here.
6888         (tdesc_element): Likewise.
6889         (tdesc_reg): Likewise.
6890         (tdesc_reg_up): Likewise.
6891
6892 2018-04-17  Tom Tromey  <tom@tromey.com>
6893
6894         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
6895         discriminant field.
6896
6897 2018-04-17  Tom Tromey  <tom@tromey.com>
6898
6899         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
6900
6901 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6902
6903         * symtab.c (print_symbol_info): Skip printing filename and line
6904         number when `last' is NULL.
6905         (symtab_symbol_info): Use empty string instead of NULL for first
6906         invocation of print_symbol_info.
6907         (rbreak_command): Pass NULL to `last' parameter of
6908         print_symbol_info.
6909
6910 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
6911
6912         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
6913         instead of nullptr.
6914
6915 2018-04-16  Pedro Alves  <palves@redhat.com>
6916
6917         * MAINTAINERS (sh): Remove.
6918         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
6919         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
6920         (ALLDEPFILES): Remove sh64-tdep.c.
6921         * NEWS: Mentions that support for SH-5/SH64 is removed.
6922         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
6923         (sh*-*-openbsd*): Ditto.
6924         (sh64-*-elf*): Remove.
6925         (sh*): Remove.
6926         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
6927         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
6928         * sh-tdep.c: No longer include "sh64-tdep.h".
6929         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
6930         * sh64-tdep.c, sh64-tdep.h: Remove files.
6931
6932 2018-04-16  Pedro Alves  <palves@redhat.com>
6933
6934         * MAINTAINERS: Remove m88k.
6935         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
6936         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
6937         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
6938         * NEWS: Mention that support for m88k was removed.
6939         * configure.host (m88*-*-*): Remove support.
6940         * configure.nat (m88k-*-*): Remove support.
6941         * configure.tgt (m88*-*-openbsd*): Remove.
6942         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
6943
6944 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
6945
6946         * configure.tgt (x86_tobjs): New variable.
6947         (amd64_tobjs, i386_tobjs): Use it.
6948
6949 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6950
6951         * symtab.c (print_symbol_info): Precede the symbol definition by
6952         the line number when available.
6953         * NEWS: Advertise this enhancement.
6954
6955 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6956
6957         * NEWS (New options): announce set/show record btrace cpu.
6958         * btrace.c: Include record-btrace.h.
6959         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
6960         the vendor is unknown.
6961         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
6962         Maybe overwrite the btrace configuration's cpu.
6963         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
6964         (btrace_fetch): Add cpu parameter.  Update callers.
6965         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
6966         Maybe overwrite the btrace configuration's cpu.  Skip enabling
6967         errata workarounds if the vendor is unknown.
6968         * python/py-record-btrace.c: Include record-btrace.h.
6969         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
6970         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
6971         * record-btrace.c (record_btrace_cpu_state_kind): New.
6972         (record_btrace_cpu): New.
6973         (set_record_btrace_cpu_cmdlist): New.
6974         (record_btrace_get_cpu): New.
6975         (require_btrace_thread, record_btrace_info)
6976         (record_btrace_resume_thread): Call record_btrace_get_cpu.
6977         (cmd_set_record_btrace_cpu_none): New.
6978         (cmd_set_record_btrace_cpu_auto): New.
6979         (cmd_set_record_btrace_cpu): New.
6980         (cmd_show_record_btrace_cpu): New.
6981         (_initialize_record_btrace): Initialize set/show record btrace cpu
6982         commands.
6983         * record-btrace.h (record_btrace_get_cpu): New.
6984
6985 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6986
6987         * record.c (set_record_command): Fix typo in message.
6988
6989 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6990
6991         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
6992
6993 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
6994
6995         * infrun.c (process_event_stop_test): Call
6996         gdbarch_in_indirect_branch_thunk.
6997         * gdbarch.sh (in_indirect_branch_thunk): New.
6998         * gdbarch.c: Regenerated.
6999         * gdbarch.h: Regenerated.
7000         * x86-tdep.h: New.
7001         * x86-tdep.c: New.
7002         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7003         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7004         (ALLDEPFILES): Add x86-tdep.c.
7005         * arch-utils.h (default_in_indirect_branch_thunk): New.
7006         * arch-utils.c (default_in_indirect_branch_thunk): New.
7007         * i386-tdep: Include x86-tdep.h.
7008         (i386_in_indirect_branch_thunk): New.
7009         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7010         function.
7011         * amd64-tdep: Include x86-tdep.h.
7012         (amd64_in_indirect_branch_thunk): New.
7013         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7014
7015 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7016
7017         PR gdb/23053
7018         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7019         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7020         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7021         regression.
7022
7023 2018-04-12  Tom Tromey  <tom@tromey.com>
7024
7025         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7026         (rust_evaluate_subexp): Likewise.
7027
7028 2018-04-12  Pedro Alves  <palves@redhat.com>
7029
7030         * procfs.c (procfs_detach): Make forward declaration's prototype
7031         match definition's protototype.
7032         (proc_get_LDT_entry): Remove stale do_cleanups call.
7033
7034 2018-04-12  Pedro Alves  <palves@redhat.com>
7035
7036         * target.h (target_ops::to_has_exited): Delete.
7037         (target_has_exited): Delete.
7038         * target-delegates.c: Regenerate.
7039
7040 2018-04-11  Pedro Alves  <palves@redhat.com>
7041
7042         * target.c (fileio_fh_t::t): Add comment.
7043         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7044         (target_fileio_close): Handle a NULL target.
7045         (invalidate_fileio_fh): New.
7046         (target_close): Call it.
7047         * remote.c (remote_hostio_send_command): No longer check whether
7048         remote_desc is open.
7049
7050 2018-04-11  Pedro Alves  <palves@redhat.com>
7051
7052         * target.c (fileio_fh_t): Make it a named struct instead of a
7053         typedef.
7054         (fileio_fh_t::is_closed): New method.
7055         (DEF_VEC_O (fileio_fh_t)): Remove.
7056         (fileio_fhandles): Now a std::vector.
7057         (is_closed_fileio_fh): Delete.
7058         (acquire_fileio_fd): Adjust.  Rename parameters.
7059         (release_fileio_fd): Adjust.
7060         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7061         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7062         (target_fileio_close): Adjust.
7063
7064 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7065
7066         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7067         index.
7068
7069 2018-04-10  Pedro Alves  <palves@redhat.com>
7070
7071         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7072         (scoped_finish_thread_state): New class.
7073         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7074         cleanup.
7075         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7076         (fetch_inferior_event, normal_stop): Likewise.
7077         * thread.c (finish_thread_state_cleanup): Delete.
7078
7079 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7080             Pedro Alves  <palves@redhat.com>
7081
7082         * value.c: Include "selftest.h" and "common/array-view.h".
7083         (struct range) <operator ==>: New.
7084         (test_ranges_contain): New.
7085         (check_ranges_vector): New.
7086         (test_insert_into_bit_range_vector): New.
7087         (_initialize_values): Register selftests.
7088         * common/array-view.h (operator==, operator!=): New.
7089
7090 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7091
7092         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7093         an iterator.
7094         * inline-frame.c: Include <algorithm>.
7095         (struct inline_state): Add constructor.
7096         (inline_state_s): Remove.
7097         (DEF_VEC_O(inline_state_s)): Remove.
7098         (inline_states): Change type to std::vector.
7099         (find_inline_frame_state): Adjust to std::vector.
7100         (allocate_inline_frame_state): Remove.
7101         (clear_inline_frame_state): Adjust to std::vector.
7102         (skip_inline_frames): Adjust to std::vector.
7103
7104 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7105
7106         * tracepoint.h (struct trace_state_variable): Add constructor.
7107         <name>: Change type to std::string.
7108         * tracepoint.c (tsv_s): Remove.
7109         (DEF_VEC_O(tsv_s)): Remove.
7110         (tvariables): Change to std::vector.
7111         (create_trace_state_variable): Adjust to std::vector.
7112         (find_trace_state_variable): Likewise.
7113         (find_trace_state_variable_by_number): Likewise.
7114         (delete_trace_state_variable): Likewise.
7115         (trace_variable_command): Adjust to std::string.
7116         (delete_trace_variable_command): Likewise.
7117         (tvariables_info_1): Adjust to std::vector.
7118         (save_trace_state_variables): Likewise.
7119         (start_tracing): Likewise.
7120         (merge_uploaded_trace_state_variables): Adjust to std::vector
7121         and std::string.
7122         * target.h (struct target_ops)
7123         <to_download_trace_state_variable>: Pass reference to
7124         trace_state_variable.
7125         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7126         * target-delegates.c: Re-generate.
7127         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7128         (mi_tsv_deleted): Likewise.
7129         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7130         * remote.c (remote_download_trace_state_variable): Change
7131         pointer to reference and adjust.
7132         * make-target-delegates (parse_argtypes): Handle references.
7133         (write_function_header): Likewise.
7134         (munge_type): Likewise.
7135
7136 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7137
7138         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7139         string_view-selftests.c.
7140         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7141         testsuite.
7142         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7143         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7144         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7145         * unittests/basic_string_view/element_access/char/1.cc:
7146         Likewise.
7147         * unittests/basic_string_view/element_access/char/empty.cc:
7148         Likewise.
7149         * unittests/basic_string_view/element_access/char/front_back.cc:
7150         Likewise.
7151         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7152         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7153         Likewise.
7154         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7155         Likewise.
7156         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7157         Likewise.
7158         * unittests/basic_string_view/operations/compare/char/1.cc:
7159         Likewise.
7160         * unittests/basic_string_view/operations/compare/char/13650.cc:
7161         Likewise.
7162         * unittests/basic_string_view/operations/copy/char/1.cc:
7163         Likewise.
7164         * unittests/basic_string_view/operations/data/char/1.cc:
7165         Likewise.
7166         * unittests/basic_string_view/operations/find/char/1.cc:
7167         Likewise.
7168         * unittests/basic_string_view/operations/find/char/2.cc:
7169         Likewise.
7170         * unittests/basic_string_view/operations/find/char/3.cc:
7171         Likewise.
7172         * unittests/basic_string_view/operations/find/char/4.cc:
7173         Likewise.
7174         * unittests/basic_string_view/operations/rfind/char/1.cc:
7175         Likewise.
7176         * unittests/basic_string_view/operations/rfind/char/2.cc:
7177         Likewise.
7178         * unittests/basic_string_view/operations/rfind/char/3.cc:
7179         Likewise.
7180         * unittests/basic_string_view/operations/substr/char/1.cc:
7181         Likewise.
7182         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7183         * unittests/string_view-selftests.c: New file.
7184
7185 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7186
7187         * unittests/basic_string_view/capacity/1.cc: New file.
7188         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7189         * unittests/basic_string_view/cons/char/1.cc: New file.
7190         * unittests/basic_string_view/cons/char/2.cc: New file.
7191         * unittests/basic_string_view/cons/char/3.cc: New file.
7192         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7193         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7194         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7195         * unittests/basic_string_view/element_access/char/1.cc: New file.
7196         * unittests/basic_string_view/element_access/char/2.cc: New file.
7197         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7198         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7199         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7200         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7201         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7202         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7203         * unittests/basic_string_view/include.cc: New file.
7204         * unittests/basic_string_view/inserters/char/1.cc: New file.
7205         * unittests/basic_string_view/inserters/char/2.cc: New file.
7206         * unittests/basic_string_view/inserters/char/3.cc: New file.
7207         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7208         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7209         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7210         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7211         * unittests/basic_string_view/literals/types.cc: New file.
7212         * unittests/basic_string_view/literals/values.cc: New file.
7213         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7214         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7215         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7216         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7217         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7218         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7219         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7220         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7221         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7222         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7223         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7224         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7225         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7226         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7227         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7228         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7229         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7230         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7231         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7232         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7233         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7234         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7235         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7236         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7237         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7238         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7239         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7240         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7241         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7242         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7243         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7244         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7245         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7246         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7247         * unittests/basic_string_view/operators/char/2.cc: New file.
7248         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7249         * unittests/basic_string_view/range_access/char/1.cc: New file.
7250         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7251         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7252         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7253         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7254         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7255         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7256         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7257         * unittests/basic_string_view/typedefs.cc: New file.
7258         * unittests/basic_string_view/types/1.cc: New file.
7259
7260 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7261
7262         * common/gdb_string_view.h: Remove libstdc++ implementation
7263         details, adjust to gdb reality.
7264         * common/gdb_string_view.tcc: Likewise.
7265         * cli/cli-script.c (struct string_view): Remove.
7266         (user_args) <m_args>: Change element type to gdb::string_view.
7267         (user_args::insert_args): Adjust.
7268
7269 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7270
7271         * common/gdb_string_view.h: New file.
7272         * common/gdb_string_view.tcc: New file.
7273
7274 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7275
7276         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7277         * configure: Re-generate.
7278
7279 2018-04-09  Pedro Alves  <palves@redhat.com>
7280
7281         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7282         (set_target_gdbarch): Call
7283         gdb::observers::architecture_changed.notify instead of
7284         observer_notify_architecture_changed.
7285
7286 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7287
7288         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7289         (do_restore_current_traceframe_cleanup): Remove.
7290         (restore_current_traceframe_cleanup_dtor): Remove.
7291         (make_cleanup_restore_current_traceframe): Remove.
7292         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7293         New.
7294         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7295         * infrun.c (fetch_inferior_event): Use
7296         scoped_restore_current_traceframe.
7297
7298 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7299
7300         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7301         Remove.
7302         <n_allocated_type_units>: Remove.
7303         <all_type_units>: Change to std::vector.
7304         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7305         to std::vector change.
7306         (dwarf2_per_objfile::get_cutu): Likewise.
7307         (dwarf2_per_objfile::get_tu): Likewise.
7308         (create_signatured_type_table_from_index): Likewise.
7309         (create_signatured_type_table_from_debug_names): Likewise.
7310         (dw2_symtab_iter_next): Likewise.
7311         (dw2_print_stats): Likewise.
7312         (dw2_expand_all_symtabs): Likewise.
7313         (dw2_expand_marked_cus): Likewise.
7314         (dw2_debug_names_iterator::next): Likewise.
7315         (dwarf2_initialize_objfile): Likewise.
7316         (add_signatured_type_cu_to_table): Likewise.
7317         (create_all_type_units): Likewise.
7318         (add_type_unit): Likewise.
7319         (struct tu_abbrev_offset): Add constructor.
7320         (build_type_psymtabs_1): Adjust to std::vector change.
7321         (print_tu_stats): Likewise.
7322         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7323         (write_debug_names): Likewise.
7324
7325 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7326
7327         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7328         Make an std::vector.
7329         <n_comp_units>: Remove.
7330         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7331         to std::vector change.
7332         (dwarf2_per_objfile::get_cutu): Likewise.
7333         (dwarf2_per_objfile::get_cu): Likewise.
7334         (create_cus_from_index): Likewise.
7335         (create_addrmap_from_index): Likewise.
7336         (create_addrmap_from_aranges): Likewise.
7337         (dwarf2_read_index): Likewise.
7338         (dw2_find_last_source_symtab): Likewise.
7339         (dw2_map_symtabs_matching_filename): Likewise.
7340         (dw2_symtab_iter_next): Likewise.
7341         (dw2_print_stats): Likewise.
7342         (dw2_expand_all_symtabs): Likewise.
7343         (dw2_expand_symtabs_with_fullname): Likewise.
7344         (dw2_expand_marked_cus): Likewise.
7345         (dw2_map_symbol_filenames): Likewise.
7346         (create_cus_from_debug_names): Likewise.
7347         (dwarf2_read_debug_names): Likewise.
7348         (dw2_debug_names_iterator::next): Likewise.
7349         (dwarf2_initialize_objfile): Likewise.
7350         (set_partial_user): Likewise.
7351         (dwarf2_build_psymtabs_hard): Likewise.
7352         (read_comp_units_from_section): Remove arguments, adjust to
7353         std::vector change.
7354         (create_all_comp_units): Adjust to std::vector and
7355         read_comp_units_from_section changes.
7356         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7357         change.
7358         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7359         (psyms_seen_size): Likewise.
7360         (write_gdbindex): Likewise.
7361         (write_debug_names): Likewise.
7362
7363 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7364
7365         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7366         with dwarf2_per_objfile.
7367         (create_cus_from_index): Likewise.
7368         (create_signatured_type_table_from_index): Likewise.
7369         (dwarf2_read_index): Likewise.
7370         (dwarf2_initialize_objfile): Likewise.
7371         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7372         per_cu rather than get_dwarf2_per_objfile.
7373
7374 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7375
7376         * dwarf2read.h (struct signatured_type): Forward declare.
7377         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7378         New methods.
7379         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
7380         (dw2_get_cutu): ...this.
7381         (dwarf2_per_objfile::get_cu): Rename from...
7382         (dw2_get_cu): ...this.
7383         (dwarf2_per_objfile::get_tu): New.
7384         (create_addrmap_from_index): Adjust.
7385         (create_addrmap_from_aranges): Adjust.
7386         (dw2_find_last_source_symtab): Adjust.
7387         (dw2_map_symtabs_matching_filename): Adjust.
7388         (dw2_symtab_iter_next): Adjust.
7389         (dw2_print_stats): Adjust.
7390         (dw2_expand_all_symtabs): Adjust.
7391         (dw2_expand_symtabs_with_fullname): Adjust.
7392         (dw2_expand_marked_cus): Adjust.
7393         (dw_expand_symtabs_matching_file_matcher): Adjust.
7394         (dw2_map_symbol_filenames): Adjust.
7395         (dw2_debug_names_iterator::next): Adjust.
7396         (dwarf2_initialize_objfile): Adjust.
7397         (set_partial_user): Adjust.
7398         (dwarf2_build_psymtabs_hard): Adjust.
7399
7400 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7401
7402         * dwarf2read.c (create_signatured_type_table_from_debug_names):
7403         Remove unused variables.
7404         (dw2_map_symtabs_matching_filename): Likewise.
7405         (dwarf2_record_block_ranges): Likewise.
7406         (dwarf2_read_addr_index): Likewise.
7407         (follow_die_offset): Likewise.
7408
7409 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7410
7411         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
7412         to symbol_file_add_main.
7413
7414 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7415
7416         PR mi/22299
7417         * mi/mi-console.c (do_fputc_async_safe): New.
7418         (mi_console_file::write_async_safe): New.
7419         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
7420         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
7421         New.
7422         * ui-file.c (ui_file::putstrn): Adjust call to
7423         fputstrn_unfiltered.
7424         * utils.c (printchar): Replace do_fputs and do_fprintf
7425         parameters by do_fputc.
7426         (fputstr_filtered): Adjust call to printchar.
7427         (fputstr_unfiltered): Likewise.
7428         (fputstrn_filtered): Likewise.
7429         (fputstrn_unfiltered): Add do_fputc parameter, pass to
7430         printchar.
7431         * utils.h (do_fputc_ftype): New typedef.
7432         (fputstrn_unfiltered): Add do_fputc parameter.
7433
7434 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7435
7436         * regformats/i386/i386-avx.dat: Remove.
7437
7438 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7439
7440         PR gdb/22979
7441         * amd64-tdep.c (amd64_none_init_abi): New function.
7442         (amd64_x32_none_init_abi): New function.
7443         (_initialize_amd64_tdep): Register handlers for x86-64 and
7444         x64_32 with GDB_OSABI_NONE.
7445         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
7446         GDB_OSABI_NONE osabi.
7447
7448 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7449
7450         PR gdb/22980
7451         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
7452         GDB_OSABI_NONE.
7453         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
7454         * osabi.c (gdb_osabi_names): Add "unknown" entry.
7455
7456 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7457
7458         * common/byte-vector.h (char_vector): New type.
7459         * target.h (target_read_alloc): Return
7460         gdb::optional<byte_vector>.
7461         (target_read_stralloc): Return gdb::optional<char_vector>.
7462         (target_get_osdata): Return gdb::optional<char_vector>.
7463         * target.c (target_read_alloc_1): Templatize.  Replacement
7464         manual memory management with vector.
7465         (target_read_alloc): Change return type, adjust.
7466         (target_read_stralloc): Change return type, adjust.
7467         (target_get_osdata): Change return type, adjust.
7468         * auxv.c (struct auxv_info) <length>: Remove.
7469         <data>: Change type to gdb::optional<byte_vector>.
7470         (auxv_inferior_data_cleanup): Free auxv_info with delete.
7471         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
7472         (target_auxv_search): Adjust.
7473         (fprint_target_auxv): Adjust.
7474         * avr-tdep.c (avr_io_reg_read_command): Adjust.
7475         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
7476         (linux_make_corefile_notes): Adjust.
7477         * osdata.c (get_osdata): Adjust.
7478         * remote.c (remote_get_threads_with_qxfer): Adjust.
7479         (remote_memory_map): Adjust.
7480         (remote_traceframe_info): Adjust.
7481         (btrace_read_config): Adjust.
7482         (remote_read_btrace): Adjust.
7483         (remote_pid_to_exec_file): Adjust.
7484         * solib-aix.c (solib_aix_get_library_list): Adjust.
7485         * solib-dsbt.c (decode_loadmap): Don't free buf.
7486         (dsbt_get_initial_loadmaps): Adjust.
7487         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
7488         * solib-target.c (solib_target_current_sos): Adjust.
7489         * tracepoint.c (sdata_make_value): Adjust.
7490         * xml-support.c (xinclude_start_include): Adjust.
7491         (xml_fetch_content_from_file): Adjust.
7492         * xml-support.h (xml_fetch_another): Change return type.
7493         (xml_fetch_content_from_file): Change return type.
7494         * xml-syscall.c (xml_init_syscalls_info): Adjust.
7495         * xml-tdesc.c (file_read_description_xml): Adjust.
7496         (fetch_available_features_from_target): Change return type.
7497         (target_fetch_description_xml): Adjust.
7498         (target_read_description_xml): Adjust.
7499
7500 2018-04-06  Tom Tromey  <tom@tromey.com>
7501
7502         * value.c (~value): Update.
7503         (struct value) <contents>: Now unique_xmalloc_ptr.
7504         (value_contents_bits_eq, allocate_value_contents)
7505         (value_contents_raw, value_contents_all_raw)
7506         (value_contents_for_printing, value_contents_for_printing_const)
7507         (set_value_enclosing_type): Update.
7508
7509 2018-04-06  Tom Tromey  <tom@tromey.com>
7510
7511         * value.c (range_s): Remove typedef, VEC.
7512         (struct range): Add operator<.
7513         (range_lessthan): Remove.
7514         (ranges_contain): Change type.
7515         (~value): Update.
7516         (struct value) <unavailable, optimized_out>: Now std::vector.
7517         (value_entirely_available)
7518         (value_entirely_covered_by_range_vector)
7519         (value_entirely_unavailable, value_entirely_optimized_out):
7520         Update.
7521         (insert_into_bit_range_vector): Change argument type.
7522         (find_first_range_overlap): Likewise.
7523         (struct ranges_and_idx, value_contents_bits_eq)
7524         (require_not_optimized_out, require_available): Update.
7525         (ranges_copy_adjusted): Change argument types.
7526         (value_optimized_out, value_copy, value_fetch_lazy): Update.
7527
7528 2018-04-06  Tom Tromey  <tom@tromey.com>
7529
7530         * value.c (~value): Update.
7531         (struct value) <parent>: Now a value_ref_ptr.
7532         (value_parent, set_value_parent, value_address, value_copy):
7533         Update.
7534
7535 2018-04-06  Tom Tromey  <tom@tromey.com>
7536
7537         * value.c (struct value): Add constructor, destructor, and member
7538         initializers.
7539         (allocate_value_lazy, value_decref): Update.
7540
7541 2018-04-06  Tom Tromey  <tom@tromey.com>
7542
7543         * value.c (struct value) <released, next>: Remove.
7544         (all_values): Now a std::vector.
7545         (allocate_value_lazy): Update.
7546         (value_next): Remove.
7547         (value_mark, value_free_to_mark, release_value)
7548         (value_release_to_mark): Update.
7549
7550 2018-04-06  Tom Tromey  <tom@tromey.com>
7551
7552         * value.h (fetch_subexp_value, value_release_to_mark): Update.
7553         (free_value_chain): Remove.
7554         * value.c (free_value_chain): Remove.
7555         (value_release_to_mark): Return a std::vector.
7556         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
7557         std::vector.
7558         (check_condition): Update.
7559         * eval.c (fetch_subexp_value): Change "val_chain" to a
7560         std::vector.
7561         * breakpoint.c (update_watchpoint): Update.
7562         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
7563
7564 2018-04-06  Tom Tromey  <tom@tromey.com>
7565
7566         * value.h (free_all_values): Remove.
7567         * value.c (free_all_values): Remove.
7568
7569 2018-04-06  Tom Tromey  <tom@tromey.com>
7570
7571         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
7572         (value_history_chain, value_history_count): Remove.
7573         (value_history): New global.
7574         (record_latest_value, access_value_history, show_values)
7575         (preserve_values): Update.
7576
7577 2018-04-06  Tom Tromey  <tom@tromey.com>
7578
7579         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
7580         * varobj.c (varobj_set_display_format, varobj_set_value)
7581         (install_default_visualizer, construct_visualizer)
7582         (install_new_value, ~varobj, varobj_get_value_type)
7583         (my_value_of_variable, varobj_editable_p): Update.
7584         * c-varobj.c (c_describe_child, c_value_of_variable)
7585         (cplus_number_of_children, cplus_describe_child): Update.
7586         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
7587         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
7588         (ada_value_of_variable, ada_value_is_changeable_p): Update.
7589
7590 2018-04-06  Tom Tromey  <tom@tromey.com>
7591
7592         * printcmd.c (last_examine_address): Change type to
7593         value_ref_ptr.
7594         (do_examine, x_command): Update.
7595
7596 2018-04-06  Tom Tromey  <tom@tromey.com>
7597
7598         * value.c (release_value): Update.
7599         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
7600         (struct bpstats) <val>: Now a value_ref_ptr.
7601         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7602         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7603         (~watchpoint, print_it_watchpoint, watch_command_1)
7604         (invalidate_bp_value_on_memory_change): Update.
7605
7606 2018-04-06  Tom Tromey  <tom@tromey.com>
7607
7608         * varobj.c (varobj_clear_saved_item)
7609         (update_dynamic_varobj_children, install_new_value, ~varobj):
7610         Update.
7611         * value.h (value_incref): Move declaration earlier.
7612         (value_decref): Rename from value_free.
7613         (struct value_ref_policy): New.
7614         (value_ref_ptr): New typedef.
7615         (struct value_deleter): Remove.
7616         (gdb_value_up): Remove typedef.
7617         (release_value): Change return type.
7618         (release_value_or_incref): Remove.
7619         * value.c (set_value_parent): Update.
7620         (value_incref): Change return type.
7621         (value_decref): Rename from value_free.
7622         (value_free_to_mark, free_all_values, free_value_chain): Update.
7623         (release_value): Return value_ref_ptr.
7624         (release_value_or_incref): Remove.
7625         (record_latest_value, set_internalvar, clear_internalvar):
7626         Update.
7627         * stack.c (info_frame_command): Don't call value_free.
7628         * python/py-value.c (valpy_dealloc, valpy_new)
7629         (value_to_value_object): Update.
7630         * printcmd.c (do_examine): Update.
7631         * opencl-lang.c (lval_func_free_closure): Update.
7632         * mi/mi-main.c (register_changed_p): Don't call value_free.
7633         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
7634         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
7635         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
7636         value_free.
7637         * guile/scm-value.c (vlscm_free_value_smob)
7638         (vlscm_scm_from_value): Update.
7639         * frame.c (frame_register_unwind, frame_unwind_register_signed)
7640         (frame_unwind_register_unsigned, get_frame_register_bytes)
7641         (put_frame_register_bytes): Don't call value_free.
7642         * findvar.c (address_from_register): Don't call value_free.
7643         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
7644         * dwarf2loc.c (entry_data_value_free_closure)
7645         (value_of_dwarf_reg_entry, free_pieced_value_closure)
7646         (dwarf2_evaluate_loc_desc_full): Update.
7647         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7648         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7649         (~watchpoint, watch_command_1)
7650         (invalidate_bp_value_on_memory_change): Update.
7651         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
7652
7653 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
7654
7655         PR gdb/23022
7656         * warning.m4: Add -Wno-error=deprecated-register.
7657         * configure: Re-generate.
7658
7659 2018-04-05  Tom Tromey  <tom@tromey.com>
7660
7661         * linespec.h: Remove include of "vec.h".
7662
7663 2018-04-05  Tom Tromey  <tom@tromey.com>
7664
7665         * linespec.c (typep): Remove typedef.
7666         (find_methods, find_superclass_methods): Take a std::vector.
7667         (find_method): Use std::vector.
7668
7669 2018-04-05  Tom Tromey  <tom@tromey.com>
7670
7671         * utils.c (compare_strings): Remove.
7672         * utils.h (compare_strings): Remove.
7673         * objc-lang.h (find_imps): Update.
7674         * objc-lang.c (find_methods): Take a std::vector.
7675         (uniquify_strings, find_imps): Likewise.
7676         * linespec.c (find_methods): Take a std::vector.
7677         (decode_objc): Use std::vector.
7678         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
7679         a std::vector.
7680         (find_method, find_function_symbols): Use std::vector.
7681
7682 2018-04-05  Tom Tromey  <tom@tromey.com>
7683
7684         * completer.c (completion_tracker::completion_tracker): Remove
7685         cast.
7686         (completion_tracker::discard_completions): Likewise.
7687         * breakpoint.c (ambiguous_names_p): Remove cast.
7688         * ada-lang.c (_initialize_ada_language): Remove cast.
7689         * utils.h (streq): Update.
7690         (streq_hash): Add new declaration.
7691         * utils.c (streq): Return bool.
7692         (streq_hash): New function.
7693
7694 2018-04-05  Tom Tromey  <tom@tromey.com>
7695
7696         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
7697         Remove a string copy.
7698
7699 2018-04-05  Tom Tromey  <tom@tromey.com>
7700
7701         * linespec.c (filter_results): Use std::vector.
7702         (decode_line_2, decode_line_full): Update.
7703
7704 2018-04-05  Tom Tromey  <tom@tromey.com>
7705
7706         * linespec.c (canonical_to_fullform): Return std::string.
7707         (filter_results): Update.
7708         (struct decode_line_2_item): Add constructor.
7709         <fullform, displayform>: Now std::string.
7710         (decode_line_2_compare_items): Now a std::sort comparator.
7711         (decode_line_2): Update.
7712
7713 2018-04-05  Tom Tromey  <tom@tromey.com>
7714
7715         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
7716         (unexpected_linespec_error): Update.
7717         (linespec_parse_basic, parse_linespec): Update.
7718
7719 2018-04-05  Tom Tromey  <tom@tromey.com>
7720
7721         * linespec.c (linespec_parse_basic): Reindent.
7722
7723 2018-04-05  Tom Tromey  <tom@tromey.com>
7724
7725         * minsyms.h (iterate_over_minimal_symbols): Update.
7726         * minsyms.c (iterate_over_minimal_symbols): Take a
7727         gdb::function_view.
7728         * linespec.c (struct collect_minsyms): Remove.
7729         (compare_msyms): Now a std::sort comparator.
7730         (add_minsym): Add parameters.
7731         (search_minsyms_for_name): Update.  Use std::vector.
7732
7733 2018-04-03  Tom Tromey  <tom@tromey.com>
7734
7735         * mipsread.c (read_alphacoff_dynamic_symtab): Use
7736         gdb::byte_vector.
7737
7738 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7739
7740         * MAINTAINERS (Write After Approval): Add Weimin Pan.
7741
7742 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7743
7744         PR gdb/16959
7745         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
7746         printing static type.
7747
7748 2018-04-01  Tom Tromey  <tom@tromey.com>
7749
7750         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
7751         (rs6000_xfer_shared_libraries): Update.
7752
7753 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
7754
7755         * common/gdb_vecs.h (char_ptr): Remove.
7756         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
7757
7758 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7759
7760         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
7761         with std::vector.
7762         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
7763
7764 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7765
7766         * tracepoint.h (struct uploaded_tp): Initialize fields.
7767         <actions, step_actions, cmd_strings>: Change type to
7768         std::vector<char *>.
7769         * tracepoint.c (get_uploaded_tp): Allocate with new.
7770         (free_uploaded_tps): Free with delete.
7771         (parse_tracepoint_definition): Adjust to std::vector change.
7772         * breakpoint.c (read_uploaded_action): Likewise.
7773         (create_tracepoint_from_upload): Likewise.
7774         * ctf.c (ctf_write_uploaded_tp): Likewise.
7775         (SET_ARRAY_FIELD): Likewise.
7776         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
7777
7778 2018-03-30  Tom Tromey  <tom@tromey.com>
7779
7780         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
7781         std::unique_ptr.
7782         (svr4_keep_data_in_core): Update.
7783         (svr4_read_so_list): Update.
7784
7785 2018-03-30  Tom Tromey  <tom@tromey.com>
7786
7787         * windows-nat.c (handle_output_debug_string, handle_exception):
7788         Update.
7789         * target.h (target_read_string): Update.
7790         * target.c (target_read_string): Change "string" to
7791         unique_xmalloc_ptr.
7792         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
7793         Update.
7794         * solib-frv.c (frv_current_sos): Update.
7795         * solib-dsbt.c (dsbt_current_sos): Update.
7796         * solib-darwin.c (darwin_current_sos): Update.
7797         * linux-thread-db.c (inferior_has_bug): Update.
7798         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
7799         Update.  Remove alloca.
7800         * ada-lang.c (ada_main_name): Update.
7801
7802 2018-03-30  Tom Tromey  <tom@tromey.com>
7803
7804         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
7805         (struct dwo_file_deleter): New.
7806         (dwo_file_up): New typedef.
7807         (open_and_init_dwo_file): Use dwo_file_up.
7808         (free_dwo_file_cleanup): Remove.
7809
7810 2018-03-30  Tom Tromey  <tom@tromey.com>
7811
7812         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
7813         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
7814
7815 2018-03-30  Tom Tromey  <tom@tromey.com>
7816
7817         * dwarf2read.c (class free_cached_comp_units): New class.
7818         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
7819         (free_cached_comp_units): Remove function.
7820
7821 2018-03-30  Tom Tromey  <tom@tromey.com>
7822
7823         * utils.h (make_cleanup_unpush_target): Remove.
7824         * inf-ptrace.c (struct target_unpusher): New.
7825         (target_unpush_up) New typedef.
7826         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
7827         target_unpush_up.
7828         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
7829
7830 2018-03-27  Tom Tromey  <tom@tromey.com>
7831
7832         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
7833
7834 2018-03-27  Pedro Alves  <palves@redhat.com>
7835             Tom Tromey  <tom@tromey.com>
7836
7837         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
7838         destructor.  Now a class.
7839         (gdb_readline_wrapper_cleanup): Remove function.
7840         (gdb_readline_wrapper): Remove cleanups.
7841
7842 2018-03-27  Tom Tromey  <tom@tromey.com>
7843
7844         * typeprint.h (struct type_print_options) <local_typedefs,
7845         global_typedefs>: Remove "struct" keyword.
7846         (class typedef_hash_table): New class.
7847         (recursively_update_typedef_hash, add_template_parameters)
7848         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
7849         (find_typedef_in_hash): Don't declare.
7850         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
7851         (typedef_hash_table::recursively_update): Rename from
7852         recursively_update_typedef_hash.  Now a member.
7853         (typedef_hash_table::add_template_parameters): Rename from
7854         add_template_parameters.  Now a member.
7855         (typedef_hash_table::typedef_hash_table): Now a constructor;
7856         rename from create_typedef_hash.
7857         (typedef_hash_table::~typedef_hash_table): Now a destructor;
7858         rename from free_typedef_hash.
7859         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
7860         (do_free_global_table): Remove.
7861         (typedef_hash_table::typedef_hash_table): New constructor; renamed
7862         from copy_type_recursive.
7863         (create_global_typedef_table): Remove.
7864         (typedef_hash_table::find_global_typedef): Now a member of
7865         typedef_hash_table.
7866         (typedef_hash_table::find_typedef): Rename from
7867         find_typedef_in_hash; now a member.
7868         (whatis_exp): Update.
7869         * extension.h (struct ext_lang_type_printers): Add constructor and
7870         destructor.
7871         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
7872         declare.
7873         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
7874         Now a constructor; rename from start_ext_lang_type_printers.
7875         (ext_lang_type_printers): Now a destructor; rename from
7876         free_ext_lang_type_printers.
7877         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
7878         Update.
7879         (c_type_print_base_struct_union): Update.  Remove cleanups.
7880
7881 2018-03-27  Tom Tromey  <tom@tromey.com>
7882
7883         * dwarf-index-write.c: Include <cmath>.
7884
7885 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7886
7887         * NEWS: Add entry describing new "set|show varsize-limit" command.
7888         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
7889         command.
7890         * printcmd.c (_initialize_printcmd): Add "set var" alias of
7891         "set variable".
7892
7893 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
7894
7895         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
7896         dwarf-index-write.c
7897         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
7898         * dwarf-index-common.c: New file.
7899         * dwarf-index-common.h: New file.
7900         * dwarf-index-write.c: New file.
7901         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
7902         (struct dwarf2_section_info): Move from here.
7903         (dwarf2_section_info_def): Likewise.
7904         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
7905         (offset_type): Likewise.
7906         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
7907         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
7908         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
7909         (byte_swap): Likewise.
7910         (MAYBE_SWAP): Likewise.
7911         (dwarf2_per_cu_ptr): Likewise.
7912         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
7913         (struct tu_stats): Likewise.
7914         (struct dwarf2_per_objfile): Likewise.
7915         (struct dwarf2_per_cu_data): Likewise.
7916         (struct signatured_type): Likewise.
7917         (sig_type_ptr): Likewise.
7918         (DEF_VEC_P (sig_type_ptr)): Likewise.
7919         (INDEX4_SUFFIX): Likewise.
7920         (INDEX5_SUFFIX): Likewise.
7921         (DEBUG_STR_SUFFIX): Likewise.
7922         (dwarf2_read_section): Make non-static.
7923         (mapped_index_string_hash): Move from here.
7924         (dwarf5_djb_hash): Likewise.
7925         (file_write): Likewise.
7926         (class data_buf): Likewise.
7927         (struct symtab_index_entry): Likewise.
7928         (struct mapped_symtab): Likewise.
7929         (find_slot): Likewise.
7930         (hash_expand): Likewise.
7931         (add_index_entry): Likewise.
7932         (uniquify_cu_indices): Likewise.
7933         (class c_str_view): Likewise.
7934         (class c_str_view_hasher): Likewise.
7935         (class vector_hasher): Likewise.
7936         (write_hash_table): Likewise.
7937         (psym_index_map): Likewise.
7938         (struct addrmap_index_data): Likewise.
7939         (add_address_entry): Likewise.
7940         (add_address_entry_worker): Likewise.
7941         (write_address_map): Likewise.
7942         (symbol_kind): Likewise.
7943         (write_psymbols): Likewise.
7944         (struct signatured_type_index_data): Likewise.
7945         (write_one_signatured_type): Likewise.
7946         (recursively_count_psymbols): Likewise.
7947         (recursively_write_psymbols): Likewise.
7948         (class debug_names): Likewise.
7949         (check_dwarf64_offsets): Likewise.
7950         (psyms_seen_size): Likewise.
7951         (write_gdbindex): Likewise.
7952         (write_debug_names): Likewise.
7953         (assert_file_size): Likewise.
7954         (write_psymtabs_to_index): Likewise.
7955         (save_gdb_index_command): Likewise.
7956         (_initialize_dwarf2_read): Don't register the "save gdb-index"
7957         command.
7958         * dwarf2read.h: New file.
7959
7960 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7961
7962         PR gdb/22670
7963         * dwarf2read.c (dwarf2_physname): Do not return the demangled
7964         symbol name if the CU's language stores symbol names in linkage
7965         format.
7966         * language.h (struct language_defn)
7967         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
7968         all instances of this struct.
7969
7970 2018-03-26  Tom Tromey  <tom@tromey.com>
7971
7972         * stack.c (backtrace_command_1): Remove verbose code.
7973
7974 2018-03-26  Tom Tromey  <tom@tromey.com>
7975
7976         * python/py-framefilter.c (py_print_type): Don't catch
7977         exceptions.  Return void.
7978         (py_print_value): Likewise.
7979         (py_print_single_arg): Likewise.
7980         (enumerate_args): Don't catch exceptions.
7981         (py_print_args): Likewise.
7982         (py_print_frame): Likewise.
7983         (gdbpy_apply_frame_filter): Catch exceptions here.
7984
7985 2018-03-26  Tom Tromey  <tom@tromey.com>
7986
7987         * stack.c (_initialize_stack): Remove trailing newlines from help
7988         text.  Add "Usage" line to "backtrace" help.
7989
7990 2018-03-26  Tom Tromey  <tom@tromey.com>
7991
7992         PR python/16486:
7993         * python/py-framefilter.c (py_print_args): Call wrap_hint.
7994
7995 2018-03-26  Tom Tromey  <tom@tromey.com>
7996
7997         * python/py-framefilter.c (py_print_single_arg): Return
7998         EXT_LANG_BT_ERROR from catch.
7999
8000 2018-03-26  Tom Tromey  <tom@tromey.com>
8001
8002         PR backtrace/15584:
8003         * stack.c (backtrace_command_1): Move some code into no-filters
8004         "if".
8005
8006 2018-03-26  Tom Tromey  <tom@tromey.com>
8007
8008         * python/py-framefilter.c (throw_quit_or_print_exception): New
8009         function.
8010         (gdbpy_apply_frame_filter): Use it.
8011
8012 2018-03-26  Tom Tromey  <tom@tromey.com>
8013
8014         PR cli/17716:
8015         * python/py-framefilter.c (py_print_type, py_print_value)
8016         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8017         RETURN_MASK_ERROR.
8018
8019 2018-03-26  Tom Tromey  <tom@tromey.com>
8020
8021         * python/py-framefilter.c (enumerate_args): Use
8022         gdb::unique_xmalloc_ptr.
8023
8024 2018-03-26  Tom Tromey  <tom@tromey.com>
8025
8026         * python/py-framefilter.c (py_print_frame): Return
8027         EXT_LANG_BT_OK.
8028         (gdbpy_apply_frame_filter): Update comment.
8029         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8030         Remove.
8031         <EXT_LANG_BT_NO_FILTERS>: Change value.
8032
8033 2018-03-26  Tom Tromey  <tom@tromey.com>
8034
8035         PR backtrace/15582:
8036         * stack.c (backtrace_command): Parse "hide" argument.
8037         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8038         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8039         constant.
8040
8041 2018-03-26  Tom Tromey  <tom@tromey.com>
8042
8043         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8044         add "flags".
8045         (backtrace_command): Remove "fulltrace", add "flags".
8046
8047 2018-03-26  Tom Tromey  <tom@tromey.com>
8048
8049         * stack.c (backtrace_command): Rewrite command line parsing.
8050
8051 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8052
8053         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8054
8055 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8056
8057         * filename-seen-cache.h: Add include guard.
8058
8059 2018-03-26  Keith Seitz  <keiths@redhat.com>
8060
8061         * symfile.c (place_section): Remove "struct" from section_addr_info
8062         in comment.
8063         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8064         "struct" keyword from section_addr_info.
8065
8066 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8067
8068         * regformats/regdef.h (reg): Add constructors.
8069
8070 2018-03-25  Pedro Alves  <palves@redhat.com>
8071
8072         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8073         if then/else bodies in var_func_name extraction.
8074
8075 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8076
8077         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8078         lookup_minimal_symbol() to find symbol entry.
8079         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8080
8081 2018-03-23  Keith Seitz  <keiths@redhat.com>
8082
8083         PR c++/22968
8084         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8085         nested type definitions for C++, too.
8086
8087 2018-03-23  Tom Tromey  <tom@tromey.com>
8088
8089         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8090         a typedef.
8091         (macho_register_oso): Remove.
8092         (macho_symtab_read): Take a std::vector.
8093         (oso_el_compare_name): Now a std::sort comparator.
8094         (macho_symfile_read_all_oso): Take a std::vector.
8095         (macho_symfile_read): Use std::vector.  Remove cleanups.
8096
8097 2018-03-22  Tom Tromey  <tom@tromey.com>
8098
8099         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8100         (record_full_goto_bookmark): Use std::string.
8101
8102 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8103
8104         PR tdep/18295
8105         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8106         a single mask.
8107
8108 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8109
8110         * rs6000-tdep.c (store_insn_p): New function.
8111         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8112         and cr_reg to their unshifted values. Use store_insn_p to
8113         match LR saves using either R1 or fdata->alloca_reg. Use
8114         store_insn_p to match CR saves. Set alloca_reg_offset
8115         when alloca_reg and framep are set. Remove lr_reg shift
8116         when assigning to fdata->lr_register.
8117
8118 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8119
8120         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8121         command line args instead of emitting a warning.
8122
8123 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8124
8125         * tracepoint.h (struct static_tracepoint_marker): Initialize
8126         fields, define default constructor, move constructor and move
8127         assignment, disable the rest.
8128         <str_id, extra>: Make std::string.
8129         (release_static_tracepoint_marker): Remove.
8130         (free_current_marker): Remove.
8131         * tracepoint.c (free_current_marker): Remove.
8132         (parse_static_tracepoint_marker_definition): Adjust to
8133         std::string, use new hex2str overload.
8134         (release_static_tracepoint_marker): Remove.
8135         (print_one_static_tracepoint_marker): Get marker by reference
8136         and adjust to std::string.
8137         (info_static_tracepoint_markers_command): Adjust to std::vector
8138         changes
8139         * target.h (static_tracepoint_marker_p): Remove typedef.
8140         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8141         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8142         bool.
8143         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8144         * target-debug.h
8145         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8146         (target_debug_print_std_vector_static_tracepoint_marker): New.
8147         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8148         to...
8149         (target_debug_print_static_tracepoint_marker_p): ... this.
8150         * target-delegates.c: Re-generate.
8151         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8152         Make std::string.
8153         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8154         (decode_static_tracepoint_spec): Adjust to std::vector.
8155         (tracepoint_print_one_detail): Adjust to std::string.
8156         (strace_marker_decode_location): Adjust to std::string.
8157         (update_static_tracepoint): Adjust to std::string, remove call
8158         to release_static_tracepoint_marker.
8159         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8160         Adjust to std::vector.
8161         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8162         (remote_static_tracepoint_markers_by_strid): Adjust to
8163         std::vector.
8164         * common/rsp-low.h (hex2str): New overload with explicit count
8165         of bytes.
8166         * common/rsp-low.c (hex2str): New overload with explicit count
8167         of bytes.
8168         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8169         (_initialize_rsp_low_selftests): Add test_hex2str test.
8170         * unittests/tracepoint-selftests.c
8171         (test_parse_static_tracepoint_marker_definition): Adjust to
8172         std::string.
8173
8174 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8175
8176         * tracepoint.c (parse_static_tracepoint_marker_definition):
8177         Consider case where the definition is followed by more
8178         definitions.
8179         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8180         tracepoint-selftests.c.
8181         * unittests/tracepoint-selftests.c: New.
8182
8183 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8184
8185         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8186         Carvalho.
8187
8188 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8189
8190         * symtab.c (find_pc_sect_line): fixed indentation.
8191
8192 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8193
8194         * symtab.c (find_pc_sect_line): now uses binary search.
8195
8196 2018-03-19  Tom Tromey  <tom@tromey.com>
8197
8198         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8199         "IDENT" production.
8200
8201 2018-03-19  Pedro Alves  <palves@redhat.com>
8202             Tom Tromey  <tom@tromey.com>
8203
8204         * unittests/observable-selftests.c: New file.
8205         * common/observable.h: New file.
8206         * observable.h: New file.
8207         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8208         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8209         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8210         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8211         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8212         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8213         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8214         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8215         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8216         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8217         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8218         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8219         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8220         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8221         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8222         tui/tui-interp.c, valops.c: Update all users.
8223         * tui/tui-hooks.c (tui_bp_created_observer)
8224         (tui_bp_deleted_observer, tui_bp_modified_observer)
8225         (tui_inferior_exit_observer, tui_before_prompt_observer)
8226         (tui_normal_stop_observer, tui_register_changed_observer):
8227         Remove.
8228         (tui_observers_token): New global.
8229         (attach_or_detach, tui_attach_detach_observers): New functions.
8230         (tui_install_hooks, tui_remove_hooks): Use
8231         tui_attach_detach_observers.
8232         * record-btrace.c (record_btrace_thread_observer): Remove.
8233         (record_btrace_thread_observer_token): New global.
8234         * observer.sh: Remove.
8235         * observer.c: Rename to observable.c.
8236         * observable.c (namespace gdb_observers): Define new objects.
8237         (observer_debug): Move into gdb_observers namespace.
8238         (struct observer, struct observer_list, xalloc_observer_list_node)
8239         (xfree_observer_list_node, generic_observer_attach)
8240         (generic_observer_detach, generic_observer_notify): Remove.
8241         (_initialize_observer): Update.
8242         Don't include observer.inc.
8243         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8244         (clean mostlyclean): Likewise.
8245         (observer.h, observer.inc): Remove targets.
8246         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8247         (COMMON_SFILES): Use observable.c, not observer.c.
8248         * .gitignore: Remove observer.h.
8249
8250 2018-03-18  Tom Tromey  <tom@tromey.com>
8251
8252         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8253         gdb::def_vector.
8254         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8255
8256 2018-03-17  Tom Tromey  <tom@tromey.com>
8257
8258         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8259
8260 2018-03-17  Tom Tromey  <tom@tromey.com>
8261
8262         * target.c (class scoped_target_fd): New.
8263         (target_fileio_close_cleanup): Remove.
8264         (target_fileio_read_alloc_1): Use scoped_target_fd.
8265
8266 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8267
8268         * silent-rules.mk: New.
8269         * Makefile.in: Include silent-rules.mk
8270         (srcdir, VPATH, top_srcdir): Move up.
8271         (COMPILE): Add ECHO_CXX.
8272         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8273         (init.c): Add ECHO_INIT_C.
8274         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8275         (version.c): Add ECHO_GEN.
8276         (printcmd.o): Add ECHO_CXX.
8277         (target-float.o): Add ECHO_CXX.
8278         (ada-exp.o): Add ECHO_CXX.
8279         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8280         (insight$(EXEEXT)): Add ECHO_CXXLD.
8281         * gnulib/configure.ac: Add AM_SILENT_RULES.
8282         * gnulib/aclocal.m4: Re-generate.
8283         * gnulib/configure: Re-generate.
8284         * gnulib/import/Makefile.in: Re-generate.
8285
8286 2018-03-16  Tom Tromey  <tom@tromey.com>
8287
8288         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8289         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8290         * utils.c (do_free_section_addr_info)
8291         (make_cleanup_free_section_addr_info): Remove.
8292         * symfile.h (struct other_sections): Add constructor.
8293         (struct section_addr_info): Remove.
8294         (section_addr_info): New typedef.
8295         (struct sym_fns) <sym_offsets>: Change type of parameter.
8296         (build_section_addr_info_from_objfile)
8297         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8298         (default_symfile_offsets, symbol_file_add)
8299         (symbol_file_add_from_bfd)
8300         (build_section_addr_info_from_section_table): Update.
8301         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8302         * symfile.c (alloc_section_addr_info): Remove.
8303         (build_section_addr_info_from_section_table): Change return type.
8304         Update.
8305         (build_section_addr_info_from_bfd)
8306         (build_section_addr_info_from_objfile): Likewise.
8307         (free_section_addr_info): Remove.
8308         (relative_addr_info_to_section_offsets): Change type of "addrs".
8309         (addrs_section_compar): Now a std::sort comparator.
8310         (addrs_section_sort): Change return type.
8311         (addr_info_make_relative): Change type of "addrs".  Update.
8312         (default_symfile_offsets, syms_from_objfile_1)
8313         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8314         (symbol_file_add_separate): Update.
8315         (symbol_file_add): Change type of "addrs".  Update.
8316         (add_symbol_file_command): Update.  Remove cleanups.
8317         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8318         cleanups.
8319         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8320         * solib.c (solib_read_symbols): Update.
8321         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8322         * machoread.c (macho_symfile_offsets): Update.
8323         * jit.c (jit_bfd_try_read_symtab): Update.
8324
8325 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8326
8327         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8328         unittests/utils-selftests.c.
8329         * unittests/utils-selftests.c: New file.
8330
8331 2018-03-14  Tom Tromey  <tom@tromey.com>
8332
8333         PR cli/14977:
8334         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8335         for NULL.
8336
8337 2018-03-14  Tom Tromey  <tom@tromey.com>
8338
8339         PR cli/19918:
8340         * printcmd.c (printf_pointer): Allow "-" in format.
8341
8342 2018-03-14  Tom Tromey  <tom@tromey.com>
8343
8344         * printcmd.c (_initialize_printcmd): Add usage to printf.
8345
8346 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8347
8348         * MAINTAINERS: Update my email address.
8349
8350 2018-03-13  Tom Tromey  <tom@tromey.com>
8351
8352         * machoread.c (macho_check_dsym): Change filenamep to a
8353         std::string*.
8354         (macho_symfile_read): Update.
8355         * symfile.c (load_command): Use std::string.
8356
8357 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8358
8359         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8360         to error message string.
8361         (riscv_register_name): Use xsnprintf instead of sprintf.
8362         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8363         internal_error.
8364         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8365         error.
8366         (riscv_push_dummy_call): Likewise.
8367
8368 2018-03-12  Tom Tromey  <tom@tromey.com>
8369
8370         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8371         Use gdb::byte_vector.
8372         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8373
8374 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8375
8376         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8377         parameter type to readable_regcache.
8378         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
8379         the declaration.
8380
8381 2018-03-11  Tom Tromey  <tom@tromey.com>
8382
8383         * dwarf2read.c (struct nextfield): Add initializers.
8384         (struct nextfnfield): Remove.
8385         (struct fnfieldlist): Add initializers.  Remove "length" and
8386         "head", use std::vector.
8387         (struct decl_field_list): Remove.
8388         (struct field_info): Add initializers.
8389         <fields, baseclasses>: Now std::vector.
8390         <nbaseclasses, nfnfields, typedef_field_list_count,
8391         nested_types_list_count>: Remove.
8392         (dwarf2_add_field, dwarf2_add_type_defn)
8393         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
8394         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
8395         (process_structure_scope): Update.
8396
8397 2018-03-11  Tom Tromey  <tom@tromey.com>
8398
8399         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
8400         for use by std::sort.
8401         (build_type_psymtabs_1): Use std::vector.
8402
8403 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
8404
8405         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
8406         and LIBMPFR in the printed configuration.
8407
8408 2018-03-08  Tom Tromey  <tom@tromey.com>
8409
8410         * source.c (get_filename_and_charpos): Use scoped_fd.
8411         * nto-procfs.c (procfs_open_1): Use scoped_fd.
8412         (procfs_pidlist): Likewise.
8413         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
8414         (iterate_over_mappings): Likewise.
8415
8416 2018-03-08  Tom Tromey  <tom@tromey.com>
8417
8418         * infcall.c (struct call_return_meta_info)
8419         <stack_temporaries_enabled>: Remove.
8420         (get_call_return_value, call_function_by_hand_dummy): Update.
8421         * thread.c (disable_thread_stack_temporaries): Remove.
8422         (enable_thread_stack_temporaries): Remove.
8423         (thread_stack_temporaries_enabled_p): Return bool.
8424         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
8425         (get_last_thread_stack_temporary): Update.
8426         * eval.c (evaluate_subexp): Update.
8427         * gdbthread.h (class enable_thread_stack_temporaries): Now a
8428         class, not a function.
8429         (value_ptr, value_vec): Remove typedefs.
8430         (class thread_info) <stack_temporaries_enabled>: Now bool.
8431         <stack_temporaries>: Now a std::vector.
8432         (thread_stack_temporaries_enabled_p)
8433         (value_in_thread_stack_temporaries): Return bool.
8434
8435 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
8436
8437         * remote.c (putpkt_binary): Fix omitted bytes reporting.
8438         (getpkt_or_notif_sane_1): Likewise.
8439
8440 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8441
8442         * build-id.c (build_id_to_debug_bfd): Use std::string.
8443
8444 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8445
8446         * build-id.c (find_separate_debug_file_by_buildid): Return
8447         std::string.
8448         * build-id.h (find_separate_debug_file_by_buildid): Return
8449         std::string.
8450         * coffread.c (coff_symfile_read): Adjust to std::string.
8451         * elfread.c (elf_symfile_read): Adjust to std::string.
8452         * symfile.c (separate_debug_file_exists): Change parameter to
8453         std::string.
8454         (find_separate_debug_file): Return std::string.
8455         (find_separate_debug_file_by_debuglink): Return std::string.
8456         * symfile.h (find_separate_debug_file_by_debuglink): Return
8457         std::string.
8458
8459 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8460
8461         * common/xml-utils.c (xml_escape_text): Move code to...
8462         (xml_escape_text_append): ... this new function.
8463         * common/xml-utils.h (xml_escape_text_append): New declaration.
8464         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
8465         New function.
8466         (_initialize_xml_utils): register test_xml_escape_text_append as
8467         a selftest.
8468
8469 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
8470
8471         * defs.h: Remove MAX_REGISTER_SIZE.
8472         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
8473         asserts.
8474         * python/py-unwind.c (pyuw_sniffer): Likewise.
8475
8476 2018-03-07  Tom Tromey  <tom@tromey.com>
8477
8478         * linux-tdep.c (linux_info_proc): Update.
8479         * target.h (struct target_ops) <to_fileio_readlink>: Return
8480         optional<string>.
8481         (target_fileio_readlink): Return optional<string>.
8482         * remote.c (remote_hostio_readlink): Return optional<string>.
8483         * inf-child.c (inf_child_fileio_readlink): Return
8484         optional<string>.
8485         * target.c (target_fileio_readlink): Return optional<string>.
8486
8487 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
8488
8489         * regcache.c (cooked_read_test): Add riscv to the list of
8490         architectures that have a save_reggroup.
8491
8492 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8493
8494         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
8495         value is not a dynamic class object.
8496
8497 2018-03-06  Tom Tromey  <tom@tromey.com>
8498
8499         * rust-exp.y: Formatting fixes.
8500
8501 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8502
8503         * riscv-tdep.c (riscv_register_name): Remove target description
8504         support.
8505         (riscv_gdbarch_init): Remove target description check.
8506
8507 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8508
8509         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
8510         comment.
8511         * riscv-tdep.h: Likewise.
8512
8513 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8514
8515         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
8516         (riscv_pseudo_register_write): Delete.
8517         (riscv_gdbarch_init): Remove all use of pseudo registers.
8518
8519 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8520
8521         * record-btrace.c (btrace_print_lines): Replace cleanup
8522         parameter with RAII equivalents.
8523         (btrace_insn_history): Replace cleanup with RAII equivalents.
8524         * ui-out.h (make_cleanup_ui_out_list_begin_end,
8525         make_cleanup_ui_out_tuple_begin_end): Remove.
8526         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
8527         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
8528         make_cleanup_ui_out_list_begin_end): Remove.
8529
8530 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8531
8532         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
8533         parameter types to std::vector.  Use bool.
8534         (record_btrace_wait): Replace VEC(tp_t) with
8535         std::vector<thread_info *>.
8536         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
8537
8538 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8539
8540         * record-btrace.c (record_btrace_disable_callback): Remove.
8541         (struct scoped_btrace_disable): New.
8542         (record_btrace_open): Use scoped_btrace_disable.
8543
8544 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8545
8546         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
8547         reading values from registers.
8548
8549 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8550
8551         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
8552         where appropriate.
8553
8554 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8555
8556         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
8557         change parameter type.  Use GDB's print functions, and use
8558         core_addr_to_string where appropriate.
8559         (riscv_push_dummy_call): Use core_addr_to_string where
8560         appropriate, update call to riscv_print_arg_location, and reindent
8561         a few lines.
8562         (riscv_return_value): Update call to riscv_print_arg_location.
8563
8564 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8565             Tim Newsome <tim@sifive.com>
8566             Albert Ou <a0u@eecs.berkeley.edu>
8567             Darius Rad <darius@bluespec.com>
8568
8569         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
8570         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
8571         (ALLDEPFILES): Add riscv-tdep.c
8572         * configure.tgt: Add riscv support.
8573         * riscv-tdep.c: New file.
8574         * riscv-tdep.h: New file.
8575         * NEWS: Mention new target.
8576         * MAINTAINERS: Add entry for riscv.
8577
8578 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8579
8580         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
8581         fields within aggregates.
8582
8583 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
8584
8585         * record-btrace.c (btrace_print_lines): Change type of flags to
8586         gdb_disassembly_flags.
8587
8588 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8589
8590         * fbsd-nat.c: Include "inf-ptrace.h".
8591         (USE_SIGTRAP_SIGINFO): Conditionally define.
8592         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
8593         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
8594         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
8595         function.
8596         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
8597         Likewise.
8598         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
8599         Likewise.
8600         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
8601         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
8602         "supports_stopped_by_hw_breakpoint" target methods.
8603
8604 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8605
8606         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
8607         * fbsd-nat.c (debug_fbsd_nat): New variable.
8608         (show_fbsd_nat_debug): New function.
8609         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
8610         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
8611
8612 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8613
8614         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
8615         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
8616         prototype.
8617         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
8618         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
8619         method.
8620
8621 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8622
8623         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
8624         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
8625
8626 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8627
8628         * charset.c (struct charset_vector): New.
8629         (charsets): Change type to charset_vector.
8630         (find_charset_names): Adjust.
8631         (add_one): Adjust.
8632         (_initialize_charset): Adjust.
8633
8634 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8635
8636         * progspace.h (struct program_space) <deleted_solibs>: Change
8637         type to std::vector<std::string>.
8638         * progspace.c (clear_program_space_solib_cache): Adjust.
8639         * breakpoint.c (print_solib_event): Adjust.
8640         (check_status_catch_solib): Adjust.
8641         * solib.c (update_solib_list): Adjust.
8642         * ui-out.h (class ui_out) <field_string>: New overload.
8643         * ui-out.c (ui_out::field_string): New overload.
8644
8645 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8646
8647         * progspace.h (struct program_space): Add constructor and
8648         destructor, initialize fields.
8649         (add_program_space): Remove.
8650         * progspace.c (add_program_space): Rename to...
8651         (program_space::program_space): ... this.
8652         (release_program_space): Rename to...
8653         (program_space::~program_space): ... this.
8654         (delete_program_space): Use delete to delete program_space.
8655         (initialize_progspace): Use new to allocate program_space.
8656         * inferior.c (add_inferior_with_spaces): Likewise.
8657         (clone_inferior_command): Likewise.
8658         * infrun.c (follow_fork_inferior): Likewise.
8659         (handle_vfork_child_exec_or_exit): Likewise.
8660
8661 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8662
8663         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
8664         (delim_string_to_char_ptr_vec): Return std::vector of
8665         gdb::unique_xmalloc_ptr.
8666         (dirnames_to_char_ptr_vec_append): Take std::vector of
8667         gdb::unique_xmalloc_ptr.
8668         (dirnames_to_char_ptr_vec): Return std::vector of
8669         gdb::unique_xmalloc_ptr.
8670         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
8671         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
8672         (delim_string_to_char_ptr_vec): Return an std::vector of
8673         gdb::unique_xmalloc_ptr, adjust the code.
8674         (dirnames_to_char_ptr_vec_append): Take an std::vector of
8675         gdb::unique_xmalloc_ptr, adjust the code.
8676         (dirnames_to_char_ptr_vec): Return an std::vector of
8677         gdb::unique_xmalloc_ptr, adjust the code.
8678         * auto-load.c (auto_load_safe_path_vec): Change type to
8679         std::vector of gdb::unique_xmalloc_ptr.
8680         (auto_load_expand_dir_vars): Return an std::vector of
8681         gdb::unique_xmalloc_ptr, adjust the code.
8682         (auto_load_safe_path_vec_update): Adjust.
8683         (filename_is_in_auto_load_safe_path_vec): Adjust.
8684         (auto_load_objfile_script_1): Adjust.
8685         * build-id.c (build_id_to_debug_bfd): Adjust.
8686         * linux-thread-db.c (thread_db_load_search): Adjust.
8687         * source.c (add_path): Adjust.
8688         (openp): Adjust.
8689         * symfile.c (find_separate_debug_file): Adjust.
8690         * utils.c (do_free_char_ptr_vec): Remove.
8691         (make_cleanup_free_char_ptr_vec): Remove.
8692
8693 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
8694
8695         PR gdb/22907
8696         * common/pathstuff.c: Conditionally include "<windows.h>".
8697
8698 2018-03-01  Georg Sauthoff  <mail@georg.so>
8699
8700         PR gdb/22888
8701         * gcore.in: Quote variables and switch interpreter to bash.
8702
8703 2018-03-01  Tom Tromey  <tom@tromey.com>
8704
8705         * dwarf2read.c (alloc_discriminant_info): Fix default_index
8706         assertion.  Add assertion for discriminant_index.
8707         (quirk_rust_enum): Use correct base type name in univariant case.
8708
8709 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
8710
8711         * record.c (get_call_history_modifiers): Return a
8712         record_print_flags.
8713         (cmd_record_call_history): Adjust.
8714         * record-btrace.c (record_btrace_call_history): Adjust.
8715         (record_btrace_call_history_range): Adjust.
8716         (record_btrace_call_history_from): Adjust.
8717         * target-debug.h (target_debug_print_record_print_flags): New.
8718         * target-delegates.c: Re-generate.
8719         * target.c (target_call_history): Change flags type.
8720         (target_call_history_from): Likewise.
8721         (target_call_history_range): Likewise.
8722         * target.h (struct target_ops) <target_call_history>: Likewise.
8723         (target_call_history_from): Likewise.
8724         (target_call_history_range): Likewise.
8725
8726 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8727             Simon Marchi  <simon.marchi@polymtl.ca>
8728
8729         * common/common-utils.c: Include "sys/stat.h".
8730         (is_regular_file): Move here from "source.c"; change return
8731         type to "bool".
8732         * common/common-utils.h (is_regular_file): New prototype.
8733         * common/pathstuff.c (contains_dir_separator): New function.
8734         * common/pathstuff.h (contains_dir_separator): New prototype.
8735         * source.c: Don't include "sys/stat.h".
8736         (is_regular_file): Move to "common/common-utils.c".
8737
8738 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8739
8740         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
8741         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
8742         * auto-load.c: Include "common/pathstuff.h".
8743         * common/common-def.h (current_directory): Move here.
8744         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
8745         function.
8746         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
8747         prototype.
8748         * common/pathstuff.c: New file.
8749         * common/pathstuff.h: New file.
8750         * compile/compile.c: Include "common/pathstuff.h".
8751         * defs.h (current_directory): Move to "common/common-defs.h".
8752         * dwarf2read.c: Include "common/pathstuff.h".
8753         * exec.c: Likewise.
8754         * guile/scm-safe-call.c: Likewise.
8755         * linux-thread-db.c: Likewise.
8756         * main.c: Likewise.
8757         * nto-tdep.c: Likewise.
8758         * objfiles.c: Likewise.
8759         * source.c: Likewise.
8760         * symtab.c: Likewise.
8761         * utils.c: Include "common/pathstuff.h".
8762         (gdb_realpath): Move to "common/pathstuff.c".
8763         (gdb_realpath_keepfile): Likewise.
8764         (gdb_abspath): Likewise.
8765         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
8766         (gdb_realpath_keepfile): Likewise.
8767         (gdb_abspath): Likewise.
8768
8769 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
8770
8771         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
8772         wildcard process pid for super_resume for kernels with a
8773         specific bug.
8774
8775 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
8776
8777         * compile/compile.c (get_args): Add additional comments
8778         explaining function.
8779
8780 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
8781             Tom Tromey  <tom@tromey.com>
8782
8783         * target.h (memory_write_request_s): Remove typedef.  Don't define
8784         VEC.
8785         (target_write_memory_blocks): Change argument to std::vector.
8786         (struct memory_write_request): Add constructor.
8787         * target-memory.c (compare_block_starting_address): Return bool.
8788         Change argument types.
8789         (claim_memory): Change arguments to use std::vector.
8790         (split_regular_and_flash_blocks, blocks_to_erase)
8791         (compute_garbled_blocks): Likewise.
8792         (cleanup_request_data, cleanup_write_requests_vector): Remove.
8793         (target_write_memory_blocks): Change argument to std::vector.
8794         * symfile.c (struct load_section_data): Add constructor and
8795         destructor.  Use std::vector for "requests".
8796         (struct load_progress_data): Add initializers.
8797         (load_section_callback): Update.  Use "new".
8798         (clear_memory_write_data): Remove.
8799         (generic_load): Update.
8800
8801 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
8802
8803         * arch/aarch64.h: Use common/tdesc.h.
8804
8805 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8806
8807         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
8808         architecture with a 64-bit ABI.
8809
8810 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8811
8812         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
8813         ahead of target description loading.
8814
8815 2018-02-26  Tom Tromey  <tom@tromey.com>
8816
8817         * stack.c (backtrace_command_1): Update.
8818         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
8819         of "flags".
8820         * python/py-framefilter.c (py_print_frame)
8821         (gdbpy_apply_frame_filter): Change type of "flags".
8822         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
8823         of "flags".
8824         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
8825         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
8826         * extension.h (enum frame_filter_flag): Rename from
8827         frame_filter_flags.
8828         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
8829         (apply_ext_lang_frame_filter): Change type of "flags".
8830         * extension.c (apply_ext_lang_frame_filter): Change type of
8831         "flags".
8832         * extension-priv.h (struct extension_language_ops)
8833         <apply_frame_filter>: Change type of "flags".
8834
8835 2018-02-26  Tom Tromey  <tom@tromey.com>
8836
8837         PR python/16497:
8838         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
8839         off-by-one in py_end computation.
8840         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
8841         PRINT_MORE_FRAMES.
8842         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
8843         constant.
8844
8845 2018-02-26  Tom Tromey  <tom@tromey.com>
8846
8847         * dwarf2read.c (struct variant_field): New.
8848         (struct nextfield) <variant>: New field.
8849         (dwarf2_add_field): Handle DW_TAG_variant_part.
8850         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
8851         discriminated union.
8852         (read_structure_type): Handle DW_TAG_variant_part.
8853         (handle_struct_member_die): New function, extracted from
8854         process_structure_scope.  Handle DW_TAG_variant.
8855         (process_structure_scope): Handle discriminated unions.  Call
8856         handle_struct_member_die.
8857
8858 2018-02-26  Tom Tromey  <tom@tromey.com>
8859
8860         * rust-lang.h (rust_last_path_segment): Declare.
8861         * rust-lang.c (rust_last_path_segment): Now public.  Change
8862         contract.
8863         (struct disr_info): Remove.
8864         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
8865         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
8866         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
8867         (rust_enum_p, rust_enum_variant): New function.
8868         (rust_underscore_fields): Remove "offset" parameter.
8869         (rust_print_enum): New function.
8870         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
8871         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
8872         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
8873         enums.
8874         (rust_internal_print_type): New function, from rust_print_type.
8875         Remove enum code.
8876         (rust_print_type): Call rust_internal_print_type.
8877         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
8878         Update enum handling.
8879         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
8880         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
8881         (rust_union_quirks): New functions.
8882         (process_full_comp_unit, process_full_type_unit): Call
8883         rust_union_quirks.
8884         (process_structure_scope): Update rust_unions if necessary.
8885
8886 2018-02-26  Tom Tromey  <tom@tromey.com>
8887
8888         * value.h (value_union_variant): Declare.
8889         * valops.c (value_union_variant): New function.
8890         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
8891         (struct discriminant_info): New.
8892         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
8893         enumerator.
8894         (struct main_type) <flag_discriminated_union>: New field.
8895
8896 2018-02-26  Tom Tromey  <tom@tromey.com>
8897
8898         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8899         unittests/unpack-selftests.c.
8900         * unittests/unpack-selftests.c: New file.
8901         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
8902
8903 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8904
8905         * dwarf2read.c (struct partial_die_info) <read>: New method.
8906         (read_partial_die): Remove the declaration.
8907         (load_partial_dies): Update.
8908         (partial_die_info::partial_die_info):
8909         (read_partial_die): Change it to partial_die_info::read.
8910
8911 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8912
8913         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
8914         (fixup_partial_die): Remove declaration.
8915         (scan_partial_symbols): Update.
8916         (partial_die_parent_scope): Likewise.
8917         (partial_die_full_name): Likewise.
8918         (fixup_partial_die): Change it to partial_die_info::fixup.
8919
8920 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8921
8922         * dwarf2read.c (read_partial_die): Update the declaration.
8923         (load_partial_dies): Caller update.
8924         (read_partial_die): Remove one argument abbrev_len.
8925
8926 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8927
8928         * dwarf2read.c (struct partial_die_info): Add ctor, delete
8929         assignment operator.
8930         (load_partial_dies): Use ctor and copy ctor.
8931         (read_partial_die): Update.
8932         (dwarf2_cu::find_partial_die): Use ctor.
8933
8934 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8935
8936         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
8937         (find_partial_die_in_comp_unit): Change it to
8938         dwarf2_cu::find_partial_die.
8939         (find_partial_die): Update.
8940
8941 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8942
8943         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
8944         is NULL.
8945
8946 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8947
8948         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
8949
8950 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
8951
8952         * arch/amd64.h: Use common/tdesc.h.
8953         * arch/i386.c: Likewise.
8954         * arch/i386.h: Likewise.
8955         * arch/tic6x.c: Likewise.
8956         * arch/tdesc.h: Move file from here...
8957         * common/tdesc.h: ...to here.
8958         * features/aarch64-core.c: Regenerate.
8959         * features/aarch64-fpu.c: Regenerate.
8960         * features/i386/32bit-avx.c: Regenerate.
8961         * features/i386/32bit-avx512.c: Regenerate.
8962         * features/i386/32bit-core.c: Regenerate.
8963         * features/i386/32bit-linux.c: Regenerate.
8964         * features/i386/32bit-mpx.c: Regenerate.
8965         * features/i386/32bit-pkeys.c: Regenerate.
8966         * features/i386/32bit-sse.c: Regenerate.
8967         * features/i386/64bit-avx.c: Regenerate.
8968         * features/i386/64bit-avx512.c: Regenerate.
8969         * features/i386/64bit-core.c: Regenerate.
8970         * features/i386/64bit-linux.c: Regenerate.
8971         * features/i386/64bit-mpx.c: Regenerate.
8972         * features/i386/64bit-pkeys.c: Regenerate.
8973         * features/i386/64bit-segments.c: Regenerate.
8974         * features/i386/64bit-sse.c: Regenerate.
8975         * features/i386/x32-core.c: Regenerate.
8976         * features/tic6x-c6xp.c: Regenerate.
8977         * features/tic6x-core.c: Regenerate.
8978         * features/tic6x-gp.c: Regenerate.
8979         * target-descriptions.c: Use common/tdesc.h.
8980         * target-descriptions.h: Likewise.
8981
8982 2018-02-24  Tom Tromey  <tom@tromey.com>
8983
8984         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
8985         (try_thread_db_load_from_dir, thread_db_load_search): Use
8986         std::string.
8987         (info_auto_load_libthread_db_compare): Return bool.  Change
8988         argument types.
8989         (info_auto_load_libthread_db): Use std::vector, std::string.
8990         Remove cleanups.
8991
8992 2018-02-24  Tom Tromey  <tom@tromey.com>
8993
8994         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
8995         std::string.
8996         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
8997         std::string*.
8998         * gdbarch.c: Rebuild.
8999         * gdbarch.h: Rebuild.
9000         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9001         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9002         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9003         std::string*.
9004
9005 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9006
9007         * gdbtypes.h (sect_offset): Change type to uint64_t.
9008         (sect_offset_str): New function.
9009         * dwarf2read.c (create_addrmap_from_aranges): Use
9010         sect_offset_str.
9011         (error_check_comp_unit_head): Likewise.
9012         (create_debug_type_hash_table): Likewise.
9013         (read_cutu_die_from_dwo): Likewise.
9014         (init_cutu_and_read_dies): Likewise.
9015         (init_cutu_and_read_dies_no_follow): Likewise.
9016         (process_psymtab_comp_unit_reader): Likewise.
9017         (partial_die_parent_scope): Likewise.
9018         (peek_die_abbrev): Likewise.
9019         (process_queue): Likewise.
9020         (dwarf2_physname): Likewise.
9021         (read_namespace_alias): Likewise.
9022         (read_import_statement): Likewise.
9023         (create_dwo_cu_reader): Likewise.
9024         (create_cus_hash_table): Likewise.
9025         (lookup_dwo_cutu): Likewise.
9026         (inherit_abstract_dies): Likewise.
9027         (read_func_scope): Likewise.
9028         (read_call_site_scope): Likewise.
9029         (dwarf2_add_member_fn): Likewise.
9030         (read_common_block): Likewise.
9031         (read_module_type): Likewise.
9032         (read_typedef): Likewise.
9033         (read_subrange_type): Likewise.
9034         (load_partial_dies): Likewise.
9035         (read_partial_die): Likewise.
9036         (find_partial_die): Likewise.
9037         (read_str_index): Likewise.
9038         (dwarf2_string_attr): Likewise.
9039         (build_error_marker_type): Likewise.
9040         (lookup_die_type): Likewise.
9041         (dump_die_shallow): Likewise.
9042         (follow_die_ref): Likewise.
9043         (dwarf2_fetch_die_loc_sect_off): Likewise.
9044         (dwarf2_fetch_constant_bytes): Likewise.
9045         (follow_die_sig): Likewise.
9046         (get_signatured_type): Likewise.
9047         (get_DW_AT_signature_type): Likewise.
9048         (dwarf2_find_containing_comp_unit): Likewise.
9049         (set_die_type): Likewise.
9050
9051 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9052
9053         * arch/aarch64.c: Include "common-defs.h".
9054         * arch/amd64.c: Likewise.
9055         * arch/i386.c: Likewise.
9056
9057 2018-02-21  Tom Tromey  <tom@tromey.com>
9058
9059         * value.h: (extract_field_op): Update.
9060         * eval.c (extract_field_op): Return a const char *.
9061         * expression.h (parse_expression_for_completion): Update.
9062         * completer.c (complete_expression): Update.
9063         (add_struct_fields): Make fieldname const.
9064         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9065         (mark_completion_tag, parse_exp_in_context_1): Update.
9066         (parse_expression_for_completion): Change "name" to
9067         unique_xmalloc_ptr*.
9068
9069 2018-02-21  Tom Tromey  <tom@tromey.com>
9070
9071         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9072
9073 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9074
9075         * avr-tdep.c (avr_read_pc): Change parameter type to
9076         readable_regcache.
9077         * gdbarch.sh (read_pc): Likewise.
9078         * gdbarch.c: Re-generated.
9079         * gdbarch.h: Re-generated.
9080         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9081         readable_regcache.
9082         * ia64-tdep.c (ia64_read_pc): Likewise.
9083         * mips-tdep.c (mips_read_pc): Likewise.
9084         * spu-tdep.c (spu_read_pc): Likewise.
9085
9086 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9087
9088         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9089         * regcache-dump.c: New file.
9090         * regcache.c: Move register_dump to regcache-dump.c.
9091         (maintenance_print_registers): Likewise.
9092         (maintenance_print_raw_registers): Likewise.
9093         (maintenance_print_cooked_registers): Likewise.
9094         (maintenance_print_register_groups): Likewise.
9095         (maintenance_print_remote_registers): Likewise.
9096         (_initialize_regcache): Likewise.
9097         * regcache.h (register_dump): Moved from regcache.c.
9098
9099 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9100
9101         * regcache.c (regcache::regcache): Update.
9102         (regcache::invalidate): Move it to detached_regcache::invalidate.
9103         (get_thread_arch_aspace_regcache): Update.
9104         (regcache::raw_update): Update.
9105         (regcache::cooked_read): Remove some code.
9106         (regcache::cooked_read_value): Likewise.
9107         (regcache::raw_write): Remove assert on m_readonly_p.
9108         (regcache::raw_supply_integer): Move it to
9109         detached_regcache::raw_supply_integer.
9110         (regcache::raw_supply_zeroed): Likewise.
9111         * regcache.h (detached_regcache) <raw_supply_integer>: New
9112         declaration.
9113         <raw_supply_zeroed, invalidate>: Likewise.
9114         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9115         <invalidate>: Likewise.
9116         <m_readonly_p>: Removed.
9117
9118 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9119
9120         * infcmd.c (get_return_value): Let stop_regs point to
9121         get_current_regcache.
9122         * regcache.c (regcache::regcache): Remove.
9123         (register_dump_reg_buffer): New class.
9124         (regcache_print): Adjust.
9125         * regcache.h (regcache): Remove constructors.
9126
9127 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9128
9129         * regcache.c (class register_dump): New class.
9130         (register_dump_regcache, register_dump_none): New class.
9131         (register_dump_remote, register_dump_groups): New class.
9132         (regcache_print): Update.
9133         * regcache.h (regcache_dump_what): Move it to regcache.c.
9134         (regcache) <dump>: Remove.
9135
9136 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9137
9138         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9139          reg_buffer_rw *.
9140         (jit_unwind_reg_set_impl): Call raw_supply.
9141         (jit_frame_sniffer): Use reg_buffer_rw.
9142         * record-full.c (record_full_core_regbuf): Change its type.
9143         (record_full_core_open_1): Use reg_buffer_rw.
9144         (record_full_close): Likewise.
9145         (record_full_core_fetch_registers): Use regcache->raw_supply.
9146         (record_full_core_store_registers): Likewise.
9147         * regcache.c (regcache::get_register_status): Move it to
9148         reg_buffer.
9149         (regcache_raw_set_cached_value): Remove.
9150         (regcache::raw_set_cached_value): Remove.
9151         (regcache::raw_write): Call raw_supply.
9152         (regcache::raw_supply): Move it to reg_buffer_rw.
9153         * regcache.h (regcache_raw_set_cached_value): Remove.
9154         (reg_buffer_rw): New class.
9155
9156 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9157
9158         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9159         readonly_detached_regcache.
9160         (dummy_frame_prev_register): Use regcache->cooked_read.
9161         * frame.c (frame_save_as_regcache): Change return type.
9162         (frame_pop): Update.
9163         * frame.h (frame_save_as_regcache): Update declaration.
9164         * inferior.h (get_infcall_suspend_state_regcache): Update
9165         declaration.
9166         * infrun.c (infcall_suspend_state) <registers>: use
9167         readonly_detached_regcache.
9168         (save_infcall_suspend_state): Don't use regcache_dup.
9169         (get_infcall_suspend_state_regcache): Change return type.
9170         * linux-fork.c (struct fork_info) <savedregs>: Change to
9171         readonly_detached_regcache.
9172         <pc>: New field.
9173         (fork_save_infrun_state): Don't use regcache_dup.
9174         (info_checkpoints_command): Adjust.
9175         * mi/mi-main.c (register_changed_p): Update declaration.
9176         (mi_cmd_data_list_changed_registers): Use
9177         readonly_detached_regcache.
9178         (register_changed_p): Change parameter type to
9179         readonly_detached_regcache.
9180         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9181         readonly_detached_regcache.
9182         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9183         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9184         New.
9185         (regcache::save): Move it to reg_buffer.
9186         (regcache::restore): Change parameter type.
9187         (regcache_dup): Remove.
9188         * regcache.h (reg_buffer) <save>: New method.
9189         (readonly_detached_regcache): New class.
9190         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9191         readonly_detached_regcache.
9192         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9193
9194 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9195
9196         * frame.c (frame_save_as_regcache): Use regcache method save.
9197         (frame_pop): Use regcache method restore.
9198         * infrun.c (restore_infcall_suspend_state): Likewise.
9199         * linux-fork.c (fork_load_infrun_state): Likewise.
9200         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9201         save.
9202         * regcache.c (regcache_save): Remove.
9203         (regcache::restore): More asserts.
9204         (regcache_cpy): Remove.
9205         * regcache.h (regcache_save): Remove the declaration.
9206         (regcache::restore): Move from private to public.
9207         Remove the friend declaration of regcache_cpy.
9208         (regcache_cpy): Remove declaration.
9209
9210 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9211
9212         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9213         parameter type to 'readable_regcache *'.
9214         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9215         * arm-tdep.c (arm_neon_quad_read): Likewise.
9216         (arm_pseudo_read): Likewise.
9217         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9218         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9219         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9220         * gdbarch.c: Re-generated.
9221         * gdbarch.h: Re-generated.
9222         * gdbarch.sh (pseudo_register_read): Change parameter type to
9223         'readable_regcache *'.
9224         (pseudo_register_read_value): Likewise.
9225         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9226         (h8300_pseudo_register_read): Likewise.
9227         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9228         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9229         (i386_pseudo_register_read_into_value): Likewise.
9230         (i386_pseudo_register_read_value): Likewise.
9231         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9232         declaration.
9233         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9234         * m32c-tdep.c (m32c_raw_read): Likewise.
9235         (m32c_read_flg): Likewise.
9236         (m32c_banked_register): Likewise.
9237         (m32c_banked_read): Likewise.
9238         (m32c_sb_read): Likewise.
9239         (m32c_part_read): Likewise.
9240         (m32c_cat_read): Likewise.
9241         (m32c_r3r2r1r0_read): Likewise.
9242         (m32c_pseudo_register_read): Likewise.
9243         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9244         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9245         (mep_pseudo_cr64_read): Likewise.
9246         (mep_pseudo_register_read): Likewise.
9247         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9248         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9249         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9250         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9251         (regcache::cooked_read): Likewise.
9252         (regcache::cooked_read_value): Likewise.
9253         (regcache_cooked_read_signed):
9254         (regcache::cooked_read): Likewise.
9255         * regcache.h (readable_regcache): New class.
9256         (regcache): Inherit readable_regcache.  Move some methods to
9257         readable_regcache.
9258         * rl78-tdep.c (rl78_pseudo_register_read): Change
9259         parameter type to 'readable_regcache *'.
9260         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9261         (e500_pseudo_register_read): Change parameter type to
9262         'readable_regcache *'.
9263         (dfp_pseudo_register_read): Likewise.
9264         (vsx_pseudo_register_read): Likewise.
9265         (efpr_pseudo_register_read): Likewise.
9266         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9267         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9268         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9269         (sh64_pseudo_register_read): Likewise.
9270         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9271         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9272         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9273         (spu_pseudo_register_read): Likewise.
9274         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9275         (xtensa_pseudo_register_read): Likewise.
9276
9277 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9278
9279         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9280         (regcache::arch): Move it to reg_buffer::arch.
9281         (regcache::register_buffer): Likewise.
9282         (regcache::assert_regnum): Likewise.
9283         (regcache::num_raw_registers): Likewise.
9284         * regcache.h (reg_buffer): New class.
9285         (regcache): Inherit reg_buffer.
9286
9287 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9288
9289         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9290         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9291
9292 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9293
9294         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9295
9296 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9297
9298         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9299         (SFILES): Remove common/*.c files.
9300         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9301         * common/common.host: Add common reference.
9302         * configure.ac: Likewise.
9303         * configure: Regenerate.
9304
9305 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9306
9307         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9308         (block_initialize_namespace): Use new.
9309         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9310         (dwarf2_free_objfile): Use delete.
9311         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9312         (copy_type_recursive): Use new.
9313         * gdb_obstack.h (allocate_on_obstack): New.
9314
9315 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9316
9317         PR gdb/22849
9318         * inferior.c (exit_inferior_1): Reset inf->control.
9319
9320 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9321
9322         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9323         declaration.
9324
9325 2018-02-14  Pedro Alves  <palves@redhat.com>
9326
9327         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9328         frame_cleanup_after_sniffer on exception.
9329
9330 2018-02-14  Tom Tromey  <tom@tromey.com>
9331
9332         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9333         const.
9334         (solib_bfd_open): Make pathname const.
9335         * solib.c (solib_bfd_open): Make pathname const.
9336         * solib-spu.c (spu_bfd_fopen): Make name const.
9337         (spu_bfd_open): Make pathname const.
9338         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9339         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9340
9341 2018-02-14  Tom Tromey  <tom@tromey.com>
9342
9343         * symfile.c (symfile_bfd_open): Update.
9344         * source.h (openp, source_full_path_of, find_and_open_source):
9345         Change argument type to unique_xmalloc_ptr.
9346         * source.c (openp): Take a unique_xmalloc_ptr.
9347         (source_full_path_of, find_and_open_source): Likewise.
9348         (open_source_file, symtab_to_fullname): Update.
9349         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9350         unique_xmalloc_ptr.
9351         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9352         (exec_file_find): Update.
9353         * psymtab.c (psymtab_to_fullname): Update.
9354         * nto-tdep.h (nto_find_and_open_solib): Update.
9355         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9356         unique_xmalloc_ptr.
9357         * exec.c (exec_file_attach): Update.
9358         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9359         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9360
9361 2018-02-14  Tom Tromey  <tom@tromey.com>
9362
9363         * solib.c: Include source.h.
9364         * nto-tdep.c: Include source.h.
9365         * mi/mi-cmd-env.c: Include source.h.
9366         * infcmd.c: Include source.h.
9367         * exec.c: Include source.h.
9368         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9369         (add_path, directory_switch, source_path, init_source_path): Move
9370         declarations...
9371         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9372         (add_path, directory_switch, source_path, init_source_path):
9373         ...here.
9374
9375 2018-02-14  Tom Tromey  <tom@tromey.com>
9376
9377         * solist.h (exec_file_find, solib_find): Return
9378         unique_xmalloc_ptr.
9379         (solib_bfd_fopen): Take a const char *.
9380         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
9381         (exec_file_find, solib_find): Likewise.
9382         (solib_bfd_fopen): Do not take ownership of "pathname".
9383         (solib_bfd_open): Use unique_xmalloc_ptr.
9384         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
9385         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
9386         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
9387         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
9388
9389 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
9390
9391         * ada-lang.c (name_match_type_from_name): Remove reference to
9392         ada_name_for_lookup in function's documentation.
9393         * ada-lang.h (ada_name_for_lookup): Delete declaration.
9394
9395 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9396
9397         * defs.h (enum openp_flags): New enum.
9398         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
9399         Move to enum openp_flags.
9400         (openp_flags): New enum flags.
9401         (openp): Change parameter type to openp_flags.
9402         * source.c (openp): Change parameter type to openp_flags.
9403         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
9404         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
9405
9406 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9407
9408         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
9409         per-command.
9410
9411 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9412
9413         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
9414         into...
9415         (class dwarf2_queue_guard): ...the destructor of this new class.
9416         (dw2_do_instantiate_symtab): Create instance of the new class
9417         dwarf2_queue_guard, remove cleanup.
9418
9419 2018-02-09  Tom Tromey  <tom@tromey.com>
9420
9421         * source.c (find_source_lines): Don't reference past the end of
9422         the vector.
9423
9424 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9425
9426         * remote.c (remote_btrace_maybe_reopen): Change error message.
9427         * btrace.c (btrace_enable): Likewise.
9428         (parse_xml_btrace): Likewise.
9429         (parse_xml_btrace_conf): Likewise.
9430
9431 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9432
9433         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
9434         (linux_enable_pt, linux_enable_bts): Call
9435         diagnose_perf_event_open_fail.
9436
9437 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9438
9439         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
9440         Remove parameter and change return type.  Update callers.  Move it.
9441         (linux_enable_bts, linux_enable_pt): Improve error message.
9442         (linux_enable_pt): Remove zero buffer size check.
9443         (linux_enable_btrace): Improve error messages.  Remove NULL return
9444         check.
9445
9446 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9447
9448         * btrace.c (btrace_enable): Remove target_supports_btrace call.
9449         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
9450         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
9451         (linux_supports_pt, linux_supports_btrace): Remove.
9452         (linux_enable_bts): Call cpu_supports_bts.
9453         * nat/linux-btrace.h (linux_supports_btrace): Remove.
9454         * remote.c (remote_supports_btrace): Remove.
9455         (init_remote_ops): Remove remote_supports_btrace.
9456         * target-delegates.c: Regenerated.
9457         * target.c (target_supports_btrace): Remove.
9458         * target.h (target_ops) <to_supports_btrace>: Remove
9459         (target_supports_btrace): Remove.
9460         * x86-linux-nat.c (x86_linux_create_target): Remove
9461         linux_supports_btrace.
9462
9463 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9464
9465         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
9466         btrace failed.
9467         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
9468         exception and use message in own exception.
9469
9470 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9471
9472         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
9473         (perf_event_pt_event_type): Use gdb_file_up.
9474         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
9475         scoped_fd, and scoped_mmap.
9476
9477 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9478
9479         * common/scoped_mmap.h: New.
9480         * unittests/scoped_mmap-selftest.c: New.
9481         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9482         unittests/scoped_mmap-selftest.c.
9483
9484 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9485
9486         * common/scoped_fd.h: New.
9487         * unittests/scoped_fd-selftest.c: New.
9488         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9489         unittests/scoped_fd-selftest.c.
9490
9491 2018-02-09  Tom Tromey  <tom@tromey.com>
9492
9493         * auto-load.c (auto_load_section_scripts): Use
9494         gdb::unique_xmalloc_ptr.
9495
9496 2018-02-09  Tom Tromey  <tom@tromey.com>
9497
9498         * auto-load.c (execute_script_contents): Use std::string.
9499
9500 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
9501
9502         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
9503         Python function, rather than a new command.
9504
9505 2018-02-08  Tom Tromey  <tom@tromey.com>
9506
9507         * solib.c (solib_find_1): Use std::string.
9508         (solib_bfd_fopen): Use unique_xmalloc_ptr.
9509
9510 2018-02-08  Tom Tromey  <tom@tromey.com>
9511
9512         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
9513
9514 2018-02-08  Tom Tromey  <tom@tromey.com>
9515
9516         * source.c (find_source_lines): Use gdb::def_vector.
9517
9518 2018-02-08  Tom Tromey  <tom@tromey.com>
9519
9520         * macrocmd.c (struct temporary_macro_definition): New.
9521         (macro_define_command): Use temporary_macro_definition.  Remove
9522         cleanups.
9523         (free_macro_definition_ptr): Remove.
9524
9525 2018-02-08  Tom Tromey  <tom@tromey.com>
9526
9527         * macroexp.c (maybe_expand): Use std::string.
9528
9529 2018-02-08  Tom Tromey  <tom@tromey.com>
9530
9531         * macroexp.c (struct macro_buffer): Add initializers for some
9532         members.
9533         (init_buffer, init_shared_buffer, free_buffer)
9534         (free_buffer_return_text): Remove.
9535         (macro_buffer): New constructors.
9536         (~macro_buffer): New destructor.
9537         (macro_buffer::set_shared): New method.
9538         (macro_buffer::resize_buffer, macro_buffer::appendc)
9539         (macro_buffer::appendmem): Now methods, not free functions.
9540         (set_token, append_tokens_without_splicing, stringify)
9541         (macro_stringify): Update.
9542         (gather_arguments): Change return type.  Remove argc_p argument,
9543         add args_ptr argument.  Use std::vector.
9544         (substitute_args): Remove argc argument.  Accept std::vector.
9545         (expand): Update.  Use std::vector.
9546         (scan, macro_expand, macro_expand_next): Update.
9547
9548 2018-02-08  Tom Tromey  <tom@tromey.com>
9549
9550         * symtab.c (default_collect_symbol_completion_matches_break_on):
9551         Use unique_xmalloc_ptr.
9552         * macroscope.h: (sal_macro_scope, user_macro_scope)
9553         (default_macro_scope): Return unique_xmalloc_ptr.
9554         * macroscope.c (sal_macro_scope, user_macro_scope)
9555         (default_macro_scope): Return unique_xmalloc_ptr.
9556         * macroexp.h (macro_expand, macro_expand_once): Return
9557         unique_xmalloc_ptr.
9558         * macroexp.c (macro_expand, macro_expand_once): Return
9559         unique_xmalloc_ptr.
9560         * macrocmd.c (macro_expand_command, macro_expand_once_command)
9561         (info_macro_command, info_macros_command): Use
9562         unique_xmalloc_ptr.
9563         * compile/compile-c-support.c (write_macro_definitions): Use
9564         unique_xmalloc_ptr.
9565         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
9566
9567 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
9568
9569         * value.c (value_static_field): Assign field type instead of
9570         containing type when returning an optimized out value.
9571
9572 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9573
9574         * ft32-tdep.c (ft32_read_pc): Remove.
9575         (ft32_write_pc): Remove.
9576         (ft32_gdbarch_init): Update.
9577         * m32r-tdep.c (m32r_read_pc): Remove.
9578         (m32r_gdbarch_init): Update.
9579         * mep-tdep.c (mep_read_pc): Remove.
9580         (mep_gdbarch_init): Update.
9581         * microblaze-tdep.c (microblaze_write_pc): Remove.
9582         (microblaze_gdbarch_init): Update.
9583         * mn10300-tdep.c (mn10300_read_pc): Remove.
9584         (mn10300_write_pc): Remove.
9585         (mn10300_gdbarch_init): Update.
9586         * moxie-tdep.c (moxie_read_pc): Remove.
9587         (moxie_write_pc): Remove.
9588         (moxie_gdbarch_init): Update.
9589
9590 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9591
9592         * expprint.c (print_subexp_standard): Handle
9593         OP_F77_UNDETERMINED_ARGLIST.
9594         (dump_subexp_body_standard): Likewise.
9595
9596 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
9597
9598         * target-descriptions.c (tdesc_element_visitor) Add empty
9599         implementations.
9600         (tdesc_type): Move make_gdb_type from here.
9601         (tdesc_type_builtin): Likewise.
9602         (tdesc_type_vector): Likewise.
9603         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
9604         (make_gdb_type_struct): Move from tdesc_type_with_fields.
9605         (make_gdb_type_union): Likewise.
9606         (make_gdb_type_flags): Likewise.
9607         (make_gdb_type_enum): Likewise.
9608         (make_gdb_type): New function.
9609         (tdesc_register_type): Use static make_gdb_type.
9610
9611 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
9612
9613         * infcmd.c (default_print_one_register_info): Align natural-format
9614         column values consistently one under another.
9615         (pad_to_column): New function.
9616
9617 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
9618
9619         * dwarf2read.c (dwarf2_physname): Move commment.
9620
9621 2018-02-01  Leszek Swirski  <leszeks@google.com>
9622
9623         * varobj.c (varobj_formatted_print_options): Allow recursive
9624         pretty printing if pretty printing is enabled.
9625
9626 2018-02-01  Leszek Swirski  <leszeks@google.com>
9627
9628         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
9629         names after a structop as a filename.
9630
9631 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9632
9633         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
9634         (arm_record_coproc_data_proc): Likewise.
9635
9636 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9637
9638         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
9639
9640 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
9641
9642         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
9643         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
9644
9645 2018-01-31  Pedro Alves  <palves@redhat.com>
9646
9647         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
9648         * inflow.c (child_terminal_save_inferior): Wrap reference to
9649         tcgetpgrp in HAVE_TERMIOS_H.
9650         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
9651         _WIN32.
9652         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
9653         always iterate over all inferiors.
9654         (gdbsim_cntrl_c): Adjust.
9655         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
9656
9657 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9658
9659         * gdbtypes.c (lookup_array_range_type): Make sure the array's
9660         index type is objfile-owned if the element type is as well.
9661
9662 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9663
9664         GDB 8.1 released.
9665
9666 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9667
9668         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
9669         "features/s390x-linux64.c".
9670         (_initialize_s390_linux_tdep): Remove initialization of tdescs
9671         s390_linux32 and s390x_linux64.
9672         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
9673         default tdesc.
9674         * s390-tdep.c: Include "features/s390-linux32.c" and
9675         "features/s390x-linux64.c".
9676         (s390_tdesc_valid): Add check for tdesc_has_registers.
9677         (s390_gdbarch_init): Make sure there is always a valid tdesc.
9678         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
9679         tdesc_s390x_linux64.
9680         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
9681         tdesc_s390x_linux64 to...
9682         * s390-tdep.h: ...here.
9683
9684 2018-01-30  Pedro Alves  <palves@redhat.com>
9685
9686         PR gdb/13211
9687         * config.in, configure: Regenerate.
9688         * configure.ac: Check for getpgid.
9689         * go32-nat.c (go32_pass_ctrlc): New.
9690         (go32_target): Install it.
9691         * inf-child.c (inf_child_target): Install
9692         child_terminal_save_inferior, child_pass_ctrlc and
9693         child_interrupt.
9694         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
9695         (inf_ptrace_target): No longer install it.
9696         * infcmd.c (interrupt_target_1): Adjust.
9697         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
9698         (child_interrupt): Declare.
9699         (inferior::terminal_state): New.
9700         * inflow.c (struct terminal_info): Update comments.
9701         (inferior_process_group): Delete.
9702         (terminal_is_ours): Delete.
9703         (gdb_tty_state): New.
9704         (child_terminal_init): Adjust.
9705         (is_gdb_terminal, sharing_input_terminal_1)
9706         (sharing_input_terminal): New functions.
9707         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
9708         Set the process's actual process group in the foreground if
9709         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
9710         mark terminal as the inferior's if not sharing GDB's terminal.
9711         Don't check attach_flag.
9712         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
9713         pass down a target_terminal_state.
9714         (child_terminal_save_inferior): New, factored out from ...
9715         (child_terminal_ours_1): ... this.  Handle
9716         target_terminal_state::is_ours_for_output.
9717         (child_interrupt, child_pass_ctrlc): New.
9718         (inflow_inferior_exit): Clear the inferior's terminal_state.
9719         (copy_terminal_info): Copy the inferior's terminal state.
9720         (_initialize_inflow): Remove reference to terminal_is_ours.
9721         * inflow.h (inferior_process_group): Delete.
9722         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
9723         * procfs.c (procfs_target): Don't install procfs_interrupt.
9724         (procfs_interrupt): Delete.
9725         * remote.c (remote_serial_quit_handler): Adjust.
9726         (remote_interrupt): Remove ptid parameter.  Adjust.
9727         * target-delegates.c: Regenerate.
9728         * target.c: Include "terminal.h".
9729         (target_terminal::terminal_state): Rename to ...
9730         (target_terminal::m_terminal_state): ... this.
9731         (target_terminal::init): Adjust.
9732         (target_terminal::inferior): Adjust to per-inferior
9733         terminal_state.
9734         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
9735         (target_terminal::ours, target_terminal::ours_for_output): Use
9736         target_terminal_is_ours_kind.
9737         (target_interrupt): Remove ptid parameter.  Adjust.
9738         (default_target_pass_ctrlc): Adjust.
9739         * target.h (target_ops::to_terminal_save_inferior): New field.
9740         (target_ops::to_interrupt): Remove ptid_t parameter.
9741         (target_interrupt): Remove ptid_t parameter.  Update comment.
9742         (target_pass_ctrlc): Update comment.
9743         * target/target.h (target_terminal_state): New scoped enum,
9744         factored out of ...
9745         (target_terminal::terminal_state): ... here.
9746         (target_terminal::inferior): Update comments.
9747         (target_terminal::restore_inferior): New.
9748         (target_terminal::is_inferior, target_terminal::is_ours)
9749         (target_terminal::is_ours_for_output): Adjust.
9750         (target_terminal::scoped_restore_terminal_state): Adjust to
9751         rename, and call restore_inferior() instead of inferior().
9752         (target_terminal::scoped_restore_terminal_state::m_state): Change
9753         type.
9754         (target_terminal::terminal_state): Rename to ...
9755         (target_terminal::m_terminal_state): ... this and change type.
9756
9757 2018-01-30  Pedro Alves  <palves@redhat.com>
9758
9759         * linux-nat.c (wait_for_signal): New function.
9760         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
9761         directly.
9762         (async_terminal_is_ours)
9763         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
9764         (linux_nat_add_target): Don't override
9765         to_terminal_inferior/to_terminal_ours.
9766
9767 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
9768
9769         * remote.c (remote_follow_fork): Don't call "detach_inferior".
9770
9771 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
9772
9773         * dwarf2read.c (free_dwo_files): Add forward-declaration.
9774         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
9775         dwarf2_per_objfile_free here.
9776         (dwarf2_per_objfile_free): Remove.
9777         (_initialize_dwarf2_read): Don't register
9778         dwarf2_per_objfile_free as a registry cleanup.
9779
9780 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9781
9782         Avoid compilation errors in MinGW native builds
9783
9784         The error is triggered by including python-internal.h, and the
9785         error message is:
9786
9787              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
9788                       from build-gnulib/import/math.h:27,
9789                       from d:/usr/Python26/include/pyport.h:235,
9790                       from d:/usr/Python26/include/Python.h:58,
9791                       from python/python-internal.h:94,
9792                       from python/py-arch.c:24:
9793              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
9794         using ::hypot;
9795                 ^~~~~
9796
9797         This happens because Python headers define 'hypot' to expand t
9798         '_hypot' in the Windows builds.
9799         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
9800         'hypoth'.  This avoids a compilation error.
9801
9802 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9803
9804         * MAINTAINERS (Write After Approval): Fix ordering.
9805
9806 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9807
9808         * MAINTAINERS (Write After Approval): Add Alan Hayward.
9809
9810 2018-01-26  Alan Modra  <amodra@gmail.com>
9811
9812         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
9813         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
9814         Remove nop.  Make const.  Comment.
9815         (powerpc32_plt_stub_so_2): New.
9816         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
9817         Correct count.  Update uses.
9818         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
9819         Move common code reading PLT entry word.  Correct
9820         powerpc32_plt_stub PLT address calculation.
9821         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
9822         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
9823         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
9824         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
9825         (ppc64_standard_linkage8): Likewise.
9826         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
9827         Correct insns description.
9828         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
9829
9830 2018-01-24  Pedro Alves  <palves@redhat.com>
9831
9832         GCC PR libstdc++/83906
9833         * gdbtypes.c (operator==(const dynamic_prop &,
9834         const dynamic_prop &)): New.
9835         (operator==(const range_bounds &, const range_bounds &)): New.
9836         (check_types_equal): Use them instead of memcmp.
9837         * gdbtypes.h (operator==(const dynamic_prop &,
9838         const dynamic_prop &)): Declare.
9839         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
9840         (operator==(const range_bounds &, const range_bounds &)): Declare.
9841         (operator!=(const range_bounds &, const range_bounds &)): Declare.
9842
9843 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9844
9845         * s390-linux-tdep.c (s390_record_address_mask)
9846         (s390_record_calc_disp_common, s390_record_calc_disp)
9847         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9848         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9849         (s390_process_record): Move to s390-tdep.c.
9850         (s390_linux_init_abi_any): Adjust.
9851         * s390-tdep.c (s390_record_address_mask)
9852         (s390_record_calc_disp_common, s390_record_calc_disp)
9853         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9854         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9855         (s390_process_record): Moved from s390-linux-tdep.c
9856         (s390_gdbarch_init): Adjust.
9857
9858 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9859
9860         * s390-linux-nat.c (s390-tdep.h): New include.
9861         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
9862         (HFILES_NO_SRCDIR): Add s390-tdep.h.
9863         (ALLDEPFILES): Add s390-tdep.c.
9864         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
9865         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
9866         * s390-tdep.h: ...this.  New file.
9867         * s390-linux-tdep.c (s390-tdep.h): New include.
9868         (_initialize_s390_tdep): Rename to...
9869         (_initialize_s390_linux_tdep): ...this and adjust.
9870         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
9871         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
9872         s390-tdep.h.
9873         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
9874         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
9875         (s390_is_partial_instruction, s390_software_single_step)
9876         (is_non_branch_ril, s390_displaced_step_copy_insn)
9877         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
9878         (s390_prologue_data, s390_addr, s390_store, s390_load)
9879         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
9880         (s390_register_call_saved, s390_guess_tracepoint_registers)
9881         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
9882         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
9883         (s390_pseudo_register_name, s390_pseudo_register_type)
9884         (s390_pseudo_register_read, s390_pseudo_register_write)
9885         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
9886         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
9887         (s390_addr_bits_remove, s390_address_class_type_flags)
9888         (s390_address_class_type_flags_to_name)
9889         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
9890         (s390_function_arg_float, s390_function_arg_vector)
9891         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
9892         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
9893         (s390_frame_align, s390_register_return_value, s390_return_value)
9894         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
9895         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
9896         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
9897         (s390_trad_frame_prev_register, s390_unwind_cache)
9898         (s390_prologue_frame_unwind_cache)
9899         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
9900         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
9901         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
9902         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
9903         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
9904         (s390_frame_base_address, s390_local_base_address)
9905         (s390_frame_base, s390_gcc_target_options)
9906         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
9907         (s390_validate_reg_range, s390_tdesc_valid)
9908         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
9909         * s390-tdep.c: ...this.  New file.
9910
9911 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9912
9913         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
9914         (s390_process_record, s390_gdbarch_tdep_alloc)
9915         (s390_linux_init_abi_any): Use/set new hook.
9916
9917 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9918
9919         * s390-linux-tdep.c (osabi.h): New include.
9920         (s390_linux_init_abi_31, s390_linux_init_abi_64)
9921         (s390_linux_init_abi_any): New functions.
9922         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
9923
9924 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9925
9926         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
9927         tdesc_has_registers check
9928
9929 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9930
9931         * s390-linux-tdep.c (s390_tdesc_valid): New function.
9932         (s390_validate_reg_range): New macro.
9933         (s390_gdbarch_init): Adjust.
9934
9935 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9936
9937         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
9938         (s390_gdbarch_tdep_alloc): Adjust.
9939         (s390_gdbarch_init): Adjust.
9940
9941 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9942
9943         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
9944         <have_tdb>: Change type to bool.
9945         (s390_gdbarch_tdep_alloc): Adjust.
9946         (s390_gdbarch_init): Adjust.
9947
9948 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9949
9950         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
9951         (gdbarch_tdep) <have_upper, have_vx>: New fields.
9952         (s390_gdbarch_tdep_alloc): New function.
9953         (s390_gdbarch_init): Allocate tdep at start and use its fields
9954         instead of separate variables.
9955
9956 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9957
9958         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
9959         when looking for cached gdbarch and add comment for remaining.
9960
9961 2018-01-22  Pedro Alves  <palves@redhat.com>
9962             Sergio Durigan Junior  <sergiodj@redhat.com>
9963
9964         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
9965         case.
9966
9967 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
9968
9969         * MAINTAINERS: Update my company e-mail address.
9970
9971 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9972
9973         * regcache.c (cooked_write_test): New function.
9974         (_initialize_regcache): Register the test.
9975
9976 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9977
9978         * ia64-tdep.c (ia64_pseudo_register_read): Call
9979         regcache->cooked_read instead of regcache_cooked_read_unsigned.
9980         * m32c-tdep.c (m32c_cat_read): Likewise.
9981         (m32c_r3r2r1r0_read): Likewise.
9982         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9983         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9984
9985 2018-01-22  Yao Qi  <yao.qi@linaro.org>
9986
9987         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
9988         method raw_read instead of regcache_raw_read.
9989         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9990         * arm-tdep.c (arm_neon_quad_read): Likewise.
9991         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9992         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9993         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9994         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
9995         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9996         (i386_pseudo_register_read_into_value): Likewise.
9997         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9998         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9999         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10000         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10001         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10002         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10003         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10004         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10005         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10006
10007 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10008
10009         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10010         * configure.tgt: Remove target mt.
10011         * mt-tdep.c: Remove.
10012         * regcache.c (cooked_read_test): Remove the check for mt.
10013
10014 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10015
10016         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10017         instead of gdbarch_pseudo_register_read_value.
10018
10019 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10020
10021         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10022         language is Ada.
10023
10024 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10025
10026         * linespec.c (create_sals_line_offset): Remove code that preserved
10027         the symtab_and_line's line number.
10028
10029 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10030
10031         * varobj.c (varobj_create): Don't set valid_block when creating a
10032         floating varobj.
10033
10034 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10035
10036         * varobj.c (varobj_create): Remove out of date comment.
10037
10038 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10039
10040         PR mi/20395
10041         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10042         updating innermost block.
10043         * parse.c (innermost_block_tracker::update): Take extra type
10044         parameter, and check types match before updating innermost block.
10045         (write_dollar_variable): Update innermost block for registers.
10046         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10047         (innermost_block_tracker::innermost_block_tracker): Initialise
10048         m_types member.
10049         (innermost_block_tracker::reset): Take type parameter.
10050         (innermost_block_tracker::update): Take type parameter, and pass
10051         type through as needed.
10052         (innermost_block_tracker::m_types): New member.
10053         * varobj.c (varobj_create): Pass type when reseting innermost
10054         block.
10055
10056 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10057
10058         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10059         * ada-lang.c (resolve_subexp): Likewise.
10060         * breakpoint.c (set_breakpoint_condition) Likewise.
10061         (watch_command_1) Likewise.
10062         * c-exp.y (variable): Likewise.
10063         * d-exp.y (PrimaryExpression): Likewise.
10064         * f-exp.y (variable): Likewise.
10065         * go-exp.y (variable): Likewise.
10066         * m2-exp.y (variable): Likewise.
10067         * objfiles.c (objfile::~objfile): Likewise.
10068         * p-exp.y (variable): Likewise.
10069         * parse.c (innermost_block): Change type.
10070         * parser-defs.h (class innermost_block_tracker): New.
10071         (innermost_block): Change to innermost_block_tracker.
10072         * printcmd.c (display_command): Switch to innermost_block API.
10073         (do_one_display): Likewise.
10074         * rust-exp.y (do_one_display): Likewise.
10075         * symfile.c (clear_symtab_users): Likewise.
10076         * varobj.c (varobj_create): Switch to innermost_block API, replace
10077         use of innermost_block with block stored on varobj object.
10078
10079 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10080
10081         * expression.h (innermost_block): Remove declaration.
10082         * varobj.c: Add 'parser-defs.h' include.
10083
10084 2018-01-19  Tom Tromey  <tom@tromey.com>
10085
10086         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10087         symbols in the static and global blocks.
10088
10089 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10090
10091         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10092         gdb_ptrace.h, and move including gdb_wait.h ...
10093         * nat/linux-ptrace.h: ... to here.
10094
10095 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10096
10097         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10098         inf_ptrace_detach_success.
10099         (inf_ptrace_detach_success): Add inferior parameter, use it
10100         instead of inferior_ptid, pass it to detach_inferior.
10101         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10102         parameter.
10103         * inferior.c (detach_inferior): Add overload that takes an
10104         inferior object.
10105         * inferior.h (detach_inferior): Likewise.
10106         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10107         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10108         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10109
10110 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10111
10112         * target.h (struct target_ops) <to_detach>: Add inferior
10113         parameter.
10114         (target_detach): Likewise.
10115         * target.c (dispose_inferior): Pass inferior down.
10116         (target_detach): Pass inferior down.  Assert that it is equal to
10117         the current inferior.
10118         * aix-thread.c (aix_thread_detach): Pass inferior down.
10119         * corefile.c (core_file_command): Pass current_inferior() down.
10120         * corelow.c (core_detach): Add inferior parameter.
10121         * darwin-nat.c (darwin_detach): Likewise.
10122         * gnu-nat.c (gnu_detach): Likewise.
10123         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10124         * infcmd.c (detach_command): Pass current_inferior() down to
10125         target_detach.
10126         * infrun.c (follow_fork_inferior): Pass parent_inf to
10127         target_detach.
10128         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10129         target_detach.
10130         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10131         * linux-thread-db.c (thread_db_detach): Likewise.
10132         * nto-procfs.c (procfs_detach): Likewise.
10133         * procfs.c (procfs_detach): Likewise.
10134         * record.c (record_detach): Likewise.
10135         * record.h (struct inferior): Forward-declare.
10136         (record_detach): Add inferior parameter.
10137         * remote-sim.c (gdbsim_detach): Likewise.
10138         * remote.c (remote_detach_1): Likewise.
10139         (remote_detach): Likewise.
10140         (extended_remote_detach): Likewise.
10141         * sol-thread.c (sol_thread_detach): Likewise.
10142         * target-debug.h (target_debug_print_inferior_p): New macro.
10143         * target-delegates.c: Re-generate.
10144         * top.c (kill_or_detach): Pass inferior down to target_detach.
10145         * windows-nat.c (windows_detach): Add inferior parameter.
10146
10147 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10148
10149         * target.h (struct target_ops) <to_detach>: Remove args
10150         parameter.
10151         (target_detach): Likewise.
10152         * target.c (dispose_inferior): Adjust.
10153         (target_detach): Remove args parameter, adjust.
10154         * aix-thread.c (aix_thread_detach): Adjust.
10155         * corefile.c (core_file_command): Adjust.
10156         * corelow.c (core_detach): Adjust.
10157         * darwin-nat.c (darwin_detach): Adjust.
10158         * gnu-nat.c (gnu_detach): Adjust.
10159         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10160         * infcmd.c (detach_command): Adjust
10161         * infrun.c (follow_fork_inferior): Adjust.
10162         (handle_vfork_child_exec_or_exit): Adjust.
10163         * linux-fork.c (linux_fork_detach): Remove args parameter.
10164         * linux-fork.h (linux_fork_detach): Likewise.
10165         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10166         * linux-thread-db.c (thread_db_detach): Likewise.
10167         * nto-procfs.c (procfs_detach): Likewise.
10168         * procfs.c (procfs_detach): Likewise.
10169         (do_detach): Remove signo parameter.
10170         * record.c (record_detach): Remove args parameter.
10171         * record.h (record_detach): Likewise.
10172         * remote-sim.c (gdbsim_detach): Likewise.
10173         * remote.c (remote_detach_1): Likewise.
10174         (remote_detach): Likewise.
10175         (extended_remote_detach): Likewise.
10176         * sol-thread.c (sol_thread_detach): Likewise.
10177         * target-delegates.c: Re-generate.
10178         * top.c (struct qt_args) <args>: Remove field.
10179         (kill_or_detach): Don't pass args.
10180         (quit_force): Don't set args.
10181         * windows-nat.c (windows_detach): Remove args parameter.
10182
10183 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10184
10185         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10186         (arm_linux_init_abi): Install it.
10187
10188 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10189
10190         * osabi.c (gdb_osabi_names): Extend the regexp for
10191         arm-linux-gnueabihf.
10192
10193 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10194
10195         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10196         m_abbrevs.
10197         (abbrev_table::add_abbrev): Update.
10198         (abbrev_table::lookup_abbrev): Update.
10199
10200 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10201
10202         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10203
10204 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10205
10206         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10207         to "std::string".
10208
10209 2018-01-17  Tom Tromey  <tom@tromey.com>
10210
10211         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10212
10213 2018-01-17  Tom Tromey  <tom@tromey.com>
10214
10215         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10216         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10217         (create_array_type_with_stride): Update.
10218         * dwarf2read.c (set_die_type): Update.
10219
10220 2018-01-17  Tom Tromey  <tom@tromey.com>
10221
10222         * dwarf2read.c (delayed_method_info): Remove typedef.
10223         (dwarf2_cu::method_info): Now a std::vector.
10224         (add_to_method_list): Update.
10225         (free_delayed_list): Remove.
10226         (compute_delayed_physnames): Update.
10227         (process_full_comp_unit, process_full_type_unit): Clear the method
10228         list.  Remove cleanups.
10229         (psymtab_include_file_name): Add name_holder parameter.  Use
10230         unique_xmalloc_ptr.
10231         (dwarf_decode_lines): Update.
10232
10233 2018-01-17  Tom Tromey  <tom@tromey.com>
10234             Simon Marchi  <simon.marchi@ericsson.com>
10235
10236         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10237         (dwarf2_per_objfile::free_cached_comp_units)
10238         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10239         (init_cutu_and_read_dies_no_follow): Update.
10240         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10241         (dwarf2_cu::~dwarf2_cu): New.
10242         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10243         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10244
10245 2018-01-17  Tom Tromey  <tom@tromey.com>
10246             Simon Marchi  <simon.marchi@ericsson.com>
10247
10248         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10249         (struct die_reader_specs) <abbrev_table>: New member.
10250         (struct abbrev_table): Add constructor.
10251         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10252         <abbrev_obstack>: Now an auto_obstack.
10253         (abbrev_table_up): New typedef.
10254         (init_cu_die_reader): Add abbrev_table parameter.
10255         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10256         Add result_dwo_abbrev_table.
10257         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10258         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10259         Update.
10260         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10261         parameter.
10262         (skip_children): Update.
10263         (abbrev_table::alloc_abbrev): Rename from
10264         abbrev_table_alloc_abbrev.
10265         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10266         (abbrev_table::lookup_abbrev): Rename from
10267         abbrev_table_lookup_abbrev.
10268         (abbrev_table_read_table): Return abbrev_table_up.
10269         (abbrev_table_free, abbrev_table_free_cleanup)
10270         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10271         (load_partial_dies): Update.
10272
10273 2018-01-17  Tom Tromey  <tom@tromey.com>
10274
10275         * dwarf2read.c (dwarf2_compute_name): Update comment.
10276         (read_func_scope, read_variable): Update.
10277         (new_symbol): Remove.
10278         (new_symbol_full): Rename to new_symbol.
10279
10280 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10281
10282         PR gdb/16577
10283         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10284         a warning instead of throwing an error, set section size to 0 and return
10285         NULL.
10286         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10287
10288 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10289
10290         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10291         std::string.
10292         (linux_ptrace_attach_fail_reason_string): Likewise.
10293         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10294         Likewise.
10295         (linux_ptrace_attach_fail_reason_string): Likewise.
10296         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10297
10298 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10299
10300         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10301
10302 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10303
10304         PR gdb/21559
10305         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10306         checking for fs_base/gs_base fields in struct user_regs_struct.
10307         * configure: Regenerate.
10308
10309 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10310
10311         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10312         function.
10313         (aarch64_linux_init_abi): Install it to gdbarch hook
10314         gcc_target_options.
10315
10316 2018-01-15  Pedro Alves  <palves@redhat.com>
10317
10318         * common/signals-state-save-restore.c
10319         (save_original_signals_state): Fix typos.
10320
10321 2017-01-12  Tom Tromey  <tom@tromey.com>
10322             Sergio Durigan Junior  <sergiodj@redhat.com>
10323
10324         * Makefile.in (install-only): Install gdb-add-index.
10325
10326 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10327
10328         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10329
10330 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10331
10332         * infrun.c (keep_going_pass_signal): Clear step-over info when
10333         insert_breakpoints fails.
10334
10335 2018-01-11  Pedro Alves  <palves@redhat.com>
10336
10337         PR gdb/22583
10338         * infrun.c (resume): Rename to ...
10339         (resume_1): ... this.
10340         (resume): Reimplement as wrapper around resume_1.
10341
10342 2018-01-11  Pedro Alves  <palves@redhat.com>
10343
10344         PR remote/22597
10345         * remote.c (remote_parse_stop_reply): Default to the last-set
10346         general thread instead of to 'magic_null_ptid'.
10347
10348 2018-01-10  Pedro Alves  <palves@redhat.com>
10349
10350         * language.h (language_get_symbol_name_matcher): Rename ...
10351         (get_symbol_name_matcher): ... this.
10352         * language.c (language_get_symbol_name_matcher): Ditto.
10353         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10354         callers adjusted.
10355
10356 2018-01-10  Pedro Alves  <palves@redhat.com>
10357
10358         PR gdb/22670
10359         * dwarf2read.c
10360         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10361         Adjust to use language_get_symbol_name_matcher instead of
10362         language_defn::la_get_symbol_name_matcher.
10363         * language.c (language_get_symbol_name_matcher): If in Ada mode
10364         and the lookup name is a verbatim match, return Ada's matcher.
10365         * language.h (language_get_symbol_name_matcher): Adjust comment.
10366         (ada_lookup_name_info::verbatim_p):: New method.
10367
10368 2018-01-10  Pedro Alves  <palves@redhat.com>
10369
10370         PR gdb/22670
10371         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10372         minsym's language is language_auto or language_cplus, pass down
10373         language_ada instead.
10374         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10375
10376 2018-01-10  Pedro Alves  <palves@redhat.com>
10377
10378         PR gdb/22670
10379         * minsyms.c (linkage_name_str): New function.
10380         (iterate_over_minimal_symbols): Use it.
10381
10382 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10383
10384         * NEWS: Document that 'info proc' now works on FreeBSD.
10385
10386 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10387
10388         * configure.ac: Check for kinfo_getfile in libutil.
10389         * configure: Regenerate.
10390         * config.in: Regenerate.
10391         * fbsd-nat.c: Include "fbsd-tdep.h".
10392         (fbsd_fetch_cmdline): New.
10393         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
10394         rather than calling error.
10395         (fbsd_info_proc): New.
10396         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
10397         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
10398         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
10399
10400 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10401
10402         * fbsd-nat.c (struct free_deleter): Remove.
10403         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
10404
10405 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10406
10407         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
10408         NULL for an empty pathname.
10409
10410 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10411
10412         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
10413         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
10414         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
10415         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
10416         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
10417         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
10418         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
10419         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
10420         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
10421         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
10422         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
10423         (fbsd_core_fetch_timeval, fbsd_print_sigset)
10424         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
10425         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
10426         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
10427
10428 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
10429
10430         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
10431         (gnu_xfer_auxv): New function.
10432         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
10433         TARGET_OBJECT_AUXV.
10434
10435 2018-01-08  Yao Qi  <yao.qi@linaro.org>
10436             Simon Marchi  <simon.marchi@ericsson.com>
10437
10438         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
10439         common/selftest.c.
10440         (COMMON_OBS): Remove selftest.o.
10441         * configure.ac: Append selftest-arch.c and common/selftest.c to
10442         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
10443         * configure: Re-generated.
10444         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
10445         GDB_SELF_TEST.
10446         (maintenance_info_selftests): Likewise.
10447
10448 2018-01-08  Xavier Roirand  <roirand@adacore.com>
10449
10450         * ada-valprint.c (val_print_packed_array_elements): Use
10451         proper number of elements when printing an array indexed
10452         by an enumeration type.
10453
10454 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10455
10456         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
10457         (dw2_get_file_names_reader): Adjust.
10458         (lookup_dwo_signatured_type): Adjust.
10459         (lookup_dwp_signatured_type): Adjust.
10460         (lookup_signatured_type): Adjust.
10461         (create_type_unit_group): Adjust.
10462         (get_type_unit_group): Adjust.
10463         (process_psymtab_comp_unit_reader): Adjust.
10464         (build_type_psymtabs_reader): Adjust.
10465         (scan_partial_symbols): Adjust.
10466         (add_partial_symbol): Adjust.
10467         (add_partial_subprogram): Adjust.
10468         (peek_die_abbrev): Adjust.
10469         (fixup_go_packaging): Adjust.
10470         (process_imported_unit_die): Adjust.
10471         (dwarf2_compute_name): Adjust.
10472         (dwarf2_physname): Adjust.
10473         (read_import_statement): Adjust.
10474         (handle_DW_AT_stmt_list): Adjust.
10475         (read_file_scope): Adjust.
10476         (read_func_scope): Adjust.
10477         (read_lexical_block_scope): Adjust.
10478         (read_call_site_scope): Adjust.
10479         (read_variable): Adjust.
10480         (dwarf2_rnglists_process): Adjust.
10481         (dwarf2_ranges_process): Adjust.
10482         (dwarf2_ranges_read): Adjust.
10483         (dwarf2_get_pc_bounds): Adjust.
10484         (dwarf2_record_block_ranges): Adjust.
10485         (dwarf2_add_field): Adjust.
10486         (dwarf2_add_member_fn): Adjust.
10487         (read_structure_type): Adjust.
10488         (process_structure_scope): Adjust.
10489         (read_enumeration_type): Adjust.
10490         (read_array_type): Adjust.
10491         (mark_common_block_symbol_computed): Adjust.
10492         (read_common_block): Adjust.
10493         (read_namespace_type): Adjust.
10494         (read_namespace): Adjust.
10495         (read_module_type): Adjust.
10496         (read_tag_pointer_type): Adjust.
10497         (read_tag_ptr_to_member_type): Adjust.
10498         (read_tag_string_type): Adjust.
10499         (read_subroutine_type): Adjust.
10500         (read_typedef): Adjust.
10501         (read_base_type): Adjust.
10502         (attr_to_dynamic_prop): Adjust.
10503         (read_subrange_type): Adjust.
10504         (read_unspecified_type): Adjust.
10505         (dwarf2_read_abbrevs): Adjust.
10506         (load_partial_dies): Adjust.
10507         (read_partial_die): Adjust.
10508         (find_partial_die): Adjust.
10509         (guess_partial_die_structure_name): Adjust.
10510         (fixup_partial_die): Adjust.
10511         (read_attribute_value): Adjust.
10512         (read_addr_index): Adjust.
10513         (read_addr_index_from_leb128): Adjust.
10514         (read_str_index): Adjust.
10515         (dwarf2_string_attr): Adjust.
10516         (get_debug_line_section): Adjust.
10517         (dwarf_decode_line_header): Adjust.
10518         (lnp_state_machine::check_line_address): Adjust.
10519         (dwarf_decode_lines_1): Adjust.
10520         (dwarf_decode_lines): Adjust.
10521         (dwarf2_start_symtab): Adjust.
10522         (var_decode_location): Adjust.
10523         (new_symbol_full): Adjust.
10524         (dwarf2_const_value_data): Adjust.
10525         (dwarf2_const_value_attr): Adjust.
10526         (dwarf2_const_value): Adjust.
10527         (die_type): Adjust.
10528         (die_containing_type): Adjust.
10529         (build_error_marker_type): Adjust.
10530         (lookup_die_type): Adjust.
10531         (guess_full_die_structure_name): Adjust.
10532         (anonymous_struct_prefix): Adjust.
10533         (determine_prefix): Adjust.
10534         (dwarf2_name): Adjust.
10535         (follow_die_ref_or_sig): Adjust.
10536         (follow_die_offset): Adjust.
10537         (follow_die_ref): Adjust.
10538         (follow_die_sig_1): Adjust.
10539         (follow_die_sig): Adjust.
10540         (get_signatured_type): Adjust.
10541         (get_DW_AT_signature_type): Adjust.
10542         (decode_locdesc): Adjust.
10543         (dwarf_decode_macros): Adjust.
10544         (cu_debug_loc_section): Adjust.
10545         (fill_in_loclist_baton): Adjust.
10546         (dwarf2_symbol_mark_computed): Adjust.
10547         (init_one_comp_unit): Don't assign
10548         dwarf2_cu::dwarf2_per_objfile.
10549         (set_die_type): Adjust.
10550
10551 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10552
10553         * dwarf2read.c (struct mapped_debug_names): Add constructor.
10554         <dwarf2_per_objfile>: New field.
10555         (dwarf2_per_objfile): Remove global.
10556         (get_dwarf2_per_objfile): New function.
10557         (set_dwarf2_per_objfile): New function.
10558         (dwarf2_build_psymtabs_hard): Change objfile parameter to
10559         dwarf2_per_objfile.
10560         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10561         (read_abbrev_offset): Likewise.
10562         (read_indirect_string): Likewise.
10563         (read_indirect_line_string): Likewise.
10564         (read_indirect_string_at_offset): Likewise.
10565         (read_indirect_string_from_dwz): Likewise.
10566         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10567         dwarf2_per_objfile.
10568         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10569         (create_all_comp_units): Change objfile parameter to
10570         dwarf2_per_objfile.
10571         (create_all_type_units): Likewise.
10572         (process_queue): Add dwarf2_per_objfile parameter.
10573         (read_and_check_comp_unit_head): Likewise.
10574         (lookup_dwo_unit_in_dwp): Likewise.
10575         (get_dwp_file): Likewise.
10576         (process_cu_includes): Likewise.
10577         (struct free_dwo_file_cleanup_data): New struct.
10578         (dwarf2_has_info): Use get_dwarf2_per_objfile and
10579         set_dwarf2_per_objfile.
10580         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
10581         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
10582         context, adjust calls.
10583         (dw2_instantiate_symtab): Likewise.
10584         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
10585         (dw2_get_cu): Likewise.
10586         (create_cu_from_index_list): Change objfile parameter to
10587         dwarf2_per_objfile.
10588         (create_cus_from_index_list): Get dwarf2_per_objfile from
10589         context, adjust calls.
10590         (create_cus_from_index): Likewise.
10591         (create_signatured_type_table_from_index): Change objfile
10592         parameter to dwarf2_per_objfile.
10593         (create_signatured_type_table_from_debug_names): Change objfile
10594         parameter to dwarf2_per_objfile.
10595         (create_addrmap_from_index): Likewise.
10596         (create_addrmap_from_aranges): Likewise.
10597         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
10598         (dw2_setup): Remove.
10599         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
10600         context.
10601         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
10602         get_dwarf2_per_objfile.
10603         (dw2_forget_cached_source_info): Likewise.
10604         (dw2_map_symtabs_matching_filename): Likewise.
10605         (struct dw2_symtab_iterator) <index>: Remove.
10606         <dwarf2_per_objfile>: New field.
10607         (dw2_symtab_iter_init): Replace index parameter with
10608         dwarf2_per_objfile.
10609         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
10610         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
10611         (dw2_print_stats): Likewise.
10612         (dw2_dump): Likewise.
10613         (dw2_expand_symtabs_for_function): Likewise.
10614         (dw2_expand_all_symtabs): Likewise.
10615         (dw2_expand_symtabs_with_fullname): Likewise.
10616         (dw2_expand_marked_cus): Replace index and objfile parameters
10617         with dwarf2_per_objfile.
10618         (dw_expand_symtabs_matching_file_matcher): Add
10619         dwarf2_per_objfile parameter and adjust calls.
10620         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
10621         adjust calls.
10622         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
10623         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
10624         adjust calls.
10625         (create_cus_from_debug_names_list): Replace objfile parameter
10626         with dwarf2_per_objfile and adjust calls.
10627         (create_cus_from_debug_names): Likewise.
10628         (dwarf2_read_debug_names): Likewise.
10629         (mapped_debug_names::namei_to_name): Adjust call.
10630         (dw2_debug_names_iterator::next): Likewise.
10631         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
10632         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
10633         (dw2_debug_names_dump): Likewise.
10634         (dw2_debug_names_expand_symtabs_for_function): Likewise.
10635         (dw2_debug_names_expand_symtabs_matching): Likewise.
10636         (dwarf2_initialize_objfile): Likewise.
10637         (dwarf2_build_psymtabs): Likewise.
10638         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
10639         this_cu.
10640         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
10641         (read_and_check_comp_unit_head): Likewise.
10642         (read_abbrev_offset): Likewise.
10643         (create_debug_type_hash_table): Likewise.
10644         (create_debug_types_hash_table): Likewise.
10645         (create_all_type_units): Replace objfile parameter with
10646         dwarf2_per_objfile.
10647         (add_type_unit): Add dwarf2_per_objfile parameter.
10648         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
10649         with dwarf2_per_objfile.
10650         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
10651         (lookup_dwp_signatured_type): Likewise.
10652         (lookup_signatured_type): Likewise.
10653         (read_cutu_die_from_dwo): Likewise.
10654         (init_tu_and_read_dwo_dies): Likewise.
10655         (init_cutu_and_read_dies): Likewise.
10656         (init_cutu_and_read_dies_no_follow): Likewise.
10657         (allocate_type_unit_groups_table): Add objfile parameter.
10658         (create_type_unit_group): Use dwarf2_per_objfile from cu.
10659         (get_type_unit_group): Likewise.
10660         (process_psymtab_comp_unit): Update call.
10661         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
10662         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
10663         (print_tu_stats): Likewise.
10664         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
10665         in void* parameter.
10666         (build_type_psymtabs): Change objfile parameter to
10667         dwarf2_per_objfile.
10668         (process_skeletonless_type_unit): Use dwarf2_per_objfile
10669         passed in void* parameter.
10670         (process_skeletonless_type_units): Change objfile parameter to
10671         dwarf2_per_objfile.
10672         (set_partial_user): Likewise.
10673         (dwarf2_build_psymtabs_hard): Likewise.
10674         (read_comp_units_from_section): Likewise.
10675         (create_all_comp_units): Likewise.
10676         (scan_partial_symbols): Update calls.
10677         (add_partial_symbol): Likewise.
10678         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
10679         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
10680         (process_queue): Add dwarf2_per_objfile parameter.
10681         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
10682         (compute_compunit_symtab_includes): Likewise.
10683         (process_cu_includes): Add dwarf2_per_objfile parameter.
10684         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
10685         (process_full_type_unit): Likewise.
10686         (process_imported_unit_die): Update call.
10687         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
10688         (read_file_scope): Likewise.
10689         (allocate_dwo_file_hash_table): Add objfile parameter.
10690         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
10691         (create_cus_hash_table): Likewise.
10692         (create_dwp_hash_table): Likewise.
10693         (create_dwo_unit_in_dwp_v1): Likewise.
10694         (create_dwp_v2_section): Likewise.
10695         (create_dwo_unit_in_dwp_v2): Likewise.
10696         (lookup_dwo_unit_in_dwp): Likewise.
10697         (try_open_dwop_file): Likewise.
10698         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
10699         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
10700         cleanup to include a reference to dwarf2_per_objfile.
10701         (open_dwp_file): Add dwarf2_per_objfile parameter.
10702         (open_and_init_dwp_file): Likewise.
10703         (get_dwp_file): Likewise.
10704         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
10705         (queue_and_load_all_dwo_tus): Update call.
10706         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
10707         data.
10708         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
10709         (dwarf2_ranges_process): Likewise.
10710         (dwarf2_get_pc_bounds): Likewise.
10711         (mark_common_block_symbol_computed): Likewise.
10712         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10713         (dwarf2_read_abbrevs): Update call.
10714         (read_partial_die): Use dwarf2_per_objfile from cu.
10715         (find_partial_die): Likewise.
10716         (fixup_partial_die): Likewise.
10717         (read_attribute_value): Likewise.
10718         (read_indirect_string_at_offset_from): Add objfile parameter.
10719         (read_indirect_string_at_offset): Add dwarf2_per_objfile
10720         parameter.
10721         (read_indirect_string_from_dwz): Add objfile parameter.
10722         (read_indirect_string): Add objfile parameter.
10723         (read_addr_index_1): Add dwarf2_per_objfile parameter.
10724         (read_addr_index): Use dwarf2_per_objfile from cu.
10725         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
10726         call dw2_setup.
10727         (read_str_index): Use dwarf2_per_objfile from cu.
10728         (get_debug_line_section): Likewise.
10729         (read_formatted_entries): Add dwarf2_per_objfile parameter.
10730         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
10731         (new_symbol_full): Use dwarf2_per_objfile from cu.
10732         (build_error_marker_type): Likewise.
10733         (lookup_die_type): Likewise.
10734         (determine_prefix): Likewise.
10735         (follow_die_offset): Likewise.
10736         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
10737         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
10738         (dwarf2_fetch_die_type_sect_off): Likewise.
10739         (dwarf2_get_die_type): Likewise.
10740         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
10741         (get_signatured_type): Likewise.
10742         (get_DW_AT_signature_type): Likewise.
10743         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
10744         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
10745         (cu_debug_loc_section): Likewise.
10746         (fill_in_loclist_baton): Likewise.
10747         (dwarf2_symbol_mark_computed): Likewise.
10748         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10749         dwarf2_per_objfile.
10750         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
10751         parameter.
10752         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10753         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
10754         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
10755         (set_die_type): Use dwarf2_free_objfile from cu.
10756         (get_die_type_at_offset): Likewise.
10757         (dwarf2_per_objfile_free): Don't assign global variable.
10758         (debug_names) <constructor>: Add dwarf2_per_objfile
10759         parameter, update m_debugstrlookup construction.
10760         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
10761         parameter.
10762         <m_dwarf2_per_objfile>: New field.
10763         <lookup>: Use m_dwarf2_per_objfile.
10764         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
10765         (psyms_seen_size): Likewise.
10766         (write_gdbindex): Replace objfile parameter with
10767         dwarf2_per_objfile.
10768         (write_debug_names): Likewise.
10769         (write_psymtabs_to_index): Likewise.
10770         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
10771         calls.
10772
10773 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10774
10775         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
10776         <dwarf2_per_objfile>: New field.
10777         (struct dwarf2_per_cu_data) <objfile>: Remove.
10778         <dwarf2_per_objfile>: New field.
10779         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
10780         of objfile.
10781         (create_signatured_type_table_from_index): Likewise.
10782         (create_debug_type_hash_table): Likewise.
10783         (fill_in_sig_entry_from_dwo_entry): Likewise.
10784         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
10785         (create_type_unit_group): Assign dwarf2_per_objfile instead of
10786         objfile.
10787         (create_partial_symtab): Access objfile through
10788         dwarf2_per_objfile.
10789         (process_psymtab_comp_unit_reader): Likewise.
10790         (read_comp_units_from_section): Likewise.
10791         (scan_partial_symbols): Likewise.
10792         (add_partial_symbol): Likewise.
10793         (add_partial_subprogram): Likewise.
10794         (peek_die_abbrev): Likewise.
10795         (fixup_go_packaging): Likewise.
10796         (process_full_comp_unit): Likewise.
10797         (process_full_type_unit): Likewise.
10798         (process_imported_unit_die): Likewise.
10799         (dwarf2_compute_name): Likewise.
10800         (dwarf2_physname): Likewise.
10801         (read_import_statement): Likewise.
10802         (create_cus_hash_table): Assign dwarf2_physname instead of
10803         objfile.
10804         (read_func_scope): Access objfile through dwarf2_per_objfile.
10805         (read_lexical_block_scope): Likewise.
10806         (read_call_site_scope): Likewise.
10807         (read_variable): Likewise.
10808         (dwarf2_rnglists_process): Likewise.
10809         (dwarf2_ranges_process): Likewise.
10810         (dwarf2_ranges_read): Likewise.
10811         (dwarf2_record_block_ranges): Likewise.
10812         (dwarf2_add_field): Likewise.
10813         (dwarf2_add_member_fn): Likewise.
10814         (read_structure_type): Likewise.
10815         (process_structure_scope): Likewise.
10816         (read_enumeration_type): Likewise.
10817         (read_array_type): Likewise.
10818         (read_common_block): Likewise.
10819         (read_namespace_type): Likewise.
10820         (read_namespace): Likewise.
10821         (read_module_type): Likewise.
10822         (read_tag_pointer_type): Likewise.
10823         (read_tag_ptr_to_member_type): Likewise.
10824         (read_tag_string_type): Likewise.
10825         (read_subroutine_type): Likewise.
10826         (read_typedef): Likewise.
10827         (read_base_type): Likewise.
10828         (attr_to_dynamic_prop): Likewise.
10829         (read_subrange_type): Likewise.
10830         (read_unspecified_type): Likewise.
10831         (load_partial_dies): Likewise.
10832         (read_partial_die): Likewise.
10833         (find_partial_die): Likewise.
10834         (guess_partial_die_structure_name): Likewise.
10835         (fixup_partial_die): Likewise.
10836         (read_attribute_value): Likewise.
10837         (read_addr_index_from_leb128): Likewise.
10838         (dwarf2_read_addr_index): Likewise.
10839         (dwarf2_string_attr): Likewise.
10840         (lnp_state_machine::check_line_address): Likewise.
10841         (dwarf_decode_lines_1): Likewise.
10842         (dwarf_decode_lines): Likewise.
10843         (dwarf2_start_symtab): Likewise.
10844         (var_decode_location): Likewise.
10845         (new_symbol_full): Likewise.
10846         (dwarf2_const_value_data): Likewise.
10847         (dwarf2_const_value_attr): Likewise.
10848         (dwarf2_const_value): Likewise.
10849         (die_type): Likewise.
10850         (die_containing_type): Likewise.
10851         (lookup_die_type): Likewise.
10852         (guess_full_die_structure_name): Likewise.
10853         (anonymous_struct_prefix): Likewise.
10854         (dwarf2_name): Likewise.
10855         (follow_die_ref_or_sig): Likewise.
10856         (follow_die_offset): Likewise.
10857         (follow_die_ref): Likewise.
10858         (dwarf2_fetch_die_loc_sect_off): Likewise.
10859         (dwarf2_fetch_constant_bytes): Likewise.
10860         (dwarf2_fetch_die_type_sect_off): Likewise.
10861         (dwarf2_get_die_type): Likewise.
10862         (follow_die_sig): Likewise.
10863         (decode_locdesc): Likewise.
10864         (dwarf2_per_cu_objfile): Likewise.
10865         (dwarf2_per_cu_text_offset): Likewise.
10866         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
10867         objfile.
10868         (set_die_type): Access objfile through
10869         dwarf2_per_objfile.
10870
10871 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10872
10873         * valprint.c (converted_character_d): Remove typedef.
10874         (DEF_VEC_O (converted_character_d)): Remove.
10875         (count_next_character): Use std::vector.
10876         (print_converted_chars_to_obstack): Likewise.
10877         (generic_printstr): Likewise.
10878
10879 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10880
10881         * xml-support.h (struct gdb_xml_value): Add constructor.
10882         <value>: Change type to unique_xmalloc_ptr.
10883         (gdb_xml_value_s): Remove typedef.
10884         (DEF_VEC_O (gdb_xml_value_s)): Remove.
10885         (gdb_xml_element_start_handler): Change parameter type to
10886         std::vector.
10887         (xml_find_attribute): Likewise.
10888         * xml-support.c (xml_find_attribute): Change parameter type to
10889         std::vector and adjust.
10890         (gdb_xml_values_cleanup): Remove.
10891         (gdb_xml_parser::start_element): Adjust to std::vector.
10892         (xinclude_start_include): Change paraeter type to std::vector
10893         and adjust.
10894         * btrace.c (check_xml_btrace_version): Likewise.
10895         (parse_xml_btrace_block): Likewise.
10896         (parse_xml_btrace_pt_config_cpu): Likewise.
10897         (parse_xml_btrace_pt): Likewise.
10898         (parse_xml_btrace_conf_bts): Likewise.
10899         (parse_xml_btrace_conf_pt): Likewise.
10900         * memory-map.c (memory_map_start_memory): Likewise.
10901         (memory_map_start_property): Likewise.
10902         * osdata.c (osdata_start_osdata): Likewise.
10903         (osdata_start_item): Likewise.
10904         (osdata_start_column): Likewise.
10905         * remote.c (start_thread): Likewise.
10906         * solib-aix.c (library_list_start_library): Likewise.
10907         (library_list_start_list): Likewise.
10908         * solib-svr4.c (library_list_start_library): Likewise.
10909         (svr4_library_list_start_list): Likewise.
10910         * solib-target.c (library_list_start_segment): Likewise.
10911         (library_list_start_section): Likewise.
10912         (library_list_start_library): Likewise.
10913         (library_list_start_list): Likewise.
10914         * tracepoint.c (traceframe_info_start_memory): Likewise.
10915         (traceframe_info_start_tvar): Likewise.
10916         * xml-syscall.c (syscall_start_syscall): Likewise.
10917         * xml-tdesc.c (tdesc_start_target): Likewise.
10918         (tdesc_start_feature): Likewise.
10919         (tdesc_start_reg): Likewise.
10920         (tdesc_start_union): Likewise.
10921         (tdesc_start_struct): Likewise.
10922         (tdesc_start_flags): Likewise.
10923         (tdesc_start_enum): Likewise.
10924         (tdesc_start_field): Likewise.
10925         (tdesc_start_enum_value): Likewise.
10926         (tdesc_start_vector): Likewise.
10927
10928 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10929
10930         * extension.h (struct xmethod_worker) <clone>: Remove.
10931         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
10932         Remove.
10933         (python_xmethod_worker::clone): Remove.
10934         * valops.c (find_overload_match): Use std::move instead of
10935         clone.
10936
10937 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10938
10939         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
10940         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
10941         <free_xmethod_worker_data>: Remove.
10942         <get_matching_xmethod_workers>: Chance VEC to std::vector.
10943         <get_xmethod_arg_types>: Remove.
10944         <get_xmethod_result_type>: Remove.
10945         <invoke_xmethod>: Remove.
10946         * extension.c (new_xmethod_worker): Remove.
10947         (clone_xmethod_worker): Remove.
10948         (get_matching_xmethod_workers): Return void, pass std::vector by
10949         pointer.
10950         (get_xmethod_arg_types): Rename to...
10951         (xmethod_worker::get_arg_types): ... this, and adjust.
10952         (get_xmethod_result_type): Rename to...
10953         (xmethod_worker::get_result_type): ... this, and adjust.
10954         (invoke_xmethod): Remove.
10955         (free_xmethod_worker): Remove.
10956         (free_xmethod_worker_vec): Remove.
10957         * extension.h (enum ext_lang_rc): Move here from
10958         extension-priv.h.
10959         (struct xmethod_worker): Add constructor and destructor.
10960         <data>: Remove.
10961         <value>: Remove.
10962         <invoke, clone, do_get_result_type, do_get_arg_types>: New
10963         virtual pure methods.
10964         <get_arg_types, get_result_type>: New methods.
10965         (xmethod_worker_ptr): Remove typedef.
10966         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
10967         (xmethod_worker_vec): Remove typedef.
10968         (xmethod_worker_up): New typedef.
10969         (invoke_xmethod): Remove.
10970         (clone_xmethod_worker): Remove.
10971         (free_xmethod_worker): Remove.
10972         (free_xmethod_worker_vec): Remove.
10973         (get_xmethod_arg_types): Remove.
10974         (get_xmethod_result_type): Remove.
10975         * valops.c (find_method_list): Use std::vector, don't use
10976         intermediate vector.
10977         (value_find_oload_method_list): Use std::vector.
10978         (find_overload_match): Use std::vector.
10979         (find_oload_champ): Use std::vector.
10980         * value.c (value_free): Use operator delete.
10981         (value_of_xmethod): Rename to...
10982         (value_from_xmethod): ... this.  Don't assign
10983         xmethod_worker::value, take rvalue-reference.
10984         (result_type_of_xmethod): Adjust.
10985         (call_xmethod): Adjust.
10986         * value.h: Include extension.h.
10987         (struct xmethod_worker): Don't forward-declare.
10988         (value_of_xmethod): Rename to...
10989         (value_from_xmethod): ... this, take rvalue-reference.
10990         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
10991         (struct python_xmethod_worker): ... this, add constructor and
10992         destructor.
10993         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
10994         (gdbpy_free_xmethod_worker_data): Rename to...
10995         (python_xmethod_worker::~python_xmethod_worker): ... this and
10996         adjust.
10997         (gdbpy_clone_xmethod_worker_data): Rename to...
10998         (python_xmethod_worker::clone): ... this and adjust.
10999         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11000         temporary vector.
11001         (gdbpy_get_xmethod_arg_types): Rename to...
11002         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11003         (gdbpy_get_xmethod_result_type): Rename to...
11004         (python_xmethod_worker::do_get_result_type): ... this and
11005         adjust.
11006         (gdbpy_invoke_xmethod): Rename to...
11007         (python_xmethod_worker::invoke): ... this and adjust.
11008         (new_python_xmethod_worker): Rename to...
11009         (python_xmethod_worker::python_xmethod_worker): ... this and
11010         adjust.
11011         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11012         Remove.
11013         (gdbpy_free_xmethod_worker_data): Remove.
11014         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11015         (gdbpy_get_xmethod_arg_types): Remove.
11016         (gdbpy_get_xmethod_result_type): Remove.
11017         (gdbpy_invoke_xmethod): Remove.
11018         * python/python.c (python_extension_ops): Remove obsolete
11019         callbacks.
11020
11021 2018-01-05  Pedro Alves  <palves@redhat.com>
11022
11023         PR gdb/18653
11024         * common/signals-state-save-restore.c
11025         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11026         find a custom handler preinstalled, instead of internal erroring.
11027         But only warn if !quiet.
11028         * common/signals-state-save-restore.h
11029         (save_original_signals_state): New parameter 'quiet'.
11030         * main.c (captured_main_1): Move save_original_signals_state call
11031         after option handling, and pass QUIET.
11032
11033 2018-01-05  Pedro Alves  <palves@redhat.com>
11034
11035         * spu-tdep.c (spu_catch_start): Pass
11036         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11037
11038 2018-01-05  Pedro Alves  <palves@redhat.com>
11039
11040         PR gdb/22670
11041         * ada-lang.c (literal_symbol_name_matcher): New function.
11042         (ada_get_symbol_name_matcher): Use it for
11043         symbol_name_match_type::SEARCH_NAME.
11044         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11045         it down instead of assuming symbol_name_match_type::FULL.
11046         * block.h (block_lookup_symbol): New parameter 'match_type'.
11047         * c-valprint.c (print_unpacked_pointer): Use
11048         lookup_symbol_search_name instead of lookup_symbol.
11049         * compile/compile-object-load.c (get_out_value_type): Pass down
11050         symbol_name_match_type::SEARCH_NAME.
11051         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11052         symbol_name_match_type::FULL.
11053         * cp-support.c (cp_get_symbol_name_matcher): Handle
11054         symbol_name_match_type::SEARCH_NAME.
11055         * infrun.c (insert_exception_resume_breakpoint): Use
11056         lookup_symbol_search_name.
11057         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11058         * psymtab.c (maintenance_check_psymtabs): Use
11059         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11060         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11061         SYMBOL_SEARCH_NAME.
11062         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11063         if symbol_name_match_type::SEARCH_NAME.
11064         (lookup_symbol_in_language): Pass down
11065         symbol_name_match_type::FULL.
11066         (lookup_symbol_search_name): New.
11067         (lookup_language_this): Pass down
11068         symbol_name_match_type::SEARCH_NAME.
11069         (lookup_symbol_aux, lookup_local_symbol): New parameter
11070         'match_type'.  Pass it down.
11071         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11072         (lookup_symbol_search_name): New declaration.
11073         (lookup_symbol_in_block): New 'match_type' parameter.
11074
11075 2018-01-05  Pedro Alves  <palves@redhat.com>
11076
11077         PR gdb/22670
11078         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11079         ada_lookup_symbol.
11080         (ada_lookup_symbol): Reimplement in terms of
11081         ada_lookup_symbol_list, bits factored out from
11082         ada_lookup_encoded_symbol.
11083
11084 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11085
11086         * ada-exp.y (write_object_renaming): When subscripting an array
11087         using a symbol as the index, pass the block in call to
11088         ada_lookup_encoded_symbol when looking that symbol up.
11089
11090 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11091
11092         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11093         TYPE_INDEX_TYPE.
11094
11095 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11096
11097         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11098         the case where VALUE_LVAL (val0) is not lval_memory.
11099
11100 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11101
11102         * ada-valprint.c (print_optional_low_bound): Handle
11103         character-indexed array printing like boolean-indexed array
11104         printing.
11105
11106 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11107
11108         * NEWS: Create a new section for the next release branch.
11109         Rename the section of the current branch, now that it has
11110         been cut.
11111
11112 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11113
11114         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11115         * version.in: Bump version to 8.1.50.DATE-git.
11116
11117 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11118
11119         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11120         Add field.
11121         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11122         Add field.
11123         (default_exception_support_info) <catch_handlers_sym>: Add field.
11124         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11125         (ada_exception_name_addr_1): Add "catch handlers" handling.
11126         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11127         Update all callers.
11128         (create_excep_cond_exprs) <ex>: Add parameter.
11129         (re_set_exception): Update create_excep_cond_exprs call.
11130         (print_it_exception, print_one_exception, print_mention_exception)
11131         (print_recreate_exception): Add "catch handler" handling.
11132         (allocate_location_catch_handlers, re_set_catch_handlers)
11133         (check_status_catch_handlers, print_it_catch_handlers)
11134         (print_one_catch_handlers, print_mention_catch_handlers)
11135         (print_recreate_catch_handlers): New function.
11136         (catch_handlers_breakpoint_ops): New variable.
11137         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11138         Add parameter.  Add "catch handler" handling.
11139         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11140         Add "catch handler" handling.
11141         (ada_exception_catchpoint_cond_string): Add "catch handler"
11142         handling.
11143         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11144         call.
11145         (catch_ada_handlers_command): New function.
11146         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11147         operations structure.
11148         (_initialize_ada_language): Add "catch handlers" command entry.
11149         * NEWS: Document "catch handlers" feature.
11150
11151 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11152
11153         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11154         account when creating the array type of the slice.
11155         (ada_value_slice): Likewise.
11156
11157 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11158
11159         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11160         New enum value.
11161         (create_array_type_with_stride): Add byte_stride_prop parameter.
11162         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11163         New parameter.  Update all callers in this file.
11164         (array_type_has_dynamic_stride): New function.
11165         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11166         of arrays with dynamic byte strides.
11167         * dwarf2read.c (read_array_type): Add support for dynamic
11168         DW_AT_byte_stride attributes.
11169
11170 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11171
11172         * dwarf2read.c (read_unspecified_type): Treat
11173         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11174
11175 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11176
11177         Update copyright year range in all GDB files.
11178
11179 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11180
11181         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11182         and gdb/testsuite/gdb.base/step-line.c.
11183
11184 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11185
11186         * copyright.py (main): Dump the contents of
11187         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11188         even if BY_HAND is empty.
11189
11190 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11191
11192         * top.c (print_gdb_version): Update Copyright year in version
11193         message.
11194
11195 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11196
11197         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11198
11199 For older changes see ChangeLog-2017.
11200 \f
11201 Local Variables:
11202 mode: change-log
11203 left-margin: 8
11204 fill-column: 74
11205 version-control: never
11206 coding: utf-8
11207 End: