Use remote register numbers in tracepoint mask
[external/binutils.git] / gdb / ChangeLog
1 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
2
3         * tracepoint.h (class collection_list) <add_register>: Remove.
4         <add_remote_register, add_ax_registers, add_local_register>:
5         Declare.
6         <add_memrange>: Add scope parameter.
7         * tracepoint.c (encode_actions_1): Likewise.
8         (collection_list::add_register): Rename to ...
9         (collection_list::add_remote_register): ... this.  Update
10         comment.
11         (collection_list::add_ax_registers, add_local_register): New
12         methods.
13         (collection_list::add_memrange): Add scope parameter.  Call
14         add_local_register instead of add_register.
15         (finalize_tracepoint_aexpr): New function.
16         (collection_list::collect_symbol): Update calls to add_memrange.
17         Call add_local_register instead of add_register.  Call
18         add_ax_registers.  Call finalize_tracepoint_aexpr.
19         (encode_actions_1): Get remote regnos for $reg action.  Call
20         add_remote_register, add_ax_registers, and add_local_register.
21         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
22         (validate_actionline): Call finalize_tracepoint_aexpr.
23
24 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
25
26         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
27         Replace array buf with gdb::char_vector buf, of size
28         get_remote_packet_size ().  Replace references to buf and
29         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
30         and xsnprintf with snprintf.  Raise errors if the buffer is too
31         small.
32
33 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
34
35         * remote.c (remote_target::download_tracepoint): Fix the has_more
36         predicate in the QTDP action list iteration.
37
38 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
39
40         * remote.c (remote_target::download_tracepoint): Fix indentation
41         in for block.
42
43 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
44
45         * proc-api.c (_initialize_proc_api): Remove c, unused.
46         * procfs.c (procfs_init_inferior): Remove signals, unused.
47         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
48         unused.
49
50 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
51             Andrew Burgess  <andrew.burgess@embecosm.com>
52
53         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
54         'W_STOPCODE (0)' as this could be ambiguous.
55
56 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
57
58         * ser-tcp.c (net_open): Fix thinko when deciding whether to
59         disable TCP's Nagle algorithm (use "ai_protocol" instead of
60         "ai_socktype").
61
62 2018-08-02  Tom Tromey  <tom@tromey.com>
63
64         PR symtab/16842.
65         * dwarf2read.c (read_func_scope): Set symtab on template parameter
66         symbols.
67         (process_structure_scope): Likewise.
68
69 2018-08-02  Xavier Roirand  <roirand@adacore.com>
70
71         PR gdb/22629:
72         * darwin-nat.c (darwin_kill_inferior): Fix handling of
73         kill inferior.
74
75 2018-08-02  Tom Tromey  <tom@tromey.com>
76
77         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
78         (darwin_suspend_inferior, darwin_resume_inferior)
79         (darwin_decode_notify_message, darwin_resume_inferior_threads)
80         (darwin_check_new_threads): Check result of get_darwin_inferior.
81
82 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
83
84         GDB 8.1.1 released.
85
86 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
87
88         * varobj.c (varobj_get_path_expr_parent): Report an error if
89         parent is a dynamic varobj.
90
91 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
92
93         * gnulib/aclocal.m4: Re-generate.
94         * gnulib/config.in: Re-generate.
95         * gnulib/configure: Re-generate.
96         * gnulib/import/Makefile.in: Re-generate.
97         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
98         * gnulib/import/m4/onceonly.m4: Re-generate.
99
100 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
101
102         * target-descriptions.c (struct xml_test_tdesc): New.
103         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
104         (record_xml_tdesc): Update.
105         (maintenance_check_xml_descriptions): Update.
106         * target-descriptions.h (record_xml_tdesc): Update comment.
107
108 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
109
110         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
111         checking array bounds are defined.
112
113 2018-07-30  Tom Tromey  <tom@tromey.com>
114
115         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
116         irreflexivity violation.
117
118 2018-07-30  Tom Tromey  <tom@tromey.com>
119
120         * cli/cli-decode.c (lookup_cmd): Remove lint code.
121         * value.c (unpack_long): Remove lint code.
122         * valops.c (value_ind): Remove lint code.
123         * valarith.c (value_x_binop, value_x_unop, value_equal)
124         (value_pos): Remove lint code.
125
126 2018-07-28  Tom de Vries  <tdevries@suse.de>
127
128         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
129         with undefined upper bound as <optimized out>.
130
131 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
132
133         * gcore.in: Rename variable "name" to "prefix".  Expand
134         "usage" text.
135
136 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
137
138         * windows-nat.c (windows_nat_target::create_inferior): Update to
139         call close() in global namespace.
140
141 2018-07-26  Tom Tromey  <tom@tromey.com>
142
143         * dwarf-index-write.c (add_address_entry): Don't add objfile
144         offsets.
145         * dbxread.c (find_stab_function): Rename from
146         find_stab_function_addr.  Return a bound_minimal_symbol.
147         (read_dbx_symtab): Use raw_text_low, raw_text_high.
148         Don't add objfile offsets.
149         (end_psymtab): Use raw_text_low, raw_text_high,
150         MSYMBOL_VALUE_RAW_ADDRESS.
151         (read_ofile_symtab): Update.
152         (process_one_symbol): Update.
153         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
154         offsets.
155         (dw2_relocate): Remove.
156         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
157         searching addrmap.
158         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
159         Update.
160         (process_psymtab_comp_unit_reader, add_partial_symbol)
161         (add_partial_subprogram, dwarf2_ranges_read): Update.
162         (load_partial_dies): Update.
163         (add_address_entry): Don't add objfile offsets.
164         (dwarf2_build_include_psymtabs): Update.
165         (create_addrmap_from_aranges): Don't add objfile offsets.
166         (dw2_find_pc_sect_compunit_symtab): Update.
167         * mdebugread.c (parse_symbol): Don't add objfile offsets.
168         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
169         Update.
170         (parse_partial_symbols): Don't add objfile offsets.  Use
171         raw_text_low, raw_text_high.  Update.
172         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
173         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
174         or call 'relocate' quick function.  Clear psymbol_map.
175         * psympriv.h (struct partial_symbol) <address>: Add section
176         offset.
177         <set_unrelocated_address>: Rename from set_address.
178         <raw_text_low, raw_text_high>: New methods.
179         <text_low, text_high>: Add objfile parameter.
180         (add_psymbol_to_bcache): Add 'section' parameter.  Call
181         set_unrelocated_address.
182         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
183         (find_pc_psymbol): Update.
184         (fixup_psymbol_section, relocate_psymtabs): Remove.
185         (dump_psymtab, psym_functions): Update.
186         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
187         parameter.
188         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
189         (start_psymtab_common): Update.
190         * symfile-debug.c (debug_qf_relocate): Remove.
191         (debug_sym_quick_functions): Update.
192         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
193         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
194         Update.
195
196 2018-07-26  Tom Tromey  <tromey@redhat.com>
197
198         * dbxread.c (end_psymtab): Use text_high_valid and
199         text_low_valid.
200         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
201         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
202         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
203         Update comment.
204         <text_low_valid, text_high_valid>: New fields.
205         <set_text_low, set_text_high>: Update.
206         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
207
208 2018-07-26  Tom Tromey  <tom@tromey.com>
209
210         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
211         Update.
212         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
213         textlow and texthigh fields.
214         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
215         Update.
216         * mdebugread.c (parse_lines, parse_partial_symbols)
217         (psymtab_to_symtab_1): Update.
218         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
219         Rename fields.  Update comment.  Now private.
220         <text_low, text_high, set_text_low, set_text_high>: New methods.
221         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
222         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
223         (start_psymtab_common, maintenance_info_psymtabs)
224         (maintenance_check_psymtabs): Update.
225         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
226         texthigh fields.
227         (scan_xcoff_symtab): Update.
228
229 2018-07-26  Tom Tromey  <tromey@redhat.com>
230
231         * psympriv.h (struct partial_symbol) <unrelocated_address,
232         address, set_address>: New methods.
233         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
234         (fixup_psymbol_section, relocate_psymtabs): Update.
235         (print_partial_symbols): Add 'objfile' parameter.  Update.
236         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
237         Update.
238
239 2018-07-26  Tom Tromey  <tom@tromey.com>
240
241         * dwarf-index-write.c (write_psymbols, debug_names::insert)
242         (debug_names::write_psymbols): Update.
243         * psympriv.h (struct partial_symbol): Derive from
244         general_symbol_info.
245         <obj_section>: New method.
246         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
247         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
248         (find_pc_sect_psymbol, fixup_psymbol_section)
249         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
250         (print_partial_symbols, recursively_search_psymtabs)
251         (compare_psymbols, psymbol_hash, psymbol_compare)
252         (add_psymbol_to_bcache, maintenance_check_psymtabs)
253         (psymbol_name_matches, psym_fill_psymbol_map): Update.
254
255 2018-07-26  Tom Tromey  <tromey@redhat.com>
256
257         * dbxread.c (end_psymtab): Remove dead code.
258
259 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
260
261         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
262         DWARF unwinders are disabled.
263         * dwarf2-frame.c: Add dwarf2read.h include.
264         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
265         disabled.
266         (dwarf2_frame_unwinders_enabled_p): Define.
267         (show_dwarf_unwinders_enabled_p): New function.
268         (_initialize_dwarf2_frame): Register switch to control DWARF
269         unwinder use.
270         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
271         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
272         (show_dwarf_cmdlist): Remove static keyword.
273         * dwarf2read.h (set_dwarf_cmdlist): Declare.
274         (show_dwarf_cmdlist): Declare.
275         * NEWS: Document new feature.
276
277 2018-07-26  Tom de Vries  <tdevries@suse.de>
278
279         PR breakpoints/23366
280         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
281
282 2018-07-26  Tom de Vries  <tdevries@suse.de>
283
284         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
285         DW_AT_count can't be translated to a dynamic prop.
286
287 2018-07-25  Tom de Vries  <tdevries@suse.de>
288
289         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
290         try/catch.
291
292 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
293
294         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
295
296 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
297
298         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
299
300 2018-07-24  Keith Seitz  <keiths@redhat.comt
301
302         PR symtab/23010
303         * dwarf2read.c (dw2_add_symbol_to_list): New function.
304         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
305         instead of add_symbol_to_list.
306         (read_file_scope): Call prepare_one_comp_unit before reading
307         any other DIEs.
308
309 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
310
311         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
312
313 2018-07-24  Tom Tromey  <tom@tromey.com>
314
315         * utils.c (malloc, realloc, free): Don't declare.
316         * configure, config.in: Rebuild.
317         * configure.ac: Don't check for declarations of free, malloc, or
318         realloc.
319
320 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
321
322         * aarch64-linux-nat.c
323         (aarch64_linux_nat_target::stopped_data_address): Remove unused
324         variable.
325         * arm-linux-nat.c (fetch_regs): Likewise.
326         (store_regs): Likewise.
327         (fetch_vfp_regs): Likewise.
328         (store_vfp_regs): Likewise.
329         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
330         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
331         (arm_linux_nat_target::insert_watchpoint): Likewise.
332         (arm_linux_nat_target::remove_watchpoint): Likewise.
333         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
334         Likewise.
335         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
336         Likewise.
337         * ppc-linux-nat.c (fetch_register): Likewise.
338         (fetch_all_gp_regs): Likewise.
339         (fetch_ppc_registers): Likewise.
340         (store_all_gp_regs): Likewise.
341         (store_ppc_registers): Likewise.
342         (hwdebug_insert_point): Likewise.
343         (can_use_watchpoint_cond_accel): Likewise.
344         * remote-sim.c (gdb_os_write_stdout): Likewise.
345
346 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
347             Tom Tromey  <tom@tromey.com>
348
349         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
350         test for it.
351         * configure: Rebuild.
352
353 2018-07-22  Tom Tromey  <tom@tromey.com>
354
355         * regformats/regdat.sh: Define xmltarget_${name} inside
356         #ifndef IN_PROCESS_AGENT.
357
358 2018-07-22  Tom Tromey  <tom@tromey.com>
359
360         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
361
362 2018-07-22  Tom Tromey  <tom@tromey.com>
363
364         * symfile.c (reread_symbols): Notify iter, not objfile.
365
366 2018-07-22  Tom Tromey  <tom@tromey.com>
367
368         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
369         Use arch_ops.
370         (ravenscar_thread_target::prepare_to_store): Likewise.
371
372 2018-07-22  Tom Tromey  <tom@tromey.com>
373
374         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
375         unused variable.  Call value_fetch_lazy when needed.
376         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
377         Remove unused variable.  Call value_fetch_lazy when needed.
378
379 2018-07-22  Tom Tromey  <tom@tromey.com>
380
381         * m32c-tdep.c (mark_dma): Return void.
382         (make_regs): Remove unused declarations.
383
384 2018-07-22  Tom Tromey  <tom@tromey.com>
385
386         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
387         cmdscm_get_valid_command_smob_arg_unsafe for effect.
388         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
389         bkscm_get_valid_block_smob_arg_unsafe for effect.
390
391 2018-07-22  Tom Tromey  <tom@tromey.com>
392
393         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
394         value_type.
395
396 2018-07-22  Tom Tromey  <tom@tromey.com>
397
398         * windows-nat.c (saved_context): Conditionally define.
399         * remote.c (remote_target::remote_btrace_maybe_reopen):
400         Conditionally declare "warned".
401         * inflow.c (sigquit_ours): Conditionally define.
402         (new_tty): Move "tty" declaration inside #if.
403         * guile/guile.c (guile_datadir): Conditionally define.
404         * charset.c (set_be_le_names): Move some declarations inside #if.
405         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
406         #if.
407         (parse_xml_btrace_conf): Likewise.
408
409 2018-07-22  Tom Tromey  <tom@tromey.com>
410
411         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
412
413 2018-07-22  Tom Tromey  <tom@tromey.com>
414
415         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
416         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
417         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
418         * buildsym-legacy.c (get_macro_table): Remove unused variable.
419         * stack.c (frame_apply_level_command): Remove unused variable.
420         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
421         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
422         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
423         unused variable.
424         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
425         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
426         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
427         variable.
428         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
429         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
430         variable.
431         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
432         Remove unused variable.
433         * cli/cli-script.c (recurse_read_control_structure): Remove unused
434         variable.
435         * common/tdesc.c (print_xml_feature::visit): Remove unused
436         variable.
437         * compile/compile-object-load.c (store_regs): Remove unused
438         variables.
439         * complaints.c (clear_complaints): Remove unused variable.
440         * corelow.c (core_target_open): Remove unused variable.
441         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
442         variable.
443         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
444         variable.
445         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
446         variable.
447         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
448         variable.
449         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
450         variable.
451         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
452         variable.
453         * ia64-tdep.c (examine_prologue): Remove unused variable.
454         * infcall.c (run_inferior_call): Remove unused variable.
455         * inferior.c (exit_inferior): Remove unused variable.
456         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
457         * linespec.c (decode_line_2): Remove unused variable.
458         * linux-nat.c (super_close): Remove.
459         * linux-tdep.c (linux_info_proc): Remove unused variable.
460         * mi/mi-main.c (mi_execute_command): Remove unused variable.
461         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
462         Remove unused variable.
463         * parse.c (find_minsym_type_and_address): Remove unused variable.
464         * printcmd.c (info_symbol_command, printf_floating): Remove unused
465         variable.
466         * python/py-breakpoint.c (bppy_set_commands): Remove unused
467         variable.
468         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
469         variables.
470         * record-btrace.c (record_btrace_target::store_registers): Remove
471         unused variable.
472         (cmd_show_record_btrace_cpu): Remove unused variable.
473         * riscv-tdep.c (riscv_register_reggroup_p)
474         (riscv_push_dummy_call, riscv_return_value): Remove unused
475         variable.
476         * rust-exp.y (literal): Remove unused variable.
477         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
478         unused variable.
479         <STRUCTOP_ANONYMOUS>: Likewise.
480         * s390-linux-tdep.c (s390_linux_init_abi_31)
481         (s390_linux_init_abi_64): Remove unused variable.
482         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
483         (file_select_thread, net_windows_open, _initialize_ser_windows):
484         Remove unused variables.
485         * symtab.c (find_pc_sect_line): Remove unused variable.
486         * target-memory.c (compute_garbled_blocks): Remove unused
487         variable.
488         (target_write_memory_blocks): Remove unused variable.
489         * target.c (target_stack::unpush): Remove unused variables.
490         * tracepoint.c (start_tracing, all_tracepoint_actions)
491         (merge_uploaded_trace_state_variables)
492         (print_one_static_tracepoint_marker): Remove unused variable.
493         * unittests/basic_string_view/element_access/char/1.cc (test01):
494         Remove unused variable.
495         * windows-nat.c (windows_continue, windows_add_all_dlls)
496         (do_initial_windows_stuff, windows_nat_target::create_inferior):
497         Remove unused variables.
498
499 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
500
501         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
502         attr_profile in HAVE_ELF.
503         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
504         HAVE_ELF.
505
506 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
507
508         * frame.c (frame_register_unwind): Change parameter name.
509         (frame_unwind_register): Likewise.
510         (frame_unwind_register_value): Likewise.
511         (frame_unwind_register_signed): Likewise.
512         (frame_unwind_register_unsigned): Likewise.
513         * frame.h (frame_register_unwind): Likewise.
514         (frame_unwind_register): Likewise.
515         (frame_unwind_register_value): Likewise.
516         (frame_unwind_register_signed): Likewise.
517         (frame_unwind_register_unsigned): Likewise.
518         (frame_unwind_arch): Likewise.
519
520 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
521
522         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
523         ISA maintenance.
524
525 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
526
527         * mips-linux-nat.c (mips_linux_nat_target::read_description):
528         Call `get_ptrace_pid' rather than extracting the ptrace PID by
529         hand.
530
531 2018-07-20  Keith Seitz  <keiths@redhat.com>
532
533         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
534         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
535         m_compunit_symtab, m_language>: Add "m_" prefix.
536         Update all uses.
537         * buildsym.c: Update all uses.
538
539 2018-07-20  Tom Tromey  <tom@tromey.com>
540
541         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
542         * buildsym.h (record_line_ftype): Remove typedef.
543
544 2018-07-20  Tom Tromey  <tom@tromey.com>
545
546         * buildsym-legacy.h (augment_type_symtab): Don't declare.
547         (end_expandable_symtab): Likewise.
548         (end_symtab_get_static_block): Likewise.
549         (end_symtab_from_static_block): Likewise.
550         * buildsym-legacy.c (augment_type_symtab): Remove.
551         (end_expandable_symtab): Remove.
552         (end_symtab_get_static_block): Remove.
553         (end_symtab_from_static_block): Remove.
554
555 2018-07-20  Tom Tromey  <tom@tromey.com>
556
557         * dwarf2read.c: Include buildsym.h.
558         (struct dwarf2_cu) <builder>: New method.
559         (fixup_go_packaging): Update.
560         (process_full_comp_unit, process_full_type_unit): Update.  Don't
561         use scoped_free_pendings.
562         (using_directives): Add "cu" parameter, remove "language".
563         (read_import_statement, setup_type_unit_groups, )
564         (read_func_scope, read_lexical_block_scope)
565         (dwarf2_record_block_ranges, read_namespace): Update.
566         (lnp_state_machine::lnp_state_machine): Add cu parameter.
567         (lnp_state_machine::handle_end_sequence): Update.
568         (class lnp_state_machine) <m_cu>: New member.
569         <m_record_line_callback>: Remove.
570         <m_currently_recording_lines>: New member.
571         (lnp_state_machine::handle_set_file): Update.
572         (noop_record_line): Remove.
573         (dwarf_record_line_p): Add cu parameter.
574         (dwarf_record_line_1, dwarf_finish_line): Likewise.
575         (lnp_state_machine::record_line)
576         (lnp_state_machine::lnp_state_machine)
577         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
578         (dwarf_decode_lines): Update.
579         (dwarf2_start_subfile): Add cu parameter.
580         (dwarf2_start_symtab, new_symbol): Update.
581         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
582         Remove dwarf2_per_objfile parameter.
583         (dwarf_decode_macros): Update.
584
585 2018-07-20  Tom Tromey  <tom@tromey.com>
586
587         * stabsread.c (define_symbol): Update.
588         * buildsym-legacy.h (get_buildsym_compunit): Declare.
589         * dwarf2read.c (new_symbol): Update.
590         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
591         * cp-namespace.c: Include buildsym.h.
592         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
593         * buildsym-legacy.c (get_buildsym_compunit): New function.
594
595 2018-07-20  Tom Tromey  <tom@tromey.com>
596
597         * xcoffread.c: Include buildsym-legacy.h.
598         * windows-nat.c: Include buildsym-legacy.h.
599         * stabsread.c: Include buildsym-legacy.h.
600         * mdebugread.c: Include buildsym-legacy.h.
601         * buildsym-legacy.h: New file.
602         * buildsym-legacy.c: New file, from buildsym.c.
603         * go32-nat.c: Include buildsym-legacy.h.
604         * dwarf2read.c: Include buildsym-legacy.h.
605         * dbxread.c: Include buildsym-legacy.h.
606         * cp-namespace.c: Include buildsym-legacy.h.
607         * coffread.c: Include buildsym-legacy.h.
608         * buildsym.h: Move some contents to buildsym-legacy.h.
609         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
610         buildsym-legacy.c.
611         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
612
613 2018-07-20  Tom Tromey  <tom@tromey.com>
614
615         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
616         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
617         (buildsym_compunit::buildsym_compunit)
618         (buildsym_compunit::~buildsym_compunit)
619         (buildsym_compunit::get_macro_table): Define.
620
621 2018-07-20  Tom Tromey  <tom@tromey.com>
622
623         * buildsym.c (reset_symtab_globals): Remove.
624         (buildsym_compunit::end_symtab_from_static_block): Update.
625         (buildsym_compunit::augment_type_symtab): Update.
626         (end_symtab_from_static_block): Call free_buildsym_compunit.
627         (augment_type_symtab, end_symtab, end_expandable_symtab):
628         Likewise.
629
630 2018-07-20  Tom Tromey  <tom@tromey.com>
631
632         * arch-utils.c: Do not include buildsym.h.
633         * mipsread.c: Do not include buildsym.h.
634         * machoread.c: Do not include buildsym.h.
635         * elfread.c: Do not include buildsym.h.
636
637 2018-07-20  Tom Tromey  <tom@tromey.com>
638
639         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
640         initialization.
641         (buildsym_compunit): Add new constructor.
642         (struct buildsym_compunit) <get_last_source_file, finish_block,
643         record_block_range, start_subfile, patch_subfile_names,
644         push_subfile, pop_subfile, record_line, get_compunit_symtab,
645         set_last_source_start_addr, get_last_source_start_addr,
646         get_local_using_directives, set_local_using_directives,
647         get_global_using_directives, outermost_context_p,
648         get_current_context_stack, get_context_stack_depth,
649         get_current_subfile, get_local_symbols, get_file_symbols,
650         get_global_symbols, record_debugformat, record_producer,
651         push_context, pop_context, end_symtab_get_static_block,
652         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
653         New public methods.
654         <record_pending_block, finish_block_internal, make_blockvector,
655         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
656         private methods.
657         Update all users.
658
659 2018-05-22  Tom Tromey  <tom@tromey.com>
660
661         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
662         parameter.
663         (finish_block_internal): Update.
664
665 2018-07-20  Tom Tromey  <tom@tromey.com>
666
667         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
668         parameter.
669         (finish_block_internal): Update.
670
671 2018-07-20  Tom Tromey  <tom@tromey.com>
672
673         * buildsym.h (EXTERN): Don't define or undef.
674         * buildsym.c (EXTERN): Don't define.
675
676 2018-07-20  Tom Tromey  <tom@tromey.com>
677
678         * buildsym.c: Remove TODO comment.
679
680 2018-07-20  Tom Tromey  <tom@tromey.com>
681
682         * coffread.c (coff_symtab_read): Update.
683         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
684         (xcoff_new_init): Update.
685         * mipsread.c (mipscoff_new_init): Update.
686         * mdebugread.c (mdebug_build_psymtabs): Update.
687         * elfread.c (elf_new_init): Update.
688         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
689         Update.
690         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
691         (coffstab_build_psymtabs, elfstab_build_psymtabs)
692         (stabsect_build_psymtabs): Update.
693         * buildsym.h (buildsym_init): Don't declare.
694         * buildsym.c: Update comment.
695         (prepare_for_building): Remove.
696         (start_symtab, restart_symtab): Update.
697         (reset_symtab_globals): Update comment.
698         (buildsym_init): Remove.
699
700 2018-07-20  Tom Tromey  <tom@tromey.com>
701
702         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
703         * stabsread.c (patch_block_stabs, define_symbol, read_type)
704         (read_enum_type, common_block_start, common_block_end)
705         (cleanup_undefined_types_1, finish_global_stabs): Update.
706         * mdebugread.c (psymtab_to_symtab_1): Update.
707         * dwarf2read.c (fixup_go_packaging, read_func_scope)
708         (read_lexical_block_scope, new_symbol): Update.
709         * dbxread.c (process_one_symbol): Update.
710         * coffread.c (coff_symtab_read, process_coff_symbol)
711         (coff_read_enum_type): Update.
712         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
713         declare.
714         (get_local_symbols, get_file_symbols, get_global_symbols): New
715         functions.
716         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
717         m_global_symbols.
718         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
719         (~scoped_free_pendings): Update.
720         (finish_block, prepare_for_building, reset_symtab_globals)
721         (end_symtab_get_static_block, end_symtab_with_blockvector)
722         (augment_type_symtab, push_context): Update.
723         (get_local_symbols, get_file_symbols, get_global_symbols): New
724         functions.
725         (buildsym_init): Update.
726
727 2018-07-20  Tom Tromey  <tom@tromey.com>
728
729         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
730         (process_full_type_unit): Likewise.
731         (dwarf2_start_symtab): Set list_in_scope.
732
733 2018-07-20  Tom Tromey  <tom@tromey.com>
734
735         * dwarf2read.c (process_psymtab_comp_unit_reader)
736         (build_type_psymtabs_reader): Do not set list_in_scope.
737
738 2018-07-20  Tom Tromey  <tom@tromey.com>
739
740         * buildsym.c (free_pendings): Remove.
741         (add_symbol_to_list, scoped_free_pendings)
742         (finish_block_internal, buildsym_init): Update.
743
744 2018-07-20  Tom Tromey  <tom@tromey.com>
745
746         * xcoffread.c (read_xcoff_symtab): Update.
747         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
748         Update.
749         * dbxread.c (process_one_symbol): Update.
750         * coffread.c (coff_symtab_read): Update.
751         * buildsym.h (finish_block): Update.
752         * buildsym.c (finish_block): Remove "listhead" argument.
753         (end_symtab_get_static_block): Update.
754
755 2018-07-20  Tom Tromey  <tom@tromey.com>
756
757         * buildsym.h (class scoped_free_pendings): Remove constructor.
758         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
759         method.
760         <m_pending_block_obstack, m_pending_blocks>: New members.
761         (pending_block_obstack, pending_blocks): Remove.
762         (scoped_free_pendings::scoped_free_pendings): Default.
763         (~scoped_free_pendings): Update.
764         (free_pending_blocks): Remove.
765         (finish_block_internal, record_pending_block, make_blockvector)
766         (end_symtab_get_static_block, augment_type_symtab, push_context)
767         (buildsym_init): Update.
768
769 2018-07-20  Tom Tromey  <tom@tromey.com>
770
771         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
772         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
773         members.
774         (pending_addrmap, pending_addrmap_obstack)
775         (pending_addrmap_interesting): Remove.
776         (scoped_free_pendings, record_block_range, make_blockvector)
777         (prepare_for_building, reset_symtab_globals, buildsym_init):
778         Update.
779
780 2018-07-20  Tom Tromey  <tom@tromey.com>
781
782         * xcoffread.c (process_linenos): Update.
783         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
784         * mdebugread.c (psymtab_to_symtab_1): Update.
785         * dwarf2read.c (setup_type_unit_groups)
786         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
787         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
788         * dbxread.c (process_one_symbol): Update.
789         * coffread.c (coff_symtab_read, enter_linenos)
790         (process_coff_symbol): Update.
791         * buildsym.h (current_subfile): Don't declare.
792         (get_current_subfile): Declare.
793         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
794         member.
795         (start_subfile, free_buildsym_compunit, push_subfile)
796         (prepare_for_building, start_symtab): Update.
797         (get_current_subfile): New function.
798
799 2018-07-20  Tom Tromey  <tom@tromey.com>
800
801         * coffread.c (coff_symtab_read): Update.
802         * xcoffread.c (read_xcoff_symtab): Update.
803         * dwarf2read.c (new_symbol): Update.
804         (read_func_scope, read_lexical_block_scope): Update.
805         * dbxread.c (process_one_symbol): Update.
806         * buildsym.h (context_stack, context_stack_depth): Don't declare.
807         (outermost_context_p): Remove macro.
808         (outermost_context_p, get_current_context_stack)
809         (get_context_stack_depth): Declare.
810         (pop_context): Return struct context_stack.
811         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
812         member.
813         (context_stack_size): Remove.
814         (INITIAL_CONTEXT_STACK_SIZE): Remove.
815         (prepare_for_building, end_symtab_get_static_block)
816         (augment_type_symtab, push_context): Update.
817         (pop_context): Return struct context_stack.
818         (outermost_context_p, get_current_context_stack)
819         (get_context_stack_depth): New functions.
820         (buildsym_init): Update.
821
822 2018-07-20  Tom Tromey  <tom@tromey.com>
823
824         * rust-exp.y: Now a pure parser.  Update all rules.
825         (%union): Move earlier.
826         (current_parser, work_obstack): Remove globals.
827         (rust_parser, ~rust_parser): Update.
828         (class rust_parser) <copy_name, concat3, crate_name, super_name,
829         lex_character, lex_number, lex_string, lex_identifier,
830         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
831         convert_name, convert_params_to_expression,
832         convert_ast_to_expression, ast_basic_type, ast_operation,
833         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
834         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
835         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
836         ast_array_type, ast_slice_type, ast_reference_type,
837         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
838         (rust_parse): Update.
839         (rustyyerror, rustyylex): Add parser parameter.
840         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
841         (rust_lex_stringish_test, rust_lex_test_sequence)
842         (rust_lex_test_trailing_dot, rust_lex_test_completion)
843         (rust_lex_test_push_back, rust_lex_tests): Update.
844
845 2018-07-19  Pedro Alves  <palves@redhat.com>
846
847         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
848         gdb::unique_xmalloc_ptr.
849         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
850         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
851         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
852         copy-initialization.
853         * guile/scm-pretty-print.c (ppscm_print_children): Use
854         gdb::unique_xmalloc_ptr instead of cleanups.
855         (gdbscm_apply_val_pretty_printer): Remove cleanups.
856         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
857         gdb::unique_xmalloc_ptr.
858         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
859         Adjust to use gdb::unique_xmalloc_ptr.
860         * guile/scm-utils.c (extract_arg): Adjust.
861         * guile/scm-value.c (gdbscm_value_field): Adjust to use
862         gdb::unique_xmalloc_ptr instead of a cleanup.
863
864 2018-07-19  Tom Tromey  <tom@tromey.com>
865
866         * utils.c (do_value_free_to_mark)
867         (make_cleanup_value_free_to_mark): Remove.
868         * utils.h (make_cleanup_value_free_to_mark): Remove.
869
870 2018-07-19  Pedro Alves  <palves@redhat.com>
871
872         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
873         forwarding reference.
874
875 2018-07-18  Pedro Alves  <palves@redhat.com>
876
877         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
878         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
879         cleanup.
880
881 2018-07-18  Pedro Alves  <palves@redhat.com>
882
883         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
884         exceptions.
885         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
886         (gdbscm_wrap): New.
887         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
888         directly instead of a cleanup.
889         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
890         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
891         (vlscm_binop_gdbthrow): New, factored out from ...
892         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
893         (vlscm_rich_compare): Use gdbscm_wrap.
894         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
895         instead of a cleanup.
896         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
897         cleanup.
898         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
899         Use xfree directly instead of a cleanup.
900         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
901         Adjust to use gdbscm_wrap and scoped_value_mark.
902         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
903         (gdbscm_value_address, gdbscm_value_dereference)
904         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
905         scoped_value_mark.
906         (gdbscm_value_dynamic_type): Use scoped_value_mark.
907         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
908         scoped_value_mark.
909         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
910         gdbscm_wrap and scoped_value_mark.
911         (gdbscm_value_to_string): Use xfree directly instead of a
912         cleanup.  Move 'buffer' unique_ptr to TRY scope.
913         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
914         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
915         scoped_value_mark.
916         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
917         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
918         scoped_value_mark.
919         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
920         gdbscm_wrap.
921
922 2018-07-18  Tom de Vries  <tdevries@suse.de>
923
924         * findvar.c (default_read_var_value): Also resolve dynamic type for
925         LOC_OPTIMIZED_OUT vars.
926
927 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
928
929         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
930         decoding.
931
932 2018-07-17  Tom Tromey  <tom@tromey.com>
933
934         * guile/scm-param.c (pascm_set_func, pascm_show_func)
935         (compute_enum_list, pascm_set_param_value_x)
936         (gdbscm_parameter_value): Update.
937         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
938         (gdbscm_scm_to_host_string): Update.
939         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
940         Update.
941         * guile/scm-cmd.c (cmdscm_add_completion): Update.
942         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
943         * guile/scm-string.c (gdbscm_scm_to_string): Return
944         unique_xmalloc_ptr.
945         (gdbscm_scm_to_host_string): Likewise.
946
947 2018-07-17  Tom Tromey  <tom@tromey.com>
948
949         * guile/guile.c (gdbscm_eval_from_control_command): Update.
950         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
951         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
952         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
953         unique_xmalloc_ptr.
954
955 2018-07-17  Tom Tromey  <tom@tromey.com>
956
957         * guile/scm-param.c (pascm_signal_setshow_error): Update.
958         * guile/guile-internal.h (gdbscm_exception_message_to_string):
959         Update.
960         * guile/scm-cmd.c (cmdscm_function): Update.
961         * guile/scm-pretty-print.c
962         (ppscm_print_exception_unless_memory_error): Update.
963         * guile/scm-exception.c (gdbscm_exception_message_to_string):
964         Return unique_xmalloc_ptr.
965
966 2018-07-17  Tom Tromey  <tom@tromey.com>
967
968         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
969         Use string_printf.
970
971 2018-07-17  Jim Wilson  <jimw@sifive.com>
972
973         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
974         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
975         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
976         unecessary braces after EF_RISCV_RVC test.  Delete call to
977         set_gdbarch_decr_pc_after_break.
978
979         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
980         RISCV_LAST_FP_REGNUM + 1.
981         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
982
983 2018-07-17  Tom Tromey  <tom@tromey.com>
984
985         * configure.ac: Remove --disable-gdbcli.
986         * configure: Rebuild.
987         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
988         (SUBDIR_CLI_CFLAGS): Remove.
989         (SFILES): Use SUBDIR_CLI_SRCS.
990         (COMMON_OBS): Use SUBDIR_CLI_OBS.
991
992 2018-07-17  Tom Tromey  <tom@tromey.com>
993
994         PR gdb/18624:
995         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
996
997 2018-07-16  Jim Wilson  <jimw@sifive.com>
998
999         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
1000
1001 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1002
1003         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
1004         variable.
1005         (libunwind_frame_sniffer): Likewise.
1006         (libunwind_frame_prev_register): Likewise.
1007         (libunwind_sigtramp_frame_sniffer): Likewise.
1008         * ia64-tdep.c (ia64_access_reg): Likewise.
1009         (ia64_access_rse_reg): Likewise.
1010         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
1011         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
1012
1013 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1014
1015         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
1016
1017 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
1018
1019         * remote-sim.c (gdbsim_target::close,
1020         gdbsim_target::mourn_inferior): Remove unused variables.
1021
1022 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
1023
1024         * ia64-tdep.c (ktab_buf): New global.
1025         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
1026         (get_kernel_table): Adjust.
1027
1028 2018-07-16  Tom Tromey  <tom@tromey.com>
1029
1030         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
1031         * dwarf2read.c (using_directives, new_symbol): Use
1032         outermost_context_p.
1033         * dbxread.c (process_one_symbol): Use outermost_context_p.
1034         * coffread.c (coff_symtab_read): Use outermost_context_p.
1035
1036 2018-07-16  Tom Tromey  <tom@tromey.com>
1037
1038         * dwarf2read.c (using_directives, read_func_scope)
1039         (read_lexical_block_scope): Update.
1040         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
1041         * buildsym.h (local_using_directives, global_using_directives):
1042         Don't declare.
1043         (get_local_using_directives, set_local_using_directives)
1044         (get_global_using_directives): Declare.
1045         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
1046         m_global_using_directives>: New members.
1047         (finish_block_internal, prepare_for_building)
1048         (reset_symtab_globals, end_symtab_get_static_block)
1049         (push_context): Update.
1050         (get_local_using_directives, set_local_using_directives)
1051         (get_global_using_directives): New functions.
1052         (buildsym_init): Update.
1053
1054 2018-07-16  Tom Tromey  <tom@tromey.com>
1055
1056         * xcoffread.c (xcoff_initial_scan): Don't call
1057         free_pending_blocks.
1058         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
1059         * buildsym.h (class scoped_free_pendings): Add constructor.
1060         (free_pending_blocks): Don't declare.
1061         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
1062         (free_pending_blocks): Now static.
1063
1064 2018-07-16  Tom Tromey  <tom@tromey.com>
1065
1066         * buildsym.h (push_subfile, pop_subfile): Update declarations.
1067         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
1068         member.
1069         (struct subfile_stack): Remove.
1070         (subfile_stack): Remove.
1071         (push_subfile, pop_subfile, buildsym_init): Update.
1072
1073 2018-07-16  Tom Tromey  <tom@tromey.com>
1074
1075         * buildsym.c (push_subfile): Use gdb_assert.
1076         (pop_subfile): Use gdb_assert.
1077
1078 2018-07-16  Tom Tromey  <tom@tromey.com>
1079
1080         * buildsym.h (merge_symbol_lists): Remove.
1081         * buildsym.c (merge_symbol_lists): Remove.
1082
1083 2018-07-16  Tom Tromey  <tom@tromey.com>
1084
1085         * stabsread.c (scan_file_globals): Update comment.
1086         * stabsread.h (scan_file_globals): Move from buildsym.h.
1087         * buildsym.h (scan_file_globals): Move to stabsread.h.
1088
1089 2018-07-16  Tom Tromey  <tom@tromey.com>
1090
1091         * xcoffread.c (xcoff_new_init): Update.
1092         * mipsread.c (mipscoff_new_init): Update.
1093         * mdebugread.c (mdebug_build_psymtabs): Update.
1094         * elfread.c (elf_new_init): Update.
1095         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
1096         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
1097         * buildsym.h (buildsym_new_init): Don't declare.
1098         * buildsym.c (buildsym_new_init): Remove.
1099
1100 2018-07-16  Tom Tromey  <tom@tromey.com>
1101
1102         * stabsread.h (within_function): Move from buildsym.h.
1103         * stabsread.c (start_stabs): Clear within_function.
1104         * coffread.c (coff_start_symtab): Clear within_function.
1105         * buildsym.h (within_function): Move to stabsread.h.
1106         * buildsym.c (prepare_for_building): Update.
1107
1108 2018-07-16  Tom Tromey  <tom@tromey.com>
1109
1110         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
1111         * dwarf2read.c (dwarf2_start_symtab): Don't set
1112         processing_gcc_compilation.
1113         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
1114
1115 2018-07-16  Tom Tromey  <tom@tromey.com>
1116
1117         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
1118         (next_symbol_text_func): Move from buildsym.h.
1119         * stabsread.c (hashname): Move from buildsym.c.
1120         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
1121         (next_symbol_text_func, hashname): Move to stabsread.h.
1122         * buildsym.c: Don't include bcache.h
1123         (hashname): Move to stasbread.c.
1124
1125 2018-07-16  Tom Tromey  <tom@tromey.com>
1126
1127         * buildsym.h (context_stack_size): Don't declare.
1128         * buildsym.c (context_stack_size): New global.
1129
1130 2018-07-16  Tom Tromey  <tom@tromey.com>
1131
1132         * dbxread.c (processing_acc_compilation): New global.
1133         * buildsym.h (processing_acc_compilation): Don't declare.
1134
1135 2018-07-16  Tom Tromey  <tom@tromey.com>
1136
1137         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
1138         * dbxread.c (read_ofile_symtab): Update.
1139         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
1140         * buildsym.h (last_source_start_addr): Remove.
1141         (set_last_source_start_addr, get_last_source_start_addr):
1142         Declare.
1143         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
1144         parameter.
1145         (struct buildsym_compunit) <m_last_source_start_addr>: New
1146         member.
1147         (prepare_for_building): Remove start_addr parameter.
1148         (start_symtab, restart_symtab, end_symtab_get_static_block)
1149         (end_symtab_with_blockvector): Update.
1150         (set_last_source_start_addr, get_last_source_start_addr): New
1151         functions.
1152
1153 2018-07-16  Tom Tromey  <tom@tromey.com>
1154
1155         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
1156         member.
1157         (have_line_numbers): Remove.
1158         (record_line, prepare_for_building, end_symtab_get_static_block)
1159         (augment_type_symtab): Update.
1160
1161 2018-07-16  Tom Tromey  <tom@tromey.com>
1162
1163         * buildsym.c (~buildsym_compunit): Free the macro table.
1164         (struct buildsym_compunit) <get_macro_table, release_macros>: New
1165         methods.
1166         <m_pending_macros>: New member.
1167         (pending_macros): Remove.
1168         (~scoped_free_pendings, get_macro_table, prepare_for_building)
1169         (reset_symtab_globals, end_symtab_get_static_block)
1170         (end_symtab_with_blockvector, augment_type_symtab)
1171         (buildsym_init): Update.
1172
1173 2018-07-16  Tom Tromey  <tom@tromey.com>
1174
1175         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
1176         parameter.
1177         (buildsym_compunit::set_last_source_file): New method.
1178         <m_last_source_file>: New member.
1179         (prepare_for_building): Remove "name" parameter.
1180         (start_symtab, restart_symtab, reset_symtab_globals): Update.
1181         (last_source_file): Remove.
1182         (set_last_source_file, get_last_source_file): Update.
1183
1184 2018-07-16  Tom Tromey  <tom@tromey.com>
1185
1186         * buildsym.c (prepare_for_building): Add assert.
1187
1188 2018-07-16  Tom Tromey  <tom@tromey.com>
1189
1190         * buildsym.c (~buildsym_compunit): Update.
1191         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
1192         (start_subfile, patch_subfile_names)
1193         (end_symtab_with_blockvector): Update.
1194
1195 2018-07-16  Tom Tromey  <tom@tromey.com>
1196
1197         * buildsym.c (struct buildsym_compunit): Add constructor,
1198         destructor, initializers.
1199         (start_buildsym_compunit): Remove.
1200         (free_buildsym_compunit): Use "delete".
1201         (start_symtab, restart_symtab): Use "new".
1202
1203 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
1204
1205         * symfile.c (set_objfile_default_section_offset): Remove struct
1206         keyword.
1207
1208 2018-07-14  Stafford Horne  <shorne@gmail.com>
1209
1210         * (Responsible Maintainers): Add myself as or1k maintainer.
1211
1212 2018-07-13  Tom Tromey  <tom@tromey.com>
1213
1214         * symfile.c (set_objfile_default_section_offset): Use extra braces
1215         around initializer.
1216
1217 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
1218
1219         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
1220         non-branching basr.
1221
1222 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1223
1224         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1225         unittests/cli-utils-selftests.c
1226         * unittests/cli-utils-selftests.c: New file.
1227
1228 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1229
1230         * NEWS: Mention new commands. Mention change to 'thread apply'.
1231
1232 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1233
1234         * thread.c (thr_try_catch_cmd): New function.
1235         (thread_apply_all_command): Handle qcs flags.
1236         (thread_apply_command): Handle qcs flags.
1237         (taas_command): New function.
1238         (tfaas_command): New function.
1239         (_initialize_thread): Update to setup the new commands 'taas
1240         and 'tfaas'. Change doc string for 'thread apply'.
1241
1242 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1243
1244         * stack.c: (trailing_outermost_frame): New function, mostly
1245         extracted from backtrace_command_1.
1246         (leading_innermost_frame): New function.
1247         (backtrace_command_1): Update to call trailing_outermost_frame.
1248         (frame_apply_command_count): New function.
1249         (frame_apply_level_command): New function.
1250         (frame_apply_all_command): New function.
1251         (frame_apply_command): New function.
1252         (faas_command): New function.
1253         (frame_cmd_list): New variable.
1254         (_initialize_stack): Update to setup the new commands 'frame apply'
1255         and 'faas'.
1256
1257 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1258
1259         * cli-utils.c (number_or_range_parser::get_number): Only handle
1260         numbers or convenience var as numbers.
1261         (parse_flags): New function.
1262         (parse_flags_qcs): New function.
1263         (number_or_range_parser::finished): Ensure parsing end is detected
1264         before end of string.
1265         * cli-utils.h (parse_flags): New function.
1266         (parse_flags_qcs): New function.
1267         (number_or_range_parser): Remove m_finished bool.
1268         (number_or_range_parser::skip_range): Set m_in_range to false.
1269
1270 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1271
1272         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
1273         on Windows.
1274
1275 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1276             Jan Kratochvil  <jan.kratochvil@redhat.com>
1277             Paul Fertser  <fercerpav@gmail.com>
1278             Tsutomu Seki  <sekiriki@gmail.com>
1279             Pedro Alves  <palves@redhat.com>
1280
1281         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
1282         'unittests/parse-connection-spec-selftests.c'.
1283         (COMMON_SFILES): Add 'common/netstuff.c'.
1284         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
1285         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
1286         * common/netstuff.c: New file.
1287         * common/netstuff.h: New file.
1288         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
1289         (wait_for_connect): Update comment.  New parameter
1290         'gdb::optional<int> sock' instead of 'struct serial *scb'.
1291         Use 'sock' directly instead of 'scb->fd'.
1292         (try_connect): New function, with code from 'net_open'.
1293         (net_open): Rewrite main loop to deal with multiple
1294         sockets/addresses.  Handle IPv6-style hostnames; implement
1295         support for IPv6 connections.
1296         * unittests/parse-connection-spec-selftests.c: New file.
1297
1298 2018-07-11  Pedro Alves  <palves@redhat.com>
1299
1300         PR gdb/23377
1301         * remote.c (remote_target::remote_detach_pid): Call
1302         set_current_process.
1303
1304 2018-07-11  Pedro Alves  <palves@redhat.com>
1305
1306         * h8300-tdep.c (h8300_gdbarch_init): Remove
1307         set_gdbarch_ecoff_reg_to_regnum calls.
1308
1309 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
1310
1311         PR c++/23373
1312         * c-typeprint.c (c_type_print_base_struct_union): Don't print
1313         offsets/sizes for static members of a class/struct.
1314
1315 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
1316
1317         * target-descriptions.c (tdesc_register_bitsize): Rename.
1318         * target-descriptions.h (tdesc_register_bitsize): Likewise.
1319         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
1320         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
1321
1322 2018-07-10  Tom Tromey  <tom@tromey.com>
1323
1324         * breakpoint.c (moribund_locations): Now static and a
1325         std::vector.
1326         (breakpoint_init_inferior, moribund_breakpoint_here_p)
1327         (build_bpstat_chain, update_global_location_list)
1328         (breakpoint_retire_moribund): Update.
1329         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
1330         VEC.
1331
1332 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1333
1334         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
1335         (riscv_register_reggroup_p): Use new function, remove unneeded
1336         parenthesis.
1337         (riscv_push_dummy_call): Extend assert to compare against xlen or
1338         flen based on register type.
1339
1340 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1341
1342         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
1343
1344 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
1345
1346         * remote.c (show_hardware_watchpoint_limit): New function.
1347         (show_hardware_watchpoint_length_limit): New function.
1348         (show_hardware_breakpoint_limit): New function.
1349         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
1350         where appropriate, update help text.
1351
1352 2018-07-09  Tom Tromey  <tom@tromey.com>
1353
1354         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
1355         (CLIBS): Don't mention NAT_CLIBS.
1356
1357 2018-07-09  Tom Tromey  <tom@tromey.com>
1358
1359         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
1360         (LIBGDB_OBS, clean mostlyclean): Update.
1361         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
1362
1363 2018-07-09  Tom Tromey  <tom@tromey.com>
1364
1365         * Makefile.in (%.c: %.y): Use ECHO_YACC.
1366         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
1367         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
1368
1369 2018-07-09  Tom Tromey  <tom@tromey.com>
1370
1371         * Makefile.in (ALLDEPFILES): Remove exec.c.
1372         (COMMON_OBS): Remove exec.o.
1373         (COMMON_SFILES): Add exec.c.
1374
1375 2018-07-09  Tom Tromey  <tom@tromey.com>
1376
1377         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
1378
1379 2018-07-09  Tom Tromey  <tom@tromey.com>
1380
1381         * Makefile.in (clean mostlyclean): Remove stamp-version.
1382         (version.c): Depend on stamp-version.
1383         (stamp-version): New rule, from version.c rule.
1384
1385 2018-07-09  Tom Tromey  <tom@tromey.com>
1386
1387         * Makefile.in (init.c): Depend on stamp-init.
1388         (stamp-init): New rule, from init.c rule.
1389         (clean mostlyclean): Remove stamp-init.
1390
1391 2018-07-09  Tom Tromey  <tom@tromey.com>
1392
1393         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
1394         SUBDIR_GCC_COMPILE_SRCS.
1395
1396 2018-07-09  Tom Tromey  <tom@tromey.com>
1397
1398         * Makefile.in (init.c): Remove some unused sed rules.
1399
1400 2018-07-09  Tom Tromey  <tom@tromey.com>
1401
1402         * Makefile.in (TSOBS): Remove.
1403         (INIT_FILES): Update.
1404         (LIBGDB_OBS): Update.
1405         (COMMON_SFILES): Add inflow.c.
1406         (SFILES): Remove inflow.c.
1407
1408 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
1409
1410         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
1411
1412 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
1413
1414         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
1415         get_saveloc_name, is_signal_frame_name, step_name,
1416         init_remote_name, create_addr_space_name,
1417         destroy_addr_space_name, search_unwind_table_name,
1418         find_dyn_list_name): Constify.
1419
1420 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
1421
1422         * darwin-nat.c (darwin_pthread_kill): New function.
1423         (darwin_resume_thread): Use darwin_pthread_kill.
1424
1425 2018-07-05  Tom de Vries  <tdevries@suse.de>
1426
1427         * macroexp.c (macro_buffer) <operator=>: New member function.
1428
1429 2018-07-04  Tom Tromey  <tom@tromey.com>
1430
1431         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
1432
1433 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
1434
1435         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
1436         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
1437         * maint.c: Likewise.
1438         * top.c: Likewise.
1439
1440 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1441
1442         * NEWS: Create a new section for the next release branch.
1443         Rename the section of the current branch, now that it has
1444         been cut.
1445
1446 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
1447
1448         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
1449         * version.in: Bump version to 8.2.50.DATE-git.
1450
1451 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
1452             Pedro Alves  <palves@redhat.com>
1453
1454         * linux-nat.c (linux_init_ptrace): Rename to ...
1455         (linux_init_ptrace_procfs): ... this.  Call
1456         linux_proc_init_warnings.
1457         (linux_nat_target::post_attach)
1458         (linux_nat_target::post_startup_inferior): Adjust.
1459         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
1460         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
1461
1462 2018-07-04  Tom de Vries  <tdevries@suse.de>
1463
1464         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
1465         check ...
1466         (read_comp_unit_head): ... here.
1467
1468 2018-07-03  Tom Tromey  <tom@tromey.com>
1469
1470         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
1471         (stop_tracing, tstatus_command)
1472         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
1473         (print_one_static_tracepoint_marker): Update.
1474         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
1475         std::vector.
1476         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
1477         VEC.
1478         (all_tracepoints, static_tracepoints_here): Return std::vector.
1479
1480 2018-07-03  Tom Tromey  <tom@tromey.com>
1481
1482         * common/ptid.c (ptid_equal): Remove.
1483         * common/ptid.h (ptid_equal): Don't declare.
1484         * ada-tasks.c: Update.
1485         * breakpoint.c: Update.
1486         * common/agent.c: Update.
1487         * corelow.c: Update.
1488         * darwin-nat-info.c: Update.
1489         * darwin-nat.c: Update.
1490         * dcache.c: Update.
1491         * dtrace-probe.c: Update.
1492         * dummy-frame.c: Update.
1493         * fbsd-nat.c: Update.
1494         * frame.c: Update.
1495         * gdbthread.h: Update.
1496         * gnu-nat.c: Update.
1497         * go32-nat.c: Update.
1498         * inf-loop.c: Update.
1499         * inf-ptrace.c: Update.
1500         * infcall.c: Update.
1501         * infcmd.c: Update.
1502         * inflow.c: Update.
1503         * infrun.c: Update.
1504         * linux-fork.c: Update.
1505         * linux-nat.c: Update.
1506         * linux-thread-db.c: Update.
1507         * mi/mi-cmd-var.c: Update.
1508         * mi/mi-interp.c: Update.
1509         * mi/mi-main.c: Update.
1510         * nto-procfs.c: Update.
1511         * ppc-linux-tdep.c: Update.
1512         * procfs.c: Update.
1513         * python/py-inferior.c: Update.
1514         * python/py-record-btrace.c: Update.
1515         * python/py-record.c: Update.
1516         * ravenscar-thread.c: Update.
1517         * regcache.c: Update.
1518         * remote-sim.c: Update.
1519         * remote.c: Update.
1520         * sol-thread.c: Update.
1521         * solib.c: Update.
1522         * target.c: Update.
1523         * tui/tui-stack.c: Update.
1524         * varobj.c: Update.
1525         * windows-nat.c: Update.
1526         * windows-tdep.c: Update.
1527
1528 2018-07-03  Tom Tromey  <tom@tromey.com>
1529
1530         * common/ptid.c (ptid_match): Remove.
1531         * common/ptid.h (ptid_match): Don't declare.
1532         * fbsd-nat.c: Update.
1533         * infcmd.c: Update.
1534         * infrun.c: Update.
1535         * linux-nat.c: Update.
1536         * record-btrace.c: Update.
1537         * regcache.c: Update.
1538         * remote.c: Update.
1539
1540 2018-07-03  Tom Tromey  <tom@tromey.com>
1541
1542         * common/ptid.c (ptid_tid_p): Remove.
1543         * common/ptid.h (ptid_tid_p): Don't declare.
1544         * sol-thread.c: Update.
1545
1546 2018-07-03  Tom Tromey  <tom@tromey.com>
1547
1548         * common/ptid.c (ptid_lwp_p): Remove.
1549         * common/ptid.h (ptid_lwp_p): Don't declare.
1550         * fbsd-nat.c: Update.
1551         * linux-nat.c: Update.
1552         * nat/linux-procfs.c: Update.
1553         * nat/x86-linux-dregs.c: Update.
1554         * sol-thread.c: Update.
1555
1556 2018-07-03  Tom Tromey  <tom@tromey.com>
1557
1558         * common/ptid.c (ptid_is_pid): Remove.
1559         * common/ptid.h (ptid_is_pid): Don't declare.
1560         * infrun.c: Update.
1561         * linux-nat.c: Update.
1562         * mi/mi-interp.c: Update.
1563         * remote.c: Update.
1564         * thread.c: Update.
1565
1566 2018-07-03  Tom Tromey  <tom@tromey.com>
1567
1568         * common/ptid.c (ptid_get_tid): Remove.
1569         * common/ptid.h (ptid_get_tid): Don't declare.
1570         * ada-tasks.c: Update.
1571         * aix-thread.c: Update.
1572         * bsd-uthread.c: Update.
1573         * darwin-nat.c: Update.
1574         * fbsd-nat.c: Update.
1575         * i386-darwin-nat.c: Update.
1576         * infrun.c: Update.
1577         * linux-tdep.c: Update.
1578         * nto-procfs.c: Update.
1579         * ppc-ravenscar-thread.c: Update.
1580         * python/py-infthread.c: Update.
1581         * ravenscar-thread.c: Update.
1582         * sol-thread.c: Update.
1583         * sparc-ravenscar-thread.c: Update.
1584         * windows-nat.c: Update.
1585
1586 2018-07-03  Tom Tromey  <tom@tromey.com>
1587
1588         * common/ptid.c (ptid_get_lwp): Remove.
1589         * common/ptid.h (ptid_get_lwp): Don't declare.
1590         * aarch64-linux-nat.c: Update.
1591         * ada-tasks.c: Update.
1592         * aix-thread.c: Update.
1593         * amd64-linux-nat.c: Update.
1594         * arm-linux-nat.c: Update.
1595         * corelow.c: Update.
1596         * fbsd-nat.c: Update.
1597         * fbsd-tdep.c: Update.
1598         * gnu-nat.c: Update.
1599         * i386-cygwin-tdep.c: Update.
1600         * i386-gnu-nat.c: Update.
1601         * i386-linux-nat.c: Update.
1602         * ia64-linux-nat.c: Update.
1603         * inf-ptrace.c: Update.
1604         * infrun.c: Update.
1605         * linux-fork.c: Update.
1606         * linux-nat.c: Update.
1607         * linux-tdep.c: Update.
1608         * linux-thread-db.c: Update.
1609         * mips-linux-nat.c: Update.
1610         * nat/aarch64-linux-hw-point.c: Update.
1611         * nat/aarch64-linux.c: Update.
1612         * nat/linux-btrace.c: Update.
1613         * nat/linux-osdata.c: Update.
1614         * nat/linux-procfs.c: Update.
1615         * nat/x86-linux-dregs.c: Update.
1616         * obsd-nat.c: Update.
1617         * ppc-fbsd-nat.c: Update.
1618         * ppc-linux-nat.c: Update.
1619         * procfs.c: Update.
1620         * python/py-infthread.c: Update.
1621         * ravenscar-thread.c: Update.
1622         * remote.c: Update.
1623         * s390-linux-nat.c: Update.
1624         * sol-thread.c: Update.
1625         * sol2-tdep.c: Update.
1626         * spu-linux-nat.c: Update.
1627         * x86-linux-nat.c: Update.
1628         * xtensa-linux-nat.c: Update.
1629
1630 2018-07-03  Tom Tromey  <tom@tromey.com>
1631
1632         * common/ptid.c (ptid_get_pid): Remove.
1633         * common/ptid.h (ptid_get_pid): Don't declare.
1634         * aarch64-linux-nat.c: Update.
1635         * ada-lang.c: Update.
1636         * aix-thread.c: Update.
1637         * alpha-bsd-nat.c: Update.
1638         * amd64-fbsd-nat.c: Update.
1639         * amd64-linux-nat.c: Update.
1640         * arm-linux-nat.c: Update.
1641         * arm-nbsd-nat.c: Update.
1642         * auxv.c: Update.
1643         * break-catch-syscall.c: Update.
1644         * breakpoint.c: Update.
1645         * bsd-uthread.c: Update.
1646         * corelow.c: Update.
1647         * ctf.c: Update.
1648         * darwin-nat.c: Update.
1649         * fbsd-nat.c: Update.
1650         * fbsd-tdep.c: Update.
1651         * gcore.c: Update.
1652         * gnu-nat.c: Update.
1653         * hppa-nbsd-nat.c: Update.
1654         * hppa-obsd-nat.c: Update.
1655         * i386-fbsd-nat.c: Update.
1656         * ia64-linux-nat.c: Update.
1657         * inf-ptrace.c: Update.
1658         * infcmd.c: Update.
1659         * inferior.c: Update.
1660         * inferior.h: Update.
1661         * inflow.c: Update.
1662         * infrun.c: Update.
1663         * linux-fork.c: Update.
1664         * linux-nat.c: Update.
1665         * linux-tdep.c: Update.
1666         * linux-thread-db.c: Update.
1667         * m68k-bsd-nat.c: Update.
1668         * mi/mi-interp.c: Update.
1669         * mi/mi-main.c: Update.
1670         * mips-linux-nat.c: Update.
1671         * mips-nbsd-nat.c: Update.
1672         * mips64-obsd-nat.c: Update.
1673         * nat/aarch64-linux-hw-point.c: Update.
1674         * nat/aarch64-linux.c: Update.
1675         * nat/linux-btrace.c: Update.
1676         * nat/linux-osdata.c: Update.
1677         * nat/linux-procfs.c: Update.
1678         * nat/x86-linux-dregs.c: Update.
1679         * nto-procfs.c: Update.
1680         * obsd-nat.c: Update.
1681         * ppc-linux-nat.c: Update.
1682         * ppc-nbsd-nat.c: Update.
1683         * ppc-obsd-nat.c: Update.
1684         * proc-service.c: Update.
1685         * procfs.c: Update.
1686         * python/py-inferior.c: Update.
1687         * python/py-infthread.c: Update.
1688         * ravenscar-thread.c: Update.
1689         * record.c: Update.
1690         * remote-sim.c: Update.
1691         * remote.c: Update.
1692         * rs6000-nat.c: Update.
1693         * s390-linux-nat.c: Update.
1694         * sh-nbsd-nat.c: Update.
1695         * sol-thread.c: Update.
1696         * sparc-nat.c: Update.
1697         * sparc64-tdep.c: Update.
1698         * spu-linux-nat.c: Update.
1699         * spu-tdep.c: Update.
1700         * target-debug.h: Update.
1701         * target.c: Update.
1702         * thread.c: Update.
1703         * tid-parse.c: Update.
1704         * tracefile-tfile.c: Update.
1705         * vax-bsd-nat.c: Update.
1706         * windows-nat.c: Update.
1707         * x86-linux-nat.c: Update.
1708         * x86-nat.c: Update.
1709
1710 2018-07-03  Tom Tromey  <tom@tromey.com>
1711
1712         * common/ptid.c (pid_to_ptid): Remove.
1713         * common/ptid.h (pid_to_ptid): Don't declare.
1714         * aix-thread.c: Update.
1715         * arm-linux-nat.c: Update.
1716         * common/ptid.c: Update.
1717         * common/ptid.h: Update.
1718         * corelow.c: Update.
1719         * ctf.c: Update.
1720         * darwin-nat.c: Update.
1721         * fbsd-nat.c: Update.
1722         * fork-child.c: Update.
1723         * gnu-nat.c: Update.
1724         * go32-nat.c: Update.
1725         * inf-ptrace.c: Update.
1726         * infcmd.c: Update.
1727         * inferior.c: Update.
1728         * infrun.c: Update.
1729         * linux-fork.c: Update.
1730         * linux-nat.c: Update.
1731         * nat/aarch64-linux-hw-point.c: Update.
1732         * nat/fork-inferior.c: Update.
1733         * nat/x86-linux-dregs.c: Update.
1734         * nto-procfs.c: Update.
1735         * obsd-nat.c: Update.
1736         * procfs.c: Update.
1737         * progspace.c: Update.
1738         * remote.c: Update.
1739         * rs6000-nat.c: Update.
1740         * s390-linux-nat.c: Update.
1741         * sol-thread.c: Update.
1742         * spu-linux-nat.c: Update.
1743         * target.c: Update.
1744         * top.c: Update.
1745         * tracefile-tfile.c: Update.
1746         * windows-nat.c: Update.
1747
1748 2018-07-03  Tom Tromey  <tom@tromey.com>
1749
1750         * common/ptid.h (ptid_build): Don't declare.
1751         * common/ptid.c (ptid_build): Remove.
1752         * aix-thread.c: Update.
1753         * bsd-kvm.c: Update.
1754         * bsd-uthread.c: Update.
1755         * common/agent.c: Update.
1756         * common/ptid.c: Update.
1757         * common/ptid.h: Update.
1758         * corelow.c: Update.
1759         * darwin-nat.c: Update.
1760         * fbsd-nat.c: Update.
1761         * gnu-nat.c: Update.
1762         * linux-fork.c: Update.
1763         * linux-nat.c: Update.
1764         * linux-thread-db.c: Update.
1765         * nat/linux-osdata.c: Update.
1766         * nat/linux-procfs.c: Update.
1767         * nto-procfs.c: Update.
1768         * obsd-nat.c: Update.
1769         * proc-service.c: Update.
1770         * procfs.c: Update.
1771         * ravenscar-thread.c: Update.
1772         * remote-sim.c: Update.
1773         * remote.c: Update.
1774         * sol-thread.c: Update.
1775         * target.c: Update.
1776         * windows-nat.c: Update.
1777
1778 2018-07-03  Tom Tromey  <tom@tromey.com>
1779
1780         * infrun.c (follow_exec): Use exit_inferior_silent.
1781         * inferior.c (exit_inferior_num_silent): Remove.
1782         * inferior.h (exit_inferior_num_silent): Don't declare.
1783
1784 2018-07-03  Tom Tromey  <tom@tromey.com>
1785
1786         PR cli/23340:
1787         * darwin-nat.c (darwin_attach_pid): Reset inferior and
1788         inferior_ptid on error.
1789
1790 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
1791             Simon Marchi  <simon.marchi@polymtl.ca>
1792
1793         PR tdep/8282
1794         * disasm.h (gdb_disassembler): Add
1795         `m_disassembler_options_holder'. member
1796         * disasm.c (get_all_disassembler_options): New function.
1797         (gdb_disassembler::gdb_disassembler): Use it.
1798         (gdb_buffered_insn_length_init_dis): Likewise.
1799         (gdb_buffered_insn_length): Adjust accordingly.
1800         (set_disassembler_options): Handle options with arguments.
1801         (show_disassembler_options_sfunc): Likewise.  Add a leading new
1802         line if showing options with descriptions.
1803         (disassembler_options_completer): Adapt to using the
1804         `disasm_options_and_args_t' structure.
1805         * mips-tdep.c (mips_disassembler_options): New variable.
1806         (mips_disassembler_options_o32): Likewise.
1807         (mips_disassembler_options_n32): Likewise.
1808         (mips_disassembler_options_n64): Likewise.
1809         (gdb_print_insn_mips): Don't set `disassembler_options'.
1810         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
1811         functions.
1812         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
1813         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
1814         `gdbarch_disassembler_options_implicit' and
1815         `gdbarch_valid_disassembler_options'.
1816         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
1817         `disasm_options_and_args_t' structure.
1818         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
1819         method.
1820         (valid_disassembler_options): Switch from `disasm_options_t' to
1821         the `disasm_options_and_args_t' structure.
1822         * NEWS: Document `set disassembler-options' support for the MIPS
1823         target.
1824         * gdbarch.h: Regenerate.
1825         * gdbarch.c: Regenerate.
1826
1827 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1828
1829         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
1830
1831 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
1832
1833         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
1834         parameter in call to amd64_target_description.
1835         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
1836         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
1837         (amd64fbsd_init_abi): Likewise.
1838         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
1839         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
1840         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
1841         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
1842
1843 2018-06-29  Pedro Alves  <palves@redhat.com>
1844
1845         * gdb/amd64-tdep.h (amd64_create_target_description): Add
1846         "segments" parameter.
1847         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
1848         (_initialize_amd64_tdep): Update call to
1849         amd64_create_target_description.
1850         (amd64_target_description): Add "segments" parameter.  Adjust
1851         the implementation to use it.
1852         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
1853         call to amd64_create_target_description.
1854         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
1855         * gdb/arch/amd64.h (amd64_create_target_description): Add
1856         "segments" register.
1857         * gdb/arch/amd64.c (amd64_create_target_description): Add
1858         "segments" parameter.  Call create_feature_i386_64bit_segments
1859         only if SEGMENTS is true.
1860         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
1861         call to amd64_create_target_description.
1862
1863 2018-06-29  Pedro Alves  <palves@redhat.com>
1864
1865         * thread.c (thread_target_id_str): New, factored out from ...
1866         (print_thread_info_1): ... here.  Use it to compute the max
1867         "Target Id" column width.
1868
1869 2018-06-29  Pedro Alves  <palves@redhat.com>
1870
1871         * remote.c (remote_target::extra_thread_info): Delete
1872         'display_buf' and 'n' locals.  from the cache, regardless of
1873         packet mechanims is in use.  Use cache for qThreadExtra and qP
1874         methods too.
1875
1876 2018-06-29  Pedro Alves  <palves@redhat.com>
1877
1878         * blockframe.c (find_pc_sect_containing_function): New function.
1879         * breakpoint.c (print_breakpoint_location): Don't call
1880         find_pc_sect_function.
1881         * linespec.c (create_sals_line_offset): Record the location's
1882         symbol in the sal.
1883         * linespec.c (convert_address_location_to_sals): Fill in sal's
1884         symbol with find_pc_sect_containing_function.
1885         * symtab.c (find_function_start_sal): Rename to ...
1886         (find_function_start_sal_1): ... this.
1887         (find_function_start_sal): Reimplement as wrapper around
1888         find_function_start_sal_1, and use
1889         find_pc_sect_containing_function to fill in the sal's symbol.
1890         (find_function_start_sal(symbol*, bool)): Adjust.
1891         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
1892         comments.
1893         (find_pc_sect_containing_function): Declare.
1894
1895 2018-06-29  Pedro Alves  <palves@redhat.com>
1896
1897         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
1898         true if the the location has no symbol.
1899
1900 2018-06-28  Tom Tromey  <tom@tromey.com>
1901
1902         * NEWS: Mention --enable-codesign.
1903         * silent-rules.mk (ECHO_SIGN): New variable.
1904         * configure.ac: Add --enable-codesign.
1905         * configure: Rebuild.
1906         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
1907         (gdb$(EXEEXT)): Optionally invoke codesign.
1908
1909 2018-06-28  Pedro Alves  <palves@redhat.com>
1910
1911         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
1912         comments.
1913         (switch_to_thread_no_regs): Adjust comment.
1914         * infcmd.c (stop_pc): Delete.
1915         (post_create_inferior, info_program_command): Replace references
1916         to stop_pc with references to thread_info->suspend.stop_pc.
1917         * inferior.h (stop_pc): Delete declaration.
1918         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
1919         (handle_inferior_event_1, handle_signal_stop)
1920         (process_event_stop_test, keep_going_stepped_thread)
1921         (handle_step_into_function, handle_step_into_function_backward)
1922         (print_stop_location): Replace references to stop_pc with
1923         references to thread_info->suspend.stop_pc.
1924         (struct infcall_suspend_state) <stop_pc>: Delete field.
1925         (save_infcall_suspend_state, restore_infcall_suspend_state):
1926         Remove references to inf_stat->stop_pc.
1927         * linux-fork.c (fork_load_infrun_state): Likewise.
1928         * record-btrace.c (record_btrace_set_replay): Likewise.
1929         * record-full.c (record_full_goto_entry): Likewise.
1930         * remote.c (print_one_stopped_thread): Likewise.
1931         * target.c (target_resume): Extend comment.
1932         * thread.c (set_executing_thread): New.
1933         (set_executing): Use it.
1934         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
1935         Remove references to stop_pc.
1936
1937 2018-06-28  Pedro Alves  <palves@redhat.com>
1938
1939         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
1940         Moving fetching stop_pc until after ecs->event_thread is refreshed.
1941
1942 2018-06-28  Tom Tromey  <tom@tromey.com>
1943
1944         * coffread.c (coff_symfile_finish): Update.
1945         * xcoffread.c (xcoff_symfile_finish): Update.
1946         * elfread.c (elf_symfile_finish): Update.
1947         * symfile.h (dwarf2_free_objfile): Don't declare.
1948         * dwarf2read.c (_initialize_dwarf2_read): Use
1949         register_objfile_data_with_cleanup.
1950         (dwarf2_free_objfile): Now static.  Change signature.
1951
1952 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1953
1954         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
1955         option "-o" to add-symbol-file-load to add an offset to each
1956         section's load address.
1957         * symfile.c (set_objfile_default_section_offset): New function.
1958
1959 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1960
1961         * symfile.c (add_symbol_file_command): Make sure that sections
1962         with the same name are sorted in the same order.
1963
1964 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1965
1966         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
1967         require the second argument.  If omitted, load sections at the
1968         addresses specified in the file.
1969
1970 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1971
1972         * symfile.c (symbol_file_command, symbol_file_add_main_1)
1973         (_initialize_symfile): Add option "-o" to symbol-file to add an
1974         offset to each section of the symbol file.
1975
1976 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
1977
1978         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
1979
1980 2018-06-27  Tom Tromey  <tom@tromey.com>
1981
1982         * stack.c (_initialize_stack): Update "func" help text.
1983
1984 2018-06-27  Tom Tromey  <tom@tromey.com>
1985
1986         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
1987         std::vector.
1988         (unwind_infopy_str, pyuw_create_unwind_info)
1989         (unwind_infopy_add_saved_register, pyuw_sniffer)
1990         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
1991         Update.
1992         (struct saved_reg): Add constructor.
1993         <value>: Now a gdbpy_ref<>.
1994
1995 2018-06-27  Tom Tromey  <tom@tromey.com>
1996
1997         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
1998
1999 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2000
2001         * gdb-gdb.py.in: Format using autopep8.
2002
2003 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2004
2005         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
2006         (type_lookup_function): Recognize CORE_ADDR values.
2007
2008 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2009
2010         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
2011         print tag_name.
2012
2013 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2014
2015         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
2016         <__lt__>: Add.
2017
2018 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2019
2020         * gdb-gdb.py: Move to...
2021         * gdb-gdb.py.in: ... here.
2022         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
2023         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
2024         dependencies.
2025         (distclean): Remove gdb-gdb.py when cleaning.
2026         (gdb-gdb.py, gdb-gdb.gdb): New rules.
2027         * configure: Re-generate.
2028
2029 2018-06-27  Pedro Alves  <palves@redhat.com>
2030
2031         * proc-service.c (get_ps_regcache): New.
2032         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
2033         (ps_lsetfpregs): Use it.
2034
2035 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
2036
2037         PR gdb/21695
2038         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
2039         (dwarf_decode_lines_1): Adjust.
2040
2041 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
2042
2043         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
2044         override.
2045         <info_proc>: Likewise.
2046
2047 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
2048
2049         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
2050         to windows_fetch_one_register, and only handle the case of
2051         fetching one register.  Move the code that reloads the context
2052         and iterates over all registers if R is negative to...
2053         (windows_nat_target::fetch_registers): ... here.
2054         (do_windows_store_inferior_registers): Rename to
2055         windows_store_one_register, and only handle the case of storing
2056         one register.  Move the code that handles the case where r is
2057         negative to...
2058         (windows_nat_target::store_registers) ... here.
2059
2060 2018-06-26  Tom Tromey  <tom@tromey.com>
2061
2062         PR rust/22574:
2063         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
2064         * rust-lang.c (rust_print_struct_def): Add podata parameter.
2065         Update.
2066         (rust_internal_print_type): Add podata parameter.
2067         (rust_print_type): Update.
2068
2069 2018-06-26  Tom Tromey  <tom@tromey.com>
2070
2071         * typeprint.h (struct print_offset_data) <update, finish,
2072         maybe_print_hole>: New methods.
2073         <indentation>: New constant.
2074         * typeprint.c (print_offset_data::indentation): Define.
2075         (print_offset_data::maybe_print_hole, print_offset_data::update)
2076         (print_offset_data::finish): Move from c-typeprint.c and rename.
2077         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
2078         (print_spaces_filtered_with_print_options): Update.
2079         (c_print_type_union_field_offset, maybe_print_hole)
2080         (c_print_type_struct_field_offset): Move to typeprint.c and
2081         rename.
2082         (c_type_print_base_struct_union): Update.
2083
2084 2018-06-25  Pedro Alves  <palves@redhat.com>
2085
2086         * gdbthread.h (thread_info_ref, delete_thread)
2087         (delete_thread_silent, first_thread_of_inferior)
2088         (any_thread_of_inferior, switch_to_thread)
2089         (enable_thread_stack_temporaries)
2090         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2091         (get_last_thread_stack_temporary)
2092         (value_in_thread_stack_temporaries, can_access_registers_thread):
2093         Spell out "struct thread_info" instead of just "thread_info".
2094         * inferior.h (notice_new_inferior): Likewise.
2095
2096 2018-06-25  Pedro Alves  <palves@redhat.com>
2097
2098         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2099         pass thread_info pointer to delete_thread.
2100         (windows_nat_target::detach): Pass inferior pointer to
2101         detach_inferior.
2102         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
2103         delete_thread.
2104         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
2105         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
2106         and pass a thread_info pointer to delete_thread.
2107         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
2108         pass thread_info pointer to delete_thread.
2109         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
2110         delete_thread_silent call.
2111         * procfs.c (procfs_target::detach): Pass inferior pointer to
2112         detach_inferior.
2113         (procfs_target::wait): Pass thread_info pointer to delete_thread.
2114         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
2115         delete_thread_silent call.
2116         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
2117         pass thread_info pointer to delete_thread.
2118         (windows_nat_target::detach): Pass inferior pointer to
2119         delete_inferior.
2120
2121 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2122
2123         * regcache.c (readable_regcache::read_part): Fix asserts.
2124         (reg_buffer::raw_collect_part): New function.
2125         (regcache::write_part): Fix asserts.
2126         (reg_buffer::raw_supply_part): New function.
2127         (regcache::transfer_regset_register): New helper function.
2128         (regcache::transfer_regset): Call new functions.
2129         (regcache_supply_regset): Use gdb_byte*.
2130         (regcache::supply_regset): Likewise.
2131         (regcache_collect_regset): Likewise.
2132         (regcache::collect_regset): Likewise.
2133         * regcache.h (reg_buffer::raw_collect_part): New declaration.
2134         (reg_buffer::raw_supply_part): Likewise.
2135         (regcache::transfer_regset_register): Likewise.
2136         (regcache::transfer_regset): Use gdb_byte*.
2137
2138 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
2139
2140         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
2141
2142 2018-06-21  Pedro Alves  <palves@redhat.com>
2143
2144         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
2145         instead of a ptid_t.  All callers adjusted.
2146         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
2147         adjusted.
2148         (print_ada_task_info, display_current_task_id, task_command_1):
2149         Adjust.
2150         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
2151         inferior_thread.
2152         (breakpoint_kind): Adjust.
2153         (remove_breakpoints_pid): Rename to ...
2154         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
2155         pointer.  All callers adjusted.
2156         (bpstat_clear_actions): Use inferior_thread.
2157         (get_bpstat_thread): New.
2158         (bpstat_do_actions): Use it.
2159         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
2160         to take a thread_info pointer.  All callers adjusted.
2161         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
2162         (breakpoint_re_set_thread): Use inferior_thread.
2163         * breakpoint.h (struct inferior): Forward declare.
2164         (bpstat_stop_status): Update.
2165         (remove_breakpoints_pid): Delete.
2166         (remove_breakpoints_inf): New.
2167         * bsd-uthread.c (bsd_uthread_target::wait)
2168         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
2169         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
2170         (maint_btrace_packet_history_cmd)
2171         (maint_btrace_clear_packet_history_cmd): Adjust.
2172         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
2173         inferior_thread.
2174         * cli/cli-interp.c: Include "inferior.h".
2175         * common/refcounted-object.h (struct
2176         refcounted_object_ref_policy): New.
2177         * compile/compile-object-load.c: Include gdbthread.h.
2178         (store_regs): Use inferior_thread.
2179         * corelow.c (core_target::close): Use current_inferior.
2180         (core_target_open): Adjust to use first_thread_of_inferior and use
2181         the current inferior.
2182         * ctf.c (ctf_target::close): Adjust to use current_inferior.
2183         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
2184         <thread>: ... this new field.  All references adjusted.
2185         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
2186         Take a thread_info pointer instead of a ptid_t.
2187         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
2188         (dummy_frame_discard, register_dummy_frame_dtor): Take a
2189         thread_info pointer instead of a ptid_t.
2190         * elfread.c: Include "inferior.h".
2191         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
2192         Use inferior_thread.
2193         * eval.c (evaluate_subexp): Likewise.
2194         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
2195         inferior_thread.
2196         * gdb_proc_service.h (struct thread_info): Forward declare.
2197         (struct ps_prochandle) <ptid>: Delete, replaced by ...
2198         <thread>: ... this new field.  All references adjusted.
2199         * gdbarch.h, gdbarch.c: Regenerate.
2200         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
2201         'thread' parameter.  All implementations and callers adjusted.
2202         * gdbthread.h (thread_info) <set_running>: New method.
2203         (delete_thread, delete_thread_silent): Take a thread_info pointer
2204         instead of a ptid.
2205         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
2206         (first_thread_of_process): Delete, replaced by ...
2207         (first_thread_of_inferior): ... this new function.  All callers
2208         adjusted.
2209         (any_live_thread_of_process): Delete, replaced by ...
2210         (any_live_thread_of_inferior): ... this new function.  All callers
2211         adjusted.
2212         (switch_to_thread, switch_to_no_thread): Declare.
2213         (is_executing): Delete.
2214         (enable_thread_stack_temporaries): Update comment.
2215         <enable_thread_stack_temporaries>: Take a thread_info pointer
2216         instead of a ptid_t.  Incref the thread.
2217         <~enable_thread_stack_temporaries>: Decref the thread.
2218         <m_ptid>: Delete
2219         <m_thr>: New.
2220         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2221         (get_last_thread_stack_temporary)
2222         (value_in_thread_stack_temporaries, can_access_registers_thread):
2223         Take a thread_info pointer instead of a ptid_t.  All callers
2224         adjusted.
2225         * infcall.c (get_call_return_value): Use inferior_thread.
2226         (run_inferior_call): Work with thread pointers instead of ptid_t.
2227         (call_function_by_hand_dummy): Work with thread pointers instead
2228         of ptid_t.  Use thread_info_ref.
2229         * infcmd.c (proceed_thread_callback): Access thread's state
2230         directly.
2231         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
2232         access thread's state directly.
2233         (continue_command): Use inferior_thread.
2234         (info_program_command): Use find_thread_ptid and access thread
2235         state directly.
2236         (proceed_after_attach_callback): Use thread state directly.
2237         (notice_new_inferior): Take a thread_info pointer instead of a
2238         ptid_t.  All callers adjusted.
2239         (exit_inferior): Take an inferior pointer instead of a pid.  All
2240         callers adjusted.
2241         (exit_inferior_silent): New.
2242         (detach_inferior): Delete.
2243         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
2244         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
2245         (detach_inferior_command, kill_inferior_command): Use
2246         find_inferior_id instead of valid_gdb_inferior_id and
2247         gdb_inferior_id_to_pid.
2248         (inferior_command): Use inferior and thread pointers.
2249         * inferior.h (struct thread_info): Forward declare.
2250         (notice_new_inferior): Take a thread_info pointer instead of a
2251         ptid_t.  All callers adjusted.
2252         (detach_inferior): Delete declaration.
2253         (exit_inferior, exit_inferior_silent): Take an inferior pointer
2254         instead of a pid.  All callers adjusted.
2255         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
2256         (valid_gdb_inferior_id): Delete.
2257         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
2258         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
2259         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
2260         ...
2261         <inf>: ... this new field.
2262         <step_ptid>: Delete, replaced by ...
2263         <step_thread>: ... this new field.
2264         (get_displaced_stepping_state): Take an inferior pointer instead
2265         of a pid.  All callers adjusted.
2266         (displaced_step_in_progress_any_inferior): Adjust.
2267         (displaced_step_in_progress_thread): Take a thread pointer instead
2268         of a ptid_t.  All callers adjusted.
2269         (displaced_step_in_progress, add_displaced_stepping_state): Take
2270         an inferior pointer instead of a pid.  All callers adjusted.
2271         (get_displaced_step_closure_by_addr): Adjust.
2272         (remove_displaced_stepping_state): Take an inferior pointer
2273         instead of a pid.  All callers adjusted.
2274         (displaced_step_prepare_throw, displaced_step_prepare)
2275         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
2276         All callers adjusted.
2277         (start_step_over): Adjust.
2278         (infrun_thread_ptid_changed): Remove bit updating ptids in the
2279         displaced step queue.
2280         (do_target_resume): Adjust.
2281         (fetch_inferior_event): Use inferior_thread.
2282         (context_switch, get_inferior_stop_soon): Take an
2283         execution_control_state pointer instead of a ptid_t.  All callers
2284         adjusted.
2285         (switch_to_thread_cleanup): Delete.
2286         (stop_all_threads): Use scoped_restore_current_thread.
2287         * inline-frame.c: Include "gdbthread.h".
2288         (inline_state) <inline_state>: Take a thread pointer instead of a
2289         ptid_t.  All callers adjusted.
2290         <ptid>: Delete, replaced by ...
2291         <thread>: ... this new field.
2292         (find_inline_frame_state): Take a thread pointer instead of a
2293         ptid_t.  All callers adjusted.
2294         (skip_inline_frames, step_into_inline_frame)
2295         (inline_skipped_frames, inline_skipped_symbol): Take a thread
2296         pointer instead of a ptid_t.  All callers adjusted.
2297         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
2298         (inline_skipped_frames, inline_skipped_symbol): Likewise.
2299         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
2300         pointers directly.
2301         * linux-nat.c (get_detach_signal): Likewise.
2302         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
2303         (thread_db_notice_clone): Adjust.
2304         (thread_db_find_new_threads_silently)
2305         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
2306         a thread pointer instead of a ptid_t.  All callers adjusted.
2307         * mi/mi-cmd-var.c: Include "inferior.h".
2308         (mi_cmd_var_update_iter): Update to use thread pointers.
2309         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
2310         inferior directly.
2311         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
2312         out to ...
2313         (mi_output_running): ... this new function.
2314         (mi_on_resume_1): Adjust to use it.
2315         (mi_user_selected_context_changed): Adjust to use inferior_thread.
2316         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
2317         directly.
2318         (interrupt_thread_callback): : Adjust to use thread and inferior
2319         pointers.
2320         * proc-service.c: Include "gdbthread.h".
2321         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
2322         * progspace-and-thread.c: Include "inferior.h".
2323         * progspace.c: Include "inferior.h".
2324         * python/py-exitedevent.c (create_exited_event_object): Adjust to
2325         hold a reference to an inferior_object.
2326         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
2327         inferior_thread.
2328         * python/py-inferior.c (struct inferior_object): Give the type a
2329         tag name instead of a typedef.
2330         (python_on_normal_stop): No need to check if the current thread is
2331         listed.
2332         (inferior_to_inferior_object): Change return type to
2333         inferior_object.  All callers adjusted.
2334         (find_thread_object): Delete, bits factored out to ...
2335         (thread_to_thread_object): ... this new function.
2336         * python/py-infthread.c (create_thread_object): Use
2337         inferior_to_inferior_object.
2338         (thpy_is_stopped): Use thread pointer directly.
2339         (gdbpy_selected_thread): Use inferior_thread.
2340         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
2341         field, replaced with ...
2342         <thread>: ... this new field.  All users adjusted.
2343         (btpy_insn_or_gap_new): Drop const.
2344         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
2345         callers adjusted.
2346         * python/py-record.c: Include "gdbthread.h".
2347         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2348         a ptid_t.  All callers adjusted.
2349         (gdbpy_current_recording): Use inferior_thread.
2350         * python/py-record.h (recpy_record_object) <ptid>: Delete
2351         field, replaced with ...
2352         <thread>: ... this new field.  All users adjusted.
2353         (recpy_element_object) <ptid>: Delete
2354         field, replaced with ...
2355         <thread>: ... this new field.  All users adjusted.
2356         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
2357         a ptid_t.  All callers adjusted.
2358         * python/py-threadevent.c: Include "gdbthread.h".
2359         (get_event_thread): Use thread_to_thread_object.
2360         * python/python-internal.h (struct inferior_object): Forward
2361         declare.
2362         (find_thread_object, find_inferior_object): Delete declarations.
2363         (thread_to_thread_object, inferior_to_inferior_object): New
2364         declarations.
2365         * record-btrace.c: Include "inferior.h".
2366         (require_btrace_thread): Use inferior_thread.
2367         (record_btrace_frame_sniffer)
2368         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
2369         (get_thread_current_frame): Use scoped_restore_current_thread and
2370         switch_to_thread.
2371         (get_thread_current_frame): Use thread pointer directly.
2372         (record_btrace_replay_at_breakpoint): Use thread's inferior
2373         pointer directly.
2374         * record-full.c: Include "inferior.h".
2375         * regcache.c: Include "gdbthread.h".
2376         (get_thread_arch_regcache): Use the inferior's address space
2377         directly.
2378         (get_thread_regcache, registers_changed_thread): New.
2379         * regcache.h (get_thread_regcache(thread_info *thread)): New
2380         overload.
2381         (registers_changed_thread): New.
2382         (remote_target) <remote_detach_1>: Swap order of parameters.
2383         (remote_add_thread): <remote_add_thread>: Return the new thread.
2384         (get_remote_thread_info(ptid_t)): New overload.
2385         (remote_target::remote_notice_new_inferior): Use thread pointers
2386         directly.
2387         (remote_target::process_initial_stop_replies): Use
2388         thread_info::set_running.
2389         (remote_target::remote_detach_1, remote_target::detach)
2390         (extended_remote_target::detach): Adjust.
2391         * stack.c (frame_show_address): Use inferior_thread.
2392         * target-debug.h (target_debug_print_thread_info_pp): New.
2393         * target-delegates.c: Regenerate.
2394         * target.c (default_thread_address_space): Delete.
2395         (memory_xfer_partial_1): Use current_inferior.
2396         (target_detach): Use current_inferior.
2397         (target_thread_address_space): Delete.
2398         (generic_mourn_inferior): Use current_inferior.
2399         * target.h (struct target_ops) <thread_address_space>: Delete.
2400         (target_thread_address_space): Delete.
2401         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
2402         pointers directly.
2403         (delete_thread_1, delete_thread, delete_thread_silent): Take a
2404         thread pointer instead of a ptid_t.  Adjust all callers.
2405         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
2406         (first_thread_of_process): Delete, replaced by ...
2407         (first_thread_of_inferior): ... this new function.  All callers
2408         adjusted.
2409         (any_thread_of_process): Rename to ...
2410         (any_thread_of_inferior): ... this, and take an inferior pointer.
2411         (any_live_thread_of_process): Rename to ...
2412         (any_live_thread_of_inferior): ... this, and take an inferior
2413         pointer.
2414         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
2415         (value_in_thread_stack_temporaries)
2416         (get_last_thread_stack_temporary): Take a thread pointer instead
2417         of a ptid_t.  Adjust all callers.
2418         (thread_info::set_running): New.
2419         (validate_registers_access): Use inferior_thread.
2420         (can_access_registers_ptid): Rename to ...
2421         (can_access_registers_thread): ... this, and take a thread
2422         pointer.
2423         (print_thread_info_1): Adjust to compare thread pointers instead
2424         of ptids.
2425         (switch_to_no_thread, switch_to_thread): Make extern.
2426         (scoped_restore_current_thread::~scoped_restore_current_thread):
2427         Use m_thread pointer directly.
2428         (scoped_restore_current_thread::scoped_restore_current_thread):
2429         Use inferior_thread.
2430         (thread_command): Use thread pointer directly.
2431         (thread_num_make_value_helper): Use inferior_thread.
2432         * top.c (execute_command): Use inferior_thread.
2433         * tui/tui-interp.c: Include "inferior.h".
2434         * varobj.c (varobj_create): Use inferior_thread.
2435         (value_of_root_1): Use find_thread_global_id instead of
2436         global_thread_id_to_ptid.
2437
2438 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
2439
2440         * regcache.c (readable_regcache::read_part): Avoid memcpy when
2441         possible.
2442         (regcache::write_part): Likewise.
2443         (readable_regcache::cooked_read_part): Update comment.
2444         (readable_regcache::cooked_write_part): Likewise.
2445         * regcache.h: (readable_regcache::read_part): Likewise.
2446         (regcache::write_part): Likewise.
2447
2448 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
2449             Dirk Schubert  <dirk.schubert@arm.com>
2450
2451         * aarch64-linux-nat.c (post_attach): New.
2452         (aarch64_linux_nat_target::post_attach): Override post_attach to
2453         record the number of hardware debug registers.
2454
2455 2018-06-20  Tom Tromey  <tom@tromey.com>
2456
2457         * python/py-param.c (add_setshow_generic): Make parameters const.
2458         (parmpy_init): Update.
2459
2460 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2461
2462         * regcache.h (regcache_cooked_read_ftype): Rename to...
2463         (register_read_ftype): ...this, change type to function_view.
2464         (class reg_buffer) <save>: Remove src parameter.
2465         (readonly_detached_regcache) <readonly_detached_regcache>: Make
2466         parameter non-const in first overload.  Remove src parameter in
2467         second overload.
2468         * regcache.c (do_cooked_read): Remove.
2469         (readonly_detached_regcache::readonly_detached_regcache): Make
2470         parameter non-const, adjust call to other constructor.
2471         (reg_buffer::save): Remove src parameter.
2472         * frame.c (do_frame_register_read): Remove.
2473         (frame_save_as_regcache): Use lambda function.
2474         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
2475         parameter to ppu2spu_data *.
2476         (ppu2spu_sniffer): Use lambda function.
2477
2478 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
2479
2480         * record-full.c (record_full_target::insert_breakpoint): Remove
2481         "struct" keyword, add const.
2482
2483 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
2484
2485         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
2486         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
2487         * configure.ac: Remove AC_PREREQ, add missing quoting.
2488         * gnulib/configure.ac: Modernize usage of
2489         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
2490         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
2491         (AUTOMAKE_VERSION): Bump to 1.15.1.
2492         * configure: Re-generate.
2493         * config.in: Re-generate.
2494         * aclocal.m4: Re-generate.
2495         * gnulib/aclocal.m4: Re-generate.
2496         * gnulib/config.in: Re-generate.
2497         * gnulib/configure: Re-generate.
2498         * gnulib/import/Makefile.in: Re-generate.
2499
2500 2018-06-19  Pedro Alves  <palves@redhat.com>
2501
2502         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
2503         (lookup_minimal_symbol_by_pc_section): ... here with
2504         gdb_assert_not_reached added.
2505
2506 2018-06-19  Pedro Alves  <palves@redhat.com>
2507
2508         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
2509         parameter with a block parameter.  Compare location's block symbol
2510         with the frame's block instead of addresses.
2511         (skip_inline_frames): Pass the current block instead of the
2512         frame's address.  Break out as soon as we determine the frame
2513         should not be skipped.
2514
2515 2018-06-18  Tom Tromey  <tom@tromey.com>
2516
2517         * solib-aix.c (solib_aix_get_section_offsets): Return
2518         unique_xmalloc_ptr.
2519         (solib_aix_solib_create_inferior_hook): Update.
2520
2521 2018-06-18  Tom Tromey  <tom@tromey.com>
2522
2523         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
2524
2525 2018-06-18  Tom Tromey  <tom@tromey.com>
2526
2527         * solib-frv.c (frv_relocate_main_executable): Use
2528         unique_xmalloc_ptr.
2529         * solib-dsbt.c (dsbt_relocate_main_executable): Use
2530         unique_xmalloc_ptr.
2531
2532 2018-06-18  Tom Tromey  <tom@tromey.com>
2533
2534         * objfiles.h (inhibit_section_map_updates): Update.
2535         (resume_section_map_updates, resume_section_map_updates_cleanup):
2536         Remove.
2537         * solib-svr4.c (svr4_handle_solib_event): Update.
2538         * objfiles.c (inhibit_section_map_updates): Return
2539         scoped_restore_tmpl<int>.
2540         (resume_section_map_updates, resume_section_map_updates_cleanup):
2541         Remove.
2542
2543 2018-06-18  Tom Tromey  <tom@tromey.com>
2544
2545         * valprint.h (read_string): Update.
2546         * valprint.c (read_string): Change type of "buffer".
2547         (val_print_string): Update.
2548         * python/py-value.c (valpy_string): Update.
2549         * language.h (struct language_defn) <la_get_string>: Change
2550         type of "buffer".
2551         (default_get_string, c_get_string): Update.
2552         * language.c (default_get_string): Change type of "buffer".
2553         * guile/scm-value.c (gdbscm_value_to_string): Update.
2554         * c-lang.c (c_get_string): Change type of "buffer".
2555
2556 2018-06-18  Tom Tromey  <tom@tromey.com>
2557
2558         * ser-mingw.c (struct pipe_state_destroyer): New.
2559         (pipe_state_up): New typedef.
2560         (cleanup_pipe_state): Remove.
2561         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
2562
2563 2018-06-18  Tom Tromey  <tom@tromey.com>
2564
2565         * rust-lang.h (rust_yyerror): Don't declare.
2566         * rust-lang.c (rust_language_defn): Update.
2567         * rust-exp.y (yyerror): Now static.
2568         * parse.c (parse_exp_in_context_1): Update.
2569         * p-lang.h (p_yyerror): Don't declare.
2570         * p-lang.c (p_language_defn): Update.
2571         * p-exp.y (yyerror): Now static.
2572         * opencl-lang.c (opencl_language_defn): Update.
2573         * objc-lang.c (objc_language_defn): Update.
2574         * m2-lang.h (m2_yyerror): Don't declare.
2575         * m2-lang.c (m2_language_defn): Update.
2576         * m2-exp.y (yyerror): Now static.
2577         * language.h (struct language_defn) <la_error>: Remove.
2578         * language.c (unk_lang_error): Remove.
2579         (unknown_language_defn, auto_language_defn): Remove.
2580         * go-lang.h (go_yyerror): Don't declare.
2581         * go-lang.c (go_language_defn): Update.
2582         * go-exp.y (yyerror): Now static.
2583         * f-lang.h (f_yyerror): Don't declare.
2584         * f-lang.c (f_language_defn): Update.
2585         * f-exp.y (yyerror): Now static.
2586         * d-lang.h (d_yyerror): Don't declare.
2587         * d-lang.c (d_language_defn): Update.
2588         * d-exp.y (yyerror): Now static.
2589         * c-lang.h (c_yyerror): Don't declare.
2590         * c-lang.c (c_language_defn, cplus_language_defn)
2591         (asm_language_defn, minimal_language_defn): Update.
2592         * c-exp.y (yyerror): Now static.
2593         * ada-lang.h (ada_yyerror): Don't declare.
2594         * ada-lang.c (ada_language_defn): Update.
2595         * ada-exp.y (yyerror): Now static.
2596
2597 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2598
2599         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
2600         (store_sveregs_to_thread): Likewise.
2601         (aarch64_linux_fetch_inferior_registers): Check for SVE.
2602         (aarch64_linux_store_inferior_registers): Likewise.
2603         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
2604         function.
2605         (aarch64_sve_regs_copy_to_regcache): Likewise.
2606         (aarch64_sve_regs_copy_from_regcache): Likewise.
2607         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
2608         declaration.
2609         (aarch64_sve_regs_copy_to_regcache): Likewise.
2610         (aarch64_sve_regs_copy_from_regcache): Likewise.
2611         (sve_context): Structure from Linux headers.
2612         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
2613         (SVE_SIG_ZREG_SIZE): Likewise.
2614         (SVE_SIG_PREG_SIZE): Likewise.
2615         (SVE_SIG_FFR_SIZE): Likewise.
2616         (SVE_SIG_REGS_OFFSET): Likewise.
2617         (SVE_SIG_ZREGS_OFFSET): Likewise.
2618         (SVE_SIG_ZREG_OFFSET): Likewise.
2619         (SVE_SIG_ZREGS_SIZE): Likewise.
2620         (SVE_SIG_PREGS_OFFSET): Likewise.
2621         (SVE_SIG_PREG_OFFSET): Likewise.
2622         (SVE_SIG_PREGS_SIZE): Likewise.
2623         (SVE_SIG_FFR_OFFSET): Likewise.
2624         (SVE_SIG_REGS_SIZE): Likewise.
2625         (SVE_SIG_CONTEXT_SIZE): Likewise.
2626         (SVE_PT_REGS_MASK): Likewise.
2627         (SVE_PT_REGS_FPSIMD): Likewise.
2628         (SVE_PT_REGS_SVE): Likewise.
2629         (SVE_PT_VL_INHERIT): Likewise.
2630         (SVE_PT_VL_ONEXEC): Likewise.
2631         (SVE_PT_REGS_OFFSET): Likewise.
2632         (SVE_PT_FPSIMD_OFFSET): Likewise.
2633         (SVE_PT_FPSIMD_SIZE): Likewise.
2634         (SVE_PT_SVE_ZREG_SIZE): Likewise.
2635         (SVE_PT_SVE_PREG_SIZE): Likewise.
2636         (SVE_PT_SVE_FFR_SIZE): Likewise.
2637         (SVE_PT_SVE_FPSR_SIZE): Likewise.
2638         (SVE_PT_SVE_FPCR_SIZE): Likewise.
2639         (__SVE_SIG_TO_PT): Likewise.
2640         (SVE_PT_SVE_OFFSET): Likewise.
2641         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
2642         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
2643         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
2644         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
2645         (SVE_PT_SVE_PREG_OFFSET): Likewise.
2646         (SVE_PT_SVE_PREGS_SIZE): Likewise.
2647         (SVE_PT_SVE_FFR_OFFSET): Likewise.
2648         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
2649         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
2650         (SVE_PT_SVE_SIZE): Likewise.
2651         (SVE_PT_SIZE): Likewise.
2652         (HAS_SVE_STATE): New define.
2653
2654 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
2655
2656         * nat/aarch64-sve-linux-sigcontext.h: New file.
2657         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
2658         new files.
2659         (SVE_VQ_MIN): Likewise.
2660         (SVE_VQ_MAX): Likewise.
2661         (SVE_VL_MIN): Likewise.
2662         (SVE_VL_MAX): Likewise.
2663         (SVE_NUM_ZREGS): Likewise.
2664         (SVE_NUM_PREGS): Likewise.
2665         (sve_vl_valid): Likewise.
2666         (struct user_sve_header): Likewise.
2667
2668 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
2669             Richard Bunt <Richard.Bunt@arm.com>
2670
2671         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
2672         was requested by GDB.
2673
2674 2018-06-15  Tom de Vries  <tdevries@suse.de>
2675
2676         * MAINTAINERS (Write After Approval): Add Tom de Vries.
2677
2678 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
2679
2680         * gnulib/update-gnulib.sh: Print expected versions of
2681         autoconf/aclocal.
2682
2683 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
2684
2685         * arch-utils.c (default_type_align): Use type_length_units.
2686         * gdbtypes.c (type_align): Use type_length_units.
2687
2688 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2689
2690         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
2691         of 'define' command.
2692
2693 2018-06-14  Tom de Vries  <tdevries@suse.de>
2694
2695         PR cli/22573
2696         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
2697         get_no_prettyformat_print_options.
2698
2699 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
2700
2701         * sparc-nat.h: Include target.h.
2702         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
2703         <fetch_registers>: Remove this argument in function call.
2704         <store_registers>: Remove this argument in function call, remove
2705         extra semicolon.
2706         <low_forget_process>: Call sparc64_forget_process instead of
2707         sparc_forget_process.
2708
2709 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2710
2711         * procfs.c (_initialize_procfs): Use add_inf_child_target.
2712         (procfs_target::make_corefile_notes): Adjust to new
2713         target_read_alloc return type.
2714
2715 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2716             Stephen Roberts  <stephen.roberts@arm.com>
2717
2718         PR gdb/22882
2719         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
2720         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
2721         Move should_notify_stop local into more inner scope.
2722
2723 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2724             Stephen Roberts  <stephen.roberts@arm.com>
2725
2726         PR gdb/22882
2727         * infrun.c (resume_1): Add call to mark_async_event_handler.
2728
2729 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
2730
2731         * infrun.c (do_target_wait): Change old version of $pc printed.
2732
2733 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
2734
2735         * dwarf2read.c (read_index_from_section): Rename to...
2736         (read_gdb_index_from_section): ... this, update all callers.
2737         (dwarf2_read_index): Rename to...
2738         (dwarf2_read_gdb_index): ... this, update all callers.
2739
2740 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
2741
2742         * gdb/hppa-linux-nat.c
2743         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
2744         hppa_linux_nat_target::fetch_registers.
2745
2746 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2747
2748         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
2749         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
2750         (AARCH64_DWARF_SVE_FFR): Likewise.
2751         (AARCH64_DWARF_SVE_P0): Likewise.
2752         (AARCH64_DWARF_SVE_Z0): Likewise.
2753
2754 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2755
2756         * common/common-regcache.h (raw_compare): New function.
2757         * regcache.c (regcache::raw_compare): Likewise.
2758         * regcache.h (regcache::raw_compare): New declaration.
2759
2760 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
2761
2762         * common/common-regcache.h (reg_buffer_common): New structure.
2763         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
2764         (reg_buffer::raw_supply): Likewise.
2765         (reg_buffer::raw_supply_integer): Likewise.
2766         (reg_buffer::raw_supply_zeroed): Likewise.
2767         (reg_buffer::raw_collect): Likewise.
2768         (reg_buffer::raw_collect_integer): Likewise.
2769         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
2770         (reg_buffer::raw_supply): Likewise.
2771         (reg_buffer::raw_supply_integer): Likewise.
2772         (reg_buffer::raw_supply_zeroed): Likewise.
2773         (reg_buffer::raw_collect): Likewise.
2774         (reg_buffer::raw_collect_integer): Likewise.
2775
2776 2018-06-10  Tom Tromey  <tom@tromey.com>
2777
2778         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
2779         (class remote_state) <stop_reply_queue>: Now std::vector.
2780         (remote_state::~remote_state)
2781         (remote_target::stop_reply_queue_length): Update.
2782         (struct queue_iter_param, remove_child_of_pending_fork)
2783         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
2784         (check_pending_event_prevents_wildcard_vcont_callback)
2785         (remove_stop_reply_for_inferior)
2786         (remove_stop_reply_of_remote_state)
2787         (remote_notif_remove_once_on_match)
2788         (stop_reply_match_ptid_and_ws)
2789         (remote_kill_child_of_pending_fork): Remove.
2790         (remote_target::remove_new_fork_children)
2791         (remote_target::check_pending_events_prevent_wildcard_vcont)
2792         (remote_target::discard_pending_stop_replies)
2793         (remote_target::discard_pending_stop_replies_in_queue)
2794         (remote_target::remote_notif_remove_queued_reply)
2795         (remote_target::queued_stop_reply)
2796         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
2797         (remote_target::wait, remote_target::kill_new_fork_children)
2798         (remote_target::async): Update.
2799
2800 2018-06-10  Tom Tromey  <tom@tromey.com>
2801
2802         * record-full.c (record_full_arch_list_cleanups): Remove.
2803         (record_full_message): Use try/catch.
2804         (record_full_wait_cleanups): Remove.
2805         (record_full_wait_1): Use try/catch.
2806         (record_full_restore): Likewise.
2807
2808 2018-06-10  Tom Tromey  <tom@tromey.com>
2809
2810         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
2811         declare VEC.  Add constructor.
2812         <in_target_beneath>: Now bool.
2813         (record_full_breakpoints): Now a std::vector, static.
2814         (record_full_sync_record_breakpoints)
2815         (record_full_init_record_breakpoints)
2816         (record_full_target::insert_breakpoint)
2817         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
2818
2819 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
2820
2821         * dwarf2read.c (process_cu_includes): Remove struct keyword.
2822         * serial.c (serial_interface_lookup): Remove struct keyword.
2823
2824 2018-06-10  Tom Tromey  <tom@tromey.com>
2825
2826         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
2827         method.
2828         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
2829         a method.
2830         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
2831         method.
2832         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
2833         "beneath" as a method.
2834         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
2835         Use "beneath" as a method.
2836
2837 2018-06-10  Tom Tromey  <tom@tromey.com>
2838
2839         * tracefile.c (struct trace_file_writer_deleter): New.
2840         <operator()>: Rename from trace_file_writer_xfree.
2841         (trace_file_writer_up): New typedef.
2842         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
2843
2844 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2845
2846         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
2847         <m_registers, m_register_status>: Change type to
2848         std::unique_ptr.
2849         * regcache.c (reg_buffer::reg_buffer): Use new instead of
2850         XCNEWVEC.
2851
2852 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
2853
2854         * common/common-regcache.h (enum register_status): Add
2855         underlying type "signed char".
2856         * regcache.h (reg_buffer) <m_register_status>: Change type to
2857         register_status *.
2858         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
2859         register_status instead of signed char.
2860         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
2861         (reg_buffer::get_register_status): Remove cast.
2862         (readable_regcache::raw_read): Remove cast.
2863         (readable_regcache::cooked_read): Remove cast.
2864
2865 2018-06-09  Tom Tromey  <tom@tromey.com>
2866
2867         * source.c (reverse_search_command, forward_search_command): Use
2868         scoped_fd.
2869
2870 2018-06-09  Tom Tromey  <tom@tromey.com>
2871
2872         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
2873         (serial_ops_list): Now static, std::vector.
2874         (serial_interface_lookup, serial_add_interface): Update.
2875
2876 2018-06-09  Tom Tromey  <tom@tromey.com>
2877
2878         * dwarf2read.c (process_cu_includes): Update.
2879         (process_full_comp_unit): Update.
2880         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
2881         std::vector.
2882
2883 2018-06-08  Paul Koning  <paul_koning@dell.com>
2884
2885         PR gdb/23252
2886
2887         * python/python.c (do_start_initialization):
2888         Avoid call to internal Python API.
2889         (init__gdb_module): New function.
2890
2891 2018-06-08  Gary Benson <gbenson@redhat.com>
2892
2893         * linux-thread-db.c (valprint.h): New include.
2894         (struct check_thread_db_info): New structure.
2895         (check_thread_db_on_load, tdb_testinfo): New static globals.
2896         (check_thread_db, check_thread_db_callback): New functions.
2897         (try_thread_db_load_1): Run integrity checks if requested.
2898         (maintenance_check_libthread_db): New function.
2899         (_initialize_thread_db): Register "maint check libthread-db"
2900         and "maint set/show check-libthread-db".
2901         * NEWS: Mention the above new commands.
2902
2903 2018-06-08  Tom Tromey  <tom@tromey.com>
2904
2905         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
2906         now a method.
2907
2908 2018-06-08  Tom Tromey  <tom@tromey.com>
2909
2910         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
2911
2912 2018-06-08  Tom Tromey  <tom@tromey.com>
2913
2914         * common/btrace-common.h (struct btrace_data): Add constructor,
2915         destructor, move assignment operator.
2916         <empty, clear, fini>: New methods.
2917         <format>: Initialize.
2918         (btrace_data_init, btrace_data_fini, btrace_data_clear)
2919         (btrace_data_empty): Don't declare.
2920         * common/btrace-common.c (btrace_data_init): Remove.
2921         (btrace_data::fini): Rename from btrace_data_fini.
2922         (btrace_data::empty): Rename from btrace_data_empty.
2923         (btrace_data::clear): Rename from btrace_data_clear.  Return
2924         bool.
2925         * btrace.h (make_cleanup_btrace_data): Don't declare.
2926         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
2927         (parse_xml_btrace): Update.
2928         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
2929         (maint_btrace_clear_packet_history_cmd): Update.
2930
2931 2018-06-07  Pedro Alves  <palves@redhat.com>
2932
2933         * target.h (target_ops) <beneath>: Now a method.  All references
2934         updated.
2935         (class target_stack): New.
2936         * target.c (g_target_stack): New.
2937         (g_current_top_target): Delete.
2938         (current_top_target): Get the top target out of g_target_stack.
2939         (target_stack::push, target_stack::unpush): New.
2940         (push_target, unpush_target): Reimplement.
2941         (target_is_pushed): Reimplement in terms of g_target_stack.
2942         (target_ops::beneath, target_stack::find_beneath): New.
2943
2944 2018-06-07  Pedro Alves  <palves@redhat.com>
2945
2946         * target.h (find_target_beneath): Delete declaration.
2947         * target.c (find_target_beneath): Delete definition.
2948         * aix-thread.c: All callers of find_target_beneath adjusted to
2949         call target_ops::beneath instead.
2950         * bsd-uthread.c: Likewise.
2951         * linux-thread-db.c: Likewise.
2952         * ravenscar-thread.c: Likewise.
2953         * sol-thread.c: Likewise.
2954         * spu-multiarch.c: Likewise.
2955
2956 2018-06-07  Pedro Alves  <palves@redhat.com>
2957
2958         * target.h (target_ops) <beneath>: Now a method.  All references
2959         updated.
2960         (target_ops) <m_beneath>: New.
2961         * target.c (target_ops::beneath): New.
2962         * corelow.c: Adjust all references to target_ops::beneath.
2963         * linux-thread-db.c: Likewise.
2964         * make-target-delegates: Likewise.
2965         * record-btrace.c: Likewise.
2966         * record-full.c: Likewise.
2967         * remote.c: Likewise.
2968         * target.c: Likewise.
2969         * target-delegates.c: Regenerate.
2970
2971 2018-06-07  Pedro Alves  <palves@redhat.com>
2972
2973         * target.h (target_stack): Delete.
2974         (current_top_target): Declare function.
2975         * target.c (target_stack): Delete.
2976         (g_current_top_target): New.
2977         (current_top_target): New function.
2978         * auxv.c: Use current_top_target instead of target_stack
2979         throughout.
2980         * avr-tdep.c: Likewise.
2981         * breakpoint.c: Likewise.
2982         * corefile.c: Likewise.
2983         * elfread.c: Likewise.
2984         * eval.c: Likewise.
2985         * exceptions.c: Likewise.
2986         * frame.c: Likewise.
2987         * gdbarch-selftests.c: Likewise.
2988         * gnu-v3-abi.c: Likewise.
2989         * ia64-tdep.c: Likewise.
2990         * ia64-vms-tdep.c: Likewise.
2991         * infcall.c: Likewise.
2992         * infcmd.c: Likewise.
2993         * infrun.c: Likewise.
2994         * linespec.c: Likewise.
2995         * linux-tdep.c: Likewise.
2996         * minsyms.c: Likewise.
2997         * ppc-linux-nat.c: Likewise.
2998         * ppc-linux-tdep.c: Likewise.
2999         * procfs.c: Likewise.
3000         * regcache.c: Likewise.
3001         * remote.c: Likewise.
3002         * rs6000-tdep.c: Likewise.
3003         * s390-linux-nat.c: Likewise.
3004         * s390-tdep.c: Likewise.
3005         * solib-aix.c: Likewise.
3006         * solib-darwin.c: Likewise.
3007         * solib-dsbt.c: Likewise.
3008         * solib-spu.c: Likewise.
3009         * solib-svr4.c: Likewise.
3010         * solib-target.c: Likewise.
3011         * sparc-tdep.c: Likewise.
3012         * sparc64-tdep.c: Likewise.
3013         * spu-tdep.c: Likewise.
3014         * symfile.c: Likewise.
3015         * symtab.c: Likewise.
3016         * target-descriptions.c: Likewise.
3017         * target-memory.c: Likewise.
3018         * target.c: Likewise.
3019         * target.h: Likewise.
3020         * tracefile-tfile.c: Likewise.
3021         * tracepoint.c: Likewise.
3022         * valops.c: Likewise.
3023         * valprint.c: Likewise.
3024         * value.c: Likewise.
3025         * windows-tdep.c: Likewise.
3026         * mi/mi-main.c: Likewise.
3027
3028 2018-06-07  Tom Tromey  <tom@tromey.com>
3029
3030         * valprint.h (build_address_symbolic): Declare.
3031         * printcmd.c (print_address_symbolic): Update.
3032         (build_address_symbolic): Change "name" and "filename" to
3033         std::string.
3034         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
3035         Update.
3036         * defs.h (build_address_symbolic): Remove declaration.
3037
3038 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
3039
3040         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
3041         (aarch64_vnv_type): Add function.
3042         (aarch64_pseudo_register_name): Add V regs for SVE.
3043         (aarch64_pseudo_register_type): Likewise.
3044         (aarch64_pseudo_register_reggroup_p): Likewise.
3045         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
3046         (aarch64_pseudo_read_value): Add V regs for SVE.
3047         (aarch64_pseudo_write_2): Use V0 offset for SVE
3048         (aarch64_pseudo_write): Add V regs for SVE.
3049         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
3050
3051 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
3052
3053         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
3054         (sve_vl_from_vq): Likewise.
3055
3056 2018-06-05  Tom Tromey  <tom@tromey.com>
3057
3058         * cli/cli-cmds.c (show_version): Update.
3059         * top.c (print_gdb_version): Add "interactive" parameter.
3060         Update.
3061         * main.c (captured_main_1): Update.
3062         * top.h (print_gdb_version): Add "interactive" parameter and a
3063         comment.
3064
3065 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
3066
3067         * common/enum-flags.h: Add trailing semicolon to example in
3068         comment.
3069
3070 2018-06-05  Tom Tromey  <tom@tromey.com>
3071
3072         PR cli/12326:
3073         * NEWS: Add entry about pager.
3074         * utils.c (pagination_disabled_for_command): New global.
3075         (prompt_for_continue): Allow "c" response to prompt.
3076         (reinitialize_more_filter): Clear
3077         pagination_disabled_for_command.
3078         (fputs_maybe_filtered): Check pagination_disabled_for_command.
3079
3080 2018-06-04  Tom Tromey  <tom@tromey.com>
3081
3082         * ada-lang.h (ada_lookup_symbol_list): Update.
3083         * ada-lang.c (resolve_subexp): Update.
3084         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
3085         parameter.
3086         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
3087         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
3088         results parameter to std::vector.
3089         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
3090         Update.
3091         * ada-exp.y (block_lookup): Update.
3092         (select_possible_type_sym): Change type of syms.  Remove nsyms
3093         parameter.
3094         (write_var_or_type, write_name_assoc): Update.
3095
3096 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
3097
3098         * windows-nat.c (windows_nat_target::xfer_partial): Return
3099         TARGET_XFER_E_IO if we need to delegate to the target beneath
3100         but BENEATH is NULL.
3101
3102 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
3103
3104         * Makefile.in (config.status): Add configure.nat as a
3105         dependency.
3106
3107 2018-06-04  Tom Tromey  <tom@tromey.com>
3108
3109         * cp-name-parser.y (cpname_state): Add method declarations.
3110         (HANDLE_QUAL): Update.
3111         (cpname_state::d_grab, cpname_state::fill_comp)
3112         (cpname_state::make_operator, cpname_state::make_dtor)
3113         (cpname_state::make_builtin_type, cpname_state::make_name)
3114         (cpname_state::d_qualify, cpname_state::d_int_type)
3115         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
3116         (%union): Move earlier.
3117
3118 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3119
3120         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
3121
3122 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3123
3124         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
3125         (aarch64_pseudo_write_1): Likewise.
3126         (aarch64_pseudo_read_value): Use helper.
3127         (aarch64_pseudo_write): Likewise.
3128
3129 2018-06-04  Pedro Alves  <palves@redhat.com>
3130
3131         * darwin-nat.c (darwin_ops): Delete.
3132         (darwin_attach_pid): Use get_native_target.
3133
3134 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3135
3136         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
3137         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
3138
3139 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3140
3141         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
3142         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
3143         (aarch64_gdbarch_init): Check for SVE.
3144         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
3145
3146 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
3147
3148         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
3149         * aarch64-tdep.h (aarch64_read_description): Likewise.
3150         * arch/aarch64.c (aarch64_create_target_description): Likewise.
3151         * arch/aarch64.h (aarch64_create_target_description): Likewise.
3152         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
3153         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
3154         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
3155
3156 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
3157
3158         * value.c (value_fetch_lazy_bitfield): New.
3159         (value_fetch_lazy_memory): New.
3160         (value_fetch_lazy_register): New.
3161         (value_fetch_lazy): Factor out to smaller functions.
3162
3163 2018-06-01  Tom Tromey  <tom@tromey.com>
3164
3165         * cp-name-parser.y (backslashable, represented): Now const.
3166
3167 2018-06-01  Tom Tromey  <tom@tromey.com>
3168
3169         * cp-name-parser.y: Include parser-defs.h.
3170         (parser_fprintf): Remove declaration.
3171
3172 2018-06-01  Tom Tromey  <tom@tromey.com>
3173
3174         * cp-name-parser.y: Use %pure-parser, %lex-param, and
3175         %parse-param.
3176         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
3177         (global_result): Remove globals.
3178         (struct cpname_state): New.
3179         (yyparse): Don't declare.
3180         (yylex, yyerror): Move declarations after %union.
3181         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
3182         (make_name): Add state parameter.
3183         Update all callers.
3184         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
3185         parameter.
3186         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
3187         Update.
3188         (yylex): Add lvalp, state parameters.
3189         (yyerror): Add state parameter.
3190         (cp_demangled_name_to_comp): Update.
3191
3192 2018-06-01  Tom Tromey  <tom@tromey.com>
3193
3194         * cp-name-parser.y (parser_fprintf): Declare.
3195         (GDB_YY_REMAP_PREFIX): Define.
3196         Include yy-remap.h.  Don't redefine yy* identifiers.
3197
3198 2018-06-01  Tom Tromey  <tom@tromey.com>
3199
3200         * python/py-type.c (typy_legacy_template_argument): Update.
3201         * cp-support.h (cp_demangled_name_to_comp): Update.
3202         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
3203         parameter to be a "std::string *".
3204         (main): Update.
3205
3206 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
3207
3208         * ada-lex.l: Include "diagnostics.h" instead of
3209         "common/diagnostics.h".
3210         * unittests/environ-selftests.c: Likewise.
3211         * common/diagnostics.h: Moved to ../include.
3212
3213 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
3214
3215         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
3216         to language_mode_manual while calling breakpoint_re_set_one.
3217
3218 2018-06-01  Tom Tromey  <tom@tromey.com>
3219
3220         * valops.c (value_cast_structs, destructor_name_p): Update.
3221         * symtab.c (gdb_mangle_name): Update.
3222         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
3223         Update.
3224         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
3225         (pascal_object_print_value_fields, pascal_object_print_value):
3226         Update.
3227         * p-typeprint.c (pascal_type_print_derivation_info): Update.
3228         * linespec.c (find_methods): Update.
3229         * gdbtypes.h (type_name_no_tag): Remove.
3230         (type_name_or_error): Rename from type_name_no_tag_or_error.
3231         * gdbtypes.c (type_name_no_tag): Remove.
3232         (type_name_or_error): Rename from type_name_no_tag_or_error.
3233         (lookup_struct_elt_type, check_typedef): Update.
3234         * expprint.c (print_subexp_standard): Update.
3235         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
3236         * d-namespace.c (d_lookup_nested_symbol): Update.
3237         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
3238         (cp_print_class_member): Update.
3239         * cp-namespace.c (cp_lookup_nested_symbol): Update.
3240         * completer.c (add_struct_fields): Update.
3241         * c-typeprint.c (cp_type_print_derivation_info)
3242         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
3243         Update.
3244         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
3245         (ada_prefer_type, ada_is_exception_sym): Update.
3246
3247 2018-06-01  Tom Tromey  <tom@tromey.com>
3248
3249         * valops.c (enum_constant_from_type, value_namespace_elt)
3250         (value_maybe_namespace_elt): Update.
3251         * valarith.c (find_size_for_pointer_math): Update.
3252         * target-descriptions.c (make_gdb_type): Update.
3253         * symmisc.c (print_symbol): Update.
3254         * stabsread.c (define_symbol, read_type)
3255         (complain_about_struct_wipeout, add_undefined_type)
3256         (cleanup_undefined_types_1): Update.
3257         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
3258         (rust_range_type_p, val_print_struct, rust_print_struct_def)
3259         (rust_internal_print_type, rust_composite_type)
3260         (rust_evaluate_funcall, rust_evaluate_subexp)
3261         (rust_inclusive_range_type_p): Update.
3262         * python/py-type.c (typy_get_tag): Update.
3263         * p-typeprint.c (pascal_type_print_base): Update.
3264         * mdebugread.c (parse_symbol, parse_type): Update.
3265         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
3266         Update.
3267         * guile/scm-type.c (gdbscm_type_tag): Update.
3268         * go-lang.c (sixg_string_p): Update.
3269         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
3270         Update.
3271         * gdbtypes.h (struct main_type) <tag_name>: Remove.
3272         (TYPE_TAG_NAME): Remove.
3273         * gdbtypes.c (type_name_no_tag): Simplify.
3274         (check_typedef, check_types_equal, recursive_dump_type)
3275         (copy_type_recursive, arch_composite_type): Update.
3276         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
3277         in summary mode when needed.
3278         * eval.c (evaluate_funcall): Update.
3279         * dwarf2read.c (fixup_go_packaging, read_structure_type)
3280         (process_structure_scope, read_enumeration_type)
3281         (read_namespace_type, read_module_type, determine_prefix): Update.
3282         * cp-support.c (inspect_type): Update.
3283         * coffread.c (process_coff_symbol, decode_base_type): Update.
3284         * c-varobj.c (c_is_path_expr_parent): Update.
3285         * c-typeprint.c (c_type_print_base_struct_union): Update.
3286         (c_type_print_base_1): Update.  Print struct/class/union/enum in
3287         summary when using C language.
3288         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
3289         (gen_maybe_namespace_elt): Update.
3290         * ada-lang.c (ada_type_name): Simplify.
3291         (empty_record, ada_template_to_fixed_record_type_1)
3292         (template_to_static_fixed_type)
3293         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
3294
3295 2018-06-01  Tom Tromey  <tom@tromey.com>
3296
3297         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
3298         c_print_type.
3299         * c-typeprint.c (c_print_type_1): Add "language" parameter.
3300         (c_print_type): Update.
3301         (c_print_type): New overload.
3302         (c_type_print_varspec_prefix, c_type_print_args)
3303         (c_type_print_varspec_suffix, c_print_type_no_offsets)
3304         (c_type_print_base_struct_union, c_type_print_base_1)
3305         (cp_type_print_method_args): Add "language" parameter.
3306         (c_type_print_base): Update.
3307         * c-lang.h (c_print_type): Add new overload.
3308
3309 2018-06-01  Tom Tromey  <tom@tromey.com>
3310
3311         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
3312         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
3313
3314 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
3315
3316         * aarch64-tdep.c (aarch64_sve_register_names): New const
3317         var.
3318         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
3319         (AARCH64_SVE_Z_REGS_NUM): New define.
3320         (AARCH64_SVE_P_REGS_NUM): Likewise.
3321         (AARCH64_SVE_NUM_REGS): Likewise.
3322
3323 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
3324
3325         * nat/linux-ptrace.h [__alpha__]
3326         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
3327         definitions.
3328
3329 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
3330
3331         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
3332         the endianness selected.
3333         * NEWS: Document `set endian auto' mode operation update.
3334
3335 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3336
3337         * Makefile.in: Add new header.
3338         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
3339         (sve_vl_from_vg): Likewise.
3340         (sve_vq_from_vl): Likewise.
3341         (sve_vl_from_vq): Likewise.
3342         (sve_vq_from_vg): Likewise.
3343         (sve_vg_from_vq): Likewise.
3344         * configure.nat: Add new c file.
3345         * nat/aarch64-sve-linux-ptrace.c: New file.
3346         * nat/aarch64-sve-linux-ptrace.h: New file.
3347
3348 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
3349
3350         * aarch64-linux-nat.c (aarch64_linux_read_description):
3351         Add parmeter zero.
3352         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
3353         Likewise.
3354         * aarch64-tdep.c (tdesc_aarch64_list): Add.
3355         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
3356         (aarch64_gdbarch_init): Add parmeter zero.
3357         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
3358         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
3359         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
3360         parmeter.
3361         * doc/gdb.texinfo: Describe SVE feature
3362         * features/aarch64-sve.c: New file.
3363
3364 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
3365
3366         PR gdb/23210
3367         * gdbarch.sh (significant_addr_bit): Default to zero when
3368         not set by target architecture.
3369         * gdbarch.c: Re-generated.
3370         * utils.c (address_significant): Update.
3371
3372 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
3373
3374         * stack.c (func_command): Remove trailing newline in call to error.
3375
3376 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3377
3378         * regcache.h (regcache_raw_collect): Remove, update callers to
3379         use regcache::raw_collect.
3380         * regcache.c (regcache_raw_collect): Remove.
3381
3382 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3383
3384         * regcache.h (regcache_raw_supply): Remove, update callers to
3385         use detached_regcache::raw_supply.
3386         * regcache.c (regcache_raw_supply): Remove.
3387
3388 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3389
3390         * regcache.h (regcache_cooked_write_part): Remove, update
3391         callers to use regcache::cooked_write_part.
3392         * regcache.c (regcache_cooked_write_part): Remove.
3393
3394 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3395
3396         * regcache.h (regcache_cooked_read_part): Remove, update callers
3397         to use readable_regcache::cooked_read_part.
3398         * regcache.c (regcache_cooked_read_part): Remove.
3399
3400 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3401
3402         * regcache.h (regcache_cooked_read_value): Remove, update
3403         callers to use readable_regcache::cooked_read_value.
3404         * regcache.c (regcache_cooked_read_value): Remove.
3405
3406 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3407
3408         * regcache.h (regcache_cooked_write): Remove, update callers to
3409         use regcache::cooked_write.
3410         * regcache.c (regcache_cooked_write): Remove.
3411
3412 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3413
3414         * regcache.h (regcache_invalidate): Remove, update callers to
3415         use detached_regcache::invalidate instead.
3416         * regcache.c (regcache_invalidate): Remove.
3417
3418 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3419
3420         * regcache.h (regcache_raw_write_part): Remove, update callers
3421         to use regcache::raw_write_part instead.
3422         * regcache.c (regcache_raw_write_part): Remove.
3423
3424 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3425
3426         * regcache.h (regcache_raw_read_part): Remove, update callers to
3427         use readable_regcache::raw_read_part instead.
3428         * regcache.c (regcache_raw_read_part): Remove.
3429
3430 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3431
3432         * regcache.h (regcache_cooked_read): Remove, update callers to
3433         use readable_regcache::cooked_read instead.
3434         * regcache.c (regcache_cooked_read): Remove.
3435
3436 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3437
3438         * regcache.h (regcache_raw_write): Remove, update callers to use
3439         regcache::raw_write instead.
3440         * regcache.c (regcache_raw_write): Remove.
3441
3442 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3443
3444         * regcache.h (regcache_raw_read): Remove, update callers to use
3445         readable_regcache::raw_read instead.
3446         * regcache.c (regcache_raw_read): Remove.
3447
3448 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3449
3450         * regcache.h (regcache_raw_update): Remove, update callers to
3451         use readable_regcache::raw_update instead.
3452         * regcache.c (regcache_raw_update): Remove.
3453
3454 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3455
3456         * regcache.h (regcache_register_status): Remove, update callers
3457         to use reg_buffer::get_register_status directly instead.
3458         * regcache.c (regcache_register_status): Remove.
3459
3460 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3461
3462         * regcache.h (regcache_get_ptid): Remove, update all callers to
3463         call regcache::ptid instead.
3464         * regcache.c (regcache_get_ptid): Remove.
3465
3466 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
3467
3468         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
3469
3470 2018-05-30  Pedro Alves  <palves@redhat.com>
3471
3472         * common/common-exceptions.h (exception_rethrow): Use
3473         ATTRIBUTE_NORETURN.
3474
3475 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
3476
3477         * breakpoint.c (print_solib_event, check_status_catch_solib):
3478         Remove struct keyword in range-based for loops.
3479         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
3480         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
3481         Likewise.
3482         * linespec.c (find_superclass_methods, search_minsyms_for_name):
3483         Likewise.
3484         * symfile.c (addr_info_make_relative): Likewise.
3485         * thread.c (value_in_thread_stack_temporaries): Likewise.
3486
3487 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
3488
3489         PR gdb/16841
3490         * valops.c (value_struct_elt_for_reference): Call check_typedef on
3491         aggregate type to get its real type before accessing it.
3492
3493 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
3494
3495         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
3496         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
3497         * coff-pe-read.c (add_pe_forwarded_sym): Replace
3498         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
3499         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
3500         * jit.c (jit_breakpoint_re_set_internal): Likewise.
3501         * printcmd.c (info_address_command): Likewise.
3502
3503 2018-05-29  Tom Tromey  <tom@tromey.com>
3504
3505         * windows-nat.c (handle_exception): Update fall-through comment.
3506
3507 2018-05-29  Tom Tromey  <tom@tromey.com>
3508
3509         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
3510         (struct program_space) <added_solibs>: Now a std::vector.
3511         * breakpoint.c (print_solib_event): Update.
3512         (check_status_catch_solib): Update.
3513         * progspace.c (clear_program_space_solib_cache): Update.
3514         * solib.c (update_solib_list): Update.
3515
3516 2018-05-29  Tom Tromey  <tom@tromey.com>
3517
3518         * python/py-type.c (typy_richcompare): Update.
3519         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
3520         * gdbtypes.h (types_deeply_equal): Return bool.
3521         (types_equal): Likewise.
3522         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
3523         declare VEC.
3524         (check_types_equal): Change worklist to std::vector.  Return
3525         bool.
3526         (struct type_equality_entry): Add constructor.
3527         (compare_maybe_null_strings): Return bool.
3528         (check_types_worklist): Return bool.  Change worklist to
3529         std::vector.
3530         (types_deeply_equal): Use std::vector.
3531         (types_equal): Return bool.
3532         (compare_maybe_null_strings): Simplify.
3533
3534 2018-05-29  Tom Tromey  <tom@tromey.com>
3535
3536         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
3537
3538 2018-05-29  Tom Tromey  <tom@tromey.com>
3539
3540         * objc-lang.h: Don't include cp-support.h.
3541         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
3542         declare VEC.
3543
3544 2018-05-27  Tom Tromey  <tom@tromey.com>
3545
3546         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
3547
3548 2018-05-25  Tom Tromey  <tom@tromey.com>
3549
3550         * value.c (value::location): Initialize.
3551
3552 2018-05-25  Tom Tromey  <tom@tromey.com>
3553
3554         * dbxread.c (init_bincl_list): Remove.
3555         (bincl_list): Now a std::vector.
3556         (bincls_allocated, next_bincl): Remove.
3557         (free_bincl_list, do_free_bincl_list_cleanup)
3558         (make_cleanup_free_bincl_list): Remove.
3559         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
3560         unique_xmalloc_ptr.
3561         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
3562         (struct header_file_location): Add constructor.
3563         (add_bincl_to_list): Remove.
3564
3565 2018-05-25  Tom Tromey  <tom@tromey.com>
3566
3567         * tui/tui.c (tui_enable): Update.
3568         * mi/mi-interp.c (mi_interp::init): Update.
3569         * interps.h (class interp) <name>: New method.
3570         <m_name>: Rename from name.
3571         (~scoped_restore_interp): Update.
3572         * interps.c (interp::interp): Update.
3573         (interp_add, interp_set, interp_lookup_existing)
3574         (current_interp_named_p): Update.
3575
3576 2018-05-25  Tom Tromey  <tom@tromey.com>
3577
3578         * interps.c (interp_name): Remove.
3579         * mi/mi-interp.c (mi_interp::init): Update.
3580         * interps.h (interp_name): Remove.
3581         (~scoped_restore_interp): Update.
3582         * tui/tui.c (tui_enable): Update.
3583
3584 2018-05-25  Tom Tromey  <tom@tromey.com>
3585
3586         * utils.c (fputs_maybe_filtered): Update.
3587         * linespec.c (decode_line_full): Update.
3588         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
3589         (mi_print_breakpoint_for_event, mi_solib_loaded)
3590         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
3591         (mi_user_selected_context_changed): Update.
3592         * mi/mi-main.c (mi_execute_command): Update.
3593         * cli/cli-script.c (execute_control_command): Update.
3594         * python/python.c (execute_gdb_command): Update.
3595         * solib.c (info_sharedlibrary_command): Update.
3596         * interps.c (interp_ui_out): Remove.
3597         * interps.h (interp_ui_out): Remove.
3598
3599 2018-05-25  Tom Tromey  <tom@tromey.com>
3600
3601         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
3602         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
3603         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
3604
3605 2018-05-25  Tom Tromey  <tom@tromey.com>
3606
3607         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
3608         * interps.c (interp_exec): Use scoped_restore.
3609
3610 2018-05-25  Tom Tromey  <tom@tromey.com>
3611
3612         * remote.c (remote_target::remote_file_get): Use
3613         gdb::byte_vector.
3614         (remote_target::remote_file_put): Likewise.
3615
3616 2018-05-25  Tom Tromey  <tom@tromey.com>
3617
3618         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
3619         a std::string.
3620         (get_pe_section_index, add_pe_exported_sym): Update.
3621         (read_pe_exported_syms): Use gdb::def_vector.
3622
3623 2018-05-25  Tom Tromey  <tom@tromey.com>
3624
3625         * frame.c (remove_prev_frame): Remove.
3626         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
3627
3628 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
3629
3630         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
3631         Remove prototypes.
3632         * mips-linux-nat.c (supply_fpregset): Always call
3633         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
3634         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
3635         `mips_fill_fpregset'.
3636         * mips-linux-tdep.c (mips_supply_fpregset)
3637         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
3638         (mips_fill_fpregset_wrapper): Remove functions.
3639         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
3640         (mips_linux_fpregset): Remove variable.
3641         (mips_linux_iterate_over_regset_sections): Use
3642         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
3643         (mips_linux_o32_sigframe_init): Remove comment.
3644
3645 2018-05-25  Pedro Alves  <palves@redhat.com>
3646
3647         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
3648         (struct readahead_cache, struct packet_reg, struct
3649         remote_arch_state, class remote_state): Move higher up in the
3650         file.
3651         (remote_target::m_remote_state): Now an object instead of a pointer.
3652         (remote_target::get_remote_state): Adjust.
3653
3654 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3655
3656         * stack.c (select_and_print_frame): Delete.
3657         (struct function_bounds): Move struct within function.
3658         (func_command): Most content moved into new function
3659         find_frame_for_function, use new function, print result, add
3660         function comment.
3661         (find_frame_for_function): New function, now returns a result.
3662
3663 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
3664
3665         * stack.c (iterate_over_block_arg_vars): Fix comment.
3666         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
3667
3668 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
3669
3670         PR gdb/23203
3671         * frame.c
3672         (scoped_restore_selected_frame::scoped_restore_selected_frame):
3673         Define.
3674         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
3675         Define.
3676         * frame.h (class scoped_restore_selected_frame): New class.
3677         * stack.c (print_frame_local_vars): Remove catching and rethrowing
3678         of any exception, use scoped_restore_selected_frame to restore the
3679         frame instead.
3680
3681 2018-05-24  Pedro Alves  <palves@redhat.com>
3682
3683         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
3684         override.
3685
3686 2018-05-23  Tom Tromey  <tom@tromey.com>
3687
3688         * complaints.c (struct complaints): Remove.
3689         (symfile_complaint_book): Remove.
3690         (series): New global.
3691         (complaint_internal): Update.
3692         (clear_complaints): Update.
3693
3694 2018-05-23  Tom Tromey  <tom@tromey.com>
3695
3696         * complaints.c (counters): New global.
3697         (struct complain): Remove.
3698         (struct complaints) <root>: Remove.
3699         (complaint_sentinel): Remove.
3700         (symfile_complaint_book): Update.
3701         (find_complaint) Remove.
3702         (complaint_internal, clear_complaints): Update.
3703
3704 2018-05-23  Tom Tromey  <tom@tromey.com>
3705
3706         * complaints.c (struct complain) <file, line>: Remove.
3707         (find_complaint): Remove file, line parameters.
3708         (complaint_internal): Update.
3709
3710 2018-05-23  Tom Tromey  <tom@tromey.com>
3711
3712         * complaints.c (vcomplaint): Remove.
3713         (complaint_internal) Merge in contents of vcomplaint.
3714
3715 2018-05-23  Tom Tromey  <tom@tromey.com>
3716
3717         * complaints.c (struct complaints) <explanation>: Remove.
3718         (symfile_explanations): Remove.
3719         (symfile_complaint_book): Update.
3720         (vcomplaint): Update.
3721         (struct explanation): Remove.
3722
3723 2018-05-23  Tom Tromey  <tom@tromey.com>
3724
3725         * complaints.c (symfile_complaints): Remove.
3726         (complaint_internal): Remove "complaints" parameter.
3727         (clear_complaints, vcomplaint): Remove "c" parameter.
3728         (get_complaints): Remove.
3729         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
3730         (dwarf2_debug_line_missing_file_complaint)
3731         (dwarf2_debug_line_missing_end_sequence_complaint)
3732         (dwarf2_complex_location_expr_complaint)
3733         (dwarf2_const_value_length_mismatch_complaint)
3734         (dwarf2_section_buffer_overflow_complaint)
3735         (dwarf2_macro_malformed_definition_complaint)
3736         (dwarf2_invalid_attrib_class_complaint)
3737         (create_addrmap_from_index, dw2_symtab_iter_next)
3738         (dw2_expand_marked_cus)
3739         (dw2_debug_names_iterator::find_vec_in_debug_names)
3740         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
3741         (create_debug_type_hash_table, init_cutu_and_read_dies)
3742         (partial_die_parent_scope, add_partial_enumeration)
3743         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
3744         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
3745         (read_import_statement, read_file_scope, create_dwo_cu_reader)
3746         (create_cus_hash_table, create_dwp_hash_table)
3747         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
3748         (dwarf2_rnglists_process, dwarf2_ranges_process)
3749         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
3750         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
3751         (handle_struct_member_die, process_structure_scope)
3752         (read_array_type, read_common_block, read_module_type)
3753         (read_tag_pointer_type, read_typedef, read_base_type)
3754         (read_subrange_type, load_partial_dies, partial_die_info::read)
3755         (partial_die_info::read, partial_die_info::read)
3756         (partial_die_info::read, read_checked_initial_length_and_offset)
3757         (dwarf2_string_attr, read_formatted_entries)
3758         (dwarf_decode_line_header)
3759         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3760         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
3761         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
3762         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
3763         (get_signatured_type, get_DW_AT_signature_type)
3764         (decode_locdesc, file_file_name, consume_improper_spaces)
3765         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
3766         (dwarf_decode_macro_bytes, dwarf_decode_macros)
3767         (dwarf2_symbol_mark_computed, set_die_type)
3768         (read_attribute_value): Update.
3769         * stap-probe.c (handle_stap_probe, get_stap_base_address):
3770         Update.
3771         * dbxread.c (unknown_symtype_complaint)
3772         (lbrac_mismatch_complaint, repeated_header_complaint)
3773         (set_namestring, function_outside_compilation_unit_complaint)
3774         (read_dbx_symtab, process_one_symbol): Update.
3775         * gdbtypes.c (stub_noname_complaint): Update.
3776         * windows-nat.c (handle_unload_dll): Update.
3777         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
3778         (decode_base_type): Update.
3779         * xcoffread.c (bf_notfound_complaint, ef_complaint)
3780         (eb_complaint, record_include_begin, record_include_end)
3781         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
3782         (process_xcoff_symbol, read_symbol)
3783         (function_outside_compilation_unit_complaint)
3784         (scan_xcoff_symtab): Update.
3785         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
3786         * buildsym.c (finish_block_internal, make_blockvector)
3787         (end_symtab_get_static_block, augment_type_symtab): Update.
3788         * dtrace-probe.c (dtrace_process_dof)
3789         (dtrace_static_probe_ops::get_probes): Update.
3790         * complaints.h (struct complaint): Don't declare.
3791         (symfile_complaints): Remove.
3792         (complaint_internal): Remove "complaints" parameter.
3793         (complaint): Likewise.
3794         (clear_complaints): Likewise.
3795         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3796         (reread_symbols): Update.
3797         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
3798         (dwarf2_frame_cache, decode_frame_entry): Update.
3799         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
3800         * objc-lang.c (lookup_objc_class, lookup_child_selector)
3801         (info_selectors_command): Update.
3802         * macrotab.c (macro_include, check_for_redefinition)
3803         (macro_undef): Update.
3804         * objfiles.c (filter_overlapping_sections): Update.
3805         * stabsread.c (invalid_cpp_abbrev_complaint)
3806         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
3807         (define_symbol, error_type, read_type, rs6000_builtin_type)
3808         (stabs_method_name_from_physname, read_member_functions)
3809         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
3810         (attach_fields_to_type, complain_about_struct_wipeout)
3811         (read_range_type, read_args, common_block_start)
3812         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
3813         Update.
3814         * mdebugread.c (index_complaint, unknown_ext_complaint)
3815         (basic_type_complaint, bad_tag_guess_complaint)
3816         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
3817         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
3818         (parse_procedure, parse_lines)
3819         (function_outside_compilation_unit_complaint)
3820         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
3821         (bad_tag_guess_complaint, reg_value_complaint): Update.
3822         * cp-support.c (demangled_name_complaint): Update.
3823         * macroscope.c (sal_macro_scope): Update.
3824         * dwarf-index-write.c (class debug_names): Update.
3825
3826 2018-05-23  Tom Tromey  <tom@tromey.com>
3827
3828         * complaints.c (clear_complaints): Remove "noisy" parameter.
3829         * complaints.h (clear_complaints): Update.
3830         * symfile.c (syms_from_objfile_1, finish_new_objfile)
3831         (reread_symbols): Update.
3832
3833 2018-05-23  Tom Tromey  <tom@tromey.com>
3834
3835         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
3836         SUBSEQUENT_MESSAGE.
3837         (vcomplaint, clear_complaints): Update.
3838         (symfile_explanations): Remove some messages.
3839
3840 2018-05-23  Tom Tromey  <tom@tromey.com>
3841
3842         * complaints.c (internal_complaint): Remove.
3843         * complaints.h (internal_complaint): Remove.
3844
3845 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
3846
3847         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
3848
3849 2018-05-22  Pedro Alves  <palves@redhat.com>
3850
3851         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
3852         (remote_fileio_badfd, remote_fileio_return_errno)
3853         (remote_fileio_return_success, remote_fileio_func_open)
3854         (remote_fileio_func_open, remote_fileio_func_close)
3855         (remote_fileio_func_read, remote_fileio_func_write)
3856         (remote_fileio_func_lseek, remote_fileio_func_rename)
3857         (remote_fileio_func_unlink, remote_fileio_func_stat)
3858         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
3859         (remote_fileio_func_isatty, remote_fileio_func_system): Add
3860         remote_target parameter.
3861         (remote_fio_func_map) <func>: Add remote_target parameter.
3862         (do_remote_fileio_request, remote_fileio_request):
3863         * remote-fileio.h (remote_fileio_request):
3864         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
3865         remote_target parameter.
3866         (remote_notif_process, handle_notification): Adjust to pass down
3867         the remote.
3868         (remote_notif_state_allocate): Add remote_target parameter.  Save
3869         it.
3870         * remote-notif.h (struct remote_target): Forward declare.
3871         (struct notif_client) <parse, ack, can_get_pending_events>: Add
3872         remote_target parameter.
3873         (struct remote_notif_state) <remote>: New field.
3874         (remote_notif_ack, remote_notif_parse): Add remote_target
3875         parameter.
3876         (remote_notif_state_allocate, remote_notif_state_allocate): Add
3877         remote_target parameter.
3878         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
3879         (threads_listing_context, rmt_thread_action, protocol_feature)
3880         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
3881         (packet_result, struct threads_listing_context, remote_state):
3882         Move definitions and declarations higher up.
3883         (remote_target) <~remote_target>: Declare.
3884         (remote_download_command_source, remote_file_put, remote_file_get)
3885         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
3886         (remote_hostio_pread_vFile, remote_hostio_send_command)
3887         (remote_hostio_set_filesystem, remote_hostio_open)
3888         (remote_hostio_close, remote_hostio_unlink, remote_state)
3889         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
3890         (get_memory_write_packet_size, get_memory_read_packet_size)
3891         (append_pending_thread_resumptions, remote_detach_1)
3892         (append_resumption, remote_resume_with_vcont)
3893         (add_current_inferior_and_thread, wait_ns, wait_as)
3894         (process_stop_reply, remote_notice_new_inferior)
3895         (process_initial_stop_replies, remote_add_thread)
3896         (btrace_sync_conf, remote_btrace_maybe_reopen)
3897         (remove_new_fork_children, kill_new_fork_children)
3898         (discard_pending_stop_replies, stop_reply_queue_length)
3899         (check_pending_events_prevent_wildcard_vcont)
3900         (discard_pending_stop_replies_in_queue, stop_reply)
3901         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
3902         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
3903         (remote_interrupt_as, remote_interrupt_ns)
3904         (remote_get_noisy_reply, remote_query_attached)
3905         (remote_add_inferior, remote_current_thread, get_current_thread)
3906         (set_thread, set_general_thread, set_continue_thread)
3907         (set_general_process, write_ptid)
3908         (remote_unpack_thread_info_response, remote_get_threadinfo)
3909         (parse_threadlist_response, remote_get_threadlist)
3910         (remote_threadlist_iterator, remote_get_threads_with_ql)
3911         (remote_get_threads_with_qxfer)
3912         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
3913         (get_offsets, remote_check_symbols, remote_supported_packet)
3914         (remote_query_supported, remote_packet_size)
3915         (remote_serial_quit_handler, remote_detach_pid)
3916         (remote_vcont_probe, remote_resume_with_hc)
3917         (send_interrupt_sequence, interrupt_query)
3918         (remote_notif_get_pending_events, fetch_register_using_p)
3919         (send_g_packet, process_g_packet, fetch_registers_using_g)
3920         (store_register_using_P, store_registers_using_G)
3921         (set_remote_traceframe, check_binary_download)
3922         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
3923         (remote_xfer_live_readonly_partial, remote_read_bytes)
3924         (remote_send_printf, remote_flash_write, readchar)
3925         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
3926         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
3927         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
3928         (extended_remote_disable_randomization, extended_remote_run)
3929         (send_environment_packet, extended_remote_environment_support)
3930         (extended_remote_set_inferior_cwd, remote_write_qxfer)
3931         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
3932         (packet_command): Now methods of ...
3933         (remote_target): ... this class.
3934         (m_remote_state) <remote_target>: New field.
3935         (struct remote_state) <stop_reply_queue,
3936         remote_async_inferior_event_token, wait_forever_enabled_p>: New
3937         fields.
3938         (remote_state::remote_state): Allocate stop_reply_queue.
3939         (remote_state): Delete global.
3940         (get_remote_state_raw): Delete.
3941         (remote_target::get_remote_state): Allocate m_remote_state on
3942         demand.
3943         (get_current_remote_target): New.
3944         (remote_ops, extended_remote_ops): Delete.
3945         (wait_forever_enabled_p, remote_async_inferior_event_token):
3946         Delete, moved to struct remote_state.
3947         (remote_target::close): Delete self.  Destruction bits split to
3948         ...
3949         (remote_target::~remote_target): ... this.
3950         (show_memory_packet_size): Adjust to use
3951         get_current_remote_target.
3952         (struct protocol_feature) <func>: Add remote_target parameter.
3953         All callers adjusted.
3954         (curr_quit_handler_target): New.
3955         (remote_serial_quit_handler): Reimplement.
3956         (remote_target::open_1): Adjust to use get_current_remote_target.
3957         Heap-allocate remote_target/extended_remote_target instances.
3958         (vcont_builder::vcont_builder): Add remote_target parameter, and
3959         save it in m_remote.  All callers adjusted.
3960         (vcont_builder::m_remote): New field.
3961         (vcont_builder::restart, vcont_builder::flush)
3962         (vcont_builder::push_action): Use it.
3963         (remote_target::commit_resume): Use it.
3964         (struct queue_iter_param) <remote>: New field.
3965         (remote_target::remove_new_fork_children): Fill in 'remote' field.
3966         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
3967         (check_pending_event_prevents_wildcard_vcont_callback)
3968         (remote_target::check_pending_events_prevent_wildcard_vcont)
3969         (remote_target::discard_pending_stop_replies)
3970         (remote_target::discard_pending_stop_replies_in_queue)
3971         (remote_target::remote_notif_remove_queued_reply): Fill in
3972         'remote' field.
3973         (remote_notif_get_pending_events): New.
3974         (remote_target::readchar, remote_target::remote_serial_write):
3975         Save/restore curr_quit_handler_target.
3976         (putpkt): New.
3977         (kill_new_fork_children): Fill in 'remote' field.
3978         (packet_command): Use get_current_remote_target, defer to
3979         remote_target method of same name.
3980         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
3981         parameter, and save it in m_remote.  All callers adjusted.
3982         (scoped_remote_fd::release): Use m_remote.
3983         (scoped_remote_fd::m_remote): New field.
3984         (remote_file_put, remote_file_get, remote_file_delete): Use
3985         get_current_remote_target, defer to remote_target method of same
3986         name.
3987         (remote_btrace_reset): Add remote_state paremeter.  Update all
3988         callers.
3989         (remote_async_inferior_event_handler). Pass down 'data'.
3990         (remote_new_objfile): Use get_current_remote_target.
3991         (remote_target::vcont_r_supported): New.
3992         (set_range_stepping): Use get_current_remote_target and
3993         remote_target::vcont_r_supported.
3994         (_initialize_remote): Don't allocate 'remote_state' and
3995         'stop_reply_queue' globals.
3996         * remote.h (struct remote_target): Forward declare.
3997         (getpkt, putpkt, remote_notif_get_pending_events): Add
3998         'remote_target' parameter.
3999
4000 2018-05-22  Pedro Alves  <palves@redhat.com>
4001
4002         * remote.c (vcont_builder): Now a class.  Make all data members
4003         private.
4004         (vcont_builder) <vcont_builder, restart, flush, push_action>:
4005         Declare methods.
4006         (vcont_builder_restart): Rename to ...
4007         (vcont_builder::restart): ... this.
4008         (vcont_builder_flush): Rename to ...
4009         (vcont_builder::flush): ... this.
4010         (vcont_builder_push_action): Rename to ...
4011         (vcont_builder::push_action): ... this.
4012         (remote_target::commit_resume): Adjust.
4013
4014 2018-05-22  Pedro Alves  <palves@redhat.com>
4015
4016         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
4017         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
4018         (get_fixed_memory_packet_size): New.
4019         (get_memory_packet_size): Use it.
4020         (set_memory_packet_size): Don't override the config size with
4021         DEFAULT_MAX_MEMORY_PACKET_SIZE.
4022         (show_memory_packet_size): Use get_fixed_memory_packet_size.
4023         Don't refer to get_memory_packet_size if not connected to a remote
4024         target.  Show "(default)" if configured size is 0.
4025
4026 2018-05-22  Pedro Alves  <palves@redhat.com>
4027
4028         * remote.c (remote_target::mourn_inferior): Move
4029         discard_pending_stop_replies call here from ...
4030         (_initialize_remote): ... here.
4031
4032 2018-05-22  Pedro Alves  <palves@redhat.com>
4033
4034         * remote.c (compare_section_command): Remove set_general_process
4035         call.
4036
4037 2018-05-22  Pedro Alves  <palves@redhat.com>
4038
4039         * remote.c (struct packet_reg, struct remote_arch_state):
4040         Move higher up in the file.
4041         (remote_state) <m_arch_states>: Store remote_arch_state values
4042         instead of remote_arch_state pointers.
4043         (remote_state::get_remote_arch_state): Adjust.
4044
4045 2018-05-22  Pedro Alves  <palves@redhat.com>
4046
4047         * remote.c: Include <unordered_map>.
4048         (remote_state): Now a class.
4049         (remote_state) <get_remote_arch_state>: Declare method.
4050         <get_remote_arch_state>: New field.
4051         (remote_arch_state) <remote_arch_state>: Declare ctor.
4052         <regs>: Now a unique_ptr.
4053         (remote_gdbarch_data_handle): Delete.
4054         (get_remote_arch_state): Delete.
4055         (remote_state::get_remote_arch_state): New.
4056         (get_remote_state): Adjust to call remote_state's
4057         get_remote_arch_state method.
4058         (init_remote_state): Delete, bits factored out to ...
4059         (remote_arch_state::remote_arch_state): ... this new method.
4060         (get_remote_packet_size, get_memory_packet_size)
4061         (process_g_packet, remote_target::fetch_registers)
4062         (remote_target::prepare_to_store, store_registers_using_G)
4063         (remote_target::store_registers, remote_target::get_trace_status):
4064         Adjust to call remote_state's method.
4065         (_initialize_remote): Remove reference to
4066         remote_gdbarch_data_handle.
4067
4068 2018-05-22  Pedro Alves  <palves@redhat.com>
4069
4070         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
4071         pread>: New method declarations.
4072         (remote_target::open_1): Adjust.
4073         (readahead_cache_invalidate): Rename to ...
4074         (readahead_cache::invalidate): ... this, and adjust to be a class
4075         method.
4076         (readahead_cache_invalidate_fd): Rename to ...
4077         (readahead_cache::invalidate_fd): ... this, and adjust to be a
4078         class method.
4079         (remote_hostio_pwrite): Adjust.
4080         (remote_hostio_pread_from_cache): Rename to ...
4081         (readahead_cache::pread): ... this, and adjust to be a class
4082         method.
4083         (remote_hostio_close): Adjust.
4084
4085 2018-05-22  Pedro Alves  <palves@redhat.com>
4086
4087         * remote.c (remote_hostio_close_cleanup): Delete.
4088         (class scoped_remote_fd): New.
4089         (remote_file_put, remote_file_get): Use it.
4090
4091 2018-05-22  Pedro Alves  <palves@redhat.com>
4092
4093         (struct vCont_action_support): Use bool and initialize all fields.
4094         (struct readahead_cache): Initialize all fields.
4095         (remote_state): Use bool and initialize all fields.
4096         (remote_state::remote_state, remote_state::~remote_state): New.
4097         (new_remote_state): Delete.
4098         (_initialize_remote): Use new to allocate remote_state.
4099
4100 2018-05-22  Pedro Alves  <palves@redhat.com>
4101             張俊芝  <zjz@zjz.name>
4102
4103         PR gdb/22973
4104         * c-exp.y: Include "c-support.h".
4105         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
4106         of tolower.  Use c_ident_is_alpha to scan names.
4107         * c-lang.c: Include "c-support.h".
4108         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
4109         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
4110         * c-support.h: New file, with bits factored out from ...
4111         * cp-name-parser.y: ... this file.
4112         Include "c-support.h".
4113         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
4114         c-support.h and renamed.
4115         (symbol_end, yylex): Adjust.
4116
4117 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4118
4119         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
4120         parameter type to CORE_ADDR.
4121         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
4122         parameter type in declaration to CORE_ADDR.
4123         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
4124         target_auxv_search to get AT_HWCAP and use the result to get the
4125         target description.
4126         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
4127         to CORE_ADDR. Remove the cast of the return value to unsigned
4128         long. Fix error predicate of target_auxv_search.
4129         (ppc_linux_nat_target::read_description): Change the type of the
4130         hwcap variable to CORE_ADDR.
4131
4132 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4133
4134         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
4135         if the size of fpscr is larger than 32 bits.
4136
4137 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4138
4139         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
4140         (ppc32_linux_vsxregmap): New global.
4141         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
4142         regcache_supply_regset, and regcache_collect_regset.
4143         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
4144         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
4145         (fetch_vsx_register, store_vsx_register): Remove.
4146         (fetch_vsx_registers): Add regno parameter. Get regset using
4147         ppc_linux_vsxregset. Use regset to supply registers.
4148         (store_vsx_registers): Add regno parameter. Get regset using
4149         ppc_linux_vsxregset. Use regset to collect registers.
4150         (fetch_register): Call fetch_vsx_registers instead of
4151         fetch_vsx_register.
4152         (store_register): Call store_vsx_registers instead of
4153         store_vsx_register.
4154         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
4155         new regno parameter.
4156         (store_ppc_registers): Call store_vsx_registers with -1 for the
4157         new regno parameter.
4158         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
4159         (ppc_collect_vsxregset): Remove.
4160
4161 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4162
4163         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
4164         offset fields.
4165         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
4166         for vector register offset fields.
4167         (ppc64_fbsd_reg_offsets): Likewise.
4168         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4169         to vector register offset fields.
4170         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
4171         to vector register offset fields.
4172         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
4173         vector register offset fields.
4174         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
4175         initializers for vector register offset fields.
4176         (rs6000_aix64_reg_offsets): Likewise.
4177         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
4178         (ppc_supply_vrregset): Remove.
4179         (ppc_collect_vrregset): Remove.
4180         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
4181         (ppc_linux_vrregset) : New function.
4182         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
4183         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
4184         (ppc32_linux_vrregset): Remove.
4185         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
4186         and use result instead of ppc32_linux_vrregset.
4187         (ppc32_linux_reg_offsets): Remove initializers for vector register
4188         offset fields.
4189         (ppc64_linux_reg_offsets): Likewise.
4190         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
4191         * ppc-linux-nat.c: Include regset.h.
4192         (gdb_vrregset_t): Adjust comment to account for little-endian
4193         mode.
4194         (supply_vrregset, fill_vrregset): Remove.
4195         (fetch_altivec_register, store_altivec_register): Remove.
4196         (fetch_altivec_registers): Add regno parameter. Get regset using
4197         ppc_linux_vrregset. Use regset to supply registers.
4198         (store_altivec_registers): Add regno parameter. Get regset using
4199         ppc_linux_vrregset. Use regset to collect registers.
4200         (fetch_register): Call fetch_altivec_registers instead of
4201         fetch_altivec_register.
4202         (store_register): Call store_altivec_registers instead of
4203         store_altivec_register.
4204         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
4205         the new regno parameter.
4206         (store_ppc_registers): Call store_altivec_registers with -1 for
4207         the new regno parameter.
4208
4209 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4210
4211         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
4212         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
4213         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
4214         (gdb_vrregset_t): Change array type size to
4215         PPC_LINUX_SIZEOF_VRREGSET.
4216         (gdb_vsxregset_t): Change array type size to
4217         PPC_LINUX_SIZEOF_VSXREGSET.
4218         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
4219         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
4220         PPC_LINUX_SIZEOF_VSXREGSET.
4221
4222 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4223
4224         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
4225         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
4226         nat/ppc-linux.c.
4227         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
4228         ppc_linux_target_wordsize with tid.
4229         (ppc_linux_nat_target::read_description): Call ppc_linux_target
4230         wordsize with tid.
4231         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
4232         (ppc64_64bit_inferior_p): Add static and inline specifiers.
4233         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
4234         tid parameter. Remove static specifier.
4235         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
4236         (ppc_linux_target_wordsize): New declaration.
4237
4238 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
4239
4240         * arch/ppc-linux-common.c: New file.
4241         * arch/ppc-linux-common.h: New file.
4242         * arch/ppc-linux-tdesc.h: New file.
4243         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
4244         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
4245         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
4246         arch/ppc-linux-tdesc.h.
4247         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
4248         arch/ppc-linux-tdesc.h.
4249         (ppc_linux_nat_target::read_description): Remove target
4250         description matching code. Fill a ppc_linux_features struct and
4251         call ppc_linux_match_description with it. Move comment about ISA
4252         2.05 to ppc-linux-common.c.
4253         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
4254         arch/ppc-linux-tdesc.h.
4255         (ppc_linux_core_read_description): Remove target description
4256         matching code. Fill a ppc_linux_features struct and call
4257         ppc_linux_match_description with it.
4258         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
4259         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
4260         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
4261         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
4262         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
4263         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
4264         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
4265         (tdesc_powerpc_e500l): Remove.
4266
4267 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
4268
4269         * ada-lang.c (catch_assert_command): Pass empty string instead
4270         of NULL for excep_string argument.
4271
4272 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
4273
4274         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
4275         the width of the requested register exceeds the width of the
4276         `ptrace' data type.
4277
4278 2018-05-21  Tom Tromey  <tom@tromey.com>
4279
4280         * printcmd.c (output_command): Remove.
4281         (output_command_const): Rename to output_command.
4282         * valprint.h (output_command): Rename from output_command_const.
4283         * tracepoint.c (trace_dump_actions): Call output_command.
4284
4285 2018-05-21  Tom Tromey  <tom@tromey.com>
4286
4287         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
4288         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
4289         * ada-lang.h (create_ada_exception_catchpoint): Update.
4290         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
4291         std::string.
4292         (create_excep_cond_exprs, ~ada_catchpoint)
4293         (should_stop_exception, print_one_exception)
4294         (print_mention_exception, print_recreate_exception): Update.
4295         (ada_get_next_arg): Remove.
4296         (catch_ada_exception_command_split): Use std::string.  Change type
4297         of "excep_string", "cond_string".
4298         (catch_ada_exception_command): Update.
4299         (create_ada_exception_catchpoint): Change type of excep_string.
4300         (ada_exception_sal): Remove excep_string parameter.
4301         (~ada_catchpoint): Remove.
4302
4303 2018-05-21  Tom Tromey  <tom@tromey.com>
4304
4305         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
4306         cleanup.
4307
4308 2018-05-21  Tom Tromey  <tom@tromey.com>
4309
4310         * ada-lang.c (ada_exception_message_1, ada_exception_message):
4311         Return unique_xmalloc_ptr.
4312         (print_it_exception): Update.
4313
4314 2018-05-21  Tom Tromey  <tom@tromey.com>
4315
4316         * tracepoint.c (trace_dump_actions): Use std::string.
4317
4318 2018-05-21  Tom Tromey  <tom@tromey.com>
4319
4320         * symfile.c (reread_symbols): Use std::string for original_name.
4321
4322 2018-05-21  Tom Tromey  <tom@tromey.com>
4323
4324         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
4325         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
4326         constructor.
4327
4328 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
4329
4330         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
4331         instance to...
4332         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
4333         * objfiles.c (get_objfile_bfd_data): Allocate
4334         objfile_per_bfd_storage with obstack_new when allocating on
4335         obstack.
4336
4337 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4338
4339         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
4340         OBSTACK_ZALLOC.
4341         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
4342         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
4343         * mdebugread.c (mdebug_build_psymtabs): Likewise.
4344         (add_pending): Likewise.
4345         (parse_symbol): Likewise.
4346         (parse_partial_symbols): Likewise.
4347         (psymtab_to_symtab_1): Likewise.
4348         (new_psymtab): Likewise.
4349         (elfmdebug_build_psymtabs): Likewise.
4350         * minsyms.c (terminate_minimal_symbol_table): Likewise.
4351         * objfiles.c (get_objfile_bfd_data): Likewise.
4352         (objfile_register_static_link): Likewise.
4353         * psymtab.c (allocate_psymtab): Likewise.
4354         * stabsread.c (read_member_functions): Likewise.
4355         * xcoffread.c (xcoff_end_psymtab): Likewise.
4356
4357 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
4358
4359         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
4360         compiler supports std::is_trivially_constructible.
4361         * common/poison.h: Include obstack.h.
4362         (IsMallocable): Define to is_trivially_constructible if the
4363         compiler supports it, define to true_type otherwise.
4364         (xobnew): New.
4365         (XOBNEW): Redefine.
4366         (xobnewvec): New.
4367         (XOBNEWVEC): Redefine.
4368         * gdb_obstack.h (obstack_zalloc): New.
4369         (OBSTACK_ZALLOC): Redefine.
4370         (obstack_calloc): New.
4371         (OBSTACK_CALLOC): Redefine.
4372         (obstack_new): New.
4373         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
4374         (gdbarch_obstack): New declaration in gdbarch.h, definition in
4375         gdbarch.c.
4376         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
4377         obstack_calloc/obstack_zalloc.
4378         (gdbarch_obstack_zalloc): Remove.
4379         * target-descriptions.c (tdesc_data_init): Use obstack_new.
4380
4381 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4382
4383         * stack.c (backtrace_command_1): Remove useless variable int i.
4384
4385 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4386
4387         * stack.c (print_frame_info): Fix comment.
4388
4389 2018-05-18  Tom Tromey  <tom@tromey.com>
4390
4391         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
4392         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
4393         (~dwarf2_per_objfile): Update
4394         (dwarf2_get_dwz_file): Use new.
4395         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
4396         unique_ptr.
4397
4398 2018-05-18  Tom Tromey  <tom@tromey.com>
4399
4400         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
4401         unique_ptr.
4402         * dwarf2read.c (struct dwp_file): Add constructor and
4403         initializers.
4404         (open_and_init_dwp_file): Return a unique_ptr.
4405         (dwarf2_per_objfile, create_dwp_hash_table)
4406         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
4407         (lookup_dwo_unit_in_dwp): Update.
4408         (open_and_init_dwp_file, get_dwp_file): Update.
4409
4410 2018-05-18  Tom Tromey  <tom@tromey.com>
4411
4412         * dwarf2read.c (dwarf2_per_objfile): Update.
4413         (struct mapped_index): Add initializers.
4414         (dwarf2_read_index): Use new.
4415         (dw2_symtab_iter_init): Update.
4416         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
4417         unique_ptr.
4418
4419 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4420
4421         * dwarf2read.c (mapped_index) <total_size>: Remove.
4422
4423 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
4424
4425         * unittests/format_pieces-selftests.c (test_format_specifier):
4426         Add ARI comments.
4427
4428 2018-05-18  Tom Tromey  <tom@tromey.com>
4429
4430         * c-typeprint.c (maybe_print_hole): New function.
4431         (c_print_type_struct_field_offset): Update.
4432         (c_type_print_base_struct_union): Call maybe_print_hole.
4433
4434 2018-05-17  Keith Seitz  <keiths@redhat.com>
4435
4436         * breakpoint.c (build_bpstat_chain): New function, moved from
4437         bpstat_stop_status.
4438         (bpstat_stop_status): Add optional parameter, `stop_chain'.
4439         If no stop chain is passed, call build_bpstat_chain to build it.
4440         * breakpoint.h (build_bpstat_chain): Declare.
4441         (bpstat_stop_status): Move documentation here from breakpoint.c.
4442         * infrun.c (handle_signal_stop): Before eliding inlined frames,
4443         build the stop chain and pass it to skip_inline_frames.
4444         Pass this stop chain to bpstat_stop_status.
4445         * inline-frame.c: Include breakpoint.h.
4446         (stopped_by_user_bp_inline_frame): New function.
4447         (skip_inline_frames): Add parameter `stop_chain'.
4448         Move documention to inline-frame.h.
4449         If non-NULL, use stopped_by_user_bp_inline_frame to determine
4450         whether the frame should be elided.
4451         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
4452         Add moved documentation and update for new parameter.
4453
4454 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4455
4456         PR cli/14975
4457         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4458         unittests/format_pieces-selftests.c.
4459         * common/format.h (format_piece) <operator==>: New.
4460         (format_pieces) <operator[]>: Remove.
4461         * common/format.c (format_pieces::format_pieces): Handle \e.
4462         * unittests/format_pieces-selftests.c: New.
4463
4464 2018-05-17  Tom Tromey  <tom@tromey.com>
4465
4466         PR symtab/23010:
4467         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
4468         (dw2_instantiate_symtab): Add skip_partial parameter.
4469         (dw2_find_last_source_symtab, dw2_map_expand_apply)
4470         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
4471         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
4472         (dw2_expand_symtabs_matching_one)
4473         (dw2_find_pc_sect_compunit_symtab)
4474         (dw2_debug_names_lookup_symbol)
4475         (dw2_debug_names_expand_symtabs_for_function): Update.
4476         (init_cutu_and_read_dies): Add skip_partial parameter.
4477         (process_psymtab_comp_unit, build_type_psymtabs_1)
4478         (process_skeletonless_type_unit, load_partial_comp_unit)
4479         (psymtab_to_symtab_1): Update.
4480         (load_full_comp_unit): Add skip_partial parameter.
4481         (process_imported_unit_die, dwarf2_read_addr_index)
4482         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
4483         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
4484         (read_signatured_type): Update.
4485
4486 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
4487
4488         * value.c (release_value): Remove unused variable.
4489         (record_latest_value): Likewise.
4490         (access_value_history): Likewise.
4491         (preserve_values): Likewise.
4492
4493 2018-05-17  Tom Tromey  <tom@tromey.com>
4494
4495         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
4496         Initialize.
4497
4498 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
4499
4500         PR gdb/22286
4501         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
4502         Also handle registers whose width is not a multiple of
4503         PTRACE_TYPE_RET.
4504         (linux_nat_trad_target::store_register): Likewise.
4505
4506 2018-05-16  Tom Tromey  <tom@tromey.com>
4507
4508         * gdbcore.h (core_bfd): Redefine.
4509         * corelow.c (core_target::close): Update.
4510         (core_target_open): Update.
4511         * progspace.h (struct program_space) <cbfd>: Now a
4512         gdb_bfd_ref_ptr.
4513
4514 2018-05-16  Tom Tromey  <tom@tromey.com>
4515
4516         PR cli/19551:
4517         * symfile-add-flags.h (enum symfile_add_flags)
4518         <SYMFILE_NOT_FILENAME>: New constant.
4519         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
4520         objfile name from BFD.
4521         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
4522         * minidebug.c (find_separate_debug_file_in_section): Put
4523         ".gnu_debugdata" into BFD's file name.
4524
4525 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
4526
4527         * regcache.c (regcache_read_ftype, regcache_write_ftype):
4528         Remove.
4529
4530 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
4531
4532         PR binutils/21446
4533         * aarch64-tdep.c (aarch64_analyze_prologue,
4534         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
4535         Indicate not interested in errors.
4536
4537 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4538
4539         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
4540         Supply the MIPS_ZERO_REGNUM register.
4541
4542 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
4543
4544         * mips-tdep.c (mask_address_var): Make variable static.
4545
4546 2018-05-14  Tom Tromey  <tom@tromey.com>
4547
4548         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
4549
4550 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
4551
4552         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
4553         FXSAVE_ADDR for the mxcsr register.
4554
4555 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
4556
4557         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
4558
4559 2018-05-11  Pedro Alves  <palves@redhat.com>
4560
4561         * corelow.c (core_target) <core_target>: No longer inline.
4562         Initialize m_core_gdbarch, m_core_vec and build the section table
4563         here.
4564         <~core_target>: New.
4565         <core_gdbarch, get_core_register_section>: New methods.
4566         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
4567         factored out from ...
4568         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
4569         (core_ops): Delete.
4570         (sniff_core_bfd): Add gdbarch parameter.
4571         (core_close): Delete, merged into ...
4572         (core_target::close): ... here.  Delete self.
4573         (core_close_cleanup): Delete.
4574         (core_target_open): Allocate a core_target on the heap.  Use a
4575         unique_ptr instead of a cleanup.  Bits moved into the core_target
4576         ctor.  Adjust to use core_target methods instead of globals.
4577         (get_core_register_section): Rename to ...
4578         (core_target::get_core_register_section): ... this and adjust.
4579         (struct get_core_registers_cb_data): New.
4580         (get_core_registers_cb): Use it.  Use bool.
4581         (core_target::fetch_registers, core_target::files_info)
4582         (core_target::xfer_partial, core_target::read_description)
4583         (core_target::pid_to, core_target::thread_name): Adjust to
4584         reference class fields instead of globals.
4585         * target.h (struct target_ops_deleter, target_ops_up): New.
4586
4587 2018-05-11  Pedro Alves  <palves@redhat.com>
4588
4589         * corefile.c (core_file_command): Move to corelow.c.
4590         * corelow.c (the_core_target): Delete.
4591         (core_file_command): Moved from corefile.c.  Check exec_bfd
4592         instead of the_core_target.  Use target_detach instead of calling
4593         into the_core_target directly.
4594         (maybe_say_no_core_file_now): New.
4595         (core_target::detach): Use it.
4596         (_initialize_corelow): Remove references to the_core_target.
4597         * gdbcore.h (the_core_target): Delete.
4598
4599 2018-05-11  Tom Tromey  <tromey@redhat.com>
4600             Pedro Alves  <palves@redhat.com>
4601
4602         * corefile.c (core_bfd): Remove.
4603         * gdbcore.h (core_bfd): Now a macro.
4604         * progspace.h (struct program_space) <cbfd>: New field.
4605
4606 2018-05-11  Tom Tromey  <tom@tromey.com>
4607
4608         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
4609         gdb::def_vector.
4610
4611 2018-05-10  Tom Tromey  <tom@tromey.com>
4612
4613         * configure: Rebuild.
4614         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
4615
4616 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
4617
4618         PR server/23158:
4619         * regformats/regdat.sh: Adjust script, following the addition
4620         of the new expedite_regs parameter to init_target_desc.
4621
4622 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
4623     
4624         PR gdb/23127
4625         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
4626         set_gdbarch_significant_addr_bit.
4627         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
4628         set_gdbarch_significant_addr_bit.
4629         * utils.c (address_significant): Update to sign extend addr.
4630
4631 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
4632
4633         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
4634         (xtensa_linux_init_abi): Limit tdep->num_regs by
4635         tdep->num_nopriv_regs.
4636         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
4637         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
4638         not initialized.
4639
4640 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
4641
4642         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
4643
4644 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
4645
4646         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
4647         (I387_MXCSR_INIT_VAL): New constant.
4648         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
4649         buffer if it was supplied by the inferior.
4650         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
4651         (i387_xsave_get_clear_bv): New function.
4652         (i387_supply_xsave): Only read x87 control registers from the
4653         xsave buffer if the feature is enabled, and the state will have
4654         been written, otherwise, provide a suitable default.
4655         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
4656         including x87 control registers.  Update control registers if they
4657         have changed from the default value, and mark features as enabled
4658         as required.
4659         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
4660
4661 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
4662
4663         * spu-tdep.c (info_spu_event_command): Fix output formatting.
4664
4665 2018-05-07  Tom Tromey  <tom@tromey.com>
4666
4667         * configure: Rebuild.
4668         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
4669
4670 2018-05-07  Tom Tromey  <tom@tromey.com>
4671
4672         PR tdep/20362:
4673         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
4674         bit.  Use correct value for VDIV.
4675
4676 2018-05-04  Tom Tromey  <tom@tromey.com>
4677
4678         * configure: Rebuild.
4679         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
4680
4681 2018-05-04  Tom Tromey  <tom@tromey.com>
4682
4683         * linux-record.c (record_linux_system_call) <case
4684         RECORD_SYS_RECVFROM>: Add "break".
4685
4686 2018-05-04  Tom Tromey  <tom@tromey.com>
4687
4688         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
4689         Add missing "break".
4690         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
4691         Add missing "break".
4692
4693 2018-05-04  Tom Tromey  <tom@tromey.com>
4694
4695         * rs6000-tdep.c (ppc_process_record_op4)
4696         (ppc_process_record_op63): Add fall-through comment.
4697
4698 2018-05-04  Tom Tromey  <tom@tromey.com>
4699
4700         * i386-tdep.c (i386_process_record): Add fall-through comment.
4701
4702 2018-05-04  Tom Tromey  <tom@tromey.com>
4703
4704         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
4705         comment.
4706
4707 2018-05-04  Tom Tromey  <tom@tromey.com>
4708
4709         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
4710         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
4711         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
4712         comment.
4713         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
4714         comment.
4715         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
4716         comment.
4717
4718 2018-05-04  Tom Tromey  <tom@tromey.com>
4719
4720         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
4721
4722 2018-05-04  Tom Tromey  <tom@tromey.com>
4723
4724         * s390-tdep.c (s390_process_record): Fix fall-through comments.
4725         * xcoffread.c (scan_xcoff_symtab): Move comment later.
4726         * symfile.c (section_is_mapped): Fix fall-through comment.
4727         * stabsread.c (define_symbol, read_member_functions): Fix
4728         fall-through comment.
4729         * s390-linux-tdep.c (s390_process_record): Fix fall-through
4730         comment.
4731         * remote.c (remote_wait_as): Fix fall-through comment.
4732         * p-exp.y (yylex): Fix fall-through comment.
4733         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
4734         comment.
4735         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
4736         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
4737         * jv-exp.y (yylex): Fix fall-through comment.
4738         * go-exp.y (lex_one_token): Fix fall-through comment.
4739         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
4740         fall-through comment.
4741         * f-exp.y (yylex): Fix fall-through comment.
4742         * dwarf2read.c (process_die): Fix fall-through comments.
4743         * dbxread.c (process_one_symbol): Fix fall-through comment.
4744         * d-exp.y (lex_one_token): Fix fall-through comment.
4745         * cp-name-parser.y (yylex): Fix fall-through comment.
4746         * coffread.c (coff_symtab_read): Fix fall-through comment.
4747         * c-exp.y (lex_one_token): Fix fall-through comment.
4748         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
4749         comment.
4750         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
4751         comment.
4752
4753 2018-05-04  Tom Tromey  <tom@tromey.com>
4754
4755         PR python/22730:
4756         * NEWS: Mention gdb.execute change.
4757         * gdbcmd.h (execute_control_command): Don't declare.
4758         * python/python.c (execute_gdb_command): Use read_command_lines_1,
4759         execute_control_commands, execute_control_commands_to_string.
4760         * cli/cli-script.h (execute_control_commands)
4761         (execute_control_commands_to_string): Declare.
4762         (execute_control_command): Add from_tty parameter.
4763         * cli/cli-script.c (execute_control_commands)
4764         (execute_control_commands_to_string): New functions.
4765         (execute_user_command): Use execute_control_commands.
4766         (execute_control_command_1): Add "from_tty" parameter.  Update.
4767         (execute_control_command): Likewise.
4768
4769 2018-05-04  Tom Tromey  <tom@tromey.com>
4770
4771         PR python/22731:
4772         * NEWS: Mention that breakpoint commands are writable.
4773         * python/py-breakpoint.c (bppy_set_commands): New function.
4774         (breakpoint_object_getset) <"commands">: Use it.
4775
4776 2018-05-04  Tom Tromey  <tom@tromey.com>
4777
4778         * tracepoint.c (actions_command): Update.
4779         * mi/mi-cmd-break.c (mi_command_line_array)
4780         (mi_command_line_array_cnt, mi_command_line_array_ptr)
4781         (mi_read_next_line): Remove.
4782         (mi_cmd_break_commands): Update.
4783         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
4784         function_view.
4785         * cli/cli-script.c (get_command_line): Update.
4786         (process_next_line): Use function_view.  Constify.
4787         (recurse_read_control_structure, read_command_lines)
4788         (read_command_lines_1): Change argument types to function_view.
4789         (do_define_command, document_command): Update.
4790         * breakpoint.h (check_tracepoint_command): Don't declare.
4791         * breakpoint.c (check_tracepoint_command): Remove.
4792         (commands_command_1, create_tracepoint_from_upload): Update.
4793
4794 2018-05-04  Tom Tromey  <tom@tromey.com>
4795
4796         PR gdb/11750:
4797         * cli/cli-script.h (enum command_control_type) <define_control>:
4798         New constant.
4799         * cli/cli-script.c (multi_line_command_p): Handle define_control.
4800         (build_command_line, execute_control_command_1)
4801         (process_next_line): Likewise.
4802         (do_define_command): New function, extracted from define_command.
4803         (define_command): Use it.
4804
4805 2018-05-04  Tom Tromey  <tom@tromey.com>
4806
4807         * tracepoint.c (actions_command): Update.
4808         * cli/cli-script.h (read_command_lines): Update.
4809         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
4810         (MAX_TMPBUF): Remove define.
4811         (define_command): Use string_printf.
4812         (document_command): Likewise.
4813         * breakpoint.c (commands_command_1): Update.
4814
4815 2018-05-04  Tom Tromey  <tom@tromey.com>
4816
4817         * top.c (execute_command): Update.
4818         * cli/cli-script.h (print_command_lines): Now varargs.
4819         * cli/cli-script.c (print_command_lines): Now varargs.
4820         (execute_control_command_1) <case while_control, case if_control>:
4821         Update.
4822
4823 2018-05-04  Tom Tromey  <tom@tromey.com>
4824
4825         * tracepoint.c (all_tracepoint_actions): Rename from
4826         all_tracepoint_actions_and_cleanup.  Change return type.
4827         (actions_command, encode_actions_1, encode_actions)
4828         (trace_dump_actions, tdump_command): Update.
4829         * remote.c (remote_download_command_source): Update.
4830         * python/python.c (gdbpy_eval_from_control_command)
4831         (python_command, python_interactive_command): Update.
4832         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
4833         * guile/guile.c (guile_command)
4834         (gdbscm_eval_from_control_command, guile_command): Update.
4835         * compile/compile.c (compile_code_command)
4836         (compile_print_command, compile_to_object): Update.
4837         * cli/cli-script.h (struct command_lines_deleter): New.
4838         (counted_command_line): New typedef.
4839         (struct command_line): Add constructor, destructor.
4840         <body_list>: Remove.
4841         <body_list_0, body_list_1>: New members.
4842         (command_line_up): Remove typedef.
4843         (read_command_lines, read_command_lines_1, get_command_line):
4844         Update.
4845         (copy_command_lines): Don't declare.
4846         * cli/cli-script.c (build_command_line): Use "new".
4847         (get_command_line): Return counted_command_line.
4848         (print_command_lines, execute_user_command)
4849         (execute_control_command_1, while_command, if_command): Update.
4850         (realloc_body_list): Remove.
4851         (process_next_line, recurse_read_control_structure): Update.
4852         (read_command_lines, read_command_lines_1): Return counted_command_line.
4853         (free_command_lines): Use "delete".
4854         (copy_command_lines): Remove.
4855         (define_command, document_command, show_user_1): Update.
4856         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
4857         a counted_command_line.
4858         * breakpoint.h (counted_command_line): Remove typedef.
4859         (breakpoint_set_commands): Update.
4860         * breakpoint.c (check_no_tracepoint_commands)
4861         (validate_commands_for_breakpoint): Update.
4862         (breakpoint_set_commands): Change commands to be a
4863         counted_command_line.
4864         (commands_command_1, update_dprintf_command_list)
4865         (create_tracepoint_from_upload): Update.
4866
4867 2018-05-04  Tom Tromey  <tom@tromey.com>
4868
4869         * cli/cli-decode.h (cmd_list_element): New constructor.
4870         (~cmd_list_element): New destructor.
4871         (struct cmd_list_element): Add initializers.
4872         * cli/cli-decode.c (do_add_cmd): Use "new".
4873         (delete_cmd): Use "delete".
4874
4875 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
4876             Pedro Alves <palves@redhat.com>
4877
4878         PR breakpoints/19806 and support for PR external/20207.
4879         * NEWS: Mention Aarch64 watchpoint improvements.
4880         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
4881         watchpoints and PR external/20207 watchpoints.
4882         * nat/aarch64-linux-hw-point.c
4883         (kernel_supports_any_contiguous_range): New.
4884         (aarch64_watchpoint_offset): New.
4885         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
4886         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
4887         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
4888         (aarch64_align_watchpoint): New parameters aligned_offset_p and
4889         next_addr_orig_p.  Support PR external/20207 watchpoints.
4890         (aarch64_downgrade_regs): New.
4891         (aarch64_dr_state_insert_one_point): New parameters offset and
4892         addr_orig.
4893         (aarch64_dr_state_remove_one_point): Likewise.
4894         (aarch64_handle_breakpoint): Update caller.
4895         (aarch64_handle_aligned_watchpoint): Likewise.
4896         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
4897         aligned_offset.
4898         (aarch64_linux_set_debug_regs): Remove const from state.  Call
4899         aarch64_downgrade_regs.
4900         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
4901         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
4902         (DR_CONTROL_MASK): ... this.
4903         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
4904         (unsigned int aarch64_watchpoint_offset): New prototype.
4905         (aarch64_linux_set_debug_regs): Remove const from state.
4906         * utils.c (align_up, align_down): Move to ...
4907         * common/common-utils.c (align_up, align_down): ... here.
4908         * utils.h (align_up, align_down): Move to ...
4909         * common/common-utils.h (align_up, align_down): ... here.
4910
4911 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
4912
4913         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
4914         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
4915         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
4916         Re-implement to match the ABI as summarized in GCC's
4917         gcc/config/sparc/sparc.c.  All callers updated.
4918         (sparc32_store_arguments): Remove assertion.
4919
4920 2018-05-04  Tom Tromey  <tom@tromey.com>
4921
4922         * printcmd.c: Don't include tui.h.
4923         (decode_format): Use skip_spaces.
4924
4925 2018-05-04  Tom Tromey  <tom@tromey.com>
4926
4927         PR gdb/22619:
4928         * printcmd.c (last_count): New global.
4929         (x_command): Use saved count when repeating.
4930
4931 2018-05-04  Tom Tromey  <tom@tromey.com>
4932
4933         * nto-procfs.c (do_closedir_cleanup): Remove.
4934         (procfs_pidlist): Use gdb_dir_up.
4935         * procfs.c (do_closedir_cleanup): Remove.
4936         (proc_update_threads): Use gdb_dir_up.
4937         * common/filestuff.h (struct gdb_dir_deleter): New.
4938         (gdb_dir_up): New typedef.
4939
4940 2018-05-04  Tom Tromey  <tom@tromey.com>
4941
4942         * ada-lang.c (print_mention_exception): Use std::string.
4943
4944 2018-05-04  Tom Tromey  <tom@tromey.com>
4945
4946         * ada-lang.c (create_excep_cond_exprs): Update.
4947         (ada_exception_catchpoint_cond_string): Use std::string.
4948
4949 2018-05-04  Tom Tromey  <tom@tromey.com>
4950
4951         * ada-lang.c (xget_renaming_scope): Return std::string.
4952         (old_renaming_is_invisible): Update.
4953
4954 2018-05-04  Tom Tromey  <tom@tromey.com>
4955
4956         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
4957         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
4958
4959 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
4960
4961         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
4962
4963 2018-05-04  Tom Tromey  <tom@tromey.com>
4964
4965         * remote.c (remote_query_supported_append): Change type.
4966         (remote_check_symbols): Update.
4967
4968 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
4969
4970         PR gdb/11420
4971         * configure.ac: Prepend libpython.
4972         * python/python-config.py: Likewise.
4973         * configure: Regenerate.
4974
4975 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
4976
4977         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
4978
4979 2018-05-03  Pedro Alves  <palves@redhat.com>
4980
4981         * s390-linux-nat.c
4982         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
4983         override.  Write 'true' instead of '1'.
4984         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
4985         declaration.
4986
4987 2018-05-02  Pedro Alves  <palves@redhat.com>
4988
4989         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
4990         add_inf_child_target.
4991         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
4992         add_inf_child_target.
4993         * aix-thread.c (aix_thread_target_info): New.
4994         (aix_thread_target) <shortname, longname, doc>: Delete.
4995         <info>: New.
4996         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
4997         add_inf_child_target.
4998         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
4999         add_inf_child_target.
5000         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
5001         add_inf_child_target.
5002         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
5003         add_inf_child_target.
5004         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
5005         add_inf_child_target.
5006         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
5007         add_inf_child_target.
5008         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
5009         add_inf_child_target.
5010         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
5011         add_inf_child_target.
5012         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
5013         add_inf_child_target.
5014         * bfd-target.c (target_bfd_target_info): New.
5015         (target_bfd) <shortname, longname, doc>: Delete.
5016         <info>: New.
5017         * bsd-kvm.c (bsd_kvm_target_info): New.
5018         (bsd_kvm_target) <shortname, longname, doc>: Delete.
5019         <info>: New.
5020         (bsd_kvm_target::open): Rename to ...
5021         (bsd_kvm_target_open): ... this.  Adjust.
5022         * bsd-uthread.c (bsd_uthread_target_info): New.
5023         (bsd_uthread_target) <shortname, longname, doc>: Delete.
5024         <info>: New.
5025         * corefile.c (core_file_command): Adjust.
5026         * corelow.c (core_target_info): New.
5027         (core_target) <shortname, longname, doc>: Delete.
5028         <info>: New.
5029         (core_target::open): Rename to ...
5030         (core_target_open): ... this.  Adjust.
5031         * ctf.c (ctf_target_info): New.
5032         (ctf_target) <shortname, longname, doc>: Delete.
5033         <info>: New.
5034         (ctf_target::open): Rename to ...
5035         (ctf_target_open): ... this.
5036         (_initialize_ctf): Adjust.
5037         * exec.c (exec_target_info): New.
5038         (exec_target) <shortname, longname, doc>: Delete.
5039         <info>: New.
5040         (exec_target::open): Rename to ...
5041         (exec_target_open): ... this.
5042         * gdbcore.h (core_target_open): Declare.
5043         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
5044         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
5045         add_inf_child_target.
5046         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
5047         add_inf_child_target.
5048         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
5049         add_inf_child_target.
5050         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
5051         add_inf_child_target.
5052         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
5053         add_inf_child_target.
5054         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
5055         add_inf_child_target.
5056         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
5057         add_inf_child_target.
5058         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
5059         add_inf_child_target.
5060         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
5061         add_inf_child_target.
5062         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
5063         add_inf_child_target.
5064         * inf-child.c (inf_child_target_info): New.
5065         (inf_child_target::info): New.
5066         (inf_child_open_target): Remove 'target' parameter.  Use
5067         get_native_target instead.
5068         (inf_child_target::open): Delete.
5069         (add_inf_child_target): New.
5070         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
5071         Delete.
5072         <info>: New.
5073         (add_inf_child_target): Declare.
5074         (inf_child_open_target): Declare.
5075         * linux-thread-db.c (thread_db_target_info): New.
5076         (thread_db_target) <shortname, longname, doc>: Delete.
5077         <info>: New.
5078         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
5079         add_inf_child_target.
5080         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
5081         add_inf_child_target.
5082         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
5083         add_inf_child_target.
5084         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
5085         add_inf_child_target.
5086         * make-target-delegates (print_class): Adjust.
5087         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
5088         add_inf_child_target.
5089         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
5090         add_inf_child_target.
5091         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
5092         add_inf_child_target.
5093         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
5094         add_inf_child_target.
5095         * nto-procfs.c (nto_native_target_info): New.
5096         (nto_procfs_target_native) <shortname, longname, doc>:
5097         Delete.
5098         <info>: New.
5099         (nto_procfs_target_info): New.
5100         (nto_procfs_target_procfs) <shortname, longname, doc>:
5101         Delete.
5102         <info>: New.
5103         (init_procfs_targets): Adjust.
5104         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
5105         add_inf_child_target.
5106         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
5107         add_inf_child_target.
5108         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
5109         add_inf_child_target.
5110         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
5111         add_inf_child_target.
5112         * ravenscar-thread.c (ravenscar_target_info): New.
5113         (ravenscar_thread_target) <shortname, longname, doc>:
5114         Delete.
5115         <info>: New.
5116         * record-btrace.c (record_btrace_target_info):
5117         (record_btrace_target) <shortname, longname, doc>: Delete.
5118         <info>: New.
5119         (record_btrace_target::open): Rename to ...
5120         (record_btrace_target_open): ... this.  Adjust.
5121         * record-full.c (record_longname, record_doc): New.
5122         (record_full_base_target) <shortname, longname, doc>: Delete.
5123         <info>: New.
5124         (record_full_target_info): New.
5125         (record_full_target): <shortname>: Delete.
5126         <info>: New.
5127         (record_full_core_open_1, record_full_open_1): Update comments.
5128         (record_full_base_target::open): Rename to ...
5129         (record_full_open): ... this.
5130         (cmd_record_full_restore): Update.
5131         (_initialize_record_full): Update.
5132         * remote-sim.c (remote_sim_target_info): New.
5133         (gdbsim_target) <shortname, longname, doc>: Delete.
5134         <info>: New.
5135         (gdbsim_target::open): Rename to ...
5136         (gdbsim_target_open): ... this.
5137         (_initialize_remote_sim): Adjust.
5138         * remote.c (remote_doc): New.
5139         (remote_target_info): New.
5140         (remote_target) <shortname, longname, doc>: Delete.
5141         <info>: New.
5142         (extended_remote_target_info): New.
5143         (extended_remote_target) <shortname, longname, doc>: Delete.
5144         <info>: New.
5145         (remote_target::open_1): Make static.  Adjust.
5146         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
5147         * s390-linux-nat.c (_initialize_s390_nat): Use
5148         add_inf_child_target.
5149         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
5150         add_inf_child_target.
5151         * sol-thread.c (thread_db_target_info): New.
5152         (sol_thread_target) <shortname, longname, doc>: Delete.
5153         <info>: New.
5154         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
5155         add_inf_child_target.
5156         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
5157         add_inf_child_target.
5158         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
5159         add_inf_child_target.
5160         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
5161         add_inf_child_target.
5162         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
5163         add_inf_child_target.
5164         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
5165         add_inf_child_target.
5166         * spu-linux-nat.c (_initialize_spu_nat): Use
5167         add_inf_child_target.
5168         * spu-multiarch.c (spu_multiarch_target_info): New.
5169         (spu_multiarch_target) <shortname, longname, doc>: Delete.
5170         <info>: New.
5171         * target-delegates.c: Regenerate.
5172         * target.c: Include <unordered_map>.
5173         (target_ops_p): Delete.
5174         (DEF_VEC_P(target_ops_p)): Delete.
5175         (target_factories): New.
5176         (test_target_info): New.
5177         (test_target_ops::info): New.
5178         (open_target): Adjust to use target_factories.
5179         (add_target_with_completer): Rename to ...
5180         (add_target): ... this.  Change prototype.  Register target_info
5181         and open callback in target_factories.  Register target_info in
5182         command context instead of target_ops.
5183         (add_target): Delete old implementation.
5184         (add_deprecated_target_alias): Change prototype.  Adjust.
5185         (the_native_target): New.
5186         (set_native_target, get_native_target): New.
5187         (find_default_run_target): Use the_native_target.
5188         (find_attach_target, find_run_target): Simplify.
5189         (target_ops::open): Delete.
5190         (dummy_target_info): New.
5191         (dummy_target::shortname, dummy_target::longname)
5192         (dummy_target::doc): Delete.
5193         (dummy_target::info): New.
5194         (debug_target::shortname, debug_target::longname)
5195         (debug_target::doc): Delete.
5196         (debug_target::info): New.
5197         * target.h (struct target_info): New.
5198         (target_ops::~target_ops): Add comment.
5199         (target_ops::info): New.
5200         (target_ops::shortname, target_ops::longname, target_ops::doc): No
5201         longer virtual.  Implement in terms of target_info.
5202         (set_native_target, get_native_target): Declare.
5203         (target_open_ftype): New.
5204         (add_target, add_target_with_completer)
5205         (add_deprecated_target_alias): Change prototype.
5206         (test_target) <shortname, longname, doc>: Delete.
5207         <info>: New.
5208         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
5209         add_inf_child_target.
5210         * tracefile-tfile.c (tfile_target_info): New.
5211         (tfile_target) <shortname, longname, doc>: Delete.
5212         <info>: New.
5213         (tfile_target::open): Rename to ...
5214         (tfile_target_open): ... this.
5215         (_initialize_tracefile_tfile): Adjust.
5216         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
5217         add_inf_child_target.
5218         * windows-nat.c (_initialize_windows_nat): Use
5219         add_inf_child_target.
5220         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
5221         add_inf_child_target.
5222
5223 2018-05-02  Pedro Alves  <palves@redhat.com>
5224
5225         * linux-nat.h (linux_nat_target) <low_new_thread,
5226         low_delete_thread, low_new_fork, low_forget_process,
5227         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
5228         New virtual methods.
5229         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5230         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
5231         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
5232         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5233         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
5234         Delete.
5235         * linux-fork.c (delete_fork): Adjust to call low method.
5236         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
5237         (linux_nat_new_fork, linux_nat_forget_process_hook)
5238         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
5239         (linux_nat_status_is_event):
5240         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
5241         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
5242         to call low method.
5243         (sigtrap_is_event): Rename to ...
5244         (linux_nat_target::low_status_is_event): ... this.
5245         (linux_nat_set_status_is_event): Delete.
5246         (save_stop_reason, linux_nat_wait_1)
5247         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
5248         low methods.
5249         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
5250         (linux_nat_set_new_fork, linux_nat_set_forget_process)
5251         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
5252         (linux_nat_set_prepare_to_resume): Delete.
5253         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
5254         low virtual methods.
5255         * amd64-linux-nat.c: Likewise.
5256         * arm-linux-nat.c: Likewise.
5257         * i386-linux-nat.c: Likewise.
5258         * ia64-linux-nat.c: Likewise.
5259         * mips-linux-nat.c: Likewise.
5260         * ppc-linux-nat.c: Likewise.
5261         * s390-linux-nat.c: Likewise.
5262         * sparc64-linux-nat.c: Likewise.
5263         * x86-linux-nat.c: Likewise.
5264         * x86-linux-nat.h: Include "nat/x86-linux.h".
5265         (x86_linux_nat_target) <low_new_fork, low_forget_process,
5266         low_prepare_to_resume, low_new_thread, low_delete_thread>:
5267         Override methods.
5268
5269 2018-05-02  Pedro Alves  <palves@redhat.com>
5270
5271         * target.h (target_ops)
5272         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
5273         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
5274         stopped_by_watchpoint, have_continuable_watchpoint,
5275         stopped_data_address, watchpoint_addr_within_range,
5276         can_accel_watchpoint_condition, can_run, thread_alive,
5277         has_all_memory, has_memory, has_stack, has_registers,
5278         has_execution, can_async_p, is_async_p, supports_non_stop,
5279         always_non_stop_p, can_execute_reverse, supports_multi_process,
5280         supports_enable_disable_tracepoint,
5281         supports_disable_randomization, supports_string_tracing,
5282         supports_evaluation_of_breakpoint_conditions,
5283         can_run_breakpoint_commands, filesystem_is_local,
5284         can_download_tracepoint, get_trace_state_variable_value,
5285         set_trace_notes, get_tib_address, use_agent, can_use_agent,
5286         record_is_replaying, record_will_replay,
5287         augmented_libraries_svr4_read>: Adjust to return bool.
5288         * aarch64-linux-nat.c: All implementations adjusted.
5289         * aix-thread.c: All implementations adjusted.
5290         * arm-linux-nat.c: All implementations adjusted.
5291         * breakpoint.c: All implementations adjusted.
5292         * bsd-kvm.c: All implementations adjusted.
5293         * bsd-uthread.c: All implementations adjusted.
5294         * corelow.c: All implementations adjusted.
5295         * ctf.c: All implementations adjusted.
5296         * darwin-nat.c: All implementations adjusted.
5297         * darwin-nat.h: All implementations adjusted.
5298         * exec.c: All implementations adjusted.
5299         * fbsd-nat.c: All implementations adjusted.
5300         * fbsd-nat.h: All implementations adjusted.
5301         * gnu-nat.c: All implementations adjusted.
5302         * gnu-nat.h: All implementations adjusted.
5303         * go32-nat.c: All implementations adjusted.
5304         * ia64-linux-nat.c: All implementations adjusted.
5305         * inf-child.c: All implementations adjusted.
5306         * inf-child.h: All implementations adjusted.
5307         * inf-ptrace.c: All implementations adjusted.
5308         * inf-ptrace.h: All implementations adjusted.
5309         * linux-nat.c: All implementations adjusted.
5310         * linux-nat.h: All implementations adjusted.
5311         * mips-linux-nat.c: All implementations adjusted.
5312         * nto-procfs.c: All implementations adjusted.
5313         * ppc-linux-nat.c: All implementations adjusted.
5314         * procfs.c: All implementations adjusted.
5315         * ravenscar-thread.c: All implementations adjusted.
5316         * record-btrace.c: All implementations adjusted.
5317         * record-full.c: All implementations adjusted.
5318         * remote-sim.c: All implementations adjusted.
5319         * remote.c: All implementations adjusted.
5320         * s390-linux-nat.c: All implementations adjusted.
5321         * sol-thread.c: All implementations adjusted.
5322         * spu-multiarch.c: All implementations adjusted.
5323         * target-delegates.c: All implementations adjusted.
5324         * target.c: All implementations adjusted.
5325         * target.h: All implementations adjusted.
5326         * tracefile-tfile.c: All implementations adjusted.
5327         * tracefile.c: All implementations adjusted.
5328         * tracefile.h: All implementations adjusted.
5329         * windows-nat.c: All implementations adjusted.
5330         * x86-linux-nat.h: All implementations adjusted.
5331         * x86-nat.h: All implementations adjusted.
5332
5333 2018-05-02  Pedro Alves  <palves@redhat.com>
5334
5335         * make-target-delegates (scan_target_h): Don't trim lines here.
5336         Replace sequences of tabs and/or whitespace with a single
5337         whitespace.
5338         (top level, parsing methods): Trim each line before processing it
5339         here.
5340
5341 2018-05-02  Pedro Alves  <palves@redhat.com>
5342             John Baldwin  <jhb@freebsd.org>
5343
5344         * target.h (enum strata) <debug_stratum>: New.
5345         (struct target_ops) <all delegation methods>: Replace by C++
5346         virtual methods, and drop "to_" prefix.  All references updated
5347         throughout.
5348         <to_shortname, to_longname, to_doc, to_data,
5349         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
5350         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
5351         virtual methods.  All references updated throughout.
5352         <can_attach, supports_terminal_ours, can_create_inferior,
5353         get_thread_control_capabilities, attach_no_wait>: New
5354         virtual methods.
5355         <insert_breakpoint, remove_breakpoint>: Now
5356         TARGET_DEFAULT_NORETURN methods.
5357         <info_proc>: Now returns bool.
5358         <to_magic>: Delete.
5359         (OPS_MAGIC): Delete.
5360         (current_target): Delete.  All references replaced by references
5361         to ...
5362         (target_stack): ... this.  New.
5363         (target_shortname, target_longname): Adjust.
5364         (target_can_run): Now a function declaration.
5365         (default_child_has_all_memory, default_child_has_memory)
5366         (default_child_has_stack, default_child_has_registers)
5367         (default_child_has_execution): Remove target_ops parameter.
5368         (complete_target_initialization): Delete.
5369         (memory_breakpoint_target): New template class.
5370         (test_target_ops): Refactor as a C++ class with virtual methods.
5371         * make-target-delegates (NAME_PART): Tighten.
5372         (POINTER_PART, CP_SYMBOL): New.
5373         (SIMPLE_RETURN_PART): Reimplement.
5374         (VEC_RETURN_PART): Expect less.
5375         (RETURN_PART, VIRTUAL_PART): New.
5376         (METHOD): Adjust to C++ virtual methods.
5377         (scan_target_h): Remove reference to C99.
5378         (dname): Output "target_ops::" prefix.
5379         (write_function_header): Adjust to output a C++ class method.
5380         (write_declaration): New.
5381         (write_delegator): Adjust to output a C++ class method.
5382         (tdname): Output "dummy_target::" prefix.
5383         (write_tdefault, write_debugmethod): Adjust to output a C++ class
5384         method.
5385         (tdefault_names, debug_names): Delete.
5386         (return_types, tdefaults, styles, argtypes_array): New.
5387         (top level): All methods are delegators.
5388         (print_class): New.
5389         (top level): Print dummy_target and debug_target classes.
5390         * target-delegates.c: Regenerate.
5391         * target-debug.h (target_debug_print_enum_info_proc_what)
5392         (target_debug_print_thread_control_capabilities)
5393         (target_debug_print_thread_info_p): New.
5394         * target.c (dummy_target): Delete.
5395         (the_dummy_target, the_debug_target): New.
5396         (target_stack): Now extern.
5397         (set_targetdebug): Push/unpush debug target.
5398         (default_child_has_all_memory, default_child_has_memory)
5399         (default_child_has_stack, default_child_has_registers)
5400         (default_child_has_execution): Remove target_ops parameter.
5401         (complete_target_initialization): Delete.
5402         (add_target_with_completer): No longer call
5403         complete_target_initialization.
5404         (target_supports_terminal_ours): Use regular delegation.
5405         (update_current_target): Delete.
5406         (push_target): No longer check magic number.  Don't call
5407         update_current_target.
5408         (unpush_target): Don't call update_current_target.
5409         (target_is_pushed): No longer check magic number.
5410         (target_require_runnable): Skip for all stratums over
5411         process_stratum.
5412         (target_ops::info_proc): New.
5413         (target_info_proc): Use find_target_at and
5414         find_default_run_target.
5415         (target_supports_disable_randomization): Use regular delegation.
5416         (target_get_osdata): Use find_target_at.
5417         (target_ops::open, target_ops::close, target_ops::can_attach)
5418         (target_ops::attach, target_ops::can_create_inferior)
5419         (target_ops::create_inferior, target_ops::can_run)
5420         (target_can_run): New.
5421         (default_fileio_target): Use regular delegation.
5422         (target_ops::fileio_open, target_ops::fileio_pwrite)
5423         (target_ops::fileio_pread, target_ops::fileio_fstat)
5424         (target_ops::fileio_close, target_ops::fileio_unlink)
5425         (target_ops::fileio_readlink): New.
5426         (target_fileio_open_1, target_fileio_unlink)
5427         (target_fileio_readlink): Always call the target method.  Handle
5428         FILEIO_ENOSYS.
5429         (return_zero, return_zero_has_execution): Delete.
5430         (init_dummy_target): Delete.
5431         (dummy_target::dummy_target, dummy_target::shortname)
5432         (dummy_target::longname, dummy_target::doc)
5433         (debug_target::debug_target, debug_target::shortname)
5434         (debug_target::longname, debug_target::doc): New.
5435         (target_supports_delete_record): Use regular delegation.
5436         (setup_target_debug): Delete.
5437         (maintenance_print_target_stack): Skip debug_stratum.
5438         (initialize_targets): Instantiate the_dummy_target and
5439         the_debug_target.
5440         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
5441         use target_stack.
5442         (target_auxv_search, fprint_target_auxv): Adjust.
5443         (info_auxv_command): Adjust to use target_stack.
5444         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
5445         * exceptions.c (print_flush): Handle a NULL target_stack.
5446         * regcache.c (target_ops_no_register): Refactor as class with
5447         virtual methods.
5448
5449         * exec.c (exec_target): New class.
5450         (exec_ops): Now an exec_target.
5451         (exec_open, exec_close_1, exec_get_section_table)
5452         (exec_xfer_partial, exec_files_info, exec_has_memory)
5453         (exec_make_note_section): Refactor as exec_target methods.
5454         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
5455         Delete.
5456         (exec_target::find_memory_regions): New.
5457         (_initialize_exec): Don't call init_exec_ops.
5458         * gdbcore.h (exec_file_clear): Delete.
5459
5460         * corefile.c (core_target): Delete.
5461         (core_file_command): Adjust.
5462         * corelow.c (core_target): New class.
5463         (the_core_target): New.
5464         (core_close): Remove target_ops parameter.
5465         (core_close_cleanup): Adjust.
5466         (core_target::close): New.
5467         (core_open, core_detach, get_core_registers, core_files_info)
5468         (core_xfer_partial, core_thread_alive, core_read_description)
5469         (core_pid_to_str, core_thread_name, core_has_memory)
5470         (core_has_stack, core_has_registers, core_info_proc): Rework as
5471         core_target methods.
5472         (ignore, core_remove_breakpoint, init_core_ops): Delete.
5473         (_initialize_corelow): Initialize the_core_target.
5474         * gdbcore.h (core_target): Delete.
5475         (the_core_target): New.
5476
5477         * ctf.c: (ctf_target): New class.
5478         (ctf_ops): Now a ctf_target.
5479         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
5480         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
5481         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
5482         methods.
5483         (init_ctf_ops): Delete.
5484         (_initialize_ctf): Don't call it.
5485         * tracefile-tfile.c (tfile_target): New class.
5486         (tfile_ops): Now a tfile_target.
5487         (tfile_open, tfile_close, tfile_files_info)
5488         (tfile_get_tracepoint_status, tfile_trace_find)
5489         (tfile_fetch_registers, tfile_xfer_partial)
5490         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
5491         Refactor as tfile_target methods.
5492         (tfile_xfer_partial_features): Remove target_ops parameter.
5493         (init_tfile_ops): Delete.
5494         (_initialize_tracefile_tfile): Don't call it.
5495         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
5496         (tracefile_has_stack, tracefile_has_registers)
5497         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
5498         tracefile_target methods.
5499         (init_tracefile_ops): Delete.
5500         (tracefile_target::tracefile_target): New.
5501         * tracefile.h: Include "target.h".
5502         (tracefile_target): New class.
5503         (init_tracefile_ops): Delete.
5504
5505         * spu-multiarch.c (spu_multiarch_target): New class.
5506         (spu_ops): Now a spu_multiarch_target.
5507         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
5508         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
5509         (spu_search_memory, spu_mourn_inferior): Refactor as
5510         spu_multiarch_target methods.
5511         (init_spu_ops): Delete.
5512         (_initialize_spu_multiarch): Remove references to init_spu_ops,
5513         complete_target_initialization.
5514
5515         * ravenscar-thread.c (ravenscar_thread_target): New class.
5516         (ravenscar_ops): Now a ravenscar_thread_target.
5517         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
5518         (ravenscar_thread_alive, ravenscar_pid_to_str)
5519         (ravenscar_fetch_registers, ravenscar_store_registers)
5520         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
5521         (ravenscar_stopped_by_hw_breakpoint)
5522         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
5523         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
5524         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
5525         methods.
5526         (init_ravenscar_thread_ops): Delete.
5527         (_initialize_ravenscar): Remove references to
5528         init_ravenscar_thread_ops and complete_target_initialization.
5529
5530         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
5531         (bsd_uthread_target): New class.
5532         (bsd_uthread_ops): Now a bsd_uthread_target.
5533         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
5534         (bsd_uthread_close, bsd_uthread_mourn_inferior)
5535         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
5536         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
5537         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
5538         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
5539         (bsd_uthread_target): Delete function.
5540         (_initialize_bsd_uthread): Remove reference to
5541         complete_target_initialization.
5542
5543         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
5544         (target_bfd): ... this new class.
5545         (target_bfd_xfer_partial, target_bfd_get_section_table)
5546         (target_bfd_close): Refactor as target_bfd methods.
5547         (target_bfd::~target_bfd): New.
5548         (target_bfd_reopen): Adjust.
5549         (target_bfd::close): New.
5550
5551         * record-btrace.c (record_btrace_target): New class.
5552         (record_btrace_ops): Now a record_btrace_target.
5553         (record_btrace_open, record_btrace_stop_recording)
5554         (record_btrace_disconnect, record_btrace_close)
5555         (record_btrace_async, record_btrace_info)
5556         (record_btrace_insn_history, record_btrace_insn_history_range)
5557         (record_btrace_insn_history_from, record_btrace_call_history)
5558         (record_btrace_call_history_range)
5559         (record_btrace_call_history_from, record_btrace_record_method)
5560         (record_btrace_is_replaying, record_btrace_will_replay)
5561         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
5562         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
5563         (record_btrace_store_registers, record_btrace_prepare_to_store)
5564         (record_btrace_to_get_unwinder)
5565         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
5566         (record_btrace_commit_resume, record_btrace_wait)
5567         (record_btrace_stop, record_btrace_can_execute_reverse)
5568         (record_btrace_stopped_by_sw_breakpoint)
5569         (record_btrace_supports_stopped_by_sw_breakpoint)
5570         (record_btrace_stopped_by_hw_breakpoint)
5571         (record_btrace_supports_stopped_by_hw_breakpoint)
5572         (record_btrace_update_thread_list, record_btrace_thread_alive)
5573         (record_btrace_goto_begin, record_btrace_goto_end)
5574         (record_btrace_goto, record_btrace_stop_replaying_all)
5575         (record_btrace_execution_direction)
5576         (record_btrace_prepare_to_generate_core)
5577         (record_btrace_done_generating_core): Refactor as
5578         record_btrace_target methods.
5579         (init_record_btrace_ops): Delete.
5580         (_initialize_record_btrace): Remove reference to
5581         init_record_btrace_ops.
5582         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
5583         the execution_direction global.
5584         (record_full_base_target, record_full_target)
5585         (record_full_core_target): New classes.
5586         (record_full_ops): Now a record_full_target.
5587         (record_full_core_ops): Now a record_full_core_target.
5588         (record_full_target::detach, record_full_target::disconnect)
5589         (record_full_core_target::disconnect)
5590         (record_full_target::mourn_inferior, record_full_target::kill):
5591         New.
5592         (record_full_open, record_full_close, record_full_async): Refactor
5593         as methods of the record_full_base_target class.
5594         (record_full_resume, record_full_commit_resume): Refactor
5595         as methods of the record_full_target class.
5596         (record_full_wait, record_full_stopped_by_watchpoint)
5597         (record_full_stopped_data_address)
5598         (record_full_stopped_by_sw_breakpoint)
5599         (record_full_supports_stopped_by_sw_breakpoint)
5600         (record_full_stopped_by_hw_breakpoint)
5601         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
5602         methods of the record_full_base_target class.
5603         (record_full_store_registers, record_full_xfer_partial)
5604         (record_full_insert_breakpoint, record_full_remove_breakpoint):
5605         Refactor as methods of the record_full_target class.
5606         (record_full_can_execute_reverse, record_full_get_bookmark)
5607         (record_full_goto_bookmark, record_full_execution_direction)
5608         (record_full_record_method, record_full_info, record_full_delete)
5609         (record_full_is_replaying, record_full_will_replay)
5610         (record_full_goto_begin, record_full_goto_end, record_full_goto)
5611         (record_full_stop_replaying): Refactor as methods of the
5612         record_full_base_target class.
5613         (record_full_core_resume, record_full_core_kill)
5614         (record_full_core_fetch_registers)
5615         (record_full_core_prepare_to_store)
5616         (record_full_core_store_registers, record_full_core_xfer_partial)
5617         (record_full_core_insert_breakpoint)
5618         (record_full_core_remove_breakpoint)
5619         (record_full_core_has_execution): Refactor
5620         as methods of the record_full_core_target class.
5621         (record_full_base_target::supports_delete_record): New.
5622         (init_record_full_ops): Delete.
5623         (init_record_full_core_ops): Delete.
5624         (record_full_save): Refactor as method of the
5625         record_full_base_target class.
5626         (_initialize_record_full): Remove references to
5627         init_record_full_ops and init_record_full_core_ops.
5628
5629         * remote.c (remote_target, extended_remote_target): New classes.
5630         (remote_ops): Now a remote_target.
5631         (extended_remote_ops): Now an extended_remote_target.
5632         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
5633         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
5634         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
5635         (remote_pass_signals, remote_set_syscall_catchpoint)
5636         (remote_program_signals, )
5637         (remote_thread_always_alive): Remove target_ops parameter.
5638         (remote_thread_alive, remote_thread_name)
5639         (remote_update_thread_list, remote_threads_extra_info)
5640         (remote_static_tracepoint_marker_at)
5641         (remote_static_tracepoint_markers_by_strid)
5642         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
5643         (remote_open): Refactor as methods of remote_target.
5644         (extended_remote_open, extended_remote_detach)
5645         (extended_remote_attach, extended_remote_post_attach):
5646         (extended_remote_supports_disable_randomization)
5647         (extended_remote_create_inferior): : Refactor as method of
5648         extended_remote_target.
5649         (remote_set_permissions, remote_open_1, remote_detach)
5650         (remote_follow_fork, remote_follow_exec, remote_disconnect)
5651         (remote_resume, remote_commit_resume, remote_stop)
5652         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
5653         (remote_terminal_ours, remote_wait, remote_fetch_registers)
5654         (remote_prepare_to_store, remote_store_registers)
5655         (remote_flash_erase, remote_flash_done, remote_files_info)
5656         (remote_kill, remote_mourn, remote_insert_breakpoint)
5657         (remote_remove_breakpoint, remote_insert_watchpoint)
5658         (remote_watchpoint_addr_within_range)
5659         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
5660         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
5661         (remote_supports_stopped_by_sw_breakpoint)
5662         (remote_stopped_by_hw_breakpoint)
5663         (remote_supports_stopped_by_hw_breakpoint)
5664         (remote_stopped_by_watchpoint, remote_stopped_data_address)
5665         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
5666         (remote_verify_memory): Refactor as methods of remote_target.
5667         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
5668         parameter.
5669         (remote_xfer_partial, remote_get_memory_xfer_limit)
5670         (remote_search_memory, remote_rcmd, remote_memory_map)
5671         (remote_pid_to_str, remote_get_thread_local_address)
5672         (remote_get_tib_address, remote_read_description): Refactor as
5673         methods of remote_target.
5674         (remote_target::fileio_open, remote_target::fileio_pwrite)
5675         (remote_target::fileio_pread, remote_target::fileio_close): New.
5676         (remote_hostio_readlink, remote_hostio_fstat)
5677         (remote_filesystem_is_local, remote_can_execute_reverse)
5678         (remote_supports_non_stop, remote_supports_disable_randomization)
5679         (remote_supports_multi_process, remote_supports_cond_breakpoints)
5680         (remote_supports_enable_disable_tracepoint)
5681         (remote_supports_string_tracing)
5682         (remote_can_run_breakpoint_commands, remote_trace_init)
5683         (remote_download_tracepoint, remote_can_download_tracepoint)
5684         (remote_download_trace_state_variable, remote_enable_tracepoint)
5685         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
5686         (remote_trace_start, remote_get_trace_status)
5687         (remote_get_tracepoint_status, remote_trace_stop)
5688         (remote_trace_find, remote_get_trace_state_variable_value)
5689         (remote_save_trace_data, remote_get_raw_trace_data)
5690         (remote_set_disconnected_tracing, remote_core_of_thread)
5691         (remote_set_circular_trace_buffer, remote_traceframe_info)
5692         (remote_get_min_fast_tracepoint_insn_len)
5693         (remote_set_trace_buffer_size, remote_set_trace_notes)
5694         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
5695         (remote_disable_btrace, remote_teardown_btrace)
5696         (remote_read_btrace, remote_btrace_conf)
5697         (remote_augmented_libraries_svr4_read, remote_load)
5698         (remote_pid_to_exec_file, remote_can_do_single_step)
5699         (remote_execution_direction, remote_thread_handle_to_thread_info):
5700         Refactor as methods of remote_target.
5701         (init_remote_ops, init_extended_remote_ops): Delete.
5702         (remote_can_async_p, remote_is_async_p, remote_async)
5703         (remote_thread_events, remote_upload_tracepoints)
5704         (remote_upload_trace_state_variables): Refactor as methods of
5705         remote_target.
5706         (_initialize_remote): Remove references to init_remote_ops and
5707         init_extended_remote_ops.
5708
5709         * remote-sim.c (gdbsim_target): New class.
5710         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
5711         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
5712         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
5713         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
5714         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
5715         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
5716         Refactor as methods of gdbsim_target.
5717         (gdbsim_ops): Now a gdbsim_target.
5718         (init_gdbsim_ops): Delete.
5719         (gdbsim_cntrl_c): Adjust.
5720         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
5721
5722         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
5723         (the_amd64_linux_nat_target): New.
5724         (amd64_linux_fetch_inferior_registers)
5725         (amd64_linux_store_inferior_registers): Refactor as methods of
5726         amd64_linux_nat_target.
5727         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
5728         * i386-linux-nat.c: Don't include "linux-nat.h".
5729         (i386_linux_nat_target): New class.
5730         (the_i386_linux_nat_target): New.
5731         (i386_linux_fetch_inferior_registers)
5732         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
5733         as methods of i386_linux_nat_target.
5734         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
5735         * inf-child.c (inf_child_ops): Delete.
5736         (inf_child_fetch_inferior_registers)
5737         (inf_child_store_inferior_registers): Delete.
5738         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
5739         methods of inf_child_target.
5740         (inf_child_target::supports_terminal_ours)
5741         (inf_child_target::terminal_init)
5742         (inf_child_target::terminal_inferior)
5743         (inf_child_target::terminal_ours_for_output)
5744         (inf_child_target::terminal_ours, inf_child_target::interrupt)
5745         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
5746         New.
5747         (inf_child_open, inf_child_disconnect, inf_child_close)
5748         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
5749         (inf_child_post_startup_inferior, inf_child_can_run)
5750         (inf_child_pid_to_exec_file): Refactor as methods of
5751         inf_child_target.
5752         (inf_child_follow_fork): Delete.
5753         (inf_child_target::can_create_inferior)
5754         (inf_child_target::can_attach): New.
5755         (inf_child_target::has_all_memory, inf_child_target::has_memory)
5756         (inf_child_target::has_stack, inf_child_target::has_registers)
5757         (inf_child_target::has_execution): New.
5758         (inf_child_fileio_open, inf_child_fileio_pwrite)
5759         (inf_child_fileio_pread, inf_child_fileio_fstat)
5760         (inf_child_fileio_close, inf_child_fileio_unlink)
5761         (inf_child_fileio_readlink, inf_child_use_agent)
5762         (inf_child_can_use_agent): Refactor as methods of
5763         inf_child_target.
5764         (return_zero, inf_child_target): Delete.
5765         (inf_child_target::inf_child_target): New.
5766         * inf-child.h: Include "target.h".
5767         (inf_child_target): Delete function prototype.
5768         (inf_child_target): New class.
5769         (inf_child_open_target, inf_child_mourn_inferior)
5770         (inf_child_maybe_unpush_target): Delete.
5771         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
5772         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
5773         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
5774         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
5775         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
5776         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
5777         (inf_ptrace_wait, inf_ptrace_xfer_partial)
5778         (inf_ptrace_thread_alive, inf_ptrace_files_info)
5779         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
5780         methods of inf_ptrace_target.
5781         (inf_ptrace_target): Delete function.
5782         * inf-ptrace.h: Include "inf-child.h".
5783         (inf_ptrace_target): Delete function declaration.
5784         (inf_ptrace_target): New class.
5785         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
5786         * linux-nat.c (linux_target): New.
5787         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
5788         (linux_nat_target::~linux_nat_target): New.
5789         (linux_child_post_attach, linux_child_post_startup_inferior)
5790         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
5791         (linux_child_remove_fork_catchpoint)
5792         (linux_child_insert_vfork_catchpoint)
5793         (linux_child_remove_vfork_catchpoint)
5794         (linux_child_insert_exec_catchpoint)
5795         (linux_child_remove_exec_catchpoint)
5796         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
5797         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
5798         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
5799         (linux_nat_stopped_data_address)
5800         (linux_nat_stopped_by_sw_breakpoint)
5801         (linux_nat_supports_stopped_by_sw_breakpoint)
5802         (linux_nat_stopped_by_hw_breakpoint)
5803         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
5804         (linux_nat_kill, linux_nat_mourn_inferior)
5805         (linux_nat_xfer_partial, linux_nat_thread_alive)
5806         (linux_nat_update_thread_list, linux_nat_pid_to_str)
5807         (linux_nat_thread_name, linux_child_pid_to_exec_file)
5808         (linux_child_static_tracepoint_markers_by_strid)
5809         (linux_nat_is_async_p, linux_nat_can_async_p)
5810         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
5811         (linux_nat_supports_multi_process)
5812         (linux_nat_supports_disable_randomization, linux_nat_async)
5813         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
5814         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
5815         (linux_nat_fileio_open, linux_nat_fileio_readlink)
5816         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
5817         methods of linux_nat_target.
5818         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
5819         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
5820         parameter.
5821         (check_stopped_by_watchpoint): Adjust.
5822         (linux_xfer_partial): Delete.
5823         (linux_target_install_ops, linux_target, linux_nat_add_target):
5824         Delete.
5825         (linux_nat_target::linux_nat_target): New.
5826         * linux-nat.h: Include "inf-ptrace.h".
5827         (linux_nat_target): New.
5828         (linux_target, linux_target_install_ops, linux_nat_add_target):
5829         Delete function declarations.
5830         (linux_target): Declare global.
5831         * linux-thread-db.c (thread_db_target): New.
5832         (thread_db_target::thread_db_target): New.
5833         (thread_db_ops): Delete.
5834         (the_thread_db_target): New.
5835         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
5836         (thread_db_update_thread_list, thread_db_pid_to_str)
5837         (thread_db_extra_thread_info)
5838         (thread_db_thread_handle_to_thread_info)
5839         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
5840         (thread_db_resume): Refactor as methods of thread_db_target.
5841         (init_thread_db_ops): Delete.
5842         (_initialize_thread_db): Remove reference to init_thread_db_ops.
5843         * x86-linux-nat.c: Don't include "linux-nat.h".
5844         (super_post_startup_inferior): Delete.
5845         (x86_linux_nat_target::~x86_linux_nat_target): New.
5846         (x86_linux_child_post_startup_inferior)
5847         (x86_linux_read_description, x86_linux_enable_btrace)
5848         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
5849         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
5850         methods of x86_linux_nat_target.
5851         (x86_linux_create_target): Delete.  Bits folded ...
5852         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
5853         pointer.
5854         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
5855         (x86_linux_nat_target): New class.
5856         (x86_linux_create_target): Delete.
5857         (x86_linux_add_target): Now takes a linux_nat_target pointer.
5858         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
5859         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
5860         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
5861         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
5862         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
5863         make extern.
5864         (x86_use_watchpoints): Delete.
5865         * x86-nat.h: Include "breakpoint.h" and "target.h".
5866         (x86_use_watchpoints): Delete.
5867         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
5868         (x86_stopped_by_watchpoint, x86_stopped_data_address)
5869         (x86_insert_watchpoint, x86_remove_watchpoint)
5870         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
5871         (x86_stopped_by_hw_breakpoint): New declarations.
5872         (x86_nat_target): New template class.
5873
5874         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
5875         (the_ppc_linux_nat_target): New.
5876         (ppc_linux_fetch_inferior_registers)
5877         (ppc_linux_can_use_hw_breakpoint)
5878         (ppc_linux_region_ok_for_hw_watchpoint)
5879         (ppc_linux_ranged_break_num_registers)
5880         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
5881         (ppc_linux_insert_mask_watchpoint)
5882         (ppc_linux_remove_mask_watchpoint)
5883         (ppc_linux_can_accel_watchpoint_condition)
5884         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
5885         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
5886         (ppc_linux_watchpoint_addr_within_range)
5887         (ppc_linux_masked_watch_num_registers)
5888         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
5889         (ppc_linux_read_description): Refactor as methods of
5890         ppc_linux_nat_target.
5891         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
5892
5893         * procfs.c (procfs_xfer_partial): Delete forward declaration.
5894         (procfs_target): New class.
5895         (the_procfs_target): New.
5896         (procfs_target): Delete function.
5897         (procfs_auxv_parse, procfs_attach, procfs_detach)
5898         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
5899         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
5900         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
5901         (procfs_create_inferior, procfs_update_thread_list)
5902         (procfs_thread_alive, procfs_pid_to_str)
5903         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
5904         (procfs_stopped_data_address, procfs_insert_watchpoint)
5905         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
5906         (proc_find_memory_regions, procfs_info_proc)
5907         (procfs_make_note_section): Refactor as methods of procfs_target.
5908         (_initialize_procfs): Adjust.
5909         * sol-thread.c (sol_thread_target): New class.
5910         (sol_thread_ops): Now a sol_thread_target.
5911         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
5912         (sol_thread_fetch_registers, sol_thread_store_registers)
5913         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
5914         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
5915         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
5916         (init_sol_thread_ops): Delete.
5917         (_initialize_sol_thread): Adjust.  Remove references to
5918         init_sol_thread_ops and complete_target_initialization.
5919
5920         * windows-nat.c (windows_nat_target): New class.
5921         (windows_fetch_inferior_registers)
5922         (windows_store_inferior_registers, windows_resume, windows_wait)
5923         (windows_attach, windows_detach, windows_pid_to_exec_file)
5924         (windows_files_info, windows_create_inferior)
5925         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
5926         (windows_close, windows_pid_to_str, windows_xfer_partial)
5927         (windows_get_tib_address, windows_get_ada_task_ptid)
5928         (windows_thread_name, windows_thread_alive): Refactor as
5929         windows_nat_target methods.
5930         (do_initial_windows_stuff): Adjust.
5931         (windows_target): Delete function.
5932         (_initialize_windows_nat): Adjust.
5933
5934         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
5935         (darwin_mourn_inferior, darwin_kill_inferior)
5936         (darwin_create_inferior, darwin_attach, darwin_detach)
5937         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
5938         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
5939         (darwin_supports_multi_process): Refactor as darwin_nat_target
5940         methods.
5941         (darwin_resume_to, darwin_files_info): Delete.
5942         (_initialize_darwin_inferior): Rename to ...
5943         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
5944         * darwin-nat.h: Include "inf-child.h".
5945         (darwin_nat_target): New class.
5946         (darwin_complete_target): Delete.
5947         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
5948         (darwin_target): New.
5949         (i386_darwin_fetch_inferior_registers)
5950         (i386_darwin_store_inferior_registers): Refactor as methods of
5951         darwin_nat_target.
5952         (darwin_complete_target): Delete, with ...
5953         (_initialize_i386_darwin_nat): ... bits factored out here.
5954
5955         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
5956         (the_alpha_linux_nat_target): New.
5957         (alpha_linux_register_u_offset): Refactor as
5958         alpha_linux_nat_target method.
5959         (_initialize_alpha_linux_nat): Adjust.
5960         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
5961         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
5962         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
5963         methods of linux_nat_trad_target.
5964         (linux_trad_target): Delete.
5965         * linux-nat-trad.h (linux_trad_target): Delete function.
5966         (linux_nat_trad_target): New class.
5967         * mips-linux-nat.c (mips_linux_nat_target): New class.
5968         (super_fetch_registers, super_store_registers, super_close):
5969         Delete.
5970         (the_mips_linux_nat_target): New.
5971         (mips64_linux_regsets_fetch_registers)
5972         (mips64_linux_regsets_store_registers)
5973         (mips64_linux_fetch_registers, mips64_linux_store_registers)
5974         (mips_linux_register_u_offset, mips_linux_read_description)
5975         (mips_linux_can_use_hw_breakpoint)
5976         (mips_linux_stopped_by_watchpoint)
5977         (mips_linux_stopped_data_address)
5978         (mips_linux_region_ok_for_hw_watchpoint)
5979         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
5980         (mips_linux_close): Refactor as methods of mips_linux_nat.
5981         (_initialize_mips_linux_nat): Adjust to C++ification.
5982
5983         * aix-thread.c (aix_thread_target): New class.
5984         (aix_thread_ops): Now an aix_thread_target.
5985         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
5986         (aix_thread_fetch_registers, aix_thread_store_registers)
5987         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
5988         (aix_thread_thread_alive, aix_thread_pid_to_str)
5989         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
5990         Refactor as methods of aix_thread_target.
5991         (init_aix_thread_ops): Delete.
5992         (_initialize_aix_thread): Remove references to init_aix_thread_ops
5993         and complete_target_initialization.
5994         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
5995         (rs6000_nat_target): New class.
5996         (the_rs6000_nat_target): New.
5997         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
5998         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
5999         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
6000         (super_create_inferior): Delete.
6001         (_initialize_rs6000_nat): Adjust to C++ification.
6002
6003         * arm-linux-nat.c (arm_linux_nat_target): New class.
6004         (the_arm_linux_nat_target): New.
6005         (arm_linux_fetch_inferior_registers)
6006         (arm_linux_store_inferior_registers, arm_linux_read_description)
6007         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
6008         (arm_linux_remove_hw_breakpoint)
6009         (arm_linux_region_ok_for_hw_watchpoint)
6010         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
6011         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
6012         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
6013         arm_linux_nat_target.
6014         (_initialize_arm_linux_nat): Adjust to C++ification.
6015
6016         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
6017         (the_aarch64_linux_nat_target): New.
6018         (aarch64_linux_fetch_inferior_registers)
6019         (aarch64_linux_store_inferior_registers)
6020         (aarch64_linux_child_post_startup_inferior)
6021         (aarch64_linux_read_description)
6022         (aarch64_linux_can_use_hw_breakpoint)
6023         (aarch64_linux_insert_hw_breakpoint)
6024         (aarch64_linux_remove_hw_breakpoint)
6025         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
6026         (aarch64_linux_region_ok_for_hw_watchpoint)
6027         (aarch64_linux_stopped_data_address)
6028         (aarch64_linux_stopped_by_watchpoint)
6029         (aarch64_linux_watchpoint_addr_within_range)
6030         (aarch64_linux_can_do_single_step): Refactor as methods of
6031         aarch64_linux_nat_target.
6032         (super_post_startup_inferior): Delete.
6033         (_initialize_aarch64_linux_nat): Adjust to C++ification.
6034
6035         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
6036         (the_hppa_linux_nat_target): New.
6037         (hppa_linux_fetch_inferior_registers)
6038         (hppa_linux_store_inferior_registers): Refactor as methods of
6039         hppa_linux_nat_target.
6040         (_initialize_hppa_linux_nat): Adjust to C++ification.
6041
6042         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
6043         (the_ia64_linux_nat_target): New.
6044         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
6045         (ia64_linux_stopped_data_address)
6046         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
6047         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
6048         ia64_linux_nat_target methods.
6049         (super_xfer_partial): Delete.
6050         (_initialize_ia64_linux_nat): Adjust to C++ification.
6051
6052         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
6053         (the_m32r_linux_nat_target): New.
6054         (m32r_linux_fetch_inferior_registers)
6055         (m32r_linux_store_inferior_registers): Refactor as
6056         m32r_linux_nat_target methods.
6057         (_initialize_m32r_linux_nat): Adjust to C++ification.
6058
6059         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
6060         (the_m68k_linux_nat_target): New.
6061         (m68k_linux_fetch_inferior_registers)
6062         (m68k_linux_store_inferior_registers): Refactor as
6063         m68k_linux_nat_target methods.
6064         (_initialize_m68k_linux_nat): Adjust to C++ification.
6065
6066         * s390-linux-nat.c (s390_linux_nat_target): New class.
6067         (the_s390_linux_nat_target): New.
6068         (s390_linux_fetch_inferior_registers)
6069         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
6070         (s390_insert_watchpoint, s390_remove_watchpoint)
6071         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
6072         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
6073         (s390_auxv_parse, s390_read_description): Refactor as methods of
6074         s390_linux_nat_target.
6075         (_initialize_s390_nat): Adjust to C++ification.
6076
6077         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
6078         (the_sparc_linux_nat_target): New.
6079         (_initialize_sparc_linux_nat): Adjust to C++ification.
6080         * sparc-nat.c (sparc_fetch_inferior_registers)
6081         (sparc_store_inferior_registers): Remove target_ops parameter.
6082         * sparc-nat.h (sparc_fetch_inferior_registers)
6083         (sparc_store_inferior_registers): Remove target_ops parameter.
6084         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
6085         (the_sparc64_linux_nat_target): New.
6086         (_initialize_sparc64_linux_nat): Adjust to C++ification.
6087
6088         * spu-linux-nat.c (spu_linux_nat_target): New class.
6089         (the_spu_linux_nat_target): New.
6090         (spu_child_post_startup_inferior, spu_child_post_attach)
6091         (spu_child_wait, spu_fetch_inferior_registers)
6092         (spu_store_inferior_registers, spu_xfer_partial)
6093         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
6094         methods.
6095         (_initialize_spu_nat): Adjust to C++ification.
6096
6097         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
6098         (the_tilegx_linux_nat_target): New.
6099         (fetch_inferior_registers, store_inferior_registers):
6100         Refactor as methods.
6101         (_initialize_tile_linux_nat): Adjust to C++ification.
6102
6103         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
6104         (the_xtensa_linux_nat_target): New.
6105         (xtensa_linux_fetch_inferior_registers)
6106         (xtensa_linux_store_inferior_registers): Refactor as
6107         xtensa_linux_nat_target methods.
6108         (_initialize_xtensa_linux_nat): Adjust to C++ification.
6109
6110         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
6111         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
6112         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
6113         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
6114         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
6115         (fbsd_stopped_by_sw_breakpoint)
6116         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
6117         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
6118         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
6119         (fbsd_post_startup_inferior, fbsd_post_attach)
6120         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
6121         (fbsd_set_syscall_catchpoint)
6122         (super_xfer_partial, super_resume, super_wait)
6123         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
6124         (fbsd_handle_debug_trap): Remove target_ops parameter.
6125         (fbsd_nat_add_target): Delete.
6126         * fbsd-nat.h: Include "inf-ptrace.h".
6127         (fbsd_nat_add_target): Delete.
6128         (USE_SIGTRAP_SIGINFO): Define.
6129         (fbsd_nat_target): New class.
6130
6131         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
6132         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
6133         (amd64bsd_target): Delete.
6134         * amd64-bsd-nat.h: New file.
6135         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
6136         "x86-bsd-nat.h".
6137         (amd64_fbsd_nat_target): New class.
6138         (the_amd64_fbsd_nat_target): New.
6139         (amd64fbsd_read_description): Refactor as method of
6140         amd64_fbsd_nat_target.
6141         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6142         (_initialize_amd64fbsd_nat): Adjust to C++ification.
6143         * amd64-nat.h (amd64bsd_target): Delete function declaration.
6144         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
6145         (i386bsd_store_inferior_registers): Remove target_ops parameter.
6146         (i386bsd_target): Delete.
6147         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
6148         (i386bsd_fetch_inferior_registers)
6149         (i386bsd_store_inferior_registers): Declare.
6150         (i386_bsd_nat_target): New class.
6151         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
6152         (the_i386_fbsd_nat_target): New.
6153         (i386fbsd_resume, i386fbsd_read_description): Refactor as
6154         i386_fbsd_nat_target methods.
6155         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
6156         (_initialize_i386fbsd_nat): Adjust to C++ification.
6157         * x86-bsd-nat.c (super_mourn_inferior): Delete.
6158         (x86bsd_mourn_inferior, x86bsd_target): Delete.
6159         (_initialize_x86_bsd_nat): Adjust to C++ification.
6160         * x86-bsd-nat.h: Include "x86-nat.h".
6161         (x86bsd_target): Delete declaration.
6162         (x86bsd_nat_target): New class.
6163
6164         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
6165         (the_aarch64_fbsd_nat_target): New.
6166         (aarch64_fbsd_fetch_inferior_registers)
6167         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
6168         aarch64_fbsd_nat_target.
6169         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
6170         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
6171         (the_alpha_bsd_nat_target): New.
6172         (alphabsd_fetch_inferior_registers)
6173         (alphabsd_store_inferior_registers): Refactor as
6174         alpha_bsd_nat_target methods.
6175         (_initialize_alphabsd_nat): Refactor as methods of
6176         alpha_bsd_nat_target.
6177         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
6178         (the_amd64_nbsd_nat_target): New.
6179         (_initialize_amd64nbsd_nat): Adjust to C++ification.
6180         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
6181         (the_amd64_obsd_nat_target): New.
6182         (_initialize_amd64obsd_nat): Adjust to C++ification.
6183         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
6184         (the_arm_fbsd_nat_target): New.
6185         (arm_fbsd_fetch_inferior_registers)
6186         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
6187         (_initialize_arm_fbsd_nat): Refactor as methods of
6188         arm_fbsd_nat_target.
6189         (_initialize_arm_fbsd_nat): Adjust to C++ification.
6190         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
6191         (the_arm_netbsd_nat_target): New.
6192         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
6193         arm_netbsd_nat_target.
6194         (_initialize_arm_netbsd_nat): Adjust to C++ification.
6195         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
6196         (the_hppa_nbsd_nat_target): New.
6197         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
6198         hppa_nbsd_nat_target methods.
6199         (_initialize_hppanbsd_nat): Adjust to C++ification.
6200         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
6201         (the_hppa_obsd_nat_target): New.
6202         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
6203         methods of hppa_obsd_nat_target.
6204         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
6205         add_target.
6206         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
6207         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
6208         add_target.
6209         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
6210         (_initialize_i386obsd_nat): Use add_target.
6211         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
6212         (the_m68k_bsd_nat_target): New.
6213         (m68kbsd_fetch_inferior_registers)
6214         (m68kbsd_store_inferior_registers): Refactor as methods of
6215         m68k_bsd_nat_target.
6216         (_initialize_m68kbsd_nat): Adjust to C++ification.
6217         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
6218         (the_mips_fbsd_nat_target): New.
6219         (mips_fbsd_fetch_inferior_registers)
6220         (mips_fbsd_store_inferior_registers): Refactor as methods of
6221         mips_fbsd_nat_target.
6222         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
6223         add_target.
6224         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
6225         (the_mips_nbsd_nat_target): New.
6226         (mipsnbsd_fetch_inferior_registers)
6227         (mipsnbsd_store_inferior_registers): Refactor as methods of
6228         mips_nbsd_nat_target.
6229         (_initialize_mipsnbsd_nat): Adjust to C++ification.
6230         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
6231         (the_mips64_obsd_nat_target): New.
6232         (mips64obsd_fetch_inferior_registers)
6233         (mips64obsd_store_inferior_registers): Refactor as methods of
6234         mips64_obsd_nat_target.
6235         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
6236         add_target.
6237         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
6238         nbsd_nat_target.
6239         * nbsd-nat.h: Include "inf-ptrace.h".
6240         (nbsd_nat_target): New class.
6241         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
6242         (obsd_wait): Refactor as methods of obsd_nat_target.
6243         (obsd_add_target): Delete.
6244         * obsd-nat.h: Include "inf-ptrace.h".
6245         (obsd_nat_target): New class.
6246         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
6247         (the_ppc_fbsd_nat_target): New.
6248         (ppcfbsd_fetch_inferior_registers)
6249         (ppcfbsd_store_inferior_registers): Refactor as methods of
6250         ppc_fbsd_nat_target.
6251         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
6252         add_target.
6253         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
6254         (the_ppc_nbsd_nat_target): New.
6255         (ppcnbsd_fetch_inferior_registers)
6256         (ppcnbsd_store_inferior_registers): Refactor as methods of
6257         ppc_nbsd_nat_target.
6258         (_initialize_ppcnbsd_nat): Adjust to C++ification.
6259         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
6260         (the_ppc_obsd_nat_target): New.
6261         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
6262         methods of ppc_obsd_nat_target.
6263         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
6264         add_target.
6265         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
6266         (the_sh_nbsd_nat_target): New.
6267         (shnbsd_fetch_inferior_registers)
6268         (shnbsd_store_inferior_registers): Refactor as methods of
6269         sh_nbsd_nat_target.
6270         (_initialize_shnbsd_nat): Adjust to C++ification.
6271         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
6272         (inf_ptrace_xfer_partial): Delete.
6273         (sparc_xfer_partial, sparc_target): Delete.
6274         * sparc-nat.h (sparc_fetch_inferior_registers)
6275         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
6276         (sparc_target): Delete function declaration.
6277         (sparc_target): New template class.
6278         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
6279         (_initialize_sparcnbsd_nat): Adjust to C++ification.
6280         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
6281         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
6282         add_target.
6283         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
6284         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
6285         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
6286         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
6287         add_target.
6288         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
6289         (the_vax_bsd_nat_target): New.
6290         (vaxbsd_fetch_inferior_registers)
6291         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
6292         methods.
6293         (_initialize_vaxbsd_nat): Adjust to C++ification.
6294
6295         * bsd-kvm.c (bsd_kvm_target): New class.
6296         (bsd_kvm_ops): Now a bsd_kvm_target.
6297         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
6298         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
6299         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
6300         bsd_kvm_target.
6301         (bsd_kvm_return_one): Delete.
6302         (bsd_kvm_add_target): Adjust to C++ification.
6303
6304         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
6305         (nto_procfs_target_procfs): New classes.
6306         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
6307         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
6308         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
6309         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
6310         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
6311         (procfs_remove_hw_breakpoint, procfs_resume)
6312         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
6313         (procfs_kill_inferior, procfs_store_registers)
6314         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
6315         as methods of nto_procfs_target.
6316         (nto_procfs_ops): Now an nto_procfs_target_procfs.
6317         (nto_native_ops): Delete.
6318         (procfs_open, procfs_native_open): Delete.
6319         (nto_native_ops): Now an nto_procfs_target_native.
6320         (init_procfs_targets): Adjust to C++ification.
6321         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
6322         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
6323         Refactor as methods of nto_procfs_target.
6324
6325         * go32-nat.c (go32_nat_target): New class.
6326         (the_go32_nat_target): New.
6327         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
6328         (go32_store_registers, go32_xfer_partial, go32_files_info)
6329         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
6330         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
6331         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
6332         (go32_pid_to_str): Refactor as methods of go32_nat_target.
6333         (go32_target): Delete.
6334         (_initialize_go32_nat): Adjust to C++ification.
6335
6336         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
6337         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
6338         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
6339         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
6340         gnu_nat_target.
6341         (gnu_target): Delete.
6342         * gnu-nat.h (gnu_target): Delete.
6343         (gnu_nat_target): New class.
6344         * i386-gnu-nat.c (gnu_base_target): New.
6345         (i386_gnu_nat_target): New class.
6346         (the_i386_gnu_nat_target): New.
6347         (_initialize_i386gnu_nat): Adjust to C++ification.
6348
6349 2018-05-02  Pedro Alves  <palves@redhat.com>
6350
6351         * bfd-target.c (target_bfd_xclose): Rename to ...
6352         (target_bfd_close): ... this.
6353         (target_bfd_reopen): Adjust.
6354         * target.c (target_close): Remove references to to_xclose.
6355         * target.h (target_ops::to_xclose): Delete.
6356         (target_ops::to_close): Update comments.
6357
6358 2018-05-02  Pedro Alves  <palves@redhat.com>
6359
6360         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
6361         "linux-nat.h".
6362         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
6363         * inf-ptrace.c (inf_ptrace_register_u_offset)
6364         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
6365         (inf_ptrace_store_register, inf_ptrace_store_registers)
6366         (inf_ptrace_trad_target): Move to ...
6367         * linux-nat-trad.c: ... this new file.
6368         * linux-nat-trad.h: New file.
6369         * linux-nat.c (linux_target_install_ops): Make extern.
6370         (linux_trad_target): Delete.
6371         * linux-nat.h (linux_trad_target): Delete declaration.
6372         (linux_target_install_ops): Declare.
6373         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
6374         "linux-nat.h".
6375
6376 2018-05-02  Pedro Alves  <palves@redhat.com>
6377
6378         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6379         procfs_target/add_target here.
6380         * procfs.c (procfs_target): Make static.
6381         (_initialize_procfs): Call add_target here.
6382         * procfs.h (struct target_ops): Remove forward declaration.
6383         (procfs_target): Remove declaration.
6384         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
6385
6386 2018-05-02  Pedro Alves  <palves@redhat.com>
6387
6388         * procfs.c (procfs_stopped_by_watchpoint)
6389         (procfs_insert_watchpoint, procfs_remove_watchpoint)
6390         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
6391         Forward declare.
6392         (procfs_use_watchpoints): Delete, move contents...
6393         (procfs_target): ... here.
6394         * procfs.h (procfs_use_watchpoints): Delete declaration.
6395         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
6396         procfs_use_watchpoints.
6397         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
6398         procfs_use_watchpoints.
6399
6400 2018-05-02  Tom Tromey  <tom@tromey.com>
6401
6402         PR python/20084:
6403         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
6404         and var_zuinteger_unlimited.
6405         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
6406         and PARAM_ZUINTEGER_UNLIMITED.
6407         (set_parameter_value): Handle var_zuinteger and
6408         var_zuinteger_unlimited.
6409         (add_setshow_generic): Likewise.
6410         (parmpy_init): Likewise.
6411
6412 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
6413
6414         PR rust/23124
6415         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
6416         pointer is not null before dereferencing it.
6417
6418 2018-04-30  Tom Tromey  <tom@tromey.com>
6419
6420         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
6421         is_mi_like_p.
6422
6423 2018-04-30  Tom Tromey  <tom@tromey.com>
6424
6425         * breakpoint.c (mention): Remove use of is_mi_like_p.
6426         (print_mention_ranged_breakpoint): Likewise.
6427         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
6428         of is_mi_like_p.
6429
6430 2018-04-30  Tom Tromey  <tom@tromey.com>
6431
6432         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
6433
6434 2018-04-30  Tom Tromey  <tom@tromey.com>
6435
6436         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
6437         (info_spu_event_command): Remove some uses of is_mi_like_p.
6438
6439 2018-04-30  Tom Tromey  <tom@tromey.com>
6440
6441         * python/py-framefilter.c (py_print_single_arg)
6442         (enumerate_locals, py_print_args, py_print_frame): Remove some
6443         uses of is_mi_like_p.
6444
6445 2018-04-30  Tom Tromey  <tom@tromey.com>
6446
6447         * ui-out.c: Update.
6448         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
6449         * ui-out.h (ui_out::is_mi_like_p): Now const.
6450         (ui_out::do_is_mi_like_p): Now const.
6451         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
6452
6453 2018-04-30  Tom Tromey  <tom@tromey.com>
6454
6455         * varobj.c (varobj_set_visualizer): Use new_reference.
6456         * python/python.c (gdbpy_decode_line): Use new_reference.
6457         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
6458         new_reference.
6459
6460 2018-04-30  Tom Tromey  <tom@tromey.com>
6461
6462         * varobj.c (install_new_value): Use new_reference.
6463         * value.h (value_incref): Return void.  Swap intro comment with
6464         value_decref.
6465         * value.c (set_value_parent): Use new_reference.
6466         (value_incref): Return void.  Update intro comment.
6467         (release_value): Use new_reference.
6468         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
6469
6470 2018-04-30  Tom Tromey  <tom@tromey.com>
6471
6472         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
6473         * gdb_bfd.h (new_bfd_ref): Remove.
6474         (gdb_bfd_open): Update comment.
6475         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
6476         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
6477         (gdb_bfd_fdopenr): Use new_reference.
6478         * exec.c (exec_file_attach): Use new_reference.
6479
6480 2018-04-30  Tom Tromey  <tom@tromey.com>
6481
6482         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
6483         method.
6484
6485 2018-04-30  Tom Tromey  <tom@tromey.com>
6486
6487         * jit.c (jit_read_code_entry): Use type_align.
6488         * i386-tdep.c (i386_gdbarch_init): Don't call
6489         set_gdbarch_long_long_align_bit.
6490         * gdbarch.sh: Remove long_long_align_bit.
6491         * gdbarch.c, gdbarch.h: Rebuild.
6492         * arc-tdep.c (arc_type_align): New function.
6493         (arc_gdbarch_init): Use arc_type_align.  Don't call
6494         set_gdbarch_long_long_align_bit.
6495
6496 2018-04-30  Tom Tromey  <tom@tromey.com>
6497
6498         * rust-lang.c (rust_type_alignment): Remove.
6499         (rust_composite_type): Use type_align.
6500
6501 2018-04-30  Tom Tromey  <tom@tromey.com>
6502
6503         * NEWS: Mention Type.align.
6504         * python/py-type.c (typy_get_alignof): New function.
6505         (type_object_getset): Add "alignof".
6506
6507 2018-04-30  Tom Tromey  <tom@tromey.com>
6508
6509         PR exp/17095:
6510         * NEWS: Update.
6511         * std-operator.def (UNOP_ALIGNOF): New operator.
6512         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
6513         New.
6514         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
6515         * c-lang.c (c_op_print_tab): Add alignof.
6516         * c-exp.y (ALIGNOF): New token.
6517         (exp): Add "ALIGNOF" production.
6518         (ident_tokens): Add _Alignof and alignof.
6519
6520 2018-04-30  Tom Tromey  <tom@tromey.com>
6521
6522         * i386-tdep.c (i386_type_align): New function.
6523         (i386_gdbarch_init): Update.
6524         * gdbarch.sh (type_align): New method.
6525         * gdbarch.c, gdbarch.h: Rebuild.
6526         * arch-utils.h (default_type_align): Declare.
6527         * arch-utils.c (default_type_align): New function.
6528         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
6529         (struct type) <align_log2>: New field.
6530         <instance_flags>: Now a bitfield.
6531         (TYPE_RAW_ALIGN): New macro.
6532         (type_align, type_raw_align, set_type_align): Declare.
6533         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
6534         functions.
6535         * dwarf2read.c (quirk_rust_enum): Set type alignment.
6536         (get_alignment, maybe_set_alignment): New functions.
6537         (read_structure_type, read_enumeration_type, read_array_type)
6538         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
6539         (read_subrange_type, read_base_type): Set type alignment.
6540
6541 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
6542
6543         * dwarf2read.c (read_index_from_section): Use bool.
6544
6545 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
6546
6547         PR gdb/22950
6548         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
6549         with #ifdef.
6550
6551 2018-04-29  John Reiser  <jreiser@BitWagon.com>
6552
6553         PR build/22873
6554         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
6555         last step, and do it atomically.
6556
6557 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
6558
6559         * compile/compile-c-types.c (convert_int, convert_float):
6560         Update for C FE v1.
6561
6562 2018-04-27  Tom Tromey  <tom@tromey.com>
6563
6564         PR rust/22545:
6565         * rust-lang.c (rust_inclusive_range_type_p): New function.
6566         (rust_range): Handle inclusive ranges.
6567         (rust_compute_range): Likewise.
6568         * rust-exp.y (struct rust_op) <inclusive>: New field.
6569         (DOTDOTEQ): New constant.
6570         (range_expr): Add "..=" productions.
6571         (operator_tokens): Add "..=" token.
6572         (ast_range): Add "inclusive" parameter.
6573         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
6574         ranges.
6575         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
6576         bounds values.
6577         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
6578         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
6579         Update comments.
6580         * expprint.c (print_subexp_standard): Handle new bounds values.
6581         (dump_subexp_body_standard): Likewise.
6582
6583 2018-04-27  Tom Tromey  <tom@tromey.com>
6584
6585         * configure: Rebuild.
6586         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
6587         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
6588         "OVERRIDE".
6589         (class symbol_needs_eval_context): Likewise.
6590         * dwarf2read.c (mock_mapped_index::symbol_name_count)
6591         (mock_mapped_index::symbol_name_at): Use "override".  Remove
6592         "virtual".
6593         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
6594         "override".
6595         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
6596         * aarch64-tdep.c (instruction_reader::read): Use "override".
6597         (instruction_reader_test::read): Likewise.
6598         * arm-tdep.c (instruction_reader::read): Use "override".
6599         (instruction_reader_thumb::read): Likewise.
6600
6601 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
6602
6603         PR remote/9665
6604         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
6605         instead of remote_send.
6606         (remote_send): Remove.
6607
6608 2018-04-26  Pedro Alves  <palves@redhat.com>
6609
6610         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
6611         find_function_start_sal instead of find_pc_line.
6612
6613 2018-04-26  Pedro Alves  <palves@redhat.com>
6614
6615         * breakpoint.c (set_breakpoint_location_function): Handle
6616         mst_data_gnu_ifunc.
6617         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
6618         * elfread.c (elf_symtab_read): Give data symbols with
6619         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
6620         (elf_rel_plt_read): Update comment.
6621         * linespec.c (convert_linespec_to_sals): Handle
6622         mst_data_gnu_ifunc.
6623         (minsym_found): Handle mst_data_gnu_ifunc.
6624         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
6625         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
6626         * parse.c (find_minsym_type_and_address): Handle
6627         mst_data_gnu_ifunc.
6628         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
6629         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
6630         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
6631         comment.
6632         <mst_data_gnu_ifunc>: New enumerator.
6633
6634 2018-04-26  Pedro Alves  <palves@redhat.com>
6635
6636         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
6637         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
6638         'want_trampoline' parameter by a lookup_msym_prefer parameter.
6639         Handle it.
6640         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
6641         (lookup_minimal_symbol_by_pc): Adjust.
6642         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
6643         (lookup_solib_trampoline_symbol_by_pc): Adjust.
6644         * minsyms.h (lookup_msym_prefer): New enum.
6645         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6646         parameter by a lookup_msym_prefer parameter.
6647
6648 2018-04-26  Pedro Alves  <palves@redhat.com>
6649
6650         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
6651         ends in "@plt" instead of looking at the symbol's section.
6652
6653 2018-04-26  Pedro Alves  <palves@redhat.com>
6654
6655         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
6656         all references.
6657         (find_pc_partial_function_gnu_ifunc): Rename to ...
6658         (find_pc_partial_function): ... this, and remove references to
6659         'is_gnu_ifunc_p'.
6660         (find_pc_partial_function): Delete old implementation.
6661         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
6662
6663 2018-04-26  Pedro Alves  <palves@redhat.com>
6664
6665         * linespec.c (struct bound_minimal_symbol_search_key): New.
6666         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
6667         skip first line if we found a GNU ifunc minimal symbol by name.
6668         (compare_msymbols): Change parameters to work with a destructured
6669         lhs minsym.
6670         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
6671         functions.
6672
6673 2018-04-26  Pedro Alves  <palves@redhat.com>
6674
6675         * breakpoint.c (set_breakpoint_location_function): Don't resolve
6676         ifunc targets here.  Instead, if we have an ifunc minsym, use its
6677         address/name.
6678         (add_location_to_breakpoint): Store the minsym and the objfile in
6679         the breakpoint location.
6680         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
6681         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
6682         Record the minsym in the sal.
6683         * symtab.h (symtab_and_line) <msymbol>: New field.
6684
6685 2018-04-26  Pedro Alves  <palves@redhat.com>
6686
6687         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
6688         unless we actually resolved the ifunc.
6689
6690 2018-04-26  Pedro Alves  <palves@redhat.com>
6691
6692         * c-exp.y (variable production): Prefer ifunc minsyms over
6693         regular function symbols.
6694         * symtab.c (find_gnu_ifunc): New function.
6695         * minsyms.h (lookup_msym_prefer): New enum.
6696         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
6697         parameter by a lookup_msym_prefer parameter.
6698         * symtab.h (find_gnu_ifunc): New declaration.
6699
6700 2018-04-26  Pedro Alves  <palves@redhat.com>
6701
6702         * blockframe.c (find_gnu_ifunc_target_type): New function.
6703         (find_function_type): New.
6704         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
6705         return a value with a memory address.
6706         (eval_call): For calls to GNU ifunc functions, try to find the
6707         type of the target function from the type that the resolver
6708         returns.
6709         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
6710         symbols.
6711         * infcall.c (find_function_return_type): Delete.
6712         (find_function_addr): Add 'function_type' parameter.  For calls to
6713         GNU ifunc functions, try to find the type of the target function
6714         from the type that the resolver returns, and return it via
6715         FUNCTION_TYPE.
6716         (call_function_by_hand_dummy): Adjust to use the function type
6717         returned by find_function_addr.
6718         (find_function_addr): Add 'function_type' parameter and move
6719         description here.
6720         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
6721         declarations.
6722
6723 2018-04-26  Pedro Alves  <palves@redhat.com>
6724
6725         * c-exp.y (variable production): Skip finding an alias for ifunc
6726         symbols.
6727
6728 2018-04-26  Pedro Alves  <palves@redhat.com>
6729
6730         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
6731
6732 2018-04-25  Pedro Alves  <palves@redhat.com>
6733
6734         * infcmd.c (kill_command): Print the pid as string, not the whole
6735         thread's ptid.  Add comment.  s/has been killed/killed/ in output
6736         message.
6737         * remote.c (remote_detach_1): Print the pid as string, not the
6738         whole thread's ptid.
6739
6740 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
6741             Sergio Durigan Junior  <sergiodj@redhat.com>
6742             Pedro Alves  <palves@redhat.com>
6743
6744         * infcmd.c (kill_command): Print message when inferior has
6745         been killed.
6746         * inferior.c (print_inferior_events): Remove 'static'.  Set as
6747         '1'.
6748         (add_inferior): Improve message printed when
6749         'print_inferior_events' is on.
6750         (exit_inferior): Remove message printed when
6751         'print_inferior_events' is on.
6752         (detach_inferior): Improve message printed when
6753         'print_inferior_events' is on.
6754         (initialize_inferiors): Use 'add_inferior_silent' to set
6755         'current_inferior_'.
6756         * inferior.h (print_inferior_events): Declare here as
6757         'extern'.
6758         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
6759         '[Detaching...]' messages when 'print_inferior_events' is on.
6760         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
6761         as prefix/suffix for messages.  Remove periods.  Fix erroneous
6762         'Detaching after fork from child...', replace it by '... from
6763         parent...'.
6764         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
6765         prefix/suffix when printing 'Detaching...' messages.  Print
6766         them when 'print_inferior_events' is on.
6767         * remote.c (remote_detach_1): Print message when detaching
6768         from inferior and '!is_fork_parent'.
6769
6770 2018-04-24  Tom Tromey  <tom@tromey.com>
6771
6772         * cli-out.h: Reindent.
6773
6774 2018-04-24  Tom Tromey  <tom@tromey.com>
6775
6776         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
6777         (cli_ui_out::do_field_string): Use fputs_filtered.
6778         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
6779
6780 2018-04-23  Tom Tromey  <tom@tromey.com>
6781
6782         * guile/scm-frame.c (gdbscm_frame_read_var): Use
6783         gdb::unique_xmalloc_ptr.
6784
6785 2018-04-23  Tom Tromey  <tom@tromey.com>
6786
6787         * configure: Rebuild.
6788
6789 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
6790
6791         PR gdb/23095
6792         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
6793         prepare_for_testing.  Set normal_bp to r_debug_state if target
6794         is bsd.
6795
6796 2018-04-21  Pedro Alves  <palves@redhat.com>
6797             Rajendra SY  <rajendra.sy@gmail.com>
6798
6799         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
6800         * remote.c (extended_remote_attach): In all-stop mode, mark the
6801         thread as executing.
6802
6803 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6804
6805         * thread.c (thread_apply_all_command): Fix comment.
6806         (thread_command): Fix comment.
6807
6808 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
6809
6810         * common/tdesc.h (tdesc_create_feature): Remove xml filename
6811         parameter.
6812         * features/aarch64-core.c (create_feature_aarch64_core):
6813         Regenerate.
6814         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
6815         Likewise.
6816         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
6817         Likewise.
6818         * features/i386/32bit-avx512.c
6819         (create_feature_i386_32bit_avx512): Likewise.
6820         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
6821         Likewise.
6822         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
6823         Likewise.
6824         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
6825         Likewise.
6826         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
6827         Likewise.
6828         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
6829         Likewise.
6830         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
6831         Likewise.
6832         * features/i386/64bit-avx512.c
6833         (create_feature_i386_64bit_avx512): Likewise.
6834         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
6835         Likewise.
6836         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
6837         Likewise.
6838         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
6839         Likewise.
6840         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
6841         Likewise.
6842         * features/i386/64bit-segments.c
6843         (create_feature_i386_64bit_segments): Likewise.
6844         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
6845         Likewise.
6846         * features/i386/x32-core.c
6847         (create_feature_i386_x32_core): Likewise.
6848         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
6849         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
6850         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
6851         * target-descriptions.c: In generated code, don't pass xml
6852         filename.
6853
6854 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6855
6856         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
6857         (print_xml_feature::visit_post): Likewise.
6858         (print_xml_feature::visit): Likewise.
6859         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
6860         (print_xml_feature): Add new class.
6861         * regformats/regdat.sh: Null xmltarget on feature targets.
6862         * target-descriptions.c (struct target_desc): Add xmltarget.
6863         (maintenance_check_tdesc_xml_convert): Add unittest function.
6864         (tdesc_get_features_xml): Add function to get xml.
6865         (maintenance_check_xml_descriptions): Test xml generation.
6866         * xml-tdesc.c (string_read_description_xml): Add function.
6867         * xml-tdesc.h (string_read_description_xml): Add declaration.
6868
6869 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6870
6871         * features/Makefile: Add feature marker to targets with new style
6872         target descriptions.
6873         * regformats/aarch64.dat: Regenerate.
6874         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
6875         * regformats/i386/amd64-avx-linux.dat: Likewise.
6876         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
6877         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
6878         * regformats/i386/amd64-linux.dat: Likewise.
6879         * regformats/i386/amd64-mpx-linux.dat: Likewise.
6880         * regformats/i386/amd64.dat: Likewise.
6881         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
6882         * regformats/i386/i386-avx-linux.dat: Likewise.
6883         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
6884         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
6885         * regformats/i386/i386-linux.dat: Likewise.
6886         * regformats/i386/i386-mmx-linux.dat: Likewise.
6887         * regformats/i386/i386-mpx-linux.dat: Likewise.
6888         * regformats/i386/i386.dat: Likewise.
6889         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
6890         * regformats/i386/x32-avx-linux.dat: Likewise.
6891         * regformats/i386/x32-linux.dat: Likewise.
6892         * regformats/tic6x-c62x-linux.dat: Likewise.
6893         * regformats/tic6x-c64x-linux.dat: Likewise.
6894         * regformats/tic6x-c64xp-linux.dat: Likewise.
6895         * regformats/regdat.sh: Parse feature marker.
6896
6897 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6898
6899         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
6900         (tdesc_osabi_name): Likewise.
6901         * target-descriptions.c (tdesc_architecture_name): Add new
6902         function.
6903         (tdesc_osabi_name): Likewise.
6904
6905 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6906
6907         * common/tdesc.c (tdesc_predefined_type): Move to here.
6908         (tdesc_named_type): Likewise.
6909         (tdesc_create_vector): Likewise.
6910         (tdesc_create_struct): Likewise.
6911         (tdesc_set_struct_size): Likewise.
6912         (tdesc_create_union): Likewise.
6913         (tdesc_create_flags): Likewise.
6914         (tdesc_create_enum): Likewise.
6915         (tdesc_add_field): Likewise.
6916         (tdesc_add_typed_bitfield): Likewise.
6917         (tdesc_add_bitfield): Likewise.
6918         (tdesc_add_flag): Likewise.
6919         (tdesc_add_enum_value): Likewise.
6920         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
6921         (struct tdesc_type_vector): Likewise.
6922         (struct tdesc_type_field): Likewise.
6923         (struct tdesc_type_with_fields): Likewise.
6924         (tdesc_create_enum): Add declaration.
6925         (tdesc_add_typed_bitfield): Likewise.
6926         (tdesc_add_enum_value): Likewise.
6927         * target-descriptions.c (tdesc_type_field): Move from here.
6928         (tdesc_type_builtin): Likewise.
6929         (tdesc_type_vector): Likewise.
6930         (tdesc_type_with_fields): Likewise.
6931         (tdesc_predefined_types): Likewise.
6932         (tdesc_named_type): Likewise.
6933         (tdesc_create_vector): Likewise.
6934         (tdesc_create_struct): Likewise.
6935         (tdesc_set_struct_size): Likewise.
6936         (tdesc_create_union): Likewise.
6937         (tdesc_create_flags): Likewise.
6938         (tdesc_create_enum): Likewise.
6939         (tdesc_add_field): Likewise.
6940         (tdesc_add_typed_bitfield): Likewise.
6941         (tdesc_add_bitfield): Likewise.
6942         (tdesc_add_flag): Likewise.
6943         (tdesc_add_enum_value): Likewise.
6944         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
6945         (tdesc_add_typed_bitfield): Likewise.
6946         (tdesc_add_enum_value): Likewise.
6947
6948 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6949
6950         * common/tdesc.c (tdesc_feature::accept): Move to here.
6951         (tdesc_feature::operator==): Likewise.
6952         (tdesc_create_reg): Likewise.
6953         * common/tdesc.h (tdesc_type_kind): Likewise.
6954         (struct tdesc_type): Likewise.
6955         (struct tdesc_feature): Likewise.
6956         * regformats/regdat.sh: Create a feature.
6957         * target-descriptions.c (tdesc_type_kind): Move from here.
6958         (tdesc_type): Likewise.
6959         (tdesc_type_up): Likewise.
6960         (tdesc_feature): Likewise.
6961         (tdesc_create_reg): Likewise.
6962
6963 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
6964
6965         * Makefile.in: Add arch/tdesc.c
6966         * common/tdesc.c: New file.
6967         * common/tdesc.h (tdesc_element_visitor): Move to here.
6968         (tdesc_element): Likewise.
6969         (tdesc_reg): Likewise.
6970         (tdesc_reg_up): Likewise.
6971         * regformats/regdef.h (reg): Add offset to constructors.
6972         * target-descriptions.c (tdesc_element_visitor): Move from here.
6973         (tdesc_element): Likewise.
6974         (tdesc_reg): Likewise.
6975         (tdesc_reg_up): Likewise.
6976
6977 2018-04-17  Tom Tromey  <tom@tromey.com>
6978
6979         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
6980         discriminant field.
6981
6982 2018-04-17  Tom Tromey  <tom@tromey.com>
6983
6984         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
6985
6986 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
6987
6988         * symtab.c (print_symbol_info): Skip printing filename and line
6989         number when `last' is NULL.
6990         (symtab_symbol_info): Use empty string instead of NULL for first
6991         invocation of print_symbol_info.
6992         (rbreak_command): Pass NULL to `last' parameter of
6993         print_symbol_info.
6994
6995 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
6996
6997         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
6998         instead of nullptr.
6999
7000 2018-04-16  Pedro Alves  <palves@redhat.com>
7001
7002         * MAINTAINERS (sh): Remove.
7003         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
7004         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
7005         (ALLDEPFILES): Remove sh64-tdep.c.
7006         * NEWS: Mentions that support for SH-5/SH64 is removed.
7007         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
7008         (sh*-*-openbsd*): Ditto.
7009         (sh64-*-elf*): Remove.
7010         (sh*): Remove.
7011         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
7012         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
7013         * sh-tdep.c: No longer include "sh64-tdep.h".
7014         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
7015         * sh64-tdep.c, sh64-tdep.h: Remove files.
7016
7017 2018-04-16  Pedro Alves  <palves@redhat.com>
7018
7019         * MAINTAINERS: Remove m88k.
7020         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
7021         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
7022         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
7023         * NEWS: Mention that support for m88k was removed.
7024         * configure.host (m88*-*-*): Remove support.
7025         * configure.nat (m88k-*-*): Remove support.
7026         * configure.tgt (m88*-*-openbsd*): Remove.
7027         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
7028
7029 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
7030
7031         * configure.tgt (x86_tobjs): New variable.
7032         (amd64_tobjs, i386_tobjs): Use it.
7033
7034 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7035
7036         * symtab.c (print_symbol_info): Precede the symbol definition by
7037         the line number when available.
7038         * NEWS: Advertise this enhancement.
7039
7040 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7041
7042         * NEWS (New options): announce set/show record btrace cpu.
7043         * btrace.c: Include record-btrace.h.
7044         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
7045         the vendor is unknown.
7046         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
7047         Maybe overwrite the btrace configuration's cpu.
7048         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
7049         (btrace_fetch): Add cpu parameter.  Update callers.
7050         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
7051         Maybe overwrite the btrace configuration's cpu.  Skip enabling
7052         errata workarounds if the vendor is unknown.
7053         * python/py-record-btrace.c: Include record-btrace.h.
7054         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
7055         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
7056         * record-btrace.c (record_btrace_cpu_state_kind): New.
7057         (record_btrace_cpu): New.
7058         (set_record_btrace_cpu_cmdlist): New.
7059         (record_btrace_get_cpu): New.
7060         (require_btrace_thread, record_btrace_info)
7061         (record_btrace_resume_thread): Call record_btrace_get_cpu.
7062         (cmd_set_record_btrace_cpu_none): New.
7063         (cmd_set_record_btrace_cpu_auto): New.
7064         (cmd_set_record_btrace_cpu): New.
7065         (cmd_show_record_btrace_cpu): New.
7066         (_initialize_record_btrace): Initialize set/show record btrace cpu
7067         commands.
7068         * record-btrace.h (record_btrace_get_cpu): New.
7069
7070 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7071
7072         * record.c (set_record_command): Fix typo in message.
7073
7074 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7075
7076         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
7077
7078 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
7079
7080         * infrun.c (process_event_stop_test): Call
7081         gdbarch_in_indirect_branch_thunk.
7082         * gdbarch.sh (in_indirect_branch_thunk): New.
7083         * gdbarch.c: Regenerated.
7084         * gdbarch.h: Regenerated.
7085         * x86-tdep.h: New.
7086         * x86-tdep.c: New.
7087         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
7088         (HFILES_NO_SRCDIR): Add x86-tdep.h.
7089         (ALLDEPFILES): Add x86-tdep.c.
7090         * arch-utils.h (default_in_indirect_branch_thunk): New.
7091         * arch-utils.c (default_in_indirect_branch_thunk): New.
7092         * i386-tdep: Include x86-tdep.h.
7093         (i386_in_indirect_branch_thunk): New.
7094         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
7095         function.
7096         * amd64-tdep: Include x86-tdep.h.
7097         (amd64_in_indirect_branch_thunk): New.
7098         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
7099
7100 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
7101
7102         PR gdb/23053
7103         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
7104         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
7105         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
7106         regression.
7107
7108 2018-04-12  Tom Tromey  <tom@tromey.com>
7109
7110         * rust-lang.c (rust_print_struct_def): Remove univariant code.
7111         (rust_evaluate_subexp): Likewise.
7112
7113 2018-04-12  Pedro Alves  <palves@redhat.com>
7114
7115         * procfs.c (procfs_detach): Make forward declaration's prototype
7116         match definition's protototype.
7117         (proc_get_LDT_entry): Remove stale do_cleanups call.
7118
7119 2018-04-12  Pedro Alves  <palves@redhat.com>
7120
7121         * target.h (target_ops::to_has_exited): Delete.
7122         (target_has_exited): Delete.
7123         * target-delegates.c: Regenerate.
7124
7125 2018-04-11  Pedro Alves  <palves@redhat.com>
7126
7127         * target.c (fileio_fh_t::t): Add comment.
7128         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7129         (target_fileio_close): Handle a NULL target.
7130         (invalidate_fileio_fh): New.
7131         (target_close): Call it.
7132         * remote.c (remote_hostio_send_command): No longer check whether
7133         remote_desc is open.
7134
7135 2018-04-11  Pedro Alves  <palves@redhat.com>
7136
7137         * target.c (fileio_fh_t): Make it a named struct instead of a
7138         typedef.
7139         (fileio_fh_t::is_closed): New method.
7140         (DEF_VEC_O (fileio_fh_t)): Remove.
7141         (fileio_fhandles): Now a std::vector.
7142         (is_closed_fileio_fh): Delete.
7143         (acquire_fileio_fd): Adjust.  Rename parameters.
7144         (release_fileio_fd): Adjust.
7145         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
7146         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
7147         (target_fileio_close): Adjust.
7148
7149 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
7150
7151         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
7152         index.
7153
7154 2018-04-10  Pedro Alves  <palves@redhat.com>
7155
7156         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
7157         (scoped_finish_thread_state): New class.
7158         * infcmd.c (run_command_1): Use it instead of finish_thread_state
7159         cleanup.
7160         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
7161         (fetch_inferior_event, normal_stop): Likewise.
7162         * thread.c (finish_thread_state_cleanup): Delete.
7163
7164 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7165             Pedro Alves  <palves@redhat.com>
7166
7167         * value.c: Include "selftest.h" and "common/array-view.h".
7168         (struct range) <operator ==>: New.
7169         (test_ranges_contain): New.
7170         (check_ranges_vector): New.
7171         (test_insert_into_bit_range_vector): New.
7172         (_initialize_values): Register selftests.
7173         * common/array-view.h (operator==, operator!=): New.
7174
7175 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7176
7177         * common/gdb_vecs.h (unordered_remove): Add overload that takes
7178         an iterator.
7179         * inline-frame.c: Include <algorithm>.
7180         (struct inline_state): Add constructor.
7181         (inline_state_s): Remove.
7182         (DEF_VEC_O(inline_state_s)): Remove.
7183         (inline_states): Change type to std::vector.
7184         (find_inline_frame_state): Adjust to std::vector.
7185         (allocate_inline_frame_state): Remove.
7186         (clear_inline_frame_state): Adjust to std::vector.
7187         (skip_inline_frames): Adjust to std::vector.
7188
7189 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7190
7191         * tracepoint.h (struct trace_state_variable): Add constructor.
7192         <name>: Change type to std::string.
7193         * tracepoint.c (tsv_s): Remove.
7194         (DEF_VEC_O(tsv_s)): Remove.
7195         (tvariables): Change to std::vector.
7196         (create_trace_state_variable): Adjust to std::vector.
7197         (find_trace_state_variable): Likewise.
7198         (find_trace_state_variable_by_number): Likewise.
7199         (delete_trace_state_variable): Likewise.
7200         (trace_variable_command): Adjust to std::string.
7201         (delete_trace_variable_command): Likewise.
7202         (tvariables_info_1): Adjust to std::vector.
7203         (save_trace_state_variables): Likewise.
7204         (start_tracing): Likewise.
7205         (merge_uploaded_trace_state_variables): Adjust to std::vector
7206         and std::string.
7207         * target.h (struct target_ops)
7208         <to_download_trace_state_variable>: Pass reference to
7209         trace_state_variable.
7210         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
7211         * target-delegates.c: Re-generate.
7212         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
7213         (mi_tsv_deleted): Likewise.
7214         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
7215         * remote.c (remote_download_trace_state_variable): Change
7216         pointer to reference and adjust.
7217         * make-target-delegates (parse_argtypes): Handle references.
7218         (write_function_header): Likewise.
7219         (munge_type): Likewise.
7220
7221 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7222
7223         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7224         string_view-selftests.c.
7225         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
7226         testsuite.
7227         * unittests/basic_string_view/cons/char/1.cc: Likewise.
7228         * unittests/basic_string_view/cons/char/2.cc: Likewise.
7229         * unittests/basic_string_view/cons/char/3.cc: Likewise.
7230         * unittests/basic_string_view/element_access/char/1.cc:
7231         Likewise.
7232         * unittests/basic_string_view/element_access/char/empty.cc:
7233         Likewise.
7234         * unittests/basic_string_view/element_access/char/front_back.cc:
7235         Likewise.
7236         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
7237         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
7238         Likewise.
7239         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
7240         Likewise.
7241         * unittests/basic_string_view/modifiers/swap/char/1.cc:
7242         Likewise.
7243         * unittests/basic_string_view/operations/compare/char/1.cc:
7244         Likewise.
7245         * unittests/basic_string_view/operations/compare/char/13650.cc:
7246         Likewise.
7247         * unittests/basic_string_view/operations/copy/char/1.cc:
7248         Likewise.
7249         * unittests/basic_string_view/operations/data/char/1.cc:
7250         Likewise.
7251         * unittests/basic_string_view/operations/find/char/1.cc:
7252         Likewise.
7253         * unittests/basic_string_view/operations/find/char/2.cc:
7254         Likewise.
7255         * unittests/basic_string_view/operations/find/char/3.cc:
7256         Likewise.
7257         * unittests/basic_string_view/operations/find/char/4.cc:
7258         Likewise.
7259         * unittests/basic_string_view/operations/rfind/char/1.cc:
7260         Likewise.
7261         * unittests/basic_string_view/operations/rfind/char/2.cc:
7262         Likewise.
7263         * unittests/basic_string_view/operations/rfind/char/3.cc:
7264         Likewise.
7265         * unittests/basic_string_view/operations/substr/char/1.cc:
7266         Likewise.
7267         * unittests/basic_string_view/operators/char/2.cc: Likewise.
7268         * unittests/string_view-selftests.c: New file.
7269
7270 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7271
7272         * unittests/basic_string_view/capacity/1.cc: New file.
7273         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
7274         * unittests/basic_string_view/cons/char/1.cc: New file.
7275         * unittests/basic_string_view/cons/char/2.cc: New file.
7276         * unittests/basic_string_view/cons/char/3.cc: New file.
7277         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
7278         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
7279         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
7280         * unittests/basic_string_view/element_access/char/1.cc: New file.
7281         * unittests/basic_string_view/element_access/char/2.cc: New file.
7282         * unittests/basic_string_view/element_access/char/empty.cc: New file.
7283         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
7284         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
7285         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
7286         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
7287         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
7288         * unittests/basic_string_view/include.cc: New file.
7289         * unittests/basic_string_view/inserters/char/1.cc: New file.
7290         * unittests/basic_string_view/inserters/char/2.cc: New file.
7291         * unittests/basic_string_view/inserters/char/3.cc: New file.
7292         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
7293         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
7294         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
7295         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
7296         * unittests/basic_string_view/literals/types.cc: New file.
7297         * unittests/basic_string_view/literals/values.cc: New file.
7298         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
7299         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
7300         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
7301         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
7302         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
7303         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
7304         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
7305         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
7306         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
7307         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
7308         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
7309         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
7310         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
7311         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
7312         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
7313         * unittests/basic_string_view/operations/data/char/1.cc: New file.
7314         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
7315         * unittests/basic_string_view/operations/find/char/1.cc: New file.
7316         * unittests/basic_string_view/operations/find/char/2.cc: New file.
7317         * unittests/basic_string_view/operations/find/char/3.cc: New file.
7318         * unittests/basic_string_view/operations/find/char/4.cc: New file.
7319         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
7320         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
7321         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
7322         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
7323         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
7324         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
7325         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
7326         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
7327         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
7328         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
7329         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
7330         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
7331         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
7332         * unittests/basic_string_view/operators/char/2.cc: New file.
7333         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
7334         * unittests/basic_string_view/range_access/char/1.cc: New file.
7335         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
7336         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
7337         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
7338         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
7339         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
7340         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
7341         * unittests/basic_string_view/requirements/typedefs.cc: New file.
7342         * unittests/basic_string_view/typedefs.cc: New file.
7343         * unittests/basic_string_view/types/1.cc: New file.
7344
7345 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7346
7347         * common/gdb_string_view.h: Remove libstdc++ implementation
7348         details, adjust to gdb reality.
7349         * common/gdb_string_view.tcc: Likewise.
7350         * cli/cli-script.c (struct string_view): Remove.
7351         (user_args) <m_args>: Change element type to gdb::string_view.
7352         (user_args::insert_args): Adjust.
7353
7354 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7355
7356         * common/gdb_string_view.h: New file.
7357         * common/gdb_string_view.tcc: New file.
7358
7359 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
7360
7361         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
7362         * configure: Re-generate.
7363
7364 2018-04-09  Pedro Alves  <palves@redhat.com>
7365
7366         * gdbarch.sh: Include "observable.h" instead of "observer.h".
7367         (set_target_gdbarch): Call
7368         gdb::observers::architecture_changed.notify instead of
7369         observer_notify_architecture_changed.
7370
7371 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7372
7373         * tracepoint.c (struct current_traceframe_cleanup): Remove.
7374         (do_restore_current_traceframe_cleanup): Remove.
7375         (restore_current_traceframe_cleanup_dtor): Remove.
7376         (make_cleanup_restore_current_traceframe): Remove.
7377         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
7378         New.
7379         * tracepoint.h (struct scoped_restore_current_traceframe): New.
7380         * infrun.c (fetch_inferior_event): Use
7381         scoped_restore_current_traceframe.
7382
7383 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7384
7385         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
7386         Remove.
7387         <n_allocated_type_units>: Remove.
7388         <all_type_units>: Change to std::vector.
7389         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7390         to std::vector change.
7391         (dwarf2_per_objfile::get_cutu): Likewise.
7392         (dwarf2_per_objfile::get_tu): Likewise.
7393         (create_signatured_type_table_from_index): Likewise.
7394         (create_signatured_type_table_from_debug_names): Likewise.
7395         (dw2_symtab_iter_next): Likewise.
7396         (dw2_print_stats): Likewise.
7397         (dw2_expand_all_symtabs): Likewise.
7398         (dw2_expand_marked_cus): Likewise.
7399         (dw2_debug_names_iterator::next): Likewise.
7400         (dwarf2_initialize_objfile): Likewise.
7401         (add_signatured_type_cu_to_table): Likewise.
7402         (create_all_type_units): Likewise.
7403         (add_type_unit): Likewise.
7404         (struct tu_abbrev_offset): Add constructor.
7405         (build_type_psymtabs_1): Adjust to std::vector change.
7406         (print_tu_stats): Likewise.
7407         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7408         (write_debug_names): Likewise.
7409
7410 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7411
7412         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
7413         Make an std::vector.
7414         <n_comp_units>: Remove.
7415         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
7416         to std::vector change.
7417         (dwarf2_per_objfile::get_cutu): Likewise.
7418         (dwarf2_per_objfile::get_cu): Likewise.
7419         (create_cus_from_index): Likewise.
7420         (create_addrmap_from_index): Likewise.
7421         (create_addrmap_from_aranges): Likewise.
7422         (dwarf2_read_index): Likewise.
7423         (dw2_find_last_source_symtab): Likewise.
7424         (dw2_map_symtabs_matching_filename): Likewise.
7425         (dw2_symtab_iter_next): Likewise.
7426         (dw2_print_stats): Likewise.
7427         (dw2_expand_all_symtabs): Likewise.
7428         (dw2_expand_symtabs_with_fullname): Likewise.
7429         (dw2_expand_marked_cus): Likewise.
7430         (dw2_map_symbol_filenames): Likewise.
7431         (create_cus_from_debug_names): Likewise.
7432         (dwarf2_read_debug_names): Likewise.
7433         (dw2_debug_names_iterator::next): Likewise.
7434         (dwarf2_initialize_objfile): Likewise.
7435         (set_partial_user): Likewise.
7436         (dwarf2_build_psymtabs_hard): Likewise.
7437         (read_comp_units_from_section): Remove arguments, adjust to
7438         std::vector change.
7439         (create_all_comp_units): Adjust to std::vector and
7440         read_comp_units_from_section changes.
7441         (dwarf2_find_containing_comp_unit): Adjust to std::vector
7442         change.
7443         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
7444         (psyms_seen_size): Likewise.
7445         (write_gdbindex): Likewise.
7446         (write_debug_names): Likewise.
7447
7448 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7449
7450         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
7451         with dwarf2_per_objfile.
7452         (create_cus_from_index): Likewise.
7453         (create_signatured_type_table_from_index): Likewise.
7454         (dwarf2_read_index): Likewise.
7455         (dwarf2_initialize_objfile): Likewise.
7456         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
7457         per_cu rather than get_dwarf2_per_objfile.
7458
7459 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7460
7461         * dwarf2read.h (struct signatured_type): Forward declare.
7462         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
7463         New methods.
7464         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
7465         (dw2_get_cutu): ...this.
7466         (dwarf2_per_objfile::get_cu): Rename from...
7467         (dw2_get_cu): ...this.
7468         (dwarf2_per_objfile::get_tu): New.
7469         (create_addrmap_from_index): Adjust.
7470         (create_addrmap_from_aranges): Adjust.
7471         (dw2_find_last_source_symtab): Adjust.
7472         (dw2_map_symtabs_matching_filename): Adjust.
7473         (dw2_symtab_iter_next): Adjust.
7474         (dw2_print_stats): Adjust.
7475         (dw2_expand_all_symtabs): Adjust.
7476         (dw2_expand_symtabs_with_fullname): Adjust.
7477         (dw2_expand_marked_cus): Adjust.
7478         (dw_expand_symtabs_matching_file_matcher): Adjust.
7479         (dw2_map_symbol_filenames): Adjust.
7480         (dw2_debug_names_iterator::next): Adjust.
7481         (dwarf2_initialize_objfile): Adjust.
7482         (set_partial_user): Adjust.
7483         (dwarf2_build_psymtabs_hard): Adjust.
7484
7485 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7486
7487         * dwarf2read.c (create_signatured_type_table_from_debug_names):
7488         Remove unused variables.
7489         (dw2_map_symtabs_matching_filename): Likewise.
7490         (dwarf2_record_block_ranges): Likewise.
7491         (dwarf2_read_addr_index): Likewise.
7492         (follow_die_offset): Likewise.
7493
7494 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7495
7496         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
7497         to symbol_file_add_main.
7498
7499 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7500
7501         PR mi/22299
7502         * mi/mi-console.c (do_fputc_async_safe): New.
7503         (mi_console_file::write_async_safe): New.
7504         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
7505         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
7506         New.
7507         * ui-file.c (ui_file::putstrn): Adjust call to
7508         fputstrn_unfiltered.
7509         * utils.c (printchar): Replace do_fputs and do_fprintf
7510         parameters by do_fputc.
7511         (fputstr_filtered): Adjust call to printchar.
7512         (fputstr_unfiltered): Likewise.
7513         (fputstrn_filtered): Likewise.
7514         (fputstrn_unfiltered): Add do_fputc parameter, pass to
7515         printchar.
7516         * utils.h (do_fputc_ftype): New typedef.
7517         (fputstrn_unfiltered): Add do_fputc parameter.
7518
7519 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
7520
7521         * regformats/i386/i386-avx.dat: Remove.
7522
7523 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7524
7525         PR gdb/22979
7526         * amd64-tdep.c (amd64_none_init_abi): New function.
7527         (amd64_x32_none_init_abi): New function.
7528         (_initialize_amd64_tdep): Register handlers for x86-64 and
7529         x64_32 with GDB_OSABI_NONE.
7530         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
7531         GDB_OSABI_NONE osabi.
7532
7533 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7534
7535         PR gdb/22980
7536         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
7537         GDB_OSABI_NONE.
7538         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
7539         * osabi.c (gdb_osabi_names): Add "unknown" entry.
7540
7541 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
7542
7543         * common/byte-vector.h (char_vector): New type.
7544         * target.h (target_read_alloc): Return
7545         gdb::optional<byte_vector>.
7546         (target_read_stralloc): Return gdb::optional<char_vector>.
7547         (target_get_osdata): Return gdb::optional<char_vector>.
7548         * target.c (target_read_alloc_1): Templatize.  Replacement
7549         manual memory management with vector.
7550         (target_read_alloc): Change return type, adjust.
7551         (target_read_stralloc): Change return type, adjust.
7552         (target_get_osdata): Change return type, adjust.
7553         * auxv.c (struct auxv_info) <length>: Remove.
7554         <data>: Change type to gdb::optional<byte_vector>.
7555         (auxv_inferior_data_cleanup): Free auxv_info with delete.
7556         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
7557         (target_auxv_search): Adjust.
7558         (fprint_target_auxv): Adjust.
7559         * avr-tdep.c (avr_io_reg_read_command): Adjust.
7560         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
7561         (linux_make_corefile_notes): Adjust.
7562         * osdata.c (get_osdata): Adjust.
7563         * remote.c (remote_get_threads_with_qxfer): Adjust.
7564         (remote_memory_map): Adjust.
7565         (remote_traceframe_info): Adjust.
7566         (btrace_read_config): Adjust.
7567         (remote_read_btrace): Adjust.
7568         (remote_pid_to_exec_file): Adjust.
7569         * solib-aix.c (solib_aix_get_library_list): Adjust.
7570         * solib-dsbt.c (decode_loadmap): Don't free buf.
7571         (dsbt_get_initial_loadmaps): Adjust.
7572         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
7573         * solib-target.c (solib_target_current_sos): Adjust.
7574         * tracepoint.c (sdata_make_value): Adjust.
7575         * xml-support.c (xinclude_start_include): Adjust.
7576         (xml_fetch_content_from_file): Adjust.
7577         * xml-support.h (xml_fetch_another): Change return type.
7578         (xml_fetch_content_from_file): Change return type.
7579         * xml-syscall.c (xml_init_syscalls_info): Adjust.
7580         * xml-tdesc.c (file_read_description_xml): Adjust.
7581         (fetch_available_features_from_target): Change return type.
7582         (target_fetch_description_xml): Adjust.
7583         (target_read_description_xml): Adjust.
7584
7585 2018-04-06  Tom Tromey  <tom@tromey.com>
7586
7587         * value.c (~value): Update.
7588         (struct value) <contents>: Now unique_xmalloc_ptr.
7589         (value_contents_bits_eq, allocate_value_contents)
7590         (value_contents_raw, value_contents_all_raw)
7591         (value_contents_for_printing, value_contents_for_printing_const)
7592         (set_value_enclosing_type): Update.
7593
7594 2018-04-06  Tom Tromey  <tom@tromey.com>
7595
7596         * value.c (range_s): Remove typedef, VEC.
7597         (struct range): Add operator<.
7598         (range_lessthan): Remove.
7599         (ranges_contain): Change type.
7600         (~value): Update.
7601         (struct value) <unavailable, optimized_out>: Now std::vector.
7602         (value_entirely_available)
7603         (value_entirely_covered_by_range_vector)
7604         (value_entirely_unavailable, value_entirely_optimized_out):
7605         Update.
7606         (insert_into_bit_range_vector): Change argument type.
7607         (find_first_range_overlap): Likewise.
7608         (struct ranges_and_idx, value_contents_bits_eq)
7609         (require_not_optimized_out, require_available): Update.
7610         (ranges_copy_adjusted): Change argument types.
7611         (value_optimized_out, value_copy, value_fetch_lazy): Update.
7612
7613 2018-04-06  Tom Tromey  <tom@tromey.com>
7614
7615         * value.c (~value): Update.
7616         (struct value) <parent>: Now a value_ref_ptr.
7617         (value_parent, set_value_parent, value_address, value_copy):
7618         Update.
7619
7620 2018-04-06  Tom Tromey  <tom@tromey.com>
7621
7622         * value.c (struct value): Add constructor, destructor, and member
7623         initializers.
7624         (allocate_value_lazy, value_decref): Update.
7625
7626 2018-04-06  Tom Tromey  <tom@tromey.com>
7627
7628         * value.c (struct value) <released, next>: Remove.
7629         (all_values): Now a std::vector.
7630         (allocate_value_lazy): Update.
7631         (value_next): Remove.
7632         (value_mark, value_free_to_mark, release_value)
7633         (value_release_to_mark): Update.
7634
7635 2018-04-06  Tom Tromey  <tom@tromey.com>
7636
7637         * value.h (fetch_subexp_value, value_release_to_mark): Update.
7638         (free_value_chain): Remove.
7639         * value.c (free_value_chain): Remove.
7640         (value_release_to_mark): Return a std::vector.
7641         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
7642         std::vector.
7643         (check_condition): Update.
7644         * eval.c (fetch_subexp_value): Change "val_chain" to a
7645         std::vector.
7646         * breakpoint.c (update_watchpoint): Update.
7647         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
7648
7649 2018-04-06  Tom Tromey  <tom@tromey.com>
7650
7651         * value.h (free_all_values): Remove.
7652         * value.c (free_all_values): Remove.
7653
7654 2018-04-06  Tom Tromey  <tom@tromey.com>
7655
7656         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
7657         (value_history_chain, value_history_count): Remove.
7658         (value_history): New global.
7659         (record_latest_value, access_value_history, show_values)
7660         (preserve_values): Update.
7661
7662 2018-04-06  Tom Tromey  <tom@tromey.com>
7663
7664         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
7665         * varobj.c (varobj_set_display_format, varobj_set_value)
7666         (install_default_visualizer, construct_visualizer)
7667         (install_new_value, ~varobj, varobj_get_value_type)
7668         (my_value_of_variable, varobj_editable_p): Update.
7669         * c-varobj.c (c_describe_child, c_value_of_variable)
7670         (cplus_number_of_children, cplus_describe_child): Update.
7671         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
7672         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
7673         (ada_value_of_variable, ada_value_is_changeable_p): Update.
7674
7675 2018-04-06  Tom Tromey  <tom@tromey.com>
7676
7677         * printcmd.c (last_examine_address): Change type to
7678         value_ref_ptr.
7679         (do_examine, x_command): Update.
7680
7681 2018-04-06  Tom Tromey  <tom@tromey.com>
7682
7683         * value.c (release_value): Update.
7684         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
7685         (struct bpstats) <val>: Now a value_ref_ptr.
7686         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7687         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7688         (~watchpoint, print_it_watchpoint, watch_command_1)
7689         (invalidate_bp_value_on_memory_change): Update.
7690
7691 2018-04-06  Tom Tromey  <tom@tromey.com>
7692
7693         * varobj.c (varobj_clear_saved_item)
7694         (update_dynamic_varobj_children, install_new_value, ~varobj):
7695         Update.
7696         * value.h (value_incref): Move declaration earlier.
7697         (value_decref): Rename from value_free.
7698         (struct value_ref_policy): New.
7699         (value_ref_ptr): New typedef.
7700         (struct value_deleter): Remove.
7701         (gdb_value_up): Remove typedef.
7702         (release_value): Change return type.
7703         (release_value_or_incref): Remove.
7704         * value.c (set_value_parent): Update.
7705         (value_incref): Change return type.
7706         (value_decref): Rename from value_free.
7707         (value_free_to_mark, free_all_values, free_value_chain): Update.
7708         (release_value): Return value_ref_ptr.
7709         (release_value_or_incref): Remove.
7710         (record_latest_value, set_internalvar, clear_internalvar):
7711         Update.
7712         * stack.c (info_frame_command): Don't call value_free.
7713         * python/py-value.c (valpy_dealloc, valpy_new)
7714         (value_to_value_object): Update.
7715         * printcmd.c (do_examine): Update.
7716         * opencl-lang.c (lval_func_free_closure): Update.
7717         * mi/mi-main.c (register_changed_p): Don't call value_free.
7718         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
7719         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
7720         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
7721         value_free.
7722         * guile/scm-value.c (vlscm_free_value_smob)
7723         (vlscm_scm_from_value): Update.
7724         * frame.c (frame_register_unwind, frame_unwind_register_signed)
7725         (frame_unwind_register_unsigned, get_frame_register_bytes)
7726         (put_frame_register_bytes): Don't call value_free.
7727         * findvar.c (address_from_register): Don't call value_free.
7728         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
7729         * dwarf2loc.c (entry_data_value_free_closure)
7730         (value_of_dwarf_reg_entry, free_pieced_value_closure)
7731         (dwarf2_evaluate_loc_desc_full): Update.
7732         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
7733         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
7734         (~watchpoint, watch_command_1)
7735         (invalidate_bp_value_on_memory_change): Update.
7736         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
7737
7738 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
7739
7740         PR gdb/23022
7741         * warning.m4: Add -Wno-error=deprecated-register.
7742         * configure: Re-generate.
7743
7744 2018-04-05  Tom Tromey  <tom@tromey.com>
7745
7746         * linespec.h: Remove include of "vec.h".
7747
7748 2018-04-05  Tom Tromey  <tom@tromey.com>
7749
7750         * linespec.c (typep): Remove typedef.
7751         (find_methods, find_superclass_methods): Take a std::vector.
7752         (find_method): Use std::vector.
7753
7754 2018-04-05  Tom Tromey  <tom@tromey.com>
7755
7756         * utils.c (compare_strings): Remove.
7757         * utils.h (compare_strings): Remove.
7758         * objc-lang.h (find_imps): Update.
7759         * objc-lang.c (find_methods): Take a std::vector.
7760         (uniquify_strings, find_imps): Likewise.
7761         * linespec.c (find_methods): Take a std::vector.
7762         (decode_objc): Use std::vector.
7763         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
7764         a std::vector.
7765         (find_method, find_function_symbols): Use std::vector.
7766
7767 2018-04-05  Tom Tromey  <tom@tromey.com>
7768
7769         * completer.c (completion_tracker::completion_tracker): Remove
7770         cast.
7771         (completion_tracker::discard_completions): Likewise.
7772         * breakpoint.c (ambiguous_names_p): Remove cast.
7773         * ada-lang.c (_initialize_ada_language): Remove cast.
7774         * utils.h (streq): Update.
7775         (streq_hash): Add new declaration.
7776         * utils.c (streq): Return bool.
7777         (streq_hash): New function.
7778
7779 2018-04-05  Tom Tromey  <tom@tromey.com>
7780
7781         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
7782         Remove a string copy.
7783
7784 2018-04-05  Tom Tromey  <tom@tromey.com>
7785
7786         * linespec.c (filter_results): Use std::vector.
7787         (decode_line_2, decode_line_full): Update.
7788
7789 2018-04-05  Tom Tromey  <tom@tromey.com>
7790
7791         * linespec.c (canonical_to_fullform): Return std::string.
7792         (filter_results): Update.
7793         (struct decode_line_2_item): Add constructor.
7794         <fullform, displayform>: Now std::string.
7795         (decode_line_2_compare_items): Now a std::sort comparator.
7796         (decode_line_2): Update.
7797
7798 2018-04-05  Tom Tromey  <tom@tromey.com>
7799
7800         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
7801         (unexpected_linespec_error): Update.
7802         (linespec_parse_basic, parse_linespec): Update.
7803
7804 2018-04-05  Tom Tromey  <tom@tromey.com>
7805
7806         * linespec.c (linespec_parse_basic): Reindent.
7807
7808 2018-04-05  Tom Tromey  <tom@tromey.com>
7809
7810         * minsyms.h (iterate_over_minimal_symbols): Update.
7811         * minsyms.c (iterate_over_minimal_symbols): Take a
7812         gdb::function_view.
7813         * linespec.c (struct collect_minsyms): Remove.
7814         (compare_msyms): Now a std::sort comparator.
7815         (add_minsym): Add parameters.
7816         (search_minsyms_for_name): Update.  Use std::vector.
7817
7818 2018-04-03  Tom Tromey  <tom@tromey.com>
7819
7820         * mipsread.c (read_alphacoff_dynamic_symtab): Use
7821         gdb::byte_vector.
7822
7823 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7824
7825         * MAINTAINERS (Write After Approval): Add Weimin Pan.
7826
7827 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
7828
7829         PR gdb/16959
7830         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
7831         printing static type.
7832
7833 2018-04-01  Tom Tromey  <tom@tromey.com>
7834
7835         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
7836         (rs6000_xfer_shared_libraries): Update.
7837
7838 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
7839
7840         * common/gdb_vecs.h (char_ptr): Remove.
7841         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
7842
7843 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7844
7845         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
7846         with std::vector.
7847         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
7848
7849 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
7850
7851         * tracepoint.h (struct uploaded_tp): Initialize fields.
7852         <actions, step_actions, cmd_strings>: Change type to
7853         std::vector<char *>.
7854         * tracepoint.c (get_uploaded_tp): Allocate with new.
7855         (free_uploaded_tps): Free with delete.
7856         (parse_tracepoint_definition): Adjust to std::vector change.
7857         * breakpoint.c (read_uploaded_action): Likewise.
7858         (create_tracepoint_from_upload): Likewise.
7859         * ctf.c (ctf_write_uploaded_tp): Likewise.
7860         (SET_ARRAY_FIELD): Likewise.
7861         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
7862
7863 2018-03-30  Tom Tromey  <tom@tromey.com>
7864
7865         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
7866         std::unique_ptr.
7867         (svr4_keep_data_in_core): Update.
7868         (svr4_read_so_list): Update.
7869
7870 2018-03-30  Tom Tromey  <tom@tromey.com>
7871
7872         * windows-nat.c (handle_output_debug_string, handle_exception):
7873         Update.
7874         * target.h (target_read_string): Update.
7875         * target.c (target_read_string): Change "string" to
7876         unique_xmalloc_ptr.
7877         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
7878         Update.
7879         * solib-frv.c (frv_current_sos): Update.
7880         * solib-dsbt.c (dsbt_current_sos): Update.
7881         * solib-darwin.c (darwin_current_sos): Update.
7882         * linux-thread-db.c (inferior_has_bug): Update.
7883         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
7884         Update.  Remove alloca.
7885         * ada-lang.c (ada_main_name): Update.
7886
7887 2018-03-30  Tom Tromey  <tom@tromey.com>
7888
7889         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
7890         (struct dwo_file_deleter): New.
7891         (dwo_file_up): New typedef.
7892         (open_and_init_dwo_file): Use dwo_file_up.
7893         (free_dwo_file_cleanup): Remove.
7894
7895 2018-03-30  Tom Tromey  <tom@tromey.com>
7896
7897         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
7898         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
7899
7900 2018-03-30  Tom Tromey  <tom@tromey.com>
7901
7902         * dwarf2read.c (class free_cached_comp_units): New class.
7903         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
7904         (free_cached_comp_units): Remove function.
7905
7906 2018-03-30  Tom Tromey  <tom@tromey.com>
7907
7908         * utils.h (make_cleanup_unpush_target): Remove.
7909         * inf-ptrace.c (struct target_unpusher): New.
7910         (target_unpush_up) New typedef.
7911         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
7912         target_unpush_up.
7913         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
7914
7915 2018-03-27  Tom Tromey  <tom@tromey.com>
7916
7917         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
7918
7919 2018-03-27  Pedro Alves  <palves@redhat.com>
7920             Tom Tromey  <tom@tromey.com>
7921
7922         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
7923         destructor.  Now a class.
7924         (gdb_readline_wrapper_cleanup): Remove function.
7925         (gdb_readline_wrapper): Remove cleanups.
7926
7927 2018-03-27  Tom Tromey  <tom@tromey.com>
7928
7929         * typeprint.h (struct type_print_options) <local_typedefs,
7930         global_typedefs>: Remove "struct" keyword.
7931         (class typedef_hash_table): New class.
7932         (recursively_update_typedef_hash, add_template_parameters)
7933         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
7934         (find_typedef_in_hash): Don't declare.
7935         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
7936         (typedef_hash_table::recursively_update): Rename from
7937         recursively_update_typedef_hash.  Now a member.
7938         (typedef_hash_table::add_template_parameters): Rename from
7939         add_template_parameters.  Now a member.
7940         (typedef_hash_table::typedef_hash_table): Now a constructor;
7941         rename from create_typedef_hash.
7942         (typedef_hash_table::~typedef_hash_table): Now a destructor;
7943         rename from free_typedef_hash.
7944         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
7945         (do_free_global_table): Remove.
7946         (typedef_hash_table::typedef_hash_table): New constructor; renamed
7947         from copy_type_recursive.
7948         (create_global_typedef_table): Remove.
7949         (typedef_hash_table::find_global_typedef): Now a member of
7950         typedef_hash_table.
7951         (typedef_hash_table::find_typedef): Rename from
7952         find_typedef_in_hash; now a member.
7953         (whatis_exp): Update.
7954         * extension.h (struct ext_lang_type_printers): Add constructor and
7955         destructor.
7956         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
7957         declare.
7958         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
7959         Now a constructor; rename from start_ext_lang_type_printers.
7960         (ext_lang_type_printers): Now a destructor; rename from
7961         free_ext_lang_type_printers.
7962         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
7963         Update.
7964         (c_type_print_base_struct_union): Update.  Remove cleanups.
7965
7966 2018-03-27  Tom Tromey  <tom@tromey.com>
7967
7968         * dwarf-index-write.c: Include <cmath>.
7969
7970 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
7971
7972         * NEWS: Add entry describing new "set|show varsize-limit" command.
7973         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
7974         command.
7975         * printcmd.c (_initialize_printcmd): Add "set var" alias of
7976         "set variable".
7977
7978 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
7979
7980         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
7981         dwarf-index-write.c
7982         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
7983         * dwarf-index-common.c: New file.
7984         * dwarf-index-common.h: New file.
7985         * dwarf-index-write.c: New file.
7986         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
7987         (struct dwarf2_section_info): Move from here.
7988         (dwarf2_section_info_def): Likewise.
7989         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
7990         (offset_type): Likewise.
7991         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
7992         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
7993         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
7994         (byte_swap): Likewise.
7995         (MAYBE_SWAP): Likewise.
7996         (dwarf2_per_cu_ptr): Likewise.
7997         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
7998         (struct tu_stats): Likewise.
7999         (struct dwarf2_per_objfile): Likewise.
8000         (struct dwarf2_per_cu_data): Likewise.
8001         (struct signatured_type): Likewise.
8002         (sig_type_ptr): Likewise.
8003         (DEF_VEC_P (sig_type_ptr)): Likewise.
8004         (INDEX4_SUFFIX): Likewise.
8005         (INDEX5_SUFFIX): Likewise.
8006         (DEBUG_STR_SUFFIX): Likewise.
8007         (dwarf2_read_section): Make non-static.
8008         (mapped_index_string_hash): Move from here.
8009         (dwarf5_djb_hash): Likewise.
8010         (file_write): Likewise.
8011         (class data_buf): Likewise.
8012         (struct symtab_index_entry): Likewise.
8013         (struct mapped_symtab): Likewise.
8014         (find_slot): Likewise.
8015         (hash_expand): Likewise.
8016         (add_index_entry): Likewise.
8017         (uniquify_cu_indices): Likewise.
8018         (class c_str_view): Likewise.
8019         (class c_str_view_hasher): Likewise.
8020         (class vector_hasher): Likewise.
8021         (write_hash_table): Likewise.
8022         (psym_index_map): Likewise.
8023         (struct addrmap_index_data): Likewise.
8024         (add_address_entry): Likewise.
8025         (add_address_entry_worker): Likewise.
8026         (write_address_map): Likewise.
8027         (symbol_kind): Likewise.
8028         (write_psymbols): Likewise.
8029         (struct signatured_type_index_data): Likewise.
8030         (write_one_signatured_type): Likewise.
8031         (recursively_count_psymbols): Likewise.
8032         (recursively_write_psymbols): Likewise.
8033         (class debug_names): Likewise.
8034         (check_dwarf64_offsets): Likewise.
8035         (psyms_seen_size): Likewise.
8036         (write_gdbindex): Likewise.
8037         (write_debug_names): Likewise.
8038         (assert_file_size): Likewise.
8039         (write_psymtabs_to_index): Likewise.
8040         (save_gdb_index_command): Likewise.
8041         (_initialize_dwarf2_read): Don't register the "save gdb-index"
8042         command.
8043         * dwarf2read.h: New file.
8044
8045 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
8046
8047         PR gdb/22670
8048         * dwarf2read.c (dwarf2_physname): Do not return the demangled
8049         symbol name if the CU's language stores symbol names in linkage
8050         format.
8051         * language.h (struct language_defn)
8052         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
8053         all instances of this struct.
8054
8055 2018-03-26  Tom Tromey  <tom@tromey.com>
8056
8057         * stack.c (backtrace_command_1): Remove verbose code.
8058
8059 2018-03-26  Tom Tromey  <tom@tromey.com>
8060
8061         * python/py-framefilter.c (py_print_type): Don't catch
8062         exceptions.  Return void.
8063         (py_print_value): Likewise.
8064         (py_print_single_arg): Likewise.
8065         (enumerate_args): Don't catch exceptions.
8066         (py_print_args): Likewise.
8067         (py_print_frame): Likewise.
8068         (gdbpy_apply_frame_filter): Catch exceptions here.
8069
8070 2018-03-26  Tom Tromey  <tom@tromey.com>
8071
8072         * stack.c (_initialize_stack): Remove trailing newlines from help
8073         text.  Add "Usage" line to "backtrace" help.
8074
8075 2018-03-26  Tom Tromey  <tom@tromey.com>
8076
8077         PR python/16486:
8078         * python/py-framefilter.c (py_print_args): Call wrap_hint.
8079
8080 2018-03-26  Tom Tromey  <tom@tromey.com>
8081
8082         * python/py-framefilter.c (py_print_single_arg): Return
8083         EXT_LANG_BT_ERROR from catch.
8084
8085 2018-03-26  Tom Tromey  <tom@tromey.com>
8086
8087         PR backtrace/15584:
8088         * stack.c (backtrace_command_1): Move some code into no-filters
8089         "if".
8090
8091 2018-03-26  Tom Tromey  <tom@tromey.com>
8092
8093         * python/py-framefilter.c (throw_quit_or_print_exception): New
8094         function.
8095         (gdbpy_apply_frame_filter): Use it.
8096
8097 2018-03-26  Tom Tromey  <tom@tromey.com>
8098
8099         PR cli/17716:
8100         * python/py-framefilter.c (py_print_type, py_print_value)
8101         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
8102         RETURN_MASK_ERROR.
8103
8104 2018-03-26  Tom Tromey  <tom@tromey.com>
8105
8106         * python/py-framefilter.c (enumerate_args): Use
8107         gdb::unique_xmalloc_ptr.
8108
8109 2018-03-26  Tom Tromey  <tom@tromey.com>
8110
8111         * python/py-framefilter.c (py_print_frame): Return
8112         EXT_LANG_BT_OK.
8113         (gdbpy_apply_frame_filter): Update comment.
8114         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
8115         Remove.
8116         <EXT_LANG_BT_NO_FILTERS>: Change value.
8117
8118 2018-03-26  Tom Tromey  <tom@tromey.com>
8119
8120         PR backtrace/15582:
8121         * stack.c (backtrace_command): Parse "hide" argument.
8122         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
8123         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
8124         constant.
8125
8126 2018-03-26  Tom Tromey  <tom@tromey.com>
8127
8128         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
8129         add "flags".
8130         (backtrace_command): Remove "fulltrace", add "flags".
8131
8132 2018-03-26  Tom Tromey  <tom@tromey.com>
8133
8134         * stack.c (backtrace_command): Rewrite command line parsing.
8135
8136 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8137
8138         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
8139
8140 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
8141
8142         * filename-seen-cache.h: Add include guard.
8143
8144 2018-03-26  Keith Seitz  <keiths@redhat.com>
8145
8146         * symfile.c (place_section): Remove "struct" from section_addr_info
8147         in comment.
8148         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
8149         "struct" keyword from section_addr_info.
8150
8151 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
8152
8153         * regformats/regdef.h (reg): Add constructors.
8154
8155 2018-03-25  Pedro Alves  <palves@redhat.com>
8156
8157         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
8158         if then/else bodies in var_func_name extraction.
8159
8160 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
8161
8162         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
8163         lookup_minimal_symbol() to find symbol entry.
8164         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
8165
8166 2018-03-23  Keith Seitz  <keiths@redhat.com>
8167
8168         PR c++/22968
8169         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
8170         nested type definitions for C++, too.
8171
8172 2018-03-23  Tom Tromey  <tom@tromey.com>
8173
8174         * machoread.c (struct oso_el): Add a constructor.  Don't define as
8175         a typedef.
8176         (macho_register_oso): Remove.
8177         (macho_symtab_read): Take a std::vector.
8178         (oso_el_compare_name): Now a std::sort comparator.
8179         (macho_symfile_read_all_oso): Take a std::vector.
8180         (macho_symfile_read): Use std::vector.  Remove cleanups.
8181
8182 2018-03-22  Tom Tromey  <tom@tromey.com>
8183
8184         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
8185         (record_full_goto_bookmark): Use std::string.
8186
8187 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8188
8189         PR tdep/18295
8190         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
8191         a single mask.
8192
8193 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8194
8195         * rs6000-tdep.c (store_insn_p): New function.
8196         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
8197         and cr_reg to their unshifted values. Use store_insn_p to
8198         match LR saves using either R1 or fdata->alloca_reg. Use
8199         store_insn_p to match CR saves. Set alloca_reg_offset
8200         when alloca_reg and framep are set. Remove lr_reg shift
8201         when assigning to fdata->lr_register.
8202
8203 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8204
8205         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
8206         command line args instead of emitting a warning.
8207
8208 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8209
8210         * tracepoint.h (struct static_tracepoint_marker): Initialize
8211         fields, define default constructor, move constructor and move
8212         assignment, disable the rest.
8213         <str_id, extra>: Make std::string.
8214         (release_static_tracepoint_marker): Remove.
8215         (free_current_marker): Remove.
8216         * tracepoint.c (free_current_marker): Remove.
8217         (parse_static_tracepoint_marker_definition): Adjust to
8218         std::string, use new hex2str overload.
8219         (release_static_tracepoint_marker): Remove.
8220         (print_one_static_tracepoint_marker): Get marker by reference
8221         and adjust to std::string.
8222         (info_static_tracepoint_markers_command): Adjust to std::vector
8223         changes
8224         * target.h (static_tracepoint_marker_p): Remove typedef.
8225         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
8226         (struct target_ops) <to_static_tracepoint_marker_at>: Return
8227         bool.
8228         <to_static_tracepoint_markers_by_strid>: Return std::vector.
8229         * target-debug.h
8230         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
8231         (target_debug_print_std_vector_static_tracepoint_marker): New.
8232         (target_debug_print_struct_static_tracepoint_marker_p): Rename
8233         to...
8234         (target_debug_print_static_tracepoint_marker_p): ... this.
8235         * target-delegates.c: Re-generate.
8236         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
8237         Make std::string.
8238         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
8239         (decode_static_tracepoint_spec): Adjust to std::vector.
8240         (tracepoint_print_one_detail): Adjust to std::string.
8241         (strace_marker_decode_location): Adjust to std::string.
8242         (update_static_tracepoint): Adjust to std::string, remove call
8243         to release_static_tracepoint_marker.
8244         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
8245         Adjust to std::vector.
8246         * remote.c (remote_static_tracepoint_marker_at): Return bool.
8247         (remote_static_tracepoint_markers_by_strid): Adjust to
8248         std::vector.
8249         * common/rsp-low.h (hex2str): New overload with explicit count
8250         of bytes.
8251         * common/rsp-low.c (hex2str): New overload with explicit count
8252         of bytes.
8253         * unittests/rsp-low-selftests.c (test_hex2str): New function.
8254         (_initialize_rsp_low_selftests): Add test_hex2str test.
8255         * unittests/tracepoint-selftests.c
8256         (test_parse_static_tracepoint_marker_definition): Adjust to
8257         std::string.
8258
8259 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
8260
8261         * tracepoint.c (parse_static_tracepoint_marker_definition):
8262         Consider case where the definition is followed by more
8263         definitions.
8264         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8265         tracepoint-selftests.c.
8266         * unittests/tracepoint-selftests.c: New.
8267
8268 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
8269
8270         * MAINTAINERS (Write After Approval): Add Pedro Franco de
8271         Carvalho.
8272
8273 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8274
8275         * symtab.c (find_pc_sect_line): fixed indentation.
8276
8277 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
8278
8279         * symtab.c (find_pc_sect_line): now uses binary search.
8280
8281 2018-03-19  Tom Tromey  <tom@tromey.com>
8282
8283         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
8284         "IDENT" production.
8285
8286 2018-03-19  Pedro Alves  <palves@redhat.com>
8287             Tom Tromey  <tom@tromey.com>
8288
8289         * unittests/observable-selftests.c: New file.
8290         * common/observable.h: New file.
8291         * observable.h: New file.
8292         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
8293         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
8294         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
8295         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
8296         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
8297         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
8298         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
8299         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
8300         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
8301         python/py-breakpoint.c, python/py-finishbreakpoint.c,
8302         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
8303         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
8304         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
8305         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
8306         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
8307         tui/tui-interp.c, valops.c: Update all users.
8308         * tui/tui-hooks.c (tui_bp_created_observer)
8309         (tui_bp_deleted_observer, tui_bp_modified_observer)
8310         (tui_inferior_exit_observer, tui_before_prompt_observer)
8311         (tui_normal_stop_observer, tui_register_changed_observer):
8312         Remove.
8313         (tui_observers_token): New global.
8314         (attach_or_detach, tui_attach_detach_observers): New functions.
8315         (tui_install_hooks, tui_remove_hooks): Use
8316         tui_attach_detach_observers.
8317         * record-btrace.c (record_btrace_thread_observer): Remove.
8318         (record_btrace_thread_observer_token): New global.
8319         * observer.sh: Remove.
8320         * observer.c: Rename to observable.c.
8321         * observable.c (namespace gdb_observers): Define new objects.
8322         (observer_debug): Move into gdb_observers namespace.
8323         (struct observer, struct observer_list, xalloc_observer_list_node)
8324         (xfree_observer_list_node, generic_observer_attach)
8325         (generic_observer_detach, generic_observer_notify): Remove.
8326         (_initialize_observer): Update.
8327         Don't include observer.inc.
8328         * Makefile.in (generated_files): Remove observer.h, observer.inc.
8329         (clean mostlyclean): Likewise.
8330         (observer.h, observer.inc): Remove targets.
8331         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
8332         (COMMON_SFILES): Use observable.c, not observer.c.
8333         * .gitignore: Remove observer.h.
8334
8335 2018-03-18  Tom Tromey  <tom@tromey.com>
8336
8337         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
8338         gdb::def_vector.
8339         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
8340
8341 2018-03-17  Tom Tromey  <tom@tromey.com>
8342
8343         * auto-load.c (auto_load_objfile_script_1): Use std::string.
8344
8345 2018-03-17  Tom Tromey  <tom@tromey.com>
8346
8347         * target.c (class scoped_target_fd): New.
8348         (target_fileio_close_cleanup): Remove.
8349         (target_fileio_read_alloc_1): Use scoped_target_fd.
8350
8351 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
8352
8353         * silent-rules.mk: New.
8354         * Makefile.in: Include silent-rules.mk
8355         (srcdir, VPATH, top_srcdir): Move up.
8356         (COMPILE): Add ECHO_CXX.
8357         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
8358         (init.c): Add ECHO_INIT_C.
8359         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
8360         (version.c): Add ECHO_GEN.
8361         (printcmd.o): Add ECHO_CXX.
8362         (target-float.o): Add ECHO_CXX.
8363         (ada-exp.o): Add ECHO_CXX.
8364         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
8365         (insight$(EXEEXT)): Add ECHO_CXXLD.
8366         * gnulib/configure.ac: Add AM_SILENT_RULES.
8367         * gnulib/aclocal.m4: Re-generate.
8368         * gnulib/configure: Re-generate.
8369         * gnulib/import/Makefile.in: Re-generate.
8370
8371 2018-03-16  Tom Tromey  <tom@tromey.com>
8372
8373         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
8374         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
8375         * utils.c (do_free_section_addr_info)
8376         (make_cleanup_free_section_addr_info): Remove.
8377         * symfile.h (struct other_sections): Add constructor.
8378         (struct section_addr_info): Remove.
8379         (section_addr_info): New typedef.
8380         (struct sym_fns) <sym_offsets>: Change type of parameter.
8381         (build_section_addr_info_from_objfile)
8382         (relative_addr_info_to_section_offsets, addr_info_make_relative)
8383         (default_symfile_offsets, symbol_file_add)
8384         (symbol_file_add_from_bfd)
8385         (build_section_addr_info_from_section_table): Update.
8386         (alloc_section_addr_info, free_section_addr_info): Don't declare.
8387         * symfile.c (alloc_section_addr_info): Remove.
8388         (build_section_addr_info_from_section_table): Change return type.
8389         Update.
8390         (build_section_addr_info_from_bfd)
8391         (build_section_addr_info_from_objfile): Likewise.
8392         (free_section_addr_info): Remove.
8393         (relative_addr_info_to_section_offsets): Change type of "addrs".
8394         (addrs_section_compar): Now a std::sort comparator.
8395         (addrs_section_sort): Change return type.
8396         (addr_info_make_relative): Change type of "addrs".  Update.
8397         (default_symfile_offsets, syms_from_objfile_1)
8398         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
8399         (symbol_file_add_separate): Update.
8400         (symbol_file_add): Change type of "addrs".  Update.
8401         (add_symbol_file_command): Update.  Remove cleanups.
8402         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
8403         cleanups.
8404         * symfile-debug.c (debug_sym_offsets): Change type of "info".
8405         * solib.c (solib_read_symbols): Update.
8406         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
8407         * machoread.c (macho_symfile_offsets): Update.
8408         * jit.c (jit_bfd_try_read_symtab): Update.
8409
8410 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
8411
8412         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8413         unittests/utils-selftests.c.
8414         * unittests/utils-selftests.c: New file.
8415
8416 2018-03-14  Tom Tromey  <tom@tromey.com>
8417
8418         PR cli/14977:
8419         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
8420         for NULL.
8421
8422 2018-03-14  Tom Tromey  <tom@tromey.com>
8423
8424         PR cli/19918:
8425         * printcmd.c (printf_pointer): Allow "-" in format.
8426
8427 2018-03-14  Tom Tromey  <tom@tromey.com>
8428
8429         * printcmd.c (_initialize_printcmd): Add usage to printf.
8430
8431 2018-03-14  Yao Qi  <qiyao@sourceware.org>
8432
8433         * MAINTAINERS: Update my email address.
8434
8435 2018-03-13  Tom Tromey  <tom@tromey.com>
8436
8437         * machoread.c (macho_check_dsym): Change filenamep to a
8438         std::string*.
8439         (macho_symfile_read): Update.
8440         * symfile.c (load_command): Use std::string.
8441
8442 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
8443
8444         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
8445         to error message string.
8446         (riscv_register_name): Use xsnprintf instead of sprintf.
8447         (riscv_insn::fetch_instruction): Use gdb_assert instead of
8448         internal_error.
8449         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
8450         error.
8451         (riscv_push_dummy_call): Likewise.
8452
8453 2018-03-12  Tom Tromey  <tom@tromey.com>
8454
8455         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
8456         Use gdb::byte_vector.
8457         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
8458
8459 2018-03-12  Yao Qi  <yao.qi@linaro.org>
8460
8461         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
8462         parameter type to readable_regcache.
8463         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
8464         the declaration.
8465
8466 2018-03-11  Tom Tromey  <tom@tromey.com>
8467
8468         * dwarf2read.c (struct nextfield): Add initializers.
8469         (struct nextfnfield): Remove.
8470         (struct fnfieldlist): Add initializers.  Remove "length" and
8471         "head", use std::vector.
8472         (struct decl_field_list): Remove.
8473         (struct field_info): Add initializers.
8474         <fields, baseclasses>: Now std::vector.
8475         <nbaseclasses, nfnfields, typedef_field_list_count,
8476         nested_types_list_count>: Remove.
8477         (dwarf2_add_field, dwarf2_add_type_defn)
8478         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
8479         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
8480         (process_structure_scope): Update.
8481
8482 2018-03-11  Tom Tromey  <tom@tromey.com>
8483
8484         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
8485         for use by std::sort.
8486         (build_type_psymtabs_1): Use std::vector.
8487
8488 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
8489
8490         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
8491         and LIBMPFR in the printed configuration.
8492
8493 2018-03-08  Tom Tromey  <tom@tromey.com>
8494
8495         * source.c (get_filename_and_charpos): Use scoped_fd.
8496         * nto-procfs.c (procfs_open_1): Use scoped_fd.
8497         (procfs_pidlist): Likewise.
8498         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
8499         (iterate_over_mappings): Likewise.
8500
8501 2018-03-08  Tom Tromey  <tom@tromey.com>
8502
8503         * infcall.c (struct call_return_meta_info)
8504         <stack_temporaries_enabled>: Remove.
8505         (get_call_return_value, call_function_by_hand_dummy): Update.
8506         * thread.c (disable_thread_stack_temporaries): Remove.
8507         (enable_thread_stack_temporaries): Remove.
8508         (thread_stack_temporaries_enabled_p): Return bool.
8509         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
8510         (get_last_thread_stack_temporary): Update.
8511         * eval.c (evaluate_subexp): Update.
8512         * gdbthread.h (class enable_thread_stack_temporaries): Now a
8513         class, not a function.
8514         (value_ptr, value_vec): Remove typedefs.
8515         (class thread_info) <stack_temporaries_enabled>: Now bool.
8516         <stack_temporaries>: Now a std::vector.
8517         (thread_stack_temporaries_enabled_p)
8518         (value_in_thread_stack_temporaries): Return bool.
8519
8520 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
8521
8522         * remote.c (putpkt_binary): Fix omitted bytes reporting.
8523         (getpkt_or_notif_sane_1): Likewise.
8524
8525 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8526
8527         * build-id.c (build_id_to_debug_bfd): Use std::string.
8528
8529 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8530
8531         * build-id.c (find_separate_debug_file_by_buildid): Return
8532         std::string.
8533         * build-id.h (find_separate_debug_file_by_buildid): Return
8534         std::string.
8535         * coffread.c (coff_symfile_read): Adjust to std::string.
8536         * elfread.c (elf_symfile_read): Adjust to std::string.
8537         * symfile.c (separate_debug_file_exists): Change parameter to
8538         std::string.
8539         (find_separate_debug_file): Return std::string.
8540         (find_separate_debug_file_by_debuglink): Return std::string.
8541         * symfile.h (find_separate_debug_file_by_debuglink): Return
8542         std::string.
8543
8544 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
8545
8546         * common/xml-utils.c (xml_escape_text): Move code to...
8547         (xml_escape_text_append): ... this new function.
8548         * common/xml-utils.h (xml_escape_text_append): New declaration.
8549         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
8550         New function.
8551         (_initialize_xml_utils): register test_xml_escape_text_append as
8552         a selftest.
8553
8554 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
8555
8556         * defs.h: Remove MAX_REGISTER_SIZE.
8557         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
8558         asserts.
8559         * python/py-unwind.c (pyuw_sniffer): Likewise.
8560
8561 2018-03-07  Tom Tromey  <tom@tromey.com>
8562
8563         * linux-tdep.c (linux_info_proc): Update.
8564         * target.h (struct target_ops) <to_fileio_readlink>: Return
8565         optional<string>.
8566         (target_fileio_readlink): Return optional<string>.
8567         * remote.c (remote_hostio_readlink): Return optional<string>.
8568         * inf-child.c (inf_child_fileio_readlink): Return
8569         optional<string>.
8570         * target.c (target_fileio_readlink): Return optional<string>.
8571
8572 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
8573
8574         * regcache.c (cooked_read_test): Add riscv to the list of
8575         architectures that have a save_reggroup.
8576
8577 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
8578
8579         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
8580         value is not a dynamic class object.
8581
8582 2018-03-06  Tom Tromey  <tom@tromey.com>
8583
8584         * rust-exp.y: Formatting fixes.
8585
8586 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8587
8588         * riscv-tdep.c (riscv_register_name): Remove target description
8589         support.
8590         (riscv_gdbarch_init): Remove target description check.
8591
8592 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8593
8594         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
8595         comment.
8596         * riscv-tdep.h: Likewise.
8597
8598 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8599
8600         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
8601         (riscv_pseudo_register_write): Delete.
8602         (riscv_gdbarch_init): Remove all use of pseudo registers.
8603
8604 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8605
8606         * record-btrace.c (btrace_print_lines): Replace cleanup
8607         parameter with RAII equivalents.
8608         (btrace_insn_history): Replace cleanup with RAII equivalents.
8609         * ui-out.h (make_cleanup_ui_out_list_begin_end,
8610         make_cleanup_ui_out_tuple_begin_end): Remove.
8611         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
8612         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
8613         make_cleanup_ui_out_list_begin_end): Remove.
8614
8615 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8616
8617         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
8618         parameter types to std::vector.  Use bool.
8619         (record_btrace_wait): Replace VEC(tp_t) with
8620         std::vector<thread_info *>.
8621         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
8622
8623 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
8624
8625         * record-btrace.c (record_btrace_disable_callback): Remove.
8626         (struct scoped_btrace_disable): New.
8627         (record_btrace_open): Use scoped_btrace_disable.
8628
8629 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8630
8631         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
8632         reading values from registers.
8633
8634 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8635
8636         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
8637         where appropriate.
8638
8639 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8640
8641         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
8642         change parameter type.  Use GDB's print functions, and use
8643         core_addr_to_string where appropriate.
8644         (riscv_push_dummy_call): Use core_addr_to_string where
8645         appropriate, update call to riscv_print_arg_location, and reindent
8646         a few lines.
8647         (riscv_return_value): Update call to riscv_print_arg_location.
8648
8649 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8650             Tim Newsome <tim@sifive.com>
8651             Albert Ou <a0u@eecs.berkeley.edu>
8652             Darius Rad <darius@bluespec.com>
8653
8654         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
8655         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
8656         (ALLDEPFILES): Add riscv-tdep.c
8657         * configure.tgt: Add riscv support.
8658         * riscv-tdep.c: New file.
8659         * riscv-tdep.h: New file.
8660         * NEWS: Mention new target.
8661         * MAINTAINERS: Add entry for riscv.
8662
8663 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
8664
8665         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
8666         fields within aggregates.
8667
8668 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
8669
8670         * record-btrace.c (btrace_print_lines): Change type of flags to
8671         gdb_disassembly_flags.
8672
8673 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8674
8675         * fbsd-nat.c: Include "inf-ptrace.h".
8676         (USE_SIGTRAP_SIGINFO): Conditionally define.
8677         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
8678         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
8679         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
8680         function.
8681         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
8682         Likewise.
8683         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
8684         Likewise.
8685         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
8686         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
8687         "supports_stopped_by_hw_breakpoint" target methods.
8688
8689 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8690
8691         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
8692         * fbsd-nat.c (debug_fbsd_nat): New variable.
8693         (show_fbsd_nat_debug): New function.
8694         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
8695         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
8696
8697 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
8698
8699         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
8700         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
8701         prototype.
8702         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
8703         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
8704         method.
8705
8706 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8707
8708         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
8709         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
8710
8711 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8712
8713         * charset.c (struct charset_vector): New.
8714         (charsets): Change type to charset_vector.
8715         (find_charset_names): Adjust.
8716         (add_one): Adjust.
8717         (_initialize_charset): Adjust.
8718
8719 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8720
8721         * progspace.h (struct program_space) <deleted_solibs>: Change
8722         type to std::vector<std::string>.
8723         * progspace.c (clear_program_space_solib_cache): Adjust.
8724         * breakpoint.c (print_solib_event): Adjust.
8725         (check_status_catch_solib): Adjust.
8726         * solib.c (update_solib_list): Adjust.
8727         * ui-out.h (class ui_out) <field_string>: New overload.
8728         * ui-out.c (ui_out::field_string): New overload.
8729
8730 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8731
8732         * progspace.h (struct program_space): Add constructor and
8733         destructor, initialize fields.
8734         (add_program_space): Remove.
8735         * progspace.c (add_program_space): Rename to...
8736         (program_space::program_space): ... this.
8737         (release_program_space): Rename to...
8738         (program_space::~program_space): ... this.
8739         (delete_program_space): Use delete to delete program_space.
8740         (initialize_progspace): Use new to allocate program_space.
8741         * inferior.c (add_inferior_with_spaces): Likewise.
8742         (clone_inferior_command): Likewise.
8743         * infrun.c (follow_fork_inferior): Likewise.
8744         (handle_vfork_child_exec_or_exit): Likewise.
8745
8746 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
8747
8748         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
8749         (delim_string_to_char_ptr_vec): Return std::vector of
8750         gdb::unique_xmalloc_ptr.
8751         (dirnames_to_char_ptr_vec_append): Take std::vector of
8752         gdb::unique_xmalloc_ptr.
8753         (dirnames_to_char_ptr_vec): Return std::vector of
8754         gdb::unique_xmalloc_ptr.
8755         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
8756         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
8757         (delim_string_to_char_ptr_vec): Return an std::vector of
8758         gdb::unique_xmalloc_ptr, adjust the code.
8759         (dirnames_to_char_ptr_vec_append): Take an std::vector of
8760         gdb::unique_xmalloc_ptr, adjust the code.
8761         (dirnames_to_char_ptr_vec): Return an std::vector of
8762         gdb::unique_xmalloc_ptr, adjust the code.
8763         * auto-load.c (auto_load_safe_path_vec): Change type to
8764         std::vector of gdb::unique_xmalloc_ptr.
8765         (auto_load_expand_dir_vars): Return an std::vector of
8766         gdb::unique_xmalloc_ptr, adjust the code.
8767         (auto_load_safe_path_vec_update): Adjust.
8768         (filename_is_in_auto_load_safe_path_vec): Adjust.
8769         (auto_load_objfile_script_1): Adjust.
8770         * build-id.c (build_id_to_debug_bfd): Adjust.
8771         * linux-thread-db.c (thread_db_load_search): Adjust.
8772         * source.c (add_path): Adjust.
8773         (openp): Adjust.
8774         * symfile.c (find_separate_debug_file): Adjust.
8775         * utils.c (do_free_char_ptr_vec): Remove.
8776         (make_cleanup_free_char_ptr_vec): Remove.
8777
8778 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
8779
8780         PR gdb/22907
8781         * common/pathstuff.c: Conditionally include "<windows.h>".
8782
8783 2018-03-01  Georg Sauthoff  <mail@georg.so>
8784
8785         PR gdb/22888
8786         * gcore.in: Quote variables and switch interpreter to bash.
8787
8788 2018-03-01  Tom Tromey  <tom@tromey.com>
8789
8790         * dwarf2read.c (alloc_discriminant_info): Fix default_index
8791         assertion.  Add assertion for discriminant_index.
8792         (quirk_rust_enum): Use correct base type name in univariant case.
8793
8794 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
8795
8796         * record.c (get_call_history_modifiers): Return a
8797         record_print_flags.
8798         (cmd_record_call_history): Adjust.
8799         * record-btrace.c (record_btrace_call_history): Adjust.
8800         (record_btrace_call_history_range): Adjust.
8801         (record_btrace_call_history_from): Adjust.
8802         * target-debug.h (target_debug_print_record_print_flags): New.
8803         * target-delegates.c: Re-generate.
8804         * target.c (target_call_history): Change flags type.
8805         (target_call_history_from): Likewise.
8806         (target_call_history_range): Likewise.
8807         * target.h (struct target_ops) <target_call_history>: Likewise.
8808         (target_call_history_from): Likewise.
8809         (target_call_history_range): Likewise.
8810
8811 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8812             Simon Marchi  <simon.marchi@polymtl.ca>
8813
8814         * common/common-utils.c: Include "sys/stat.h".
8815         (is_regular_file): Move here from "source.c"; change return
8816         type to "bool".
8817         * common/common-utils.h (is_regular_file): New prototype.
8818         * common/pathstuff.c (contains_dir_separator): New function.
8819         * common/pathstuff.h (contains_dir_separator): New prototype.
8820         * source.c: Don't include "sys/stat.h".
8821         (is_regular_file): Move to "common/common-utils.c".
8822
8823 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
8824
8825         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
8826         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
8827         * auto-load.c: Include "common/pathstuff.h".
8828         * common/common-def.h (current_directory): Move here.
8829         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
8830         function.
8831         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
8832         prototype.
8833         * common/pathstuff.c: New file.
8834         * common/pathstuff.h: New file.
8835         * compile/compile.c: Include "common/pathstuff.h".
8836         * defs.h (current_directory): Move to "common/common-defs.h".
8837         * dwarf2read.c: Include "common/pathstuff.h".
8838         * exec.c: Likewise.
8839         * guile/scm-safe-call.c: Likewise.
8840         * linux-thread-db.c: Likewise.
8841         * main.c: Likewise.
8842         * nto-tdep.c: Likewise.
8843         * objfiles.c: Likewise.
8844         * source.c: Likewise.
8845         * symtab.c: Likewise.
8846         * utils.c: Include "common/pathstuff.h".
8847         (gdb_realpath): Move to "common/pathstuff.c".
8848         (gdb_realpath_keepfile): Likewise.
8849         (gdb_abspath): Likewise.
8850         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
8851         (gdb_realpath_keepfile): Likewise.
8852         (gdb_abspath): Likewise.
8853
8854 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
8855
8856         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
8857         wildcard process pid for super_resume for kernels with a
8858         specific bug.
8859
8860 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
8861
8862         * compile/compile.c (get_args): Add additional comments
8863         explaining function.
8864
8865 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
8866             Tom Tromey  <tom@tromey.com>
8867
8868         * target.h (memory_write_request_s): Remove typedef.  Don't define
8869         VEC.
8870         (target_write_memory_blocks): Change argument to std::vector.
8871         (struct memory_write_request): Add constructor.
8872         * target-memory.c (compare_block_starting_address): Return bool.
8873         Change argument types.
8874         (claim_memory): Change arguments to use std::vector.
8875         (split_regular_and_flash_blocks, blocks_to_erase)
8876         (compute_garbled_blocks): Likewise.
8877         (cleanup_request_data, cleanup_write_requests_vector): Remove.
8878         (target_write_memory_blocks): Change argument to std::vector.
8879         * symfile.c (struct load_section_data): Add constructor and
8880         destructor.  Use std::vector for "requests".
8881         (struct load_progress_data): Add initializers.
8882         (load_section_callback): Update.  Use "new".
8883         (clear_memory_write_data): Remove.
8884         (generic_load): Update.
8885
8886 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
8887
8888         * arch/aarch64.h: Use common/tdesc.h.
8889
8890 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8891
8892         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
8893         architecture with a 64-bit ABI.
8894
8895 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
8896
8897         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
8898         ahead of target description loading.
8899
8900 2018-02-26  Tom Tromey  <tom@tromey.com>
8901
8902         * stack.c (backtrace_command_1): Update.
8903         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
8904         of "flags".
8905         * python/py-framefilter.c (py_print_frame)
8906         (gdbpy_apply_frame_filter): Change type of "flags".
8907         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
8908         of "flags".
8909         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
8910         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
8911         * extension.h (enum frame_filter_flag): Rename from
8912         frame_filter_flags.
8913         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
8914         (apply_ext_lang_frame_filter): Change type of "flags".
8915         * extension.c (apply_ext_lang_frame_filter): Change type of
8916         "flags".
8917         * extension-priv.h (struct extension_language_ops)
8918         <apply_frame_filter>: Change type of "flags".
8919
8920 2018-02-26  Tom Tromey  <tom@tromey.com>
8921
8922         PR python/16497:
8923         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
8924         off-by-one in py_end computation.
8925         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
8926         PRINT_MORE_FRAMES.
8927         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
8928         constant.
8929
8930 2018-02-26  Tom Tromey  <tom@tromey.com>
8931
8932         * dwarf2read.c (struct variant_field): New.
8933         (struct nextfield) <variant>: New field.
8934         (dwarf2_add_field): Handle DW_TAG_variant_part.
8935         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
8936         discriminated union.
8937         (read_structure_type): Handle DW_TAG_variant_part.
8938         (handle_struct_member_die): New function, extracted from
8939         process_structure_scope.  Handle DW_TAG_variant.
8940         (process_structure_scope): Handle discriminated unions.  Call
8941         handle_struct_member_die.
8942
8943 2018-02-26  Tom Tromey  <tom@tromey.com>
8944
8945         * rust-lang.h (rust_last_path_segment): Declare.
8946         * rust-lang.c (rust_last_path_segment): Now public.  Change
8947         contract.
8948         (struct disr_info): Remove.
8949         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
8950         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
8951         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
8952         (rust_enum_p, rust_enum_variant): New function.
8953         (rust_underscore_fields): Remove "offset" parameter.
8954         (rust_print_enum): New function.
8955         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
8956         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
8957         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
8958         enums.
8959         (rust_internal_print_type): New function, from rust_print_type.
8960         Remove enum code.
8961         (rust_print_type): Call rust_internal_print_type.
8962         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
8963         Update enum handling.
8964         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
8965         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
8966         (rust_union_quirks): New functions.
8967         (process_full_comp_unit, process_full_type_unit): Call
8968         rust_union_quirks.
8969         (process_structure_scope): Update rust_unions if necessary.
8970
8971 2018-02-26  Tom Tromey  <tom@tromey.com>
8972
8973         * value.h (value_union_variant): Declare.
8974         * valops.c (value_union_variant): New function.
8975         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
8976         (struct discriminant_info): New.
8977         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
8978         enumerator.
8979         (struct main_type) <flag_discriminated_union>: New field.
8980
8981 2018-02-26  Tom Tromey  <tom@tromey.com>
8982
8983         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
8984         unittests/unpack-selftests.c.
8985         * unittests/unpack-selftests.c: New file.
8986         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
8987
8988 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8989
8990         * dwarf2read.c (struct partial_die_info) <read>: New method.
8991         (read_partial_die): Remove the declaration.
8992         (load_partial_dies): Update.
8993         (partial_die_info::partial_die_info):
8994         (read_partial_die): Change it to partial_die_info::read.
8995
8996 2018-02-26  Yao Qi  <yao.qi@linaro.org>
8997
8998         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
8999         (fixup_partial_die): Remove declaration.
9000         (scan_partial_symbols): Update.
9001         (partial_die_parent_scope): Likewise.
9002         (partial_die_full_name): Likewise.
9003         (fixup_partial_die): Change it to partial_die_info::fixup.
9004
9005 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9006
9007         * dwarf2read.c (read_partial_die): Update the declaration.
9008         (load_partial_dies): Caller update.
9009         (read_partial_die): Remove one argument abbrev_len.
9010
9011 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9012
9013         * dwarf2read.c (struct partial_die_info): Add ctor, delete
9014         assignment operator.
9015         (load_partial_dies): Use ctor and copy ctor.
9016         (read_partial_die): Update.
9017         (dwarf2_cu::find_partial_die): Use ctor.
9018
9019 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9020
9021         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
9022         (find_partial_die_in_comp_unit): Change it to
9023         dwarf2_cu::find_partial_die.
9024         (find_partial_die): Update.
9025
9026 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9027
9028         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
9029         is NULL.
9030
9031 2018-02-26  Yao Qi  <yao.qi@linaro.org>
9032
9033         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
9034
9035 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
9036
9037         * arch/amd64.h: Use common/tdesc.h.
9038         * arch/i386.c: Likewise.
9039         * arch/i386.h: Likewise.
9040         * arch/tic6x.c: Likewise.
9041         * arch/tdesc.h: Move file from here...
9042         * common/tdesc.h: ...to here.
9043         * features/aarch64-core.c: Regenerate.
9044         * features/aarch64-fpu.c: Regenerate.
9045         * features/i386/32bit-avx.c: Regenerate.
9046         * features/i386/32bit-avx512.c: Regenerate.
9047         * features/i386/32bit-core.c: Regenerate.
9048         * features/i386/32bit-linux.c: Regenerate.
9049         * features/i386/32bit-mpx.c: Regenerate.
9050         * features/i386/32bit-pkeys.c: Regenerate.
9051         * features/i386/32bit-sse.c: Regenerate.
9052         * features/i386/64bit-avx.c: Regenerate.
9053         * features/i386/64bit-avx512.c: Regenerate.
9054         * features/i386/64bit-core.c: Regenerate.
9055         * features/i386/64bit-linux.c: Regenerate.
9056         * features/i386/64bit-mpx.c: Regenerate.
9057         * features/i386/64bit-pkeys.c: Regenerate.
9058         * features/i386/64bit-segments.c: Regenerate.
9059         * features/i386/64bit-sse.c: Regenerate.
9060         * features/i386/x32-core.c: Regenerate.
9061         * features/tic6x-c6xp.c: Regenerate.
9062         * features/tic6x-core.c: Regenerate.
9063         * features/tic6x-gp.c: Regenerate.
9064         * target-descriptions.c: Use common/tdesc.h.
9065         * target-descriptions.h: Likewise.
9066
9067 2018-02-24  Tom Tromey  <tom@tromey.com>
9068
9069         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
9070         (try_thread_db_load_from_dir, thread_db_load_search): Use
9071         std::string.
9072         (info_auto_load_libthread_db_compare): Return bool.  Change
9073         argument types.
9074         (info_auto_load_libthread_db): Use std::vector, std::string.
9075         Remove cleanups.
9076
9077 2018-02-24  Tom Tromey  <tom@tromey.com>
9078
9079         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
9080         std::string.
9081         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
9082         std::string*.
9083         * gdbarch.c: Rebuild.
9084         * gdbarch.h: Rebuild.
9085         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
9086         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
9087         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
9088         std::string*.
9089
9090 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
9091
9092         * gdbtypes.h (sect_offset): Change type to uint64_t.
9093         (sect_offset_str): New function.
9094         * dwarf2read.c (create_addrmap_from_aranges): Use
9095         sect_offset_str.
9096         (error_check_comp_unit_head): Likewise.
9097         (create_debug_type_hash_table): Likewise.
9098         (read_cutu_die_from_dwo): Likewise.
9099         (init_cutu_and_read_dies): Likewise.
9100         (init_cutu_and_read_dies_no_follow): Likewise.
9101         (process_psymtab_comp_unit_reader): Likewise.
9102         (partial_die_parent_scope): Likewise.
9103         (peek_die_abbrev): Likewise.
9104         (process_queue): Likewise.
9105         (dwarf2_physname): Likewise.
9106         (read_namespace_alias): Likewise.
9107         (read_import_statement): Likewise.
9108         (create_dwo_cu_reader): Likewise.
9109         (create_cus_hash_table): Likewise.
9110         (lookup_dwo_cutu): Likewise.
9111         (inherit_abstract_dies): Likewise.
9112         (read_func_scope): Likewise.
9113         (read_call_site_scope): Likewise.
9114         (dwarf2_add_member_fn): Likewise.
9115         (read_common_block): Likewise.
9116         (read_module_type): Likewise.
9117         (read_typedef): Likewise.
9118         (read_subrange_type): Likewise.
9119         (load_partial_dies): Likewise.
9120         (read_partial_die): Likewise.
9121         (find_partial_die): Likewise.
9122         (read_str_index): Likewise.
9123         (dwarf2_string_attr): Likewise.
9124         (build_error_marker_type): Likewise.
9125         (lookup_die_type): Likewise.
9126         (dump_die_shallow): Likewise.
9127         (follow_die_ref): Likewise.
9128         (dwarf2_fetch_die_loc_sect_off): Likewise.
9129         (dwarf2_fetch_constant_bytes): Likewise.
9130         (follow_die_sig): Likewise.
9131         (get_signatured_type): Likewise.
9132         (get_DW_AT_signature_type): Likewise.
9133         (dwarf2_find_containing_comp_unit): Likewise.
9134         (set_die_type): Likewise.
9135
9136 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
9137
9138         * arch/aarch64.c: Include "common-defs.h".
9139         * arch/amd64.c: Likewise.
9140         * arch/i386.c: Likewise.
9141
9142 2018-02-21  Tom Tromey  <tom@tromey.com>
9143
9144         * value.h: (extract_field_op): Update.
9145         * eval.c (extract_field_op): Return a const char *.
9146         * expression.h (parse_expression_for_completion): Update.
9147         * completer.c (complete_expression): Update.
9148         (add_struct_fields): Make fieldname const.
9149         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
9150         (mark_completion_tag, parse_exp_in_context_1): Update.
9151         (parse_expression_for_completion): Change "name" to
9152         unique_xmalloc_ptr*.
9153
9154 2018-02-21  Tom Tromey  <tom@tromey.com>
9155
9156         * infcall.c (call_function_by_hand_dummy): Use std::vector.
9157
9158 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9159
9160         * avr-tdep.c (avr_read_pc): Change parameter type to
9161         readable_regcache.
9162         * gdbarch.sh (read_pc): Likewise.
9163         * gdbarch.c: Re-generated.
9164         * gdbarch.h: Re-generated.
9165         * hppa-tdep.c (hppa_read_pc): Change parameter type to
9166         readable_regcache.
9167         * ia64-tdep.c (ia64_read_pc): Likewise.
9168         * mips-tdep.c (mips_read_pc): Likewise.
9169         * spu-tdep.c (spu_read_pc): Likewise.
9170
9171 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9172
9173         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
9174         * regcache-dump.c: New file.
9175         * regcache.c: Move register_dump to regcache-dump.c.
9176         (maintenance_print_registers): Likewise.
9177         (maintenance_print_raw_registers): Likewise.
9178         (maintenance_print_cooked_registers): Likewise.
9179         (maintenance_print_register_groups): Likewise.
9180         (maintenance_print_remote_registers): Likewise.
9181         (_initialize_regcache): Likewise.
9182         * regcache.h (register_dump): Moved from regcache.c.
9183
9184 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9185
9186         * regcache.c (regcache::regcache): Update.
9187         (regcache::invalidate): Move it to detached_regcache::invalidate.
9188         (get_thread_arch_aspace_regcache): Update.
9189         (regcache::raw_update): Update.
9190         (regcache::cooked_read): Remove some code.
9191         (regcache::cooked_read_value): Likewise.
9192         (regcache::raw_write): Remove assert on m_readonly_p.
9193         (regcache::raw_supply_integer): Move it to
9194         detached_regcache::raw_supply_integer.
9195         (regcache::raw_supply_zeroed): Likewise.
9196         * regcache.h (detached_regcache) <raw_supply_integer>: New
9197         declaration.
9198         <raw_supply_zeroed, invalidate>: Likewise.
9199         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
9200         <invalidate>: Likewise.
9201         <m_readonly_p>: Removed.
9202
9203 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9204
9205         * infcmd.c (get_return_value): Let stop_regs point to
9206         get_current_regcache.
9207         * regcache.c (regcache::regcache): Remove.
9208         (register_dump_reg_buffer): New class.
9209         (regcache_print): Adjust.
9210         * regcache.h (regcache): Remove constructors.
9211
9212 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9213
9214         * regcache.c (class register_dump): New class.
9215         (register_dump_regcache, register_dump_none): New class.
9216         (register_dump_remote, register_dump_groups): New class.
9217         (regcache_print): Update.
9218         * regcache.h (regcache_dump_what): Move it to regcache.c.
9219         (regcache) <dump>: Remove.
9220
9221 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9222
9223         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
9224          reg_buffer_rw *.
9225         (jit_unwind_reg_set_impl): Call raw_supply.
9226         (jit_frame_sniffer): Use reg_buffer_rw.
9227         * record-full.c (record_full_core_regbuf): Change its type.
9228         (record_full_core_open_1): Use reg_buffer_rw.
9229         (record_full_close): Likewise.
9230         (record_full_core_fetch_registers): Use regcache->raw_supply.
9231         (record_full_core_store_registers): Likewise.
9232         * regcache.c (regcache::get_register_status): Move it to
9233         reg_buffer.
9234         (regcache_raw_set_cached_value): Remove.
9235         (regcache::raw_set_cached_value): Remove.
9236         (regcache::raw_write): Call raw_supply.
9237         (regcache::raw_supply): Move it to reg_buffer_rw.
9238         * regcache.h (regcache_raw_set_cached_value): Remove.
9239         (reg_buffer_rw): New class.
9240
9241 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9242
9243         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
9244         readonly_detached_regcache.
9245         (dummy_frame_prev_register): Use regcache->cooked_read.
9246         * frame.c (frame_save_as_regcache): Change return type.
9247         (frame_pop): Update.
9248         * frame.h (frame_save_as_regcache): Update declaration.
9249         * inferior.h (get_infcall_suspend_state_regcache): Update
9250         declaration.
9251         * infrun.c (infcall_suspend_state) <registers>: use
9252         readonly_detached_regcache.
9253         (save_infcall_suspend_state): Don't use regcache_dup.
9254         (get_infcall_suspend_state_regcache): Change return type.
9255         * linux-fork.c (struct fork_info) <savedregs>: Change to
9256         readonly_detached_regcache.
9257         <pc>: New field.
9258         (fork_save_infrun_state): Don't use regcache_dup.
9259         (info_checkpoints_command): Adjust.
9260         * mi/mi-main.c (register_changed_p): Update declaration.
9261         (mi_cmd_data_list_changed_registers): Use
9262         readonly_detached_regcache.
9263         (register_changed_p): Change parameter type to
9264         readonly_detached_regcache.
9265         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
9266         readonly_detached_regcache.
9267         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
9268         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
9269         New.
9270         (regcache::save): Move it to reg_buffer.
9271         (regcache::restore): Change parameter type.
9272         (regcache_dup): Remove.
9273         * regcache.h (reg_buffer) <save>: New method.
9274         (readonly_detached_regcache): New class.
9275         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
9276         readonly_detached_regcache.
9277         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
9278
9279 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9280
9281         * frame.c (frame_save_as_regcache): Use regcache method save.
9282         (frame_pop): Use regcache method restore.
9283         * infrun.c (restore_infcall_suspend_state): Likewise.
9284         * linux-fork.c (fork_load_infrun_state): Likewise.
9285         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
9286         save.
9287         * regcache.c (regcache_save): Remove.
9288         (regcache::restore): More asserts.
9289         (regcache_cpy): Remove.
9290         * regcache.h (regcache_save): Remove the declaration.
9291         (regcache::restore): Move from private to public.
9292         Remove the friend declaration of regcache_cpy.
9293         (regcache_cpy): Remove declaration.
9294
9295 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9296
9297         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
9298         parameter type to 'readable_regcache *'.
9299         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
9300         * arm-tdep.c (arm_neon_quad_read): Likewise.
9301         (arm_pseudo_read): Likewise.
9302         * avr-tdep.c (avr_pseudo_register_read): Likewise.
9303         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
9304         * frv-tdep.c (frv_pseudo_register_read): Likewise.
9305         * gdbarch.c: Re-generated.
9306         * gdbarch.h: Re-generated.
9307         * gdbarch.sh (pseudo_register_read): Change parameter type to
9308         'readable_regcache *'.
9309         (pseudo_register_read_value): Likewise.
9310         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
9311         (h8300_pseudo_register_read): Likewise.
9312         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
9313         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
9314         (i386_pseudo_register_read_into_value): Likewise.
9315         (i386_pseudo_register_read_value): Likewise.
9316         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
9317         declaration.
9318         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
9319         * m32c-tdep.c (m32c_raw_read): Likewise.
9320         (m32c_read_flg): Likewise.
9321         (m32c_banked_register): Likewise.
9322         (m32c_banked_read): Likewise.
9323         (m32c_sb_read): Likewise.
9324         (m32c_part_read): Likewise.
9325         (m32c_cat_read): Likewise.
9326         (m32c_r3r2r1r0_read): Likewise.
9327         (m32c_pseudo_register_read): Likewise.
9328         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
9329         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
9330         (mep_pseudo_cr64_read): Likewise.
9331         (mep_pseudo_register_read): Likewise.
9332         * mips-tdep.c (mips_pseudo_register_read): Likewise.
9333         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
9334         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
9335         * regcache.c (regcache::raw_read): Move it to readable_regcache.
9336         (regcache::cooked_read): Likewise.
9337         (regcache::cooked_read_value): Likewise.
9338         (regcache_cooked_read_signed):
9339         (regcache::cooked_read): Likewise.
9340         * regcache.h (readable_regcache): New class.
9341         (regcache): Inherit readable_regcache.  Move some methods to
9342         readable_regcache.
9343         * rl78-tdep.c (rl78_pseudo_register_read): Change
9344         parameter type to 'readable_regcache *'.
9345         * rs6000-tdep.c (do_regcache_raw_read): Remove.
9346         (e500_pseudo_register_read): Change parameter type to
9347         'readable_regcache *'.
9348         (dfp_pseudo_register_read): Likewise.
9349         (vsx_pseudo_register_read): Likewise.
9350         (efpr_pseudo_register_read): Likewise.
9351         * s390-tdep.c (s390_pseudo_register_read): Likewise.
9352         * sh-tdep.c (sh_pseudo_register_read): Likewise.
9353         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
9354         (sh64_pseudo_register_read): Likewise.
9355         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
9356         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
9357         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
9358         (spu_pseudo_register_read): Likewise.
9359         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
9360         (xtensa_pseudo_register_read): Likewise.
9361
9362 2018-02-21  Yao Qi  <yao.qi@linaro.org>
9363
9364         * regcache.c (regcache::regcache): Call reg_buffer ctor.
9365         (regcache::arch): Move it to reg_buffer::arch.
9366         (regcache::register_buffer): Likewise.
9367         (regcache::assert_regnum): Likewise.
9368         (regcache::num_raw_registers): Likewise.
9369         * regcache.h (reg_buffer): New class.
9370         (regcache): Inherit reg_buffer.
9371
9372 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
9373
9374         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
9375         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
9376
9377 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
9378
9379         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
9380
9381 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
9382
9383         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
9384         (SFILES): Remove common/*.c files.
9385         (COMMON_OBS): Remove some *.o files built from common/*.c files.
9386         * common/common.host: Add common reference.
9387         * configure.ac: Likewise.
9388         * configure: Regenerate.
9389
9390 2018-02-16  Yao Qi  <yao.qi@linaro.org>
9391
9392         * block.c (block_namespace_info): Inherit allocate_on_obstack.
9393         (block_initialize_namespace): Use new.
9394         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
9395         (dwarf2_free_objfile): Use delete.
9396         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
9397         (copy_type_recursive): Use new.
9398         * gdb_obstack.h (allocate_on_obstack): New.
9399
9400 2018-02-15  Yao Qi  <yao.qi@linaro.org>
9401
9402         PR gdb/22849
9403         * inferior.c (exit_inferior_1): Reset inf->control.
9404
9405 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
9406
9407         * ada-lang.c (ada_to_fixed_value_create): Delete advance
9408         declaration.
9409
9410 2018-02-14  Pedro Alves  <palves@redhat.com>
9411
9412         * frame-unwind.c (frame_unwind_try_unwinder): Always call
9413         frame_cleanup_after_sniffer on exception.
9414
9415 2018-02-14  Tom Tromey  <tom@tromey.com>
9416
9417         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
9418         const.
9419         (solib_bfd_open): Make pathname const.
9420         * solib.c (solib_bfd_open): Make pathname const.
9421         * solib-spu.c (spu_bfd_fopen): Make name const.
9422         (spu_bfd_open): Make pathname const.
9423         * solib-darwin.c (darwin_bfd_open): Make pathname const.
9424         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
9425
9426 2018-02-14  Tom Tromey  <tom@tromey.com>
9427
9428         * symfile.c (symfile_bfd_open): Update.
9429         * source.h (openp, source_full_path_of, find_and_open_source):
9430         Change argument type to unique_xmalloc_ptr.
9431         * source.c (openp): Take a unique_xmalloc_ptr.
9432         (source_full_path_of, find_and_open_source): Likewise.
9433         (open_source_file, symtab_to_fullname): Update.
9434         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
9435         unique_xmalloc_ptr.
9436         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
9437         (exec_file_find): Update.
9438         * psymtab.c (psymtab_to_fullname): Update.
9439         * nto-tdep.h (nto_find_and_open_solib): Update.
9440         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
9441         unique_xmalloc_ptr.
9442         * exec.c (exec_file_attach): Update.
9443         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
9444         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
9445
9446 2018-02-14  Tom Tromey  <tom@tromey.com>
9447
9448         * solib.c: Include source.h.
9449         * nto-tdep.c: Include source.h.
9450         * mi/mi-cmd-env.c: Include source.h.
9451         * infcmd.c: Include source.h.
9452         * exec.c: Include source.h.
9453         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
9454         (add_path, directory_switch, source_path, init_source_path): Move
9455         declarations...
9456         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
9457         (add_path, directory_switch, source_path, init_source_path):
9458         ...here.
9459
9460 2018-02-14  Tom Tromey  <tom@tromey.com>
9461
9462         * solist.h (exec_file_find, solib_find): Return
9463         unique_xmalloc_ptr.
9464         (solib_bfd_fopen): Take a const char *.
9465         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
9466         (exec_file_find, solib_find): Likewise.
9467         (solib_bfd_fopen): Do not take ownership of "pathname".
9468         (solib_bfd_open): Use unique_xmalloc_ptr.
9469         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
9470         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
9471         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
9472         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
9473
9474 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
9475
9476         * ada-lang.c (name_match_type_from_name): Remove reference to
9477         ada_name_for_lookup in function's documentation.
9478         * ada-lang.h (ada_name_for_lookup): Delete declaration.
9479
9480 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9481
9482         * defs.h (enum openp_flags): New enum.
9483         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
9484         Move to enum openp_flags.
9485         (openp_flags): New enum flags.
9486         (openp): Change parameter type to openp_flags.
9487         * source.c (openp): Change parameter type to openp_flags.
9488         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
9489         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
9490
9491 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
9492
9493         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
9494         per-command.
9495
9496 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
9497
9498         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
9499         into...
9500         (class dwarf2_queue_guard): ...the destructor of this new class.
9501         (dw2_do_instantiate_symtab): Create instance of the new class
9502         dwarf2_queue_guard, remove cleanup.
9503
9504 2018-02-09  Tom Tromey  <tom@tromey.com>
9505
9506         * source.c (find_source_lines): Don't reference past the end of
9507         the vector.
9508
9509 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9510
9511         * remote.c (remote_btrace_maybe_reopen): Change error message.
9512         * btrace.c (btrace_enable): Likewise.
9513         (parse_xml_btrace): Likewise.
9514         (parse_xml_btrace_conf): Likewise.
9515
9516 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9517
9518         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
9519         (linux_enable_pt, linux_enable_bts): Call
9520         diagnose_perf_event_open_fail.
9521
9522 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9523
9524         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
9525         Remove parameter and change return type.  Update callers.  Move it.
9526         (linux_enable_bts, linux_enable_pt): Improve error message.
9527         (linux_enable_pt): Remove zero buffer size check.
9528         (linux_enable_btrace): Improve error messages.  Remove NULL return
9529         check.
9530
9531 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9532
9533         * btrace.c (btrace_enable): Remove target_supports_btrace call.
9534         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
9535         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
9536         (linux_supports_pt, linux_supports_btrace): Remove.
9537         (linux_enable_bts): Call cpu_supports_bts.
9538         * nat/linux-btrace.h (linux_supports_btrace): Remove.
9539         * remote.c (remote_supports_btrace): Remove.
9540         (init_remote_ops): Remove remote_supports_btrace.
9541         * target-delegates.c: Regenerated.
9542         * target.c (target_supports_btrace): Remove.
9543         * target.h (target_ops) <to_supports_btrace>: Remove
9544         (target_supports_btrace): Remove.
9545         * x86-linux-nat.c (x86_linux_create_target): Remove
9546         linux_supports_btrace.
9547
9548 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9549
9550         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
9551         btrace failed.
9552         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
9553         exception and use message in own exception.
9554
9555 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9556
9557         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
9558         (perf_event_pt_event_type): Use gdb_file_up.
9559         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
9560         scoped_fd, and scoped_mmap.
9561
9562 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9563
9564         * common/scoped_mmap.h: New.
9565         * unittests/scoped_mmap-selftest.c: New.
9566         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9567         unittests/scoped_mmap-selftest.c.
9568
9569 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
9570
9571         * common/scoped_fd.h: New.
9572         * unittests/scoped_fd-selftest.c: New.
9573         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9574         unittests/scoped_fd-selftest.c.
9575
9576 2018-02-09  Tom Tromey  <tom@tromey.com>
9577
9578         * auto-load.c (auto_load_section_scripts): Use
9579         gdb::unique_xmalloc_ptr.
9580
9581 2018-02-09  Tom Tromey  <tom@tromey.com>
9582
9583         * auto-load.c (execute_script_contents): Use std::string.
9584
9585 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
9586
9587         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
9588         Python function, rather than a new command.
9589
9590 2018-02-08  Tom Tromey  <tom@tromey.com>
9591
9592         * solib.c (solib_find_1): Use std::string.
9593         (solib_bfd_fopen): Use unique_xmalloc_ptr.
9594
9595 2018-02-08  Tom Tromey  <tom@tromey.com>
9596
9597         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
9598
9599 2018-02-08  Tom Tromey  <tom@tromey.com>
9600
9601         * source.c (find_source_lines): Use gdb::def_vector.
9602
9603 2018-02-08  Tom Tromey  <tom@tromey.com>
9604
9605         * macrocmd.c (struct temporary_macro_definition): New.
9606         (macro_define_command): Use temporary_macro_definition.  Remove
9607         cleanups.
9608         (free_macro_definition_ptr): Remove.
9609
9610 2018-02-08  Tom Tromey  <tom@tromey.com>
9611
9612         * macroexp.c (maybe_expand): Use std::string.
9613
9614 2018-02-08  Tom Tromey  <tom@tromey.com>
9615
9616         * macroexp.c (struct macro_buffer): Add initializers for some
9617         members.
9618         (init_buffer, init_shared_buffer, free_buffer)
9619         (free_buffer_return_text): Remove.
9620         (macro_buffer): New constructors.
9621         (~macro_buffer): New destructor.
9622         (macro_buffer::set_shared): New method.
9623         (macro_buffer::resize_buffer, macro_buffer::appendc)
9624         (macro_buffer::appendmem): Now methods, not free functions.
9625         (set_token, append_tokens_without_splicing, stringify)
9626         (macro_stringify): Update.
9627         (gather_arguments): Change return type.  Remove argc_p argument,
9628         add args_ptr argument.  Use std::vector.
9629         (substitute_args): Remove argc argument.  Accept std::vector.
9630         (expand): Update.  Use std::vector.
9631         (scan, macro_expand, macro_expand_next): Update.
9632
9633 2018-02-08  Tom Tromey  <tom@tromey.com>
9634
9635         * symtab.c (default_collect_symbol_completion_matches_break_on):
9636         Use unique_xmalloc_ptr.
9637         * macroscope.h: (sal_macro_scope, user_macro_scope)
9638         (default_macro_scope): Return unique_xmalloc_ptr.
9639         * macroscope.c (sal_macro_scope, user_macro_scope)
9640         (default_macro_scope): Return unique_xmalloc_ptr.
9641         * macroexp.h (macro_expand, macro_expand_once): Return
9642         unique_xmalloc_ptr.
9643         * macroexp.c (macro_expand, macro_expand_once): Return
9644         unique_xmalloc_ptr.
9645         * macrocmd.c (macro_expand_command, macro_expand_once_command)
9646         (info_macro_command, info_macros_command): Use
9647         unique_xmalloc_ptr.
9648         * compile/compile-c-support.c (write_macro_definitions): Use
9649         unique_xmalloc_ptr.
9650         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
9651
9652 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
9653
9654         * value.c (value_static_field): Assign field type instead of
9655         containing type when returning an optimized out value.
9656
9657 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9658
9659         * ft32-tdep.c (ft32_read_pc): Remove.
9660         (ft32_write_pc): Remove.
9661         (ft32_gdbarch_init): Update.
9662         * m32r-tdep.c (m32r_read_pc): Remove.
9663         (m32r_gdbarch_init): Update.
9664         * mep-tdep.c (mep_read_pc): Remove.
9665         (mep_gdbarch_init): Update.
9666         * microblaze-tdep.c (microblaze_write_pc): Remove.
9667         (microblaze_gdbarch_init): Update.
9668         * mn10300-tdep.c (mn10300_read_pc): Remove.
9669         (mn10300_write_pc): Remove.
9670         (mn10300_gdbarch_init): Update.
9671         * moxie-tdep.c (moxie_read_pc): Remove.
9672         (moxie_write_pc): Remove.
9673         (moxie_gdbarch_init): Update.
9674
9675 2018-02-06  Yao Qi  <yao.qi@linaro.org>
9676
9677         * expprint.c (print_subexp_standard): Handle
9678         OP_F77_UNDETERMINED_ARGLIST.
9679         (dump_subexp_body_standard): Likewise.
9680
9681 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
9682
9683         * target-descriptions.c (tdesc_element_visitor) Add empty
9684         implementations.
9685         (tdesc_type): Move make_gdb_type from here.
9686         (tdesc_type_builtin): Likewise.
9687         (tdesc_type_vector): Likewise.
9688         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
9689         (make_gdb_type_struct): Move from tdesc_type_with_fields.
9690         (make_gdb_type_union): Likewise.
9691         (make_gdb_type_flags): Likewise.
9692         (make_gdb_type_enum): Likewise.
9693         (make_gdb_type): New function.
9694         (tdesc_register_type): Use static make_gdb_type.
9695
9696 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
9697
9698         * infcmd.c (default_print_one_register_info): Align natural-format
9699         column values consistently one under another.
9700         (pad_to_column): New function.
9701
9702 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
9703
9704         * dwarf2read.c (dwarf2_physname): Move commment.
9705
9706 2018-02-01  Leszek Swirski  <leszeks@google.com>
9707
9708         * varobj.c (varobj_formatted_print_options): Allow recursive
9709         pretty printing if pretty printing is enabled.
9710
9711 2018-02-01  Leszek Swirski  <leszeks@google.com>
9712
9713         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
9714         names after a structop as a filename.
9715
9716 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9717
9718         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
9719         (arm_record_coproc_data_proc): Likewise.
9720
9721 2018-02-01  Yao Qi  <yao.qi@linaro.org>
9722
9723         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
9724
9725 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
9726
9727         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
9728         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
9729
9730 2018-01-31  Pedro Alves  <palves@redhat.com>
9731
9732         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
9733         * inflow.c (child_terminal_save_inferior): Wrap reference to
9734         tcgetpgrp in HAVE_TERMIOS_H.
9735         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
9736         _WIN32.
9737         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
9738         always iterate over all inferiors.
9739         (gdbsim_cntrl_c): Adjust.
9740         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
9741
9742 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9743
9744         * gdbtypes.c (lookup_array_range_type): Make sure the array's
9745         index type is objfile-owned if the element type is as well.
9746
9747 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
9748
9749         GDB 8.1 released.
9750
9751 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9752
9753         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
9754         "features/s390x-linux64.c".
9755         (_initialize_s390_linux_tdep): Remove initialization of tdescs
9756         s390_linux32 and s390x_linux64.
9757         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
9758         default tdesc.
9759         * s390-tdep.c: Include "features/s390-linux32.c" and
9760         "features/s390x-linux64.c".
9761         (s390_tdesc_valid): Add check for tdesc_has_registers.
9762         (s390_gdbarch_init): Make sure there is always a valid tdesc.
9763         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
9764         tdesc_s390x_linux64.
9765         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
9766         tdesc_s390x_linux64 to...
9767         * s390-tdep.h: ...here.
9768
9769 2018-01-30  Pedro Alves  <palves@redhat.com>
9770
9771         PR gdb/13211
9772         * config.in, configure: Regenerate.
9773         * configure.ac: Check for getpgid.
9774         * go32-nat.c (go32_pass_ctrlc): New.
9775         (go32_target): Install it.
9776         * inf-child.c (inf_child_target): Install
9777         child_terminal_save_inferior, child_pass_ctrlc and
9778         child_interrupt.
9779         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
9780         (inf_ptrace_target): No longer install it.
9781         * infcmd.c (interrupt_target_1): Adjust.
9782         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
9783         (child_interrupt): Declare.
9784         (inferior::terminal_state): New.
9785         * inflow.c (struct terminal_info): Update comments.
9786         (inferior_process_group): Delete.
9787         (terminal_is_ours): Delete.
9788         (gdb_tty_state): New.
9789         (child_terminal_init): Adjust.
9790         (is_gdb_terminal, sharing_input_terminal_1)
9791         (sharing_input_terminal): New functions.
9792         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
9793         Set the process's actual process group in the foreground if
9794         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
9795         mark terminal as the inferior's if not sharing GDB's terminal.
9796         Don't check attach_flag.
9797         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
9798         pass down a target_terminal_state.
9799         (child_terminal_save_inferior): New, factored out from ...
9800         (child_terminal_ours_1): ... this.  Handle
9801         target_terminal_state::is_ours_for_output.
9802         (child_interrupt, child_pass_ctrlc): New.
9803         (inflow_inferior_exit): Clear the inferior's terminal_state.
9804         (copy_terminal_info): Copy the inferior's terminal state.
9805         (_initialize_inflow): Remove reference to terminal_is_ours.
9806         * inflow.h (inferior_process_group): Delete.
9807         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
9808         * procfs.c (procfs_target): Don't install procfs_interrupt.
9809         (procfs_interrupt): Delete.
9810         * remote.c (remote_serial_quit_handler): Adjust.
9811         (remote_interrupt): Remove ptid parameter.  Adjust.
9812         * target-delegates.c: Regenerate.
9813         * target.c: Include "terminal.h".
9814         (target_terminal::terminal_state): Rename to ...
9815         (target_terminal::m_terminal_state): ... this.
9816         (target_terminal::init): Adjust.
9817         (target_terminal::inferior): Adjust to per-inferior
9818         terminal_state.
9819         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
9820         (target_terminal::ours, target_terminal::ours_for_output): Use
9821         target_terminal_is_ours_kind.
9822         (target_interrupt): Remove ptid parameter.  Adjust.
9823         (default_target_pass_ctrlc): Adjust.
9824         * target.h (target_ops::to_terminal_save_inferior): New field.
9825         (target_ops::to_interrupt): Remove ptid_t parameter.
9826         (target_interrupt): Remove ptid_t parameter.  Update comment.
9827         (target_pass_ctrlc): Update comment.
9828         * target/target.h (target_terminal_state): New scoped enum,
9829         factored out of ...
9830         (target_terminal::terminal_state): ... here.
9831         (target_terminal::inferior): Update comments.
9832         (target_terminal::restore_inferior): New.
9833         (target_terminal::is_inferior, target_terminal::is_ours)
9834         (target_terminal::is_ours_for_output): Adjust.
9835         (target_terminal::scoped_restore_terminal_state): Adjust to
9836         rename, and call restore_inferior() instead of inferior().
9837         (target_terminal::scoped_restore_terminal_state::m_state): Change
9838         type.
9839         (target_terminal::terminal_state): Rename to ...
9840         (target_terminal::m_terminal_state): ... this and change type.
9841
9842 2018-01-30  Pedro Alves  <palves@redhat.com>
9843
9844         * linux-nat.c (wait_for_signal): New function.
9845         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
9846         directly.
9847         (async_terminal_is_ours)
9848         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
9849         (linux_nat_add_target): Don't override
9850         to_terminal_inferior/to_terminal_ours.
9851
9852 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
9853
9854         * remote.c (remote_follow_fork): Don't call "detach_inferior".
9855
9856 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
9857
9858         * dwarf2read.c (free_dwo_files): Add forward-declaration.
9859         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
9860         dwarf2_per_objfile_free here.
9861         (dwarf2_per_objfile_free): Remove.
9862         (_initialize_dwarf2_read): Don't register
9863         dwarf2_per_objfile_free as a registry cleanup.
9864
9865 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9866
9867         Avoid compilation errors in MinGW native builds
9868
9869         The error is triggered by including python-internal.h, and the
9870         error message is:
9871
9872              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
9873                       from build-gnulib/import/math.h:27,
9874                       from d:/usr/Python26/include/pyport.h:235,
9875                       from d:/usr/Python26/include/Python.h:58,
9876                       from python/python-internal.h:94,
9877                       from python/py-arch.c:24:
9878              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
9879         using ::hypot;
9880                 ^~~~~
9881
9882         This happens because Python headers define 'hypot' to expand t
9883         '_hypot' in the Windows builds.
9884         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
9885         'hypoth'.  This avoids a compilation error.
9886
9887 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9888
9889         * MAINTAINERS (Write After Approval): Fix ordering.
9890
9891 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
9892
9893         * MAINTAINERS (Write After Approval): Add Alan Hayward.
9894
9895 2018-01-26  Alan Modra  <amodra@gmail.com>
9896
9897         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
9898         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
9899         Remove nop.  Make const.  Comment.
9900         (powerpc32_plt_stub_so_2): New.
9901         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
9902         Correct count.  Update uses.
9903         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
9904         Move common code reading PLT entry word.  Correct
9905         powerpc32_plt_stub PLT address calculation.
9906         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
9907         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
9908         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
9909         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
9910         (ppc64_standard_linkage8): Likewise.
9911         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
9912         Correct insns description.
9913         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
9914
9915 2018-01-24  Pedro Alves  <palves@redhat.com>
9916
9917         GCC PR libstdc++/83906
9918         * gdbtypes.c (operator==(const dynamic_prop &,
9919         const dynamic_prop &)): New.
9920         (operator==(const range_bounds &, const range_bounds &)): New.
9921         (check_types_equal): Use them instead of memcmp.
9922         * gdbtypes.h (operator==(const dynamic_prop &,
9923         const dynamic_prop &)): Declare.
9924         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
9925         (operator==(const range_bounds &, const range_bounds &)): Declare.
9926         (operator!=(const range_bounds &, const range_bounds &)): Declare.
9927
9928 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9929
9930         * s390-linux-tdep.c (s390_record_address_mask)
9931         (s390_record_calc_disp_common, s390_record_calc_disp)
9932         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9933         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9934         (s390_process_record): Move to s390-tdep.c.
9935         (s390_linux_init_abi_any): Adjust.
9936         * s390-tdep.c (s390_record_address_mask)
9937         (s390_record_calc_disp_common, s390_record_calc_disp)
9938         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
9939         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
9940         (s390_process_record): Moved from s390-linux-tdep.c
9941         (s390_gdbarch_init): Adjust.
9942
9943 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9944
9945         * s390-linux-nat.c (s390-tdep.h): New include.
9946         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
9947         (HFILES_NO_SRCDIR): Add s390-tdep.h.
9948         (ALLDEPFILES): Add s390-tdep.c.
9949         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
9950         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
9951         * s390-tdep.h: ...this.  New file.
9952         * s390-linux-tdep.c (s390-tdep.h): New include.
9953         (_initialize_s390_tdep): Rename to...
9954         (_initialize_s390_linux_tdep): ...this and adjust.
9955         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
9956         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
9957         s390-tdep.h.
9958         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
9959         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
9960         (s390_is_partial_instruction, s390_software_single_step)
9961         (is_non_branch_ril, s390_displaced_step_copy_insn)
9962         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
9963         (s390_prologue_data, s390_addr, s390_store, s390_load)
9964         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
9965         (s390_register_call_saved, s390_guess_tracepoint_registers)
9966         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
9967         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
9968         (s390_pseudo_register_name, s390_pseudo_register_type)
9969         (s390_pseudo_register_read, s390_pseudo_register_write)
9970         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
9971         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
9972         (s390_addr_bits_remove, s390_address_class_type_flags)
9973         (s390_address_class_type_flags_to_name)
9974         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
9975         (s390_function_arg_float, s390_function_arg_vector)
9976         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
9977         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
9978         (s390_frame_align, s390_register_return_value, s390_return_value)
9979         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
9980         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
9981         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
9982         (s390_trad_frame_prev_register, s390_unwind_cache)
9983         (s390_prologue_frame_unwind_cache)
9984         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
9985         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
9986         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
9987         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
9988         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
9989         (s390_frame_base_address, s390_local_base_address)
9990         (s390_frame_base, s390_gcc_target_options)
9991         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
9992         (s390_validate_reg_range, s390_tdesc_valid)
9993         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
9994         * s390-tdep.c: ...this.  New file.
9995
9996 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
9997
9998         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
9999         (s390_process_record, s390_gdbarch_tdep_alloc)
10000         (s390_linux_init_abi_any): Use/set new hook.
10001
10002 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10003
10004         * s390-linux-tdep.c (osabi.h): New include.
10005         (s390_linux_init_abi_31, s390_linux_init_abi_64)
10006         (s390_linux_init_abi_any): New functions.
10007         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
10008
10009 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10010
10011         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
10012         tdesc_has_registers check
10013
10014 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10015
10016         * s390-linux-tdep.c (s390_tdesc_valid): New function.
10017         (s390_validate_reg_range): New macro.
10018         (s390_gdbarch_init): Adjust.
10019
10020 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10021
10022         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
10023         (s390_gdbarch_tdep_alloc): Adjust.
10024         (s390_gdbarch_init): Adjust.
10025
10026 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10027
10028         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
10029         <have_tdb>: Change type to bool.
10030         (s390_gdbarch_tdep_alloc): Adjust.
10031         (s390_gdbarch_init): Adjust.
10032
10033 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10034
10035         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
10036         (gdbarch_tdep) <have_upper, have_vx>: New fields.
10037         (s390_gdbarch_tdep_alloc): New function.
10038         (s390_gdbarch_init): Allocate tdep at start and use its fields
10039         instead of separate variables.
10040
10041 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
10042
10043         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
10044         when looking for cached gdbarch and add comment for remaining.
10045
10046 2018-01-22  Pedro Alves  <palves@redhat.com>
10047             Sergio Durigan Junior  <sergiodj@redhat.com>
10048
10049         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
10050         case.
10051
10052 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
10053
10054         * MAINTAINERS: Update my company e-mail address.
10055
10056 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10057
10058         * regcache.c (cooked_write_test): New function.
10059         (_initialize_regcache): Register the test.
10060
10061 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10062
10063         * ia64-tdep.c (ia64_pseudo_register_read): Call
10064         regcache->cooked_read instead of regcache_cooked_read_unsigned.
10065         * m32c-tdep.c (m32c_cat_read): Likewise.
10066         (m32c_r3r2r1r0_read): Likewise.
10067         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
10068         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
10069
10070 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10071
10072         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
10073         method raw_read instead of regcache_raw_read.
10074         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
10075         * arm-tdep.c (arm_neon_quad_read): Likewise.
10076         * avr-tdep.c (avr_pseudo_register_read): Likewise.
10077         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
10078         * frv-tdep.c (frv_pseudo_register_read): Likewise.
10079         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
10080         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
10081         (i386_pseudo_register_read_into_value): Likewise.
10082         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
10083         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
10084         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
10085         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
10086         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
10087         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
10088         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
10089         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
10090         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
10091
10092 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10093
10094         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
10095         * configure.tgt: Remove target mt.
10096         * mt-tdep.c: Remove.
10097         * regcache.c (cooked_read_test): Remove the check for mt.
10098
10099 2018-01-22  Yao Qi  <yao.qi@linaro.org>
10100
10101         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
10102         instead of gdbarch_pseudo_register_read_value.
10103
10104 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10105
10106         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
10107         language is Ada.
10108
10109 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
10110
10111         * linespec.c (create_sals_line_offset): Remove code that preserved
10112         the symtab_and_line's line number.
10113
10114 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10115
10116         * varobj.c (varobj_create): Don't set valid_block when creating a
10117         floating varobj.
10118
10119 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10120
10121         * varobj.c (varobj_create): Remove out of date comment.
10122
10123 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10124
10125         PR mi/20395
10126         * ada-exp.y (write_var_from_sym): Pass extra parameter when
10127         updating innermost block.
10128         * parse.c (innermost_block_tracker::update): Take extra type
10129         parameter, and check types match before updating innermost block.
10130         (write_dollar_variable): Update innermost block for registers.
10131         * parser-defs.h (enum innermost_block_tracker_type): New enum.
10132         (innermost_block_tracker::innermost_block_tracker): Initialise
10133         m_types member.
10134         (innermost_block_tracker::reset): Take type parameter.
10135         (innermost_block_tracker::update): Take type parameter, and pass
10136         type through as needed.
10137         (innermost_block_tracker::m_types): New member.
10138         * varobj.c (varobj_create): Pass type when reseting innermost
10139         block.
10140
10141 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10142
10143         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
10144         * ada-lang.c (resolve_subexp): Likewise.
10145         * breakpoint.c (set_breakpoint_condition) Likewise.
10146         (watch_command_1) Likewise.
10147         * c-exp.y (variable): Likewise.
10148         * d-exp.y (PrimaryExpression): Likewise.
10149         * f-exp.y (variable): Likewise.
10150         * go-exp.y (variable): Likewise.
10151         * m2-exp.y (variable): Likewise.
10152         * objfiles.c (objfile::~objfile): Likewise.
10153         * p-exp.y (variable): Likewise.
10154         * parse.c (innermost_block): Change type.
10155         * parser-defs.h (class innermost_block_tracker): New.
10156         (innermost_block): Change to innermost_block_tracker.
10157         * printcmd.c (display_command): Switch to innermost_block API.
10158         (do_one_display): Likewise.
10159         * rust-exp.y (do_one_display): Likewise.
10160         * symfile.c (clear_symtab_users): Likewise.
10161         * varobj.c (varobj_create): Switch to innermost_block API, replace
10162         use of innermost_block with block stored on varobj object.
10163
10164 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
10165
10166         * expression.h (innermost_block): Remove declaration.
10167         * varobj.c: Add 'parser-defs.h' include.
10168
10169 2018-01-19  Tom Tromey  <tom@tromey.com>
10170
10171         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
10172         symbols in the static and global blocks.
10173
10174 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
10175
10176         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
10177         gdb_ptrace.h, and move including gdb_wait.h ...
10178         * nat/linux-ptrace.h: ... to here.
10179
10180 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10181
10182         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
10183         inf_ptrace_detach_success.
10184         (inf_ptrace_detach_success): Add inferior parameter, use it
10185         instead of inferior_ptid, pass it to detach_inferior.
10186         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
10187         parameter.
10188         * inferior.c (detach_inferior): Add overload that takes an
10189         inferior object.
10190         * inferior.h (detach_inferior): Likewise.
10191         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
10192         use inferior_ptid, adjust call to inf_ptrace_detach_success.
10193         * linux-thread-db.c (thread_db_detach): Use inf parameter.
10194
10195 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10196
10197         * target.h (struct target_ops) <to_detach>: Add inferior
10198         parameter.
10199         (target_detach): Likewise.
10200         * target.c (dispose_inferior): Pass inferior down.
10201         (target_detach): Pass inferior down.  Assert that it is equal to
10202         the current inferior.
10203         * aix-thread.c (aix_thread_detach): Pass inferior down.
10204         * corefile.c (core_file_command): Pass current_inferior() down.
10205         * corelow.c (core_detach): Add inferior parameter.
10206         * darwin-nat.c (darwin_detach): Likewise.
10207         * gnu-nat.c (gnu_detach): Likewise.
10208         * inf-ptrace.c (inf_ptrace_detach): Likewise.
10209         * infcmd.c (detach_command): Pass current_inferior() down to
10210         target_detach.
10211         * infrun.c (follow_fork_inferior): Pass parent_inf to
10212         target_detach.
10213         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
10214         target_detach.
10215         * linux-nat.c (linux_nat_detach): Add inferior parameter.
10216         * linux-thread-db.c (thread_db_detach): Likewise.
10217         * nto-procfs.c (procfs_detach): Likewise.
10218         * procfs.c (procfs_detach): Likewise.
10219         * record.c (record_detach): Likewise.
10220         * record.h (struct inferior): Forward-declare.
10221         (record_detach): Add inferior parameter.
10222         * remote-sim.c (gdbsim_detach): Likewise.
10223         * remote.c (remote_detach_1): Likewise.
10224         (remote_detach): Likewise.
10225         (extended_remote_detach): Likewise.
10226         * sol-thread.c (sol_thread_detach): Likewise.
10227         * target-debug.h (target_debug_print_inferior_p): New macro.
10228         * target-delegates.c: Re-generate.
10229         * top.c (kill_or_detach): Pass inferior down to target_detach.
10230         * windows-nat.c (windows_detach): Add inferior parameter.
10231
10232 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
10233
10234         * target.h (struct target_ops) <to_detach>: Remove args
10235         parameter.
10236         (target_detach): Likewise.
10237         * target.c (dispose_inferior): Adjust.
10238         (target_detach): Remove args parameter, adjust.
10239         * aix-thread.c (aix_thread_detach): Adjust.
10240         * corefile.c (core_file_command): Adjust.
10241         * corelow.c (core_detach): Adjust.
10242         * darwin-nat.c (darwin_detach): Adjust.
10243         * gnu-nat.c (gnu_detach): Adjust.
10244         * inf-ptrace.c (inf_ptrace_detach): Adjust.
10245         * infcmd.c (detach_command): Adjust
10246         * infrun.c (follow_fork_inferior): Adjust.
10247         (handle_vfork_child_exec_or_exit): Adjust.
10248         * linux-fork.c (linux_fork_detach): Remove args parameter.
10249         * linux-fork.h (linux_fork_detach): Likewise.
10250         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
10251         * linux-thread-db.c (thread_db_detach): Likewise.
10252         * nto-procfs.c (procfs_detach): Likewise.
10253         * procfs.c (procfs_detach): Likewise.
10254         (do_detach): Remove signo parameter.
10255         * record.c (record_detach): Remove args parameter.
10256         * record.h (record_detach): Likewise.
10257         * remote-sim.c (gdbsim_detach): Likewise.
10258         * remote.c (remote_detach_1): Likewise.
10259         (remote_detach): Likewise.
10260         (extended_remote_detach): Likewise.
10261         * sol-thread.c (sol_thread_detach): Likewise.
10262         * target-delegates.c: Re-generate.
10263         * top.c (struct qt_args) <args>: Remove field.
10264         (kill_or_detach): Don't pass args.
10265         (quit_force): Don't set args.
10266         * windows-nat.c (windows_detach): Remove args parameter.
10267
10268 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10269
10270         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
10271         (arm_linux_init_abi): Install it.
10272
10273 2018-01-19  Yao Qi  <yao.qi@linaro.org>
10274
10275         * osabi.c (gdb_osabi_names): Extend the regexp for
10276         arm-linux-gnueabihf.
10277
10278 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10279
10280         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
10281         m_abbrevs.
10282         (abbrev_table::add_abbrev): Update.
10283         (abbrev_table::lookup_abbrev): Update.
10284
10285 2018-01-18  Yao Qi  <yao.qi@linaro.org>
10286
10287         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
10288
10289 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
10290
10291         * compile/compile.c (compile_to_object): Convert "triplet_rx"
10292         to "std::string".
10293
10294 2018-01-17  Tom Tromey  <tom@tromey.com>
10295
10296         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
10297
10298 2018-01-17  Tom Tromey  <tom@tromey.com>
10299
10300         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
10301         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
10302         (create_array_type_with_stride): Update.
10303         * dwarf2read.c (set_die_type): Update.
10304
10305 2018-01-17  Tom Tromey  <tom@tromey.com>
10306
10307         * dwarf2read.c (delayed_method_info): Remove typedef.
10308         (dwarf2_cu::method_info): Now a std::vector.
10309         (add_to_method_list): Update.
10310         (free_delayed_list): Remove.
10311         (compute_delayed_physnames): Update.
10312         (process_full_comp_unit, process_full_type_unit): Clear the method
10313         list.  Remove cleanups.
10314         (psymtab_include_file_name): Add name_holder parameter.  Use
10315         unique_xmalloc_ptr.
10316         (dwarf_decode_lines): Update.
10317
10318 2018-01-17  Tom Tromey  <tom@tromey.com>
10319             Simon Marchi  <simon.marchi@ericsson.com>
10320
10321         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
10322         (dwarf2_per_objfile::free_cached_comp_units)
10323         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10324         (init_cutu_and_read_dies_no_follow): Update.
10325         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
10326         (dwarf2_cu::~dwarf2_cu): New.
10327         (free_heap_comp_unit, free_stack_comp_unit): Remove.
10328         (age_cached_comp_units, free_one_cached_comp_unit): Update.
10329
10330 2018-01-17  Tom Tromey  <tom@tromey.com>
10331             Simon Marchi  <simon.marchi@ericsson.com>
10332
10333         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
10334         (struct die_reader_specs) <abbrev_table>: New member.
10335         (struct abbrev_table): Add constructor.
10336         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
10337         <abbrev_obstack>: Now an auto_obstack.
10338         (abbrev_table_up): New typedef.
10339         (init_cu_die_reader): Add abbrev_table parameter.
10340         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
10341         Add result_dwo_abbrev_table.
10342         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
10343         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
10344         Update.
10345         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
10346         parameter.
10347         (skip_children): Update.
10348         (abbrev_table::alloc_abbrev): Rename from
10349         abbrev_table_alloc_abbrev.
10350         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
10351         (abbrev_table::lookup_abbrev): Rename from
10352         abbrev_table_lookup_abbrev.
10353         (abbrev_table_read_table): Return abbrev_table_up.
10354         (abbrev_table_free, abbrev_table_free_cleanup)
10355         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
10356         (load_partial_dies): Update.
10357
10358 2018-01-17  Tom Tromey  <tom@tromey.com>
10359
10360         * dwarf2read.c (dwarf2_compute_name): Update comment.
10361         (read_func_scope, read_variable): Update.
10362         (new_symbol): Remove.
10363         (new_symbol_full): Rename to new_symbol.
10364
10365 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
10366
10367         PR gdb/16577
10368         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
10369         a warning instead of throwing an error, set section size to 0 and return
10370         NULL.
10371         * gdb_bfd.h (gdb_bfd_map_section): Update description.
10372
10373 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10374
10375         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
10376         std::string.
10377         (linux_ptrace_attach_fail_reason_string): Likewise.
10378         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
10379         Likewise.
10380         (linux_ptrace_attach_fail_reason_string): Likewise.
10381         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
10382
10383 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
10384
10385         * linux-nat.c (linux_nat_attach): Remove xstrdup.
10386
10387 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
10388
10389         PR gdb/21559
10390         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
10391         checking for fs_base/gs_base fields in struct user_regs_struct.
10392         * configure: Regenerate.
10393
10394 2018-01-17  Yao Qi  <yao.qi@linaro.org>
10395
10396         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
10397         function.
10398         (aarch64_linux_init_abi): Install it to gdbarch hook
10399         gcc_target_options.
10400
10401 2018-01-15  Pedro Alves  <palves@redhat.com>
10402
10403         * common/signals-state-save-restore.c
10404         (save_original_signals_state): Fix typos.
10405
10406 2017-01-12  Tom Tromey  <tom@tromey.com>
10407             Sergio Durigan Junior  <sergiodj@redhat.com>
10408
10409         * Makefile.in (install-only): Install gdb-add-index.
10410
10411 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
10412
10413         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
10414
10415 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10416
10417         * infrun.c (keep_going_pass_signal): Clear step-over info when
10418         insert_breakpoints fails.
10419
10420 2018-01-11  Pedro Alves  <palves@redhat.com>
10421
10422         PR gdb/22583
10423         * infrun.c (resume): Rename to ...
10424         (resume_1): ... this.
10425         (resume): Reimplement as wrapper around resume_1.
10426
10427 2018-01-11  Pedro Alves  <palves@redhat.com>
10428
10429         PR remote/22597
10430         * remote.c (remote_parse_stop_reply): Default to the last-set
10431         general thread instead of to 'magic_null_ptid'.
10432
10433 2018-01-10  Pedro Alves  <palves@redhat.com>
10434
10435         * language.h (language_get_symbol_name_matcher): Rename ...
10436         (get_symbol_name_matcher): ... this.
10437         * language.c (language_get_symbol_name_matcher): Ditto.
10438         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
10439         callers adjusted.
10440
10441 2018-01-10  Pedro Alves  <palves@redhat.com>
10442
10443         PR gdb/22670
10444         * dwarf2read.c
10445         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
10446         Adjust to use language_get_symbol_name_matcher instead of
10447         language_defn::la_get_symbol_name_matcher.
10448         * language.c (language_get_symbol_name_matcher): If in Ada mode
10449         and the lookup name is a verbatim match, return Ada's matcher.
10450         * language.h (language_get_symbol_name_matcher): Adjust comment.
10451         (ada_lookup_name_info::verbatim_p):: New method.
10452
10453 2018-01-10  Pedro Alves  <palves@redhat.com>
10454
10455         PR gdb/22670
10456         * ada-lang.c (ada_collect_symbol_completion_matches): If the
10457         minsym's language is language_auto or language_cplus, pass down
10458         language_ada instead.
10459         * symtab.c (compare_symbol_name): Don't frob symbol language here.
10460
10461 2018-01-10  Pedro Alves  <palves@redhat.com>
10462
10463         PR gdb/22670
10464         * minsyms.c (linkage_name_str): New function.
10465         (iterate_over_minimal_symbols): Use it.
10466
10467 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10468
10469         * NEWS: Document that 'info proc' now works on FreeBSD.
10470
10471 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10472
10473         * configure.ac: Check for kinfo_getfile in libutil.
10474         * configure: Regenerate.
10475         * config.in: Regenerate.
10476         * fbsd-nat.c: Include "fbsd-tdep.h".
10477         (fbsd_fetch_cmdline): New.
10478         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
10479         rather than calling error.
10480         (fbsd_info_proc): New.
10481         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
10482         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
10483         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
10484
10485 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10486
10487         * fbsd-nat.c (struct free_deleter): Remove.
10488         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
10489
10490 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10491
10492         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
10493         NULL for an empty pathname.
10494
10495 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
10496
10497         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
10498         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
10499         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
10500         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
10501         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
10502         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
10503         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
10504         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
10505         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
10506         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
10507         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
10508         (fbsd_core_fetch_timeval, fbsd_print_sigset)
10509         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
10510         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
10511         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
10512
10513 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
10514
10515         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
10516         (gnu_xfer_auxv): New function.
10517         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
10518         TARGET_OBJECT_AUXV.
10519
10520 2018-01-08  Yao Qi  <yao.qi@linaro.org>
10521             Simon Marchi  <simon.marchi@ericsson.com>
10522
10523         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
10524         common/selftest.c.
10525         (COMMON_OBS): Remove selftest.o.
10526         * configure.ac: Append selftest-arch.c and common/selftest.c to
10527         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
10528         * configure: Re-generated.
10529         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
10530         GDB_SELF_TEST.
10531         (maintenance_info_selftests): Likewise.
10532
10533 2018-01-08  Xavier Roirand  <roirand@adacore.com>
10534
10535         * ada-valprint.c (val_print_packed_array_elements): Use
10536         proper number of elements when printing an array indexed
10537         by an enumeration type.
10538
10539 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10540
10541         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
10542         (dw2_get_file_names_reader): Adjust.
10543         (lookup_dwo_signatured_type): Adjust.
10544         (lookup_dwp_signatured_type): Adjust.
10545         (lookup_signatured_type): Adjust.
10546         (create_type_unit_group): Adjust.
10547         (get_type_unit_group): Adjust.
10548         (process_psymtab_comp_unit_reader): Adjust.
10549         (build_type_psymtabs_reader): Adjust.
10550         (scan_partial_symbols): Adjust.
10551         (add_partial_symbol): Adjust.
10552         (add_partial_subprogram): Adjust.
10553         (peek_die_abbrev): Adjust.
10554         (fixup_go_packaging): Adjust.
10555         (process_imported_unit_die): Adjust.
10556         (dwarf2_compute_name): Adjust.
10557         (dwarf2_physname): Adjust.
10558         (read_import_statement): Adjust.
10559         (handle_DW_AT_stmt_list): Adjust.
10560         (read_file_scope): Adjust.
10561         (read_func_scope): Adjust.
10562         (read_lexical_block_scope): Adjust.
10563         (read_call_site_scope): Adjust.
10564         (read_variable): Adjust.
10565         (dwarf2_rnglists_process): Adjust.
10566         (dwarf2_ranges_process): Adjust.
10567         (dwarf2_ranges_read): Adjust.
10568         (dwarf2_get_pc_bounds): Adjust.
10569         (dwarf2_record_block_ranges): Adjust.
10570         (dwarf2_add_field): Adjust.
10571         (dwarf2_add_member_fn): Adjust.
10572         (read_structure_type): Adjust.
10573         (process_structure_scope): Adjust.
10574         (read_enumeration_type): Adjust.
10575         (read_array_type): Adjust.
10576         (mark_common_block_symbol_computed): Adjust.
10577         (read_common_block): Adjust.
10578         (read_namespace_type): Adjust.
10579         (read_namespace): Adjust.
10580         (read_module_type): Adjust.
10581         (read_tag_pointer_type): Adjust.
10582         (read_tag_ptr_to_member_type): Adjust.
10583         (read_tag_string_type): Adjust.
10584         (read_subroutine_type): Adjust.
10585         (read_typedef): Adjust.
10586         (read_base_type): Adjust.
10587         (attr_to_dynamic_prop): Adjust.
10588         (read_subrange_type): Adjust.
10589         (read_unspecified_type): Adjust.
10590         (dwarf2_read_abbrevs): Adjust.
10591         (load_partial_dies): Adjust.
10592         (read_partial_die): Adjust.
10593         (find_partial_die): Adjust.
10594         (guess_partial_die_structure_name): Adjust.
10595         (fixup_partial_die): Adjust.
10596         (read_attribute_value): Adjust.
10597         (read_addr_index): Adjust.
10598         (read_addr_index_from_leb128): Adjust.
10599         (read_str_index): Adjust.
10600         (dwarf2_string_attr): Adjust.
10601         (get_debug_line_section): Adjust.
10602         (dwarf_decode_line_header): Adjust.
10603         (lnp_state_machine::check_line_address): Adjust.
10604         (dwarf_decode_lines_1): Adjust.
10605         (dwarf_decode_lines): Adjust.
10606         (dwarf2_start_symtab): Adjust.
10607         (var_decode_location): Adjust.
10608         (new_symbol_full): Adjust.
10609         (dwarf2_const_value_data): Adjust.
10610         (dwarf2_const_value_attr): Adjust.
10611         (dwarf2_const_value): Adjust.
10612         (die_type): Adjust.
10613         (die_containing_type): Adjust.
10614         (build_error_marker_type): Adjust.
10615         (lookup_die_type): Adjust.
10616         (guess_full_die_structure_name): Adjust.
10617         (anonymous_struct_prefix): Adjust.
10618         (determine_prefix): Adjust.
10619         (dwarf2_name): Adjust.
10620         (follow_die_ref_or_sig): Adjust.
10621         (follow_die_offset): Adjust.
10622         (follow_die_ref): Adjust.
10623         (follow_die_sig_1): Adjust.
10624         (follow_die_sig): Adjust.
10625         (get_signatured_type): Adjust.
10626         (get_DW_AT_signature_type): Adjust.
10627         (decode_locdesc): Adjust.
10628         (dwarf_decode_macros): Adjust.
10629         (cu_debug_loc_section): Adjust.
10630         (fill_in_loclist_baton): Adjust.
10631         (dwarf2_symbol_mark_computed): Adjust.
10632         (init_one_comp_unit): Don't assign
10633         dwarf2_cu::dwarf2_per_objfile.
10634         (set_die_type): Adjust.
10635
10636 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10637
10638         * dwarf2read.c (struct mapped_debug_names): Add constructor.
10639         <dwarf2_per_objfile>: New field.
10640         (dwarf2_per_objfile): Remove global.
10641         (get_dwarf2_per_objfile): New function.
10642         (set_dwarf2_per_objfile): New function.
10643         (dwarf2_build_psymtabs_hard): Change objfile parameter to
10644         dwarf2_per_objfile.
10645         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10646         (read_abbrev_offset): Likewise.
10647         (read_indirect_string): Likewise.
10648         (read_indirect_line_string): Likewise.
10649         (read_indirect_string_at_offset): Likewise.
10650         (read_indirect_string_from_dwz): Likewise.
10651         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10652         dwarf2_per_objfile.
10653         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10654         (create_all_comp_units): Change objfile parameter to
10655         dwarf2_per_objfile.
10656         (create_all_type_units): Likewise.
10657         (process_queue): Add dwarf2_per_objfile parameter.
10658         (read_and_check_comp_unit_head): Likewise.
10659         (lookup_dwo_unit_in_dwp): Likewise.
10660         (get_dwp_file): Likewise.
10661         (process_cu_includes): Likewise.
10662         (struct free_dwo_file_cleanup_data): New struct.
10663         (dwarf2_has_info): Use get_dwarf2_per_objfile and
10664         set_dwarf2_per_objfile.
10665         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
10666         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
10667         context, adjust calls.
10668         (dw2_instantiate_symtab): Likewise.
10669         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
10670         (dw2_get_cu): Likewise.
10671         (create_cu_from_index_list): Change objfile parameter to
10672         dwarf2_per_objfile.
10673         (create_cus_from_index_list): Get dwarf2_per_objfile from
10674         context, adjust calls.
10675         (create_cus_from_index): Likewise.
10676         (create_signatured_type_table_from_index): Change objfile
10677         parameter to dwarf2_per_objfile.
10678         (create_signatured_type_table_from_debug_names): Change objfile
10679         parameter to dwarf2_per_objfile.
10680         (create_addrmap_from_index): Likewise.
10681         (create_addrmap_from_aranges): Likewise.
10682         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
10683         (dw2_setup): Remove.
10684         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
10685         context.
10686         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
10687         get_dwarf2_per_objfile.
10688         (dw2_forget_cached_source_info): Likewise.
10689         (dw2_map_symtabs_matching_filename): Likewise.
10690         (struct dw2_symtab_iterator) <index>: Remove.
10691         <dwarf2_per_objfile>: New field.
10692         (dw2_symtab_iter_init): Replace index parameter with
10693         dwarf2_per_objfile.
10694         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
10695         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
10696         (dw2_print_stats): Likewise.
10697         (dw2_dump): Likewise.
10698         (dw2_expand_symtabs_for_function): Likewise.
10699         (dw2_expand_all_symtabs): Likewise.
10700         (dw2_expand_symtabs_with_fullname): Likewise.
10701         (dw2_expand_marked_cus): Replace index and objfile parameters
10702         with dwarf2_per_objfile.
10703         (dw_expand_symtabs_matching_file_matcher): Add
10704         dwarf2_per_objfile parameter and adjust calls.
10705         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
10706         adjust calls.
10707         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
10708         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
10709         adjust calls.
10710         (create_cus_from_debug_names_list): Replace objfile parameter
10711         with dwarf2_per_objfile and adjust calls.
10712         (create_cus_from_debug_names): Likewise.
10713         (dwarf2_read_debug_names): Likewise.
10714         (mapped_debug_names::namei_to_name): Adjust call.
10715         (dw2_debug_names_iterator::next): Likewise.
10716         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
10717         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
10718         (dw2_debug_names_dump): Likewise.
10719         (dw2_debug_names_expand_symtabs_for_function): Likewise.
10720         (dw2_debug_names_expand_symtabs_matching): Likewise.
10721         (dwarf2_initialize_objfile): Likewise.
10722         (dwarf2_build_psymtabs): Likewise.
10723         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
10724         this_cu.
10725         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
10726         (read_and_check_comp_unit_head): Likewise.
10727         (read_abbrev_offset): Likewise.
10728         (create_debug_type_hash_table): Likewise.
10729         (create_debug_types_hash_table): Likewise.
10730         (create_all_type_units): Replace objfile parameter with
10731         dwarf2_per_objfile.
10732         (add_type_unit): Add dwarf2_per_objfile parameter.
10733         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
10734         with dwarf2_per_objfile.
10735         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
10736         (lookup_dwp_signatured_type): Likewise.
10737         (lookup_signatured_type): Likewise.
10738         (read_cutu_die_from_dwo): Likewise.
10739         (init_tu_and_read_dwo_dies): Likewise.
10740         (init_cutu_and_read_dies): Likewise.
10741         (init_cutu_and_read_dies_no_follow): Likewise.
10742         (allocate_type_unit_groups_table): Add objfile parameter.
10743         (create_type_unit_group): Use dwarf2_per_objfile from cu.
10744         (get_type_unit_group): Likewise.
10745         (process_psymtab_comp_unit): Update call.
10746         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
10747         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
10748         (print_tu_stats): Likewise.
10749         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
10750         in void* parameter.
10751         (build_type_psymtabs): Change objfile parameter to
10752         dwarf2_per_objfile.
10753         (process_skeletonless_type_unit): Use dwarf2_per_objfile
10754         passed in void* parameter.
10755         (process_skeletonless_type_units): Change objfile parameter to
10756         dwarf2_per_objfile.
10757         (set_partial_user): Likewise.
10758         (dwarf2_build_psymtabs_hard): Likewise.
10759         (read_comp_units_from_section): Likewise.
10760         (create_all_comp_units): Likewise.
10761         (scan_partial_symbols): Update calls.
10762         (add_partial_symbol): Likewise.
10763         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
10764         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
10765         (process_queue): Add dwarf2_per_objfile parameter.
10766         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
10767         (compute_compunit_symtab_includes): Likewise.
10768         (process_cu_includes): Add dwarf2_per_objfile parameter.
10769         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
10770         (process_full_type_unit): Likewise.
10771         (process_imported_unit_die): Update call.
10772         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
10773         (read_file_scope): Likewise.
10774         (allocate_dwo_file_hash_table): Add objfile parameter.
10775         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
10776         (create_cus_hash_table): Likewise.
10777         (create_dwp_hash_table): Likewise.
10778         (create_dwo_unit_in_dwp_v1): Likewise.
10779         (create_dwp_v2_section): Likewise.
10780         (create_dwo_unit_in_dwp_v2): Likewise.
10781         (lookup_dwo_unit_in_dwp): Likewise.
10782         (try_open_dwop_file): Likewise.
10783         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
10784         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
10785         cleanup to include a reference to dwarf2_per_objfile.
10786         (open_dwp_file): Add dwarf2_per_objfile parameter.
10787         (open_and_init_dwp_file): Likewise.
10788         (get_dwp_file): Likewise.
10789         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
10790         (queue_and_load_all_dwo_tus): Update call.
10791         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
10792         data.
10793         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
10794         (dwarf2_ranges_process): Likewise.
10795         (dwarf2_get_pc_bounds): Likewise.
10796         (mark_common_block_symbol_computed): Likewise.
10797         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
10798         (dwarf2_read_abbrevs): Update call.
10799         (read_partial_die): Use dwarf2_per_objfile from cu.
10800         (find_partial_die): Likewise.
10801         (fixup_partial_die): Likewise.
10802         (read_attribute_value): Likewise.
10803         (read_indirect_string_at_offset_from): Add objfile parameter.
10804         (read_indirect_string_at_offset): Add dwarf2_per_objfile
10805         parameter.
10806         (read_indirect_string_from_dwz): Add objfile parameter.
10807         (read_indirect_string): Add objfile parameter.
10808         (read_addr_index_1): Add dwarf2_per_objfile parameter.
10809         (read_addr_index): Use dwarf2_per_objfile from cu.
10810         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
10811         call dw2_setup.
10812         (read_str_index): Use dwarf2_per_objfile from cu.
10813         (get_debug_line_section): Likewise.
10814         (read_formatted_entries): Add dwarf2_per_objfile parameter.
10815         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
10816         (new_symbol_full): Use dwarf2_per_objfile from cu.
10817         (build_error_marker_type): Likewise.
10818         (lookup_die_type): Likewise.
10819         (determine_prefix): Likewise.
10820         (follow_die_offset): Likewise.
10821         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
10822         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
10823         (dwarf2_fetch_die_type_sect_off): Likewise.
10824         (dwarf2_get_die_type): Likewise.
10825         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
10826         (get_signatured_type): Likewise.
10827         (get_DW_AT_signature_type): Likewise.
10828         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
10829         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
10830         (cu_debug_loc_section): Likewise.
10831         (fill_in_loclist_baton): Likewise.
10832         (dwarf2_symbol_mark_computed): Likewise.
10833         (dwarf2_find_containing_comp_unit): Change objfile parameter to
10834         dwarf2_per_objfile.
10835         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
10836         parameter.
10837         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
10838         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
10839         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
10840         (set_die_type): Use dwarf2_free_objfile from cu.
10841         (get_die_type_at_offset): Likewise.
10842         (dwarf2_per_objfile_free): Don't assign global variable.
10843         (debug_names) <constructor>: Add dwarf2_per_objfile
10844         parameter, update m_debugstrlookup construction.
10845         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
10846         parameter.
10847         <m_dwarf2_per_objfile>: New field.
10848         <lookup>: Use m_dwarf2_per_objfile.
10849         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
10850         (psyms_seen_size): Likewise.
10851         (write_gdbindex): Replace objfile parameter with
10852         dwarf2_per_objfile.
10853         (write_debug_names): Likewise.
10854         (write_psymtabs_to_index): Likewise.
10855         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
10856         calls.
10857
10858 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10859
10860         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
10861         <dwarf2_per_objfile>: New field.
10862         (struct dwarf2_per_cu_data) <objfile>: Remove.
10863         <dwarf2_per_objfile>: New field.
10864         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
10865         of objfile.
10866         (create_signatured_type_table_from_index): Likewise.
10867         (create_debug_type_hash_table): Likewise.
10868         (fill_in_sig_entry_from_dwo_entry): Likewise.
10869         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
10870         (create_type_unit_group): Assign dwarf2_per_objfile instead of
10871         objfile.
10872         (create_partial_symtab): Access objfile through
10873         dwarf2_per_objfile.
10874         (process_psymtab_comp_unit_reader): Likewise.
10875         (read_comp_units_from_section): Likewise.
10876         (scan_partial_symbols): Likewise.
10877         (add_partial_symbol): Likewise.
10878         (add_partial_subprogram): Likewise.
10879         (peek_die_abbrev): Likewise.
10880         (fixup_go_packaging): Likewise.
10881         (process_full_comp_unit): Likewise.
10882         (process_full_type_unit): Likewise.
10883         (process_imported_unit_die): Likewise.
10884         (dwarf2_compute_name): Likewise.
10885         (dwarf2_physname): Likewise.
10886         (read_import_statement): Likewise.
10887         (create_cus_hash_table): Assign dwarf2_physname instead of
10888         objfile.
10889         (read_func_scope): Access objfile through dwarf2_per_objfile.
10890         (read_lexical_block_scope): Likewise.
10891         (read_call_site_scope): Likewise.
10892         (read_variable): Likewise.
10893         (dwarf2_rnglists_process): Likewise.
10894         (dwarf2_ranges_process): Likewise.
10895         (dwarf2_ranges_read): Likewise.
10896         (dwarf2_record_block_ranges): Likewise.
10897         (dwarf2_add_field): Likewise.
10898         (dwarf2_add_member_fn): Likewise.
10899         (read_structure_type): Likewise.
10900         (process_structure_scope): Likewise.
10901         (read_enumeration_type): Likewise.
10902         (read_array_type): Likewise.
10903         (read_common_block): Likewise.
10904         (read_namespace_type): Likewise.
10905         (read_namespace): Likewise.
10906         (read_module_type): Likewise.
10907         (read_tag_pointer_type): Likewise.
10908         (read_tag_ptr_to_member_type): Likewise.
10909         (read_tag_string_type): Likewise.
10910         (read_subroutine_type): Likewise.
10911         (read_typedef): Likewise.
10912         (read_base_type): Likewise.
10913         (attr_to_dynamic_prop): Likewise.
10914         (read_subrange_type): Likewise.
10915         (read_unspecified_type): Likewise.
10916         (load_partial_dies): Likewise.
10917         (read_partial_die): Likewise.
10918         (find_partial_die): Likewise.
10919         (guess_partial_die_structure_name): Likewise.
10920         (fixup_partial_die): Likewise.
10921         (read_attribute_value): Likewise.
10922         (read_addr_index_from_leb128): Likewise.
10923         (dwarf2_read_addr_index): Likewise.
10924         (dwarf2_string_attr): Likewise.
10925         (lnp_state_machine::check_line_address): Likewise.
10926         (dwarf_decode_lines_1): Likewise.
10927         (dwarf_decode_lines): Likewise.
10928         (dwarf2_start_symtab): Likewise.
10929         (var_decode_location): Likewise.
10930         (new_symbol_full): Likewise.
10931         (dwarf2_const_value_data): Likewise.
10932         (dwarf2_const_value_attr): Likewise.
10933         (dwarf2_const_value): Likewise.
10934         (die_type): Likewise.
10935         (die_containing_type): Likewise.
10936         (lookup_die_type): Likewise.
10937         (guess_full_die_structure_name): Likewise.
10938         (anonymous_struct_prefix): Likewise.
10939         (dwarf2_name): Likewise.
10940         (follow_die_ref_or_sig): Likewise.
10941         (follow_die_offset): Likewise.
10942         (follow_die_ref): Likewise.
10943         (dwarf2_fetch_die_loc_sect_off): Likewise.
10944         (dwarf2_fetch_constant_bytes): Likewise.
10945         (dwarf2_fetch_die_type_sect_off): Likewise.
10946         (dwarf2_get_die_type): Likewise.
10947         (follow_die_sig): Likewise.
10948         (decode_locdesc): Likewise.
10949         (dwarf2_per_cu_objfile): Likewise.
10950         (dwarf2_per_cu_text_offset): Likewise.
10951         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
10952         objfile.
10953         (set_die_type): Access objfile through
10954         dwarf2_per_objfile.
10955
10956 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
10957
10958         * valprint.c (converted_character_d): Remove typedef.
10959         (DEF_VEC_O (converted_character_d)): Remove.
10960         (count_next_character): Use std::vector.
10961         (print_converted_chars_to_obstack): Likewise.
10962         (generic_printstr): Likewise.
10963
10964 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
10965
10966         * xml-support.h (struct gdb_xml_value): Add constructor.
10967         <value>: Change type to unique_xmalloc_ptr.
10968         (gdb_xml_value_s): Remove typedef.
10969         (DEF_VEC_O (gdb_xml_value_s)): Remove.
10970         (gdb_xml_element_start_handler): Change parameter type to
10971         std::vector.
10972         (xml_find_attribute): Likewise.
10973         * xml-support.c (xml_find_attribute): Change parameter type to
10974         std::vector and adjust.
10975         (gdb_xml_values_cleanup): Remove.
10976         (gdb_xml_parser::start_element): Adjust to std::vector.
10977         (xinclude_start_include): Change paraeter type to std::vector
10978         and adjust.
10979         * btrace.c (check_xml_btrace_version): Likewise.
10980         (parse_xml_btrace_block): Likewise.
10981         (parse_xml_btrace_pt_config_cpu): Likewise.
10982         (parse_xml_btrace_pt): Likewise.
10983         (parse_xml_btrace_conf_bts): Likewise.
10984         (parse_xml_btrace_conf_pt): Likewise.
10985         * memory-map.c (memory_map_start_memory): Likewise.
10986         (memory_map_start_property): Likewise.
10987         * osdata.c (osdata_start_osdata): Likewise.
10988         (osdata_start_item): Likewise.
10989         (osdata_start_column): Likewise.
10990         * remote.c (start_thread): Likewise.
10991         * solib-aix.c (library_list_start_library): Likewise.
10992         (library_list_start_list): Likewise.
10993         * solib-svr4.c (library_list_start_library): Likewise.
10994         (svr4_library_list_start_list): Likewise.
10995         * solib-target.c (library_list_start_segment): Likewise.
10996         (library_list_start_section): Likewise.
10997         (library_list_start_library): Likewise.
10998         (library_list_start_list): Likewise.
10999         * tracepoint.c (traceframe_info_start_memory): Likewise.
11000         (traceframe_info_start_tvar): Likewise.
11001         * xml-syscall.c (syscall_start_syscall): Likewise.
11002         * xml-tdesc.c (tdesc_start_target): Likewise.
11003         (tdesc_start_feature): Likewise.
11004         (tdesc_start_reg): Likewise.
11005         (tdesc_start_union): Likewise.
11006         (tdesc_start_struct): Likewise.
11007         (tdesc_start_flags): Likewise.
11008         (tdesc_start_enum): Likewise.
11009         (tdesc_start_field): Likewise.
11010         (tdesc_start_enum_value): Likewise.
11011         (tdesc_start_vector): Likewise.
11012
11013 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11014
11015         * extension.h (struct xmethod_worker) <clone>: Remove.
11016         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
11017         Remove.
11018         (python_xmethod_worker::clone): Remove.
11019         * valops.c (find_overload_match): Use std::move instead of
11020         clone.
11021
11022 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
11023
11024         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
11025         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
11026         <free_xmethod_worker_data>: Remove.
11027         <get_matching_xmethod_workers>: Chance VEC to std::vector.
11028         <get_xmethod_arg_types>: Remove.
11029         <get_xmethod_result_type>: Remove.
11030         <invoke_xmethod>: Remove.
11031         * extension.c (new_xmethod_worker): Remove.
11032         (clone_xmethod_worker): Remove.
11033         (get_matching_xmethod_workers): Return void, pass std::vector by
11034         pointer.
11035         (get_xmethod_arg_types): Rename to...
11036         (xmethod_worker::get_arg_types): ... this, and adjust.
11037         (get_xmethod_result_type): Rename to...
11038         (xmethod_worker::get_result_type): ... this, and adjust.
11039         (invoke_xmethod): Remove.
11040         (free_xmethod_worker): Remove.
11041         (free_xmethod_worker_vec): Remove.
11042         * extension.h (enum ext_lang_rc): Move here from
11043         extension-priv.h.
11044         (struct xmethod_worker): Add constructor and destructor.
11045         <data>: Remove.
11046         <value>: Remove.
11047         <invoke, clone, do_get_result_type, do_get_arg_types>: New
11048         virtual pure methods.
11049         <get_arg_types, get_result_type>: New methods.
11050         (xmethod_worker_ptr): Remove typedef.
11051         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
11052         (xmethod_worker_vec): Remove typedef.
11053         (xmethod_worker_up): New typedef.
11054         (invoke_xmethod): Remove.
11055         (clone_xmethod_worker): Remove.
11056         (free_xmethod_worker): Remove.
11057         (free_xmethod_worker_vec): Remove.
11058         (get_xmethod_arg_types): Remove.
11059         (get_xmethod_result_type): Remove.
11060         * valops.c (find_method_list): Use std::vector, don't use
11061         intermediate vector.
11062         (value_find_oload_method_list): Use std::vector.
11063         (find_overload_match): Use std::vector.
11064         (find_oload_champ): Use std::vector.
11065         * value.c (value_free): Use operator delete.
11066         (value_of_xmethod): Rename to...
11067         (value_from_xmethod): ... this.  Don't assign
11068         xmethod_worker::value, take rvalue-reference.
11069         (result_type_of_xmethod): Adjust.
11070         (call_xmethod): Adjust.
11071         * value.h: Include extension.h.
11072         (struct xmethod_worker): Don't forward-declare.
11073         (value_of_xmethod): Rename to...
11074         (value_from_xmethod): ... this, take rvalue-reference.
11075         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
11076         (struct python_xmethod_worker): ... this, add constructor and
11077         destructor.
11078         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
11079         (gdbpy_free_xmethod_worker_data): Rename to...
11080         (python_xmethod_worker::~python_xmethod_worker): ... this and
11081         adjust.
11082         (gdbpy_clone_xmethod_worker_data): Rename to...
11083         (python_xmethod_worker::clone): ... this and adjust.
11084         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
11085         temporary vector.
11086         (gdbpy_get_xmethod_arg_types): Rename to...
11087         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
11088         (gdbpy_get_xmethod_result_type): Rename to...
11089         (python_xmethod_worker::do_get_result_type): ... this and
11090         adjust.
11091         (gdbpy_invoke_xmethod): Rename to...
11092         (python_xmethod_worker::invoke): ... this and adjust.
11093         (new_python_xmethod_worker): Rename to...
11094         (python_xmethod_worker::python_xmethod_worker): ... this and
11095         adjust.
11096         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
11097         Remove.
11098         (gdbpy_free_xmethod_worker_data): Remove.
11099         (gdbpy_get_matching_xmethod_workers): Use std::vector.
11100         (gdbpy_get_xmethod_arg_types): Remove.
11101         (gdbpy_get_xmethod_result_type): Remove.
11102         (gdbpy_invoke_xmethod): Remove.
11103         * python/python.c (python_extension_ops): Remove obsolete
11104         callbacks.
11105
11106 2018-01-05  Pedro Alves  <palves@redhat.com>
11107
11108         PR gdb/18653
11109         * common/signals-state-save-restore.c
11110         (save_original_signals_state): New parameter 'quiet'.  Warn if we
11111         find a custom handler preinstalled, instead of internal erroring.
11112         But only warn if !quiet.
11113         * common/signals-state-save-restore.h
11114         (save_original_signals_state): New parameter 'quiet'.
11115         * main.c (captured_main_1): Move save_original_signals_state call
11116         after option handling, and pass QUIET.
11117
11118 2018-01-05  Pedro Alves  <palves@redhat.com>
11119
11120         * spu-tdep.c (spu_catch_start): Pass
11121         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
11122
11123 2018-01-05  Pedro Alves  <palves@redhat.com>
11124
11125         PR gdb/22670
11126         * ada-lang.c (literal_symbol_name_matcher): New function.
11127         (ada_get_symbol_name_matcher): Use it for
11128         symbol_name_match_type::SEARCH_NAME.
11129         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
11130         it down instead of assuming symbol_name_match_type::FULL.
11131         * block.h (block_lookup_symbol): New parameter 'match_type'.
11132         * c-valprint.c (print_unpacked_pointer): Use
11133         lookup_symbol_search_name instead of lookup_symbol.
11134         * compile/compile-object-load.c (get_out_value_type): Pass down
11135         symbol_name_match_type::SEARCH_NAME.
11136         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
11137         symbol_name_match_type::FULL.
11138         * cp-support.c (cp_get_symbol_name_matcher): Handle
11139         symbol_name_match_type::SEARCH_NAME.
11140         * infrun.c (insert_exception_resume_breakpoint): Use
11141         lookup_symbol_search_name.
11142         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
11143         * psymtab.c (maintenance_check_psymtabs): Use
11144         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
11145         * stack.c (print_frame_args): Use lookup_symbol_search_name and
11146         SYMBOL_SEARCH_NAME.
11147         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
11148         if symbol_name_match_type::SEARCH_NAME.
11149         (lookup_symbol_in_language): Pass down
11150         symbol_name_match_type::FULL.
11151         (lookup_symbol_search_name): New.
11152         (lookup_language_this): Pass down
11153         symbol_name_match_type::SEARCH_NAME.
11154         (lookup_symbol_aux, lookup_local_symbol): New parameter
11155         'match_type'.  Pass it down.
11156         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
11157         (lookup_symbol_search_name): New declaration.
11158         (lookup_symbol_in_block): New 'match_type' parameter.
11159
11160 2018-01-05  Pedro Alves  <palves@redhat.com>
11161
11162         PR gdb/22670
11163         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
11164         ada_lookup_symbol.
11165         (ada_lookup_symbol): Reimplement in terms of
11166         ada_lookup_symbol_list, bits factored out from
11167         ada_lookup_encoded_symbol.
11168
11169 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11170
11171         * ada-exp.y (write_object_renaming): When subscripting an array
11172         using a symbol as the index, pass the block in call to
11173         ada_lookup_encoded_symbol when looking that symbol up.
11174
11175 2018-01-05  Jerome Guitton  <guitton@adacore.com>
11176
11177         * ada-lang.c (ada_array_length): Use ada_index_type instead of
11178         TYPE_INDEX_TYPE.
11179
11180 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11181
11182         * ada-lang.c (ada_to_fixed_value_create): Add handling of
11183         the case where VALUE_LVAL (val0) is not lval_memory.
11184
11185 2018-01-05  Xavier Roirand  <roirand@adacore.com>
11186
11187         * ada-valprint.c (print_optional_low_bound): Handle
11188         character-indexed array printing like boolean-indexed array
11189         printing.
11190
11191 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11192
11193         * NEWS: Create a new section for the next release branch.
11194         Rename the section of the current branch, now that it has
11195         been cut.
11196
11197 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
11198
11199         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
11200         * version.in: Bump version to 8.1.50.DATE-git.
11201
11202 2018-01-03  Xavier Roirand  <roirand@adacore.com>
11203
11204         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
11205         Add field.
11206         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
11207         Add field.
11208         (default_exception_support_info) <catch_handlers_sym>: Add field.
11209         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
11210         (ada_exception_name_addr_1): Add "catch handlers" handling.
11211         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
11212         Update all callers.
11213         (create_excep_cond_exprs) <ex>: Add parameter.
11214         (re_set_exception): Update create_excep_cond_exprs call.
11215         (print_it_exception, print_one_exception, print_mention_exception)
11216         (print_recreate_exception): Add "catch handler" handling.
11217         (allocate_location_catch_handlers, re_set_catch_handlers)
11218         (check_status_catch_handlers, print_it_catch_handlers)
11219         (print_one_catch_handlers, print_mention_catch_handlers)
11220         (print_recreate_catch_handlers): New function.
11221         (catch_handlers_breakpoint_ops): New variable.
11222         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
11223         Add parameter.  Add "catch handler" handling.
11224         (ada_exception_sym_name, ada_exception_breakpoint_ops):
11225         Add "catch handler" handling.
11226         (ada_exception_catchpoint_cond_string): Add "catch handler"
11227         handling.
11228         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
11229         call.
11230         (catch_ada_handlers_command): New function.
11231         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
11232         operations structure.
11233         (_initialize_ada_language): Add "catch handlers" command entry.
11234         * NEWS: Document "catch handlers" feature.
11235
11236 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11237
11238         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
11239         account when creating the array type of the slice.
11240         (ada_value_slice): Likewise.
11241
11242 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11243
11244         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
11245         New enum value.
11246         (create_array_type_with_stride): Add byte_stride_prop parameter.
11247         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
11248         New parameter.  Update all callers in this file.
11249         (array_type_has_dynamic_stride): New function.
11250         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
11251         of arrays with dynamic byte strides.
11252         * dwarf2read.c (read_array_type): Add support for dynamic
11253         DW_AT_byte_stride attributes.
11254
11255 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
11256
11257         * dwarf2read.c (read_unspecified_type): Treat
11258         DW_TAG_enumeration_type DIEs from Ada units as stubs.
11259
11260 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11261
11262         Update copyright year range in all GDB files.
11263
11264 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11265
11266         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
11267         and gdb/testsuite/gdb.base/step-line.c.
11268
11269 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11270
11271         * copyright.py (main): Dump the contents of
11272         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
11273         even if BY_HAND is empty.
11274
11275 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11276
11277         * top.c (print_gdb_version): Update Copyright year in version
11278         message.
11279
11280 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
11281
11282         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
11283
11284 For older changes see ChangeLog-2017.
11285 \f
11286 Local Variables:
11287 mode: change-log
11288 left-margin: 8
11289 fill-column: 74
11290 version-control: never
11291 coding: utf-8
11292 End: