Move core_bfd to program space
[external/binutils.git] / gdb / ChangeLog
1 2018-05-11  Tom Tromey  <tromey@redhat.com>
2             Pedro Alves  <tromey@redhat.com>
3
4         * corefile.c (core_bfd): Remove.
5         * gdbcore.h (core_bfd): Now a macro.
6         * progspace.h (struct program_space) <cbfd>: New field.
7
8 2018-05-11  Tom Tromey  <tom@tromey.com>
9
10         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
11         gdb::def_vector.
12
13 2018-05-10  Tom Tromey  <tom@tromey.com>
14
15         * configure: Rebuild.
16         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
17
18 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
19
20         PR server/23158:
21         * regformats/regdat.sh: Adjust script, following the addition
22         of the new expedite_regs parameter to init_target_desc.
23
24 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
25     
26         PR gdb/23127
27         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
28         set_gdbarch_significant_addr_bit.
29         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
30         set_gdbarch_significant_addr_bit.
31         * utils.c (address_significant): Update to sign extend addr.
32
33 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
34
35         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
36         (xtensa_linux_init_abi): Limit tdep->num_regs by
37         tdep->num_nopriv_regs.
38         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
39         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
40         not initialized.
41
42 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
43
44         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
45
46 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
47
48         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
49         (I387_MXCSR_INIT_VAL): New constant.
50         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
51         buffer if it was supplied by the inferior.
52         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
53         (i387_xsave_get_clear_bv): New function.
54         (i387_supply_xsave): Only read x87 control registers from the
55         xsave buffer if the feature is enabled, and the state will have
56         been written, otherwise, provide a suitable default.
57         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
58         including x87 control registers.  Update control registers if they
59         have changed from the default value, and mark features as enabled
60         as required.
61         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
62
63 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
64
65         * spu-tdep.c (info_spu_event_command): Fix output formatting.
66
67 2018-05-07  Tom Tromey  <tom@tromey.com>
68
69         * configure: Rebuild.
70         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
71
72 2018-05-07  Tom Tromey  <tom@tromey.com>
73
74         PR tdep/20362:
75         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
76         bit.  Use correct value for VDIV.
77
78 2018-05-04  Tom Tromey  <tom@tromey.com>
79
80         * configure: Rebuild.
81         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
82
83 2018-05-04  Tom Tromey  <tom@tromey.com>
84
85         * linux-record.c (record_linux_system_call) <case
86         RECORD_SYS_RECVFROM>: Add "break".
87
88 2018-05-04  Tom Tromey  <tom@tromey.com>
89
90         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
91         Add missing "break".
92         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
93         Add missing "break".
94
95 2018-05-04  Tom Tromey  <tom@tromey.com>
96
97         * rs6000-tdep.c (ppc_process_record_op4)
98         (ppc_process_record_op63): Add fall-through comment.
99
100 2018-05-04  Tom Tromey  <tom@tromey.com>
101
102         * i386-tdep.c (i386_process_record): Add fall-through comment.
103
104 2018-05-04  Tom Tromey  <tom@tromey.com>
105
106         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
107         comment.
108
109 2018-05-04  Tom Tromey  <tom@tromey.com>
110
111         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
112         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
113         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
114         comment.
115         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
116         comment.
117         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
118         comment.
119
120 2018-05-04  Tom Tromey  <tom@tromey.com>
121
122         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
123
124 2018-05-04  Tom Tromey  <tom@tromey.com>
125
126         * s390-tdep.c (s390_process_record): Fix fall-through comments.
127         * xcoffread.c (scan_xcoff_symtab): Move comment later.
128         * symfile.c (section_is_mapped): Fix fall-through comment.
129         * stabsread.c (define_symbol, read_member_functions): Fix
130         fall-through comment.
131         * s390-linux-tdep.c (s390_process_record): Fix fall-through
132         comment.
133         * remote.c (remote_wait_as): Fix fall-through comment.
134         * p-exp.y (yylex): Fix fall-through comment.
135         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
136         comment.
137         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
138         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
139         * jv-exp.y (yylex): Fix fall-through comment.
140         * go-exp.y (lex_one_token): Fix fall-through comment.
141         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
142         fall-through comment.
143         * f-exp.y (yylex): Fix fall-through comment.
144         * dwarf2read.c (process_die): Fix fall-through comments.
145         * dbxread.c (process_one_symbol): Fix fall-through comment.
146         * d-exp.y (lex_one_token): Fix fall-through comment.
147         * cp-name-parser.y (yylex): Fix fall-through comment.
148         * coffread.c (coff_symtab_read): Fix fall-through comment.
149         * c-exp.y (lex_one_token): Fix fall-through comment.
150         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
151         comment.
152         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
153         comment.
154
155 2018-05-04  Tom Tromey  <tom@tromey.com>
156
157         PR python/22730:
158         * NEWS: Mention gdb.execute change.
159         * gdbcmd.h (execute_control_command): Don't declare.
160         * python/python.c (execute_gdb_command): Use read_command_lines_1,
161         execute_control_commands, execute_control_commands_to_string.
162         * cli/cli-script.h (execute_control_commands)
163         (execute_control_commands_to_string): Declare.
164         (execute_control_command): Add from_tty parameter.
165         * cli/cli-script.c (execute_control_commands)
166         (execute_control_commands_to_string): New functions.
167         (execute_user_command): Use execute_control_commands.
168         (execute_control_command_1): Add "from_tty" parameter.  Update.
169         (execute_control_command): Likewise.
170
171 2018-05-04  Tom Tromey  <tom@tromey.com>
172
173         PR python/22731:
174         * NEWS: Mention that breakpoint commands are writable.
175         * python/py-breakpoint.c (bppy_set_commands): New function.
176         (breakpoint_object_getset) <"commands">: Use it.
177
178 2018-05-04  Tom Tromey  <tom@tromey.com>
179
180         * tracepoint.c (actions_command): Update.
181         * mi/mi-cmd-break.c (mi_command_line_array)
182         (mi_command_line_array_cnt, mi_command_line_array_ptr)
183         (mi_read_next_line): Remove.
184         (mi_cmd_break_commands): Update.
185         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
186         function_view.
187         * cli/cli-script.c (get_command_line): Update.
188         (process_next_line): Use function_view.  Constify.
189         (recurse_read_control_structure, read_command_lines)
190         (read_command_lines_1): Change argument types to function_view.
191         (do_define_command, document_command): Update.
192         * breakpoint.h (check_tracepoint_command): Don't declare.
193         * breakpoint.c (check_tracepoint_command): Remove.
194         (commands_command_1, create_tracepoint_from_upload): Update.
195
196 2018-05-04  Tom Tromey  <tom@tromey.com>
197
198         PR gdb/11750:
199         * cli/cli-script.h (enum command_control_type) <define_control>:
200         New constant.
201         * cli/cli-script.c (multi_line_command_p): Handle define_control.
202         (build_command_line, execute_control_command_1)
203         (process_next_line): Likewise.
204         (do_define_command): New function, extracted from define_command.
205         (define_command): Use it.
206
207 2018-05-04  Tom Tromey  <tom@tromey.com>
208
209         * tracepoint.c (actions_command): Update.
210         * cli/cli-script.h (read_command_lines): Update.
211         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
212         (MAX_TMPBUF): Remove define.
213         (define_command): Use string_printf.
214         (document_command): Likewise.
215         * breakpoint.c (commands_command_1): Update.
216
217 2018-05-04  Tom Tromey  <tom@tromey.com>
218
219         * top.c (execute_command): Update.
220         * cli/cli-script.h (print_command_lines): Now varargs.
221         * cli/cli-script.c (print_command_lines): Now varargs.
222         (execute_control_command_1) <case while_control, case if_control>:
223         Update.
224
225 2018-05-04  Tom Tromey  <tom@tromey.com>
226
227         * tracepoint.c (all_tracepoint_actions): Rename from
228         all_tracepoint_actions_and_cleanup.  Change return type.
229         (actions_command, encode_actions_1, encode_actions)
230         (trace_dump_actions, tdump_command): Update.
231         * remote.c (remote_download_command_source): Update.
232         * python/python.c (gdbpy_eval_from_control_command)
233         (python_command, python_interactive_command): Update.
234         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
235         * guile/guile.c (guile_command)
236         (gdbscm_eval_from_control_command, guile_command): Update.
237         * compile/compile.c (compile_code_command)
238         (compile_print_command, compile_to_object): Update.
239         * cli/cli-script.h (struct command_lines_deleter): New.
240         (counted_command_line): New typedef.
241         (struct command_line): Add constructor, destructor.
242         <body_list>: Remove.
243         <body_list_0, body_list_1>: New members.
244         (command_line_up): Remove typedef.
245         (read_command_lines, read_command_lines_1, get_command_line):
246         Update.
247         (copy_command_lines): Don't declare.
248         * cli/cli-script.c (build_command_line): Use "new".
249         (get_command_line): Return counted_command_line.
250         (print_command_lines, execute_user_command)
251         (execute_control_command_1, while_command, if_command): Update.
252         (realloc_body_list): Remove.
253         (process_next_line, recurse_read_control_structure): Update.
254         (read_command_lines, read_command_lines_1): Return counted_command_line.
255         (free_command_lines): Use "delete".
256         (copy_command_lines): Remove.
257         (define_command, document_command, show_user_1): Update.
258         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
259         a counted_command_line.
260         * breakpoint.h (counted_command_line): Remove typedef.
261         (breakpoint_set_commands): Update.
262         * breakpoint.c (check_no_tracepoint_commands)
263         (validate_commands_for_breakpoint): Update.
264         (breakpoint_set_commands): Change commands to be a
265         counted_command_line.
266         (commands_command_1, update_dprintf_command_list)
267         (create_tracepoint_from_upload): Update.
268
269 2018-05-04  Tom Tromey  <tom@tromey.com>
270
271         * cli/cli-decode.h (cmd_list_element): New constructor.
272         (~cmd_list_element): New destructor.
273         (struct cmd_list_element): Add initializers.
274         * cli/cli-decode.c (do_add_cmd): Use "new".
275         (delete_cmd): Use "delete".
276
277 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
278             Pedro Alves <palves@redhat.com>
279
280         PR breakpoints/19806 and support for PR external/20207.
281         * NEWS: Mention Aarch64 watchpoint improvements.
282         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
283         watchpoints and PR external/20207 watchpoints.
284         * nat/aarch64-linux-hw-point.c
285         (kernel_supports_any_contiguous_range): New.
286         (aarch64_watchpoint_offset): New.
287         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
288         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
289         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
290         (aarch64_align_watchpoint): New parameters aligned_offset_p and
291         next_addr_orig_p.  Support PR external/20207 watchpoints.
292         (aarch64_downgrade_regs): New.
293         (aarch64_dr_state_insert_one_point): New parameters offset and
294         addr_orig.
295         (aarch64_dr_state_remove_one_point): Likewise.
296         (aarch64_handle_breakpoint): Update caller.
297         (aarch64_handle_aligned_watchpoint): Likewise.
298         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
299         aligned_offset.
300         (aarch64_linux_set_debug_regs): Remove const from state.  Call
301         aarch64_downgrade_regs.
302         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
303         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
304         (DR_CONTROL_MASK): ... this.
305         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
306         (unsigned int aarch64_watchpoint_offset): New prototype.
307         (aarch64_linux_set_debug_regs): Remove const from state.
308         * utils.c (align_up, align_down): Move to ...
309         * common/common-utils.c (align_up, align_down): ... here.
310         * utils.h (align_up, align_down): Move to ...
311         * common/common-utils.h (align_up, align_down): ... here.
312
313 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
314
315         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
316         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
317         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
318         Re-implement to match the ABI as summarized in GCC's
319         gcc/config/sparc/sparc.c.  All callers updated.
320         (sparc32_store_arguments): Remove assertion.
321
322 2018-05-04  Tom Tromey  <tom@tromey.com>
323
324         * printcmd.c: Don't include tui.h.
325         (decode_format): Use skip_spaces.
326
327 2018-05-04  Tom Tromey  <tom@tromey.com>
328
329         PR gdb/22619:
330         * printcmd.c (last_count): New global.
331         (x_command): Use saved count when repeating.
332
333 2018-05-04  Tom Tromey  <tom@tromey.com>
334
335         * nto-procfs.c (do_closedir_cleanup): Remove.
336         (procfs_pidlist): Use gdb_dir_up.
337         * procfs.c (do_closedir_cleanup): Remove.
338         (proc_update_threads): Use gdb_dir_up.
339         * common/filestuff.h (struct gdb_dir_deleter): New.
340         (gdb_dir_up): New typedef.
341
342 2018-05-04  Tom Tromey  <tom@tromey.com>
343
344         * ada-lang.c (print_mention_exception): Use std::string.
345
346 2018-05-04  Tom Tromey  <tom@tromey.com>
347
348         * ada-lang.c (create_excep_cond_exprs): Update.
349         (ada_exception_catchpoint_cond_string): Use std::string.
350
351 2018-05-04  Tom Tromey  <tom@tromey.com>
352
353         * ada-lang.c (xget_renaming_scope): Return std::string.
354         (old_renaming_is_invisible): Update.
355
356 2018-05-04  Tom Tromey  <tom@tromey.com>
357
358         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
359         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
360
361 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
362
363         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
364
365 2018-05-04  Tom Tromey  <tom@tromey.com>
366
367         * remote.c (remote_query_supported_append): Change type.
368         (remote_check_symbols): Update.
369
370 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
371
372         PR gdb/11420
373         * configure.ac: Prepend libpython.
374         * python/python-config.py: Likewise.
375         * configure: Regenerate.
376
377 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
378
379         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
380
381 2018-05-03  Pedro Alves  <palves@redhat.com>
382
383         * s390-linux-nat.c
384         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
385         override.  Write 'true' instead of '1'.
386         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
387         declaration.
388
389 2018-05-02  Pedro Alves  <palves@redhat.com>
390
391         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
392         add_inf_child_target.
393         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
394         add_inf_child_target.
395         * aix-thread.c (aix_thread_target_info): New.
396         (aix_thread_target) <shortname, longname, doc>: Delete.
397         <info>: New.
398         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
399         add_inf_child_target.
400         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
401         add_inf_child_target.
402         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
403         add_inf_child_target.
404         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
405         add_inf_child_target.
406         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
407         add_inf_child_target.
408         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
409         add_inf_child_target.
410         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
411         add_inf_child_target.
412         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
413         add_inf_child_target.
414         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
415         add_inf_child_target.
416         * bfd-target.c (target_bfd_target_info): New.
417         (target_bfd) <shortname, longname, doc>: Delete.
418         <info>: New.
419         * bsd-kvm.c (bsd_kvm_target_info): New.
420         (bsd_kvm_target) <shortname, longname, doc>: Delete.
421         <info>: New.
422         (bsd_kvm_target::open): Rename to ...
423         (bsd_kvm_target_open): ... this.  Adjust.
424         * bsd-uthread.c (bsd_uthread_target_info): New.
425         (bsd_uthread_target) <shortname, longname, doc>: Delete.
426         <info>: New.
427         * corefile.c (core_file_command): Adjust.
428         * corelow.c (core_target_info): New.
429         (core_target) <shortname, longname, doc>: Delete.
430         <info>: New.
431         (core_target::open): Rename to ...
432         (core_target_open): ... this.  Adjust.
433         * ctf.c (ctf_target_info): New.
434         (ctf_target) <shortname, longname, doc>: Delete.
435         <info>: New.
436         (ctf_target::open): Rename to ...
437         (ctf_target_open): ... this.
438         (_initialize_ctf): Adjust.
439         * exec.c (exec_target_info): New.
440         (exec_target) <shortname, longname, doc>: Delete.
441         <info>: New.
442         (exec_target::open): Rename to ...
443         (exec_target_open): ... this.
444         * gdbcore.h (core_target_open): Declare.
445         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
446         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
447         add_inf_child_target.
448         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
449         add_inf_child_target.
450         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
451         add_inf_child_target.
452         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
453         add_inf_child_target.
454         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
455         add_inf_child_target.
456         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
457         add_inf_child_target.
458         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
459         add_inf_child_target.
460         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
461         add_inf_child_target.
462         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
463         add_inf_child_target.
464         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
465         add_inf_child_target.
466         * inf-child.c (inf_child_target_info): New.
467         (inf_child_target::info): New.
468         (inf_child_open_target): Remove 'target' parameter.  Use
469         get_native_target instead.
470         (inf_child_target::open): Delete.
471         (add_inf_child_target): New.
472         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
473         Delete.
474         <info>: New.
475         (add_inf_child_target): Declare.
476         (inf_child_open_target): Declare.
477         * linux-thread-db.c (thread_db_target_info): New.
478         (thread_db_target) <shortname, longname, doc>: Delete.
479         <info>: New.
480         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
481         add_inf_child_target.
482         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
483         add_inf_child_target.
484         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
485         add_inf_child_target.
486         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
487         add_inf_child_target.
488         * make-target-delegates (print_class): Adjust.
489         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
490         add_inf_child_target.
491         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
492         add_inf_child_target.
493         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
494         add_inf_child_target.
495         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
496         add_inf_child_target.
497         * nto-procfs.c (nto_native_target_info): New.
498         (nto_procfs_target_native) <shortname, longname, doc>:
499         Delete.
500         <info>: New.
501         (nto_procfs_target_info): New.
502         (nto_procfs_target_procfs) <shortname, longname, doc>:
503         Delete.
504         <info>: New.
505         (init_procfs_targets): Adjust.
506         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
507         add_inf_child_target.
508         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
509         add_inf_child_target.
510         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
511         add_inf_child_target.
512         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
513         add_inf_child_target.
514         * ravenscar-thread.c (ravenscar_target_info): New.
515         (ravenscar_thread_target) <shortname, longname, doc>:
516         Delete.
517         <info>: New.
518         * record-btrace.c (record_btrace_target_info):
519         (record_btrace_target) <shortname, longname, doc>: Delete.
520         <info>: New.
521         (record_btrace_target::open): Rename to ...
522         (record_btrace_target_open): ... this.  Adjust.
523         * record-full.c (record_longname, record_doc): New.
524         (record_full_base_target) <shortname, longname, doc>: Delete.
525         <info>: New.
526         (record_full_target_info): New.
527         (record_full_target): <shortname>: Delete.
528         <info>: New.
529         (record_full_core_open_1, record_full_open_1): Update comments.
530         (record_full_base_target::open): Rename to ...
531         (record_full_open): ... this.
532         (cmd_record_full_restore): Update.
533         (_initialize_record_full): Update.
534         * remote-sim.c (remote_sim_target_info): New.
535         (gdbsim_target) <shortname, longname, doc>: Delete.
536         <info>: New.
537         (gdbsim_target::open): Rename to ...
538         (gdbsim_target_open): ... this.
539         (_initialize_remote_sim): Adjust.
540         * remote.c (remote_doc): New.
541         (remote_target_info): New.
542         (remote_target) <shortname, longname, doc>: Delete.
543         <info>: New.
544         (extended_remote_target_info): New.
545         (extended_remote_target) <shortname, longname, doc>: Delete.
546         <info>: New.
547         (remote_target::open_1): Make static.  Adjust.
548         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
549         * s390-linux-nat.c (_initialize_s390_nat): Use
550         add_inf_child_target.
551         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
552         add_inf_child_target.
553         * sol-thread.c (thread_db_target_info): New.
554         (sol_thread_target) <shortname, longname, doc>: Delete.
555         <info>: New.
556         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
557         add_inf_child_target.
558         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
559         add_inf_child_target.
560         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
561         add_inf_child_target.
562         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
563         add_inf_child_target.
564         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
565         add_inf_child_target.
566         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
567         add_inf_child_target.
568         * spu-linux-nat.c (_initialize_spu_nat): Use
569         add_inf_child_target.
570         * spu-multiarch.c (spu_multiarch_target_info): New.
571         (spu_multiarch_target) <shortname, longname, doc>: Delete.
572         <info>: New.
573         * target-delegates.c: Regenerate.
574         * target.c: Include <unordered_map>.
575         (target_ops_p): Delete.
576         (DEF_VEC_P(target_ops_p)): Delete.
577         (target_factories): New.
578         (test_target_info): New.
579         (test_target_ops::info): New.
580         (open_target): Adjust to use target_factories.
581         (add_target_with_completer): Rename to ...
582         (add_target): ... this.  Change prototype.  Register target_info
583         and open callback in target_factories.  Register target_info in
584         command context instead of target_ops.
585         (add_target): Delete old implementation.
586         (add_deprecated_target_alias): Change prototype.  Adjust.
587         (the_native_target): New.
588         (set_native_target, get_native_target): New.
589         (find_default_run_target): Use the_native_target.
590         (find_attach_target, find_run_target): Simplify.
591         (target_ops::open): Delete.
592         (dummy_target_info): New.
593         (dummy_target::shortname, dummy_target::longname)
594         (dummy_target::doc): Delete.
595         (dummy_target::info): New.
596         (debug_target::shortname, debug_target::longname)
597         (debug_target::doc): Delete.
598         (debug_target::info): New.
599         * target.h (struct target_info): New.
600         (target_ops::~target_ops): Add comment.
601         (target_ops::info): New.
602         (target_ops::shortname, target_ops::longname, target_ops::doc): No
603         longer virtual.  Implement in terms of target_info.
604         (set_native_target, get_native_target): Declare.
605         (target_open_ftype): New.
606         (add_target, add_target_with_completer)
607         (add_deprecated_target_alias): Change prototype.
608         (test_target) <shortname, longname, doc>: Delete.
609         <info>: New.
610         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
611         add_inf_child_target.
612         * tracefile-tfile.c (tfile_target_info): New.
613         (tfile_target) <shortname, longname, doc>: Delete.
614         <info>: New.
615         (tfile_target::open): Rename to ...
616         (tfile_target_open): ... this.
617         (_initialize_tracefile_tfile): Adjust.
618         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
619         add_inf_child_target.
620         * windows-nat.c (_initialize_windows_nat): Use
621         add_inf_child_target.
622         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
623         add_inf_child_target.
624
625 2018-05-02  Pedro Alves  <palves@redhat.com>
626
627         * linux-nat.h (linux_nat_target) <low_new_thread,
628         low_delete_thread, low_new_fork, low_forget_process,
629         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
630         New virtual methods.
631         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
632         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
633         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
634         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
635         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
636         Delete.
637         * linux-fork.c (delete_fork): Adjust to call low method.
638         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
639         (linux_nat_new_fork, linux_nat_forget_process_hook)
640         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
641         (linux_nat_status_is_event):
642         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
643         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
644         to call low method.
645         (sigtrap_is_event): Rename to ...
646         (linux_nat_target::low_status_is_event): ... this.
647         (linux_nat_set_status_is_event): Delete.
648         (save_stop_reason, linux_nat_wait_1)
649         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
650         low methods.
651         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
652         (linux_nat_set_new_fork, linux_nat_set_forget_process)
653         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
654         (linux_nat_set_prepare_to_resume): Delete.
655         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
656         low virtual methods.
657         * amd64-linux-nat.c: Likewise.
658         * arm-linux-nat.c: Likewise.
659         * i386-linux-nat.c: Likewise.
660         * ia64-linux-nat.c: Likewise.
661         * mips-linux-nat.c: Likewise.
662         * ppc-linux-nat.c: Likewise.
663         * s390-linux-nat.c: Likewise.
664         * sparc64-linux-nat.c: Likewise.
665         * x86-linux-nat.c: Likewise.
666         * x86-linux-nat.h: Include "nat/x86-linux.h".
667         (x86_linux_nat_target) <low_new_fork, low_forget_process,
668         low_prepare_to_resume, low_new_thread, low_delete_thread>:
669         Override methods.
670
671 2018-05-02  Pedro Alves  <palves@redhat.com>
672
673         * target.h (target_ops)
674         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
675         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
676         stopped_by_watchpoint, have_continuable_watchpoint,
677         stopped_data_address, watchpoint_addr_within_range,
678         can_accel_watchpoint_condition, can_run, thread_alive,
679         has_all_memory, has_memory, has_stack, has_registers,
680         has_execution, can_async_p, is_async_p, supports_non_stop,
681         always_non_stop_p, can_execute_reverse, supports_multi_process,
682         supports_enable_disable_tracepoint,
683         supports_disable_randomization, supports_string_tracing,
684         supports_evaluation_of_breakpoint_conditions,
685         can_run_breakpoint_commands, filesystem_is_local,
686         can_download_tracepoint, get_trace_state_variable_value,
687         set_trace_notes, get_tib_address, use_agent, can_use_agent,
688         record_is_replaying, record_will_replay,
689         augmented_libraries_svr4_read>: Adjust to return bool.
690         * aarch64-linux-nat.c: All implementations adjusted.
691         * aix-thread.c: All implementations adjusted.
692         * arm-linux-nat.c: All implementations adjusted.
693         * breakpoint.c: All implementations adjusted.
694         * bsd-kvm.c: All implementations adjusted.
695         * bsd-uthread.c: All implementations adjusted.
696         * corelow.c: All implementations adjusted.
697         * ctf.c: All implementations adjusted.
698         * darwin-nat.c: All implementations adjusted.
699         * darwin-nat.h: All implementations adjusted.
700         * exec.c: All implementations adjusted.
701         * fbsd-nat.c: All implementations adjusted.
702         * fbsd-nat.h: All implementations adjusted.
703         * gnu-nat.c: All implementations adjusted.
704         * gnu-nat.h: All implementations adjusted.
705         * go32-nat.c: All implementations adjusted.
706         * ia64-linux-nat.c: All implementations adjusted.
707         * inf-child.c: All implementations adjusted.
708         * inf-child.h: All implementations adjusted.
709         * inf-ptrace.c: All implementations adjusted.
710         * inf-ptrace.h: All implementations adjusted.
711         * linux-nat.c: All implementations adjusted.
712         * linux-nat.h: All implementations adjusted.
713         * mips-linux-nat.c: All implementations adjusted.
714         * nto-procfs.c: All implementations adjusted.
715         * ppc-linux-nat.c: All implementations adjusted.
716         * procfs.c: All implementations adjusted.
717         * ravenscar-thread.c: All implementations adjusted.
718         * record-btrace.c: All implementations adjusted.
719         * record-full.c: All implementations adjusted.
720         * remote-sim.c: All implementations adjusted.
721         * remote.c: All implementations adjusted.
722         * s390-linux-nat.c: All implementations adjusted.
723         * sol-thread.c: All implementations adjusted.
724         * spu-multiarch.c: All implementations adjusted.
725         * target-delegates.c: All implementations adjusted.
726         * target.c: All implementations adjusted.
727         * target.h: All implementations adjusted.
728         * tracefile-tfile.c: All implementations adjusted.
729         * tracefile.c: All implementations adjusted.
730         * tracefile.h: All implementations adjusted.
731         * windows-nat.c: All implementations adjusted.
732         * x86-linux-nat.h: All implementations adjusted.
733         * x86-nat.h: All implementations adjusted.
734
735 2018-05-02  Pedro Alves  <palves@redhat.com>
736
737         * make-target-delegates (scan_target_h): Don't trim lines here.
738         Replace sequences of tabs and/or whitespace with a single
739         whitespace.
740         (top level, parsing methods): Trim each line before processing it
741         here.
742
743 2018-05-02  Pedro Alves  <palves@redhat.com>
744             John Baldwin  <jhb@freebsd.org>
745
746         * target.h (enum strata) <debug_stratum>: New.
747         (struct target_ops) <all delegation methods>: Replace by C++
748         virtual methods, and drop "to_" prefix.  All references updated
749         throughout.
750         <to_shortname, to_longname, to_doc, to_data,
751         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
752         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
753         virtual methods.  All references updated throughout.
754         <can_attach, supports_terminal_ours, can_create_inferior,
755         get_thread_control_capabilities, attach_no_wait>: New
756         virtual methods.
757         <insert_breakpoint, remove_breakpoint>: Now
758         TARGET_DEFAULT_NORETURN methods.
759         <info_proc>: Now returns bool.
760         <to_magic>: Delete.
761         (OPS_MAGIC): Delete.
762         (current_target): Delete.  All references replaced by references
763         to ...
764         (target_stack): ... this.  New.
765         (target_shortname, target_longname): Adjust.
766         (target_can_run): Now a function declaration.
767         (default_child_has_all_memory, default_child_has_memory)
768         (default_child_has_stack, default_child_has_registers)
769         (default_child_has_execution): Remove target_ops parameter.
770         (complete_target_initialization): Delete.
771         (memory_breakpoint_target): New template class.
772         (test_target_ops): Refactor as a C++ class with virtual methods.
773         * make-target-delegates (NAME_PART): Tighten.
774         (POINTER_PART, CP_SYMBOL): New.
775         (SIMPLE_RETURN_PART): Reimplement.
776         (VEC_RETURN_PART): Expect less.
777         (RETURN_PART, VIRTUAL_PART): New.
778         (METHOD): Adjust to C++ virtual methods.
779         (scan_target_h): Remove reference to C99.
780         (dname): Output "target_ops::" prefix.
781         (write_function_header): Adjust to output a C++ class method.
782         (write_declaration): New.
783         (write_delegator): Adjust to output a C++ class method.
784         (tdname): Output "dummy_target::" prefix.
785         (write_tdefault, write_debugmethod): Adjust to output a C++ class
786         method.
787         (tdefault_names, debug_names): Delete.
788         (return_types, tdefaults, styles, argtypes_array): New.
789         (top level): All methods are delegators.
790         (print_class): New.
791         (top level): Print dummy_target and debug_target classes.
792         * target-delegates.c: Regenerate.
793         * target-debug.h (target_debug_print_enum_info_proc_what)
794         (target_debug_print_thread_control_capabilities)
795         (target_debug_print_thread_info_p): New.
796         * target.c (dummy_target): Delete.
797         (the_dummy_target, the_debug_target): New.
798         (target_stack): Now extern.
799         (set_targetdebug): Push/unpush debug target.
800         (default_child_has_all_memory, default_child_has_memory)
801         (default_child_has_stack, default_child_has_registers)
802         (default_child_has_execution): Remove target_ops parameter.
803         (complete_target_initialization): Delete.
804         (add_target_with_completer): No longer call
805         complete_target_initialization.
806         (target_supports_terminal_ours): Use regular delegation.
807         (update_current_target): Delete.
808         (push_target): No longer check magic number.  Don't call
809         update_current_target.
810         (unpush_target): Don't call update_current_target.
811         (target_is_pushed): No longer check magic number.
812         (target_require_runnable): Skip for all stratums over
813         process_stratum.
814         (target_ops::info_proc): New.
815         (target_info_proc): Use find_target_at and
816         find_default_run_target.
817         (target_supports_disable_randomization): Use regular delegation.
818         (target_get_osdata): Use find_target_at.
819         (target_ops::open, target_ops::close, target_ops::can_attach)
820         (target_ops::attach, target_ops::can_create_inferior)
821         (target_ops::create_inferior, target_ops::can_run)
822         (target_can_run): New.
823         (default_fileio_target): Use regular delegation.
824         (target_ops::fileio_open, target_ops::fileio_pwrite)
825         (target_ops::fileio_pread, target_ops::fileio_fstat)
826         (target_ops::fileio_close, target_ops::fileio_unlink)
827         (target_ops::fileio_readlink): New.
828         (target_fileio_open_1, target_fileio_unlink)
829         (target_fileio_readlink): Always call the target method.  Handle
830         FILEIO_ENOSYS.
831         (return_zero, return_zero_has_execution): Delete.
832         (init_dummy_target): Delete.
833         (dummy_target::dummy_target, dummy_target::shortname)
834         (dummy_target::longname, dummy_target::doc)
835         (debug_target::debug_target, debug_target::shortname)
836         (debug_target::longname, debug_target::doc): New.
837         (target_supports_delete_record): Use regular delegation.
838         (setup_target_debug): Delete.
839         (maintenance_print_target_stack): Skip debug_stratum.
840         (initialize_targets): Instantiate the_dummy_target and
841         the_debug_target.
842         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
843         use target_stack.
844         (target_auxv_search, fprint_target_auxv): Adjust.
845         (info_auxv_command): Adjust to use target_stack.
846         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
847         * exceptions.c (print_flush): Handle a NULL target_stack.
848         * regcache.c (target_ops_no_register): Refactor as class with
849         virtual methods.
850
851         * exec.c (exec_target): New class.
852         (exec_ops): Now an exec_target.
853         (exec_open, exec_close_1, exec_get_section_table)
854         (exec_xfer_partial, exec_files_info, exec_has_memory)
855         (exec_make_note_section): Refactor as exec_target methods.
856         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
857         Delete.
858         (exec_target::find_memory_regions): New.
859         (_initialize_exec): Don't call init_exec_ops.
860         * gdbcore.h (exec_file_clear): Delete.
861
862         * corefile.c (core_target): Delete.
863         (core_file_command): Adjust.
864         * corelow.c (core_target): New class.
865         (the_core_target): New.
866         (core_close): Remove target_ops parameter.
867         (core_close_cleanup): Adjust.
868         (core_target::close): New.
869         (core_open, core_detach, get_core_registers, core_files_info)
870         (core_xfer_partial, core_thread_alive, core_read_description)
871         (core_pid_to_str, core_thread_name, core_has_memory)
872         (core_has_stack, core_has_registers, core_info_proc): Rework as
873         core_target methods.
874         (ignore, core_remove_breakpoint, init_core_ops): Delete.
875         (_initialize_corelow): Initialize the_core_target.
876         * gdbcore.h (core_target): Delete.
877         (the_core_target): New.
878
879         * ctf.c: (ctf_target): New class.
880         (ctf_ops): Now a ctf_target.
881         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
882         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
883         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
884         methods.
885         (init_ctf_ops): Delete.
886         (_initialize_ctf): Don't call it.
887         * tracefile-tfile.c (tfile_target): New class.
888         (tfile_ops): Now a tfile_target.
889         (tfile_open, tfile_close, tfile_files_info)
890         (tfile_get_tracepoint_status, tfile_trace_find)
891         (tfile_fetch_registers, tfile_xfer_partial)
892         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
893         Refactor as tfile_target methods.
894         (tfile_xfer_partial_features): Remove target_ops parameter.
895         (init_tfile_ops): Delete.
896         (_initialize_tracefile_tfile): Don't call it.
897         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
898         (tracefile_has_stack, tracefile_has_registers)
899         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
900         tracefile_target methods.
901         (init_tracefile_ops): Delete.
902         (tracefile_target::tracefile_target): New.
903         * tracefile.h: Include "target.h".
904         (tracefile_target): New class.
905         (init_tracefile_ops): Delete.
906
907         * spu-multiarch.c (spu_multiarch_target): New class.
908         (spu_ops): Now a spu_multiarch_target.
909         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
910         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
911         (spu_search_memory, spu_mourn_inferior): Refactor as
912         spu_multiarch_target methods.
913         (init_spu_ops): Delete.
914         (_initialize_spu_multiarch): Remove references to init_spu_ops,
915         complete_target_initialization.
916
917         * ravenscar-thread.c (ravenscar_thread_target): New class.
918         (ravenscar_ops): Now a ravenscar_thread_target.
919         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
920         (ravenscar_thread_alive, ravenscar_pid_to_str)
921         (ravenscar_fetch_registers, ravenscar_store_registers)
922         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
923         (ravenscar_stopped_by_hw_breakpoint)
924         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
925         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
926         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
927         methods.
928         (init_ravenscar_thread_ops): Delete.
929         (_initialize_ravenscar): Remove references to
930         init_ravenscar_thread_ops and complete_target_initialization.
931
932         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
933         (bsd_uthread_target): New class.
934         (bsd_uthread_ops): Now a bsd_uthread_target.
935         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
936         (bsd_uthread_close, bsd_uthread_mourn_inferior)
937         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
938         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
939         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
940         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
941         (bsd_uthread_target): Delete function.
942         (_initialize_bsd_uthread): Remove reference to
943         complete_target_initialization.
944
945         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
946         (target_bfd): ... this new class.
947         (target_bfd_xfer_partial, target_bfd_get_section_table)
948         (target_bfd_close): Refactor as target_bfd methods.
949         (target_bfd::~target_bfd): New.
950         (target_bfd_reopen): Adjust.
951         (target_bfd::close): New.
952
953         * record-btrace.c (record_btrace_target): New class.
954         (record_btrace_ops): Now a record_btrace_target.
955         (record_btrace_open, record_btrace_stop_recording)
956         (record_btrace_disconnect, record_btrace_close)
957         (record_btrace_async, record_btrace_info)
958         (record_btrace_insn_history, record_btrace_insn_history_range)
959         (record_btrace_insn_history_from, record_btrace_call_history)
960         (record_btrace_call_history_range)
961         (record_btrace_call_history_from, record_btrace_record_method)
962         (record_btrace_is_replaying, record_btrace_will_replay)
963         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
964         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
965         (record_btrace_store_registers, record_btrace_prepare_to_store)
966         (record_btrace_to_get_unwinder)
967         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
968         (record_btrace_commit_resume, record_btrace_wait)
969         (record_btrace_stop, record_btrace_can_execute_reverse)
970         (record_btrace_stopped_by_sw_breakpoint)
971         (record_btrace_supports_stopped_by_sw_breakpoint)
972         (record_btrace_stopped_by_hw_breakpoint)
973         (record_btrace_supports_stopped_by_hw_breakpoint)
974         (record_btrace_update_thread_list, record_btrace_thread_alive)
975         (record_btrace_goto_begin, record_btrace_goto_end)
976         (record_btrace_goto, record_btrace_stop_replaying_all)
977         (record_btrace_execution_direction)
978         (record_btrace_prepare_to_generate_core)
979         (record_btrace_done_generating_core): Refactor as
980         record_btrace_target methods.
981         (init_record_btrace_ops): Delete.
982         (_initialize_record_btrace): Remove reference to
983         init_record_btrace_ops.
984         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
985         the execution_direction global.
986         (record_full_base_target, record_full_target)
987         (record_full_core_target): New classes.
988         (record_full_ops): Now a record_full_target.
989         (record_full_core_ops): Now a record_full_core_target.
990         (record_full_target::detach, record_full_target::disconnect)
991         (record_full_core_target::disconnect)
992         (record_full_target::mourn_inferior, record_full_target::kill):
993         New.
994         (record_full_open, record_full_close, record_full_async): Refactor
995         as methods of the record_full_base_target class.
996         (record_full_resume, record_full_commit_resume): Refactor
997         as methods of the record_full_target class.
998         (record_full_wait, record_full_stopped_by_watchpoint)
999         (record_full_stopped_data_address)
1000         (record_full_stopped_by_sw_breakpoint)
1001         (record_full_supports_stopped_by_sw_breakpoint)
1002         (record_full_stopped_by_hw_breakpoint)
1003         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
1004         methods of the record_full_base_target class.
1005         (record_full_store_registers, record_full_xfer_partial)
1006         (record_full_insert_breakpoint, record_full_remove_breakpoint):
1007         Refactor as methods of the record_full_target class.
1008         (record_full_can_execute_reverse, record_full_get_bookmark)
1009         (record_full_goto_bookmark, record_full_execution_direction)
1010         (record_full_record_method, record_full_info, record_full_delete)
1011         (record_full_is_replaying, record_full_will_replay)
1012         (record_full_goto_begin, record_full_goto_end, record_full_goto)
1013         (record_full_stop_replaying): Refactor as methods of the
1014         record_full_base_target class.
1015         (record_full_core_resume, record_full_core_kill)
1016         (record_full_core_fetch_registers)
1017         (record_full_core_prepare_to_store)
1018         (record_full_core_store_registers, record_full_core_xfer_partial)
1019         (record_full_core_insert_breakpoint)
1020         (record_full_core_remove_breakpoint)
1021         (record_full_core_has_execution): Refactor
1022         as methods of the record_full_core_target class.
1023         (record_full_base_target::supports_delete_record): New.
1024         (init_record_full_ops): Delete.
1025         (init_record_full_core_ops): Delete.
1026         (record_full_save): Refactor as method of the
1027         record_full_base_target class.
1028         (_initialize_record_full): Remove references to
1029         init_record_full_ops and init_record_full_core_ops.
1030
1031         * remote.c (remote_target, extended_remote_target): New classes.
1032         (remote_ops): Now a remote_target.
1033         (extended_remote_ops): Now an extended_remote_target.
1034         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
1035         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
1036         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
1037         (remote_pass_signals, remote_set_syscall_catchpoint)
1038         (remote_program_signals, )
1039         (remote_thread_always_alive): Remove target_ops parameter.
1040         (remote_thread_alive, remote_thread_name)
1041         (remote_update_thread_list, remote_threads_extra_info)
1042         (remote_static_tracepoint_marker_at)
1043         (remote_static_tracepoint_markers_by_strid)
1044         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
1045         (remote_open): Refactor as methods of remote_target.
1046         (extended_remote_open, extended_remote_detach)
1047         (extended_remote_attach, extended_remote_post_attach):
1048         (extended_remote_supports_disable_randomization)
1049         (extended_remote_create_inferior): : Refactor as method of
1050         extended_remote_target.
1051         (remote_set_permissions, remote_open_1, remote_detach)
1052         (remote_follow_fork, remote_follow_exec, remote_disconnect)
1053         (remote_resume, remote_commit_resume, remote_stop)
1054         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
1055         (remote_terminal_ours, remote_wait, remote_fetch_registers)
1056         (remote_prepare_to_store, remote_store_registers)
1057         (remote_flash_erase, remote_flash_done, remote_files_info)
1058         (remote_kill, remote_mourn, remote_insert_breakpoint)
1059         (remote_remove_breakpoint, remote_insert_watchpoint)
1060         (remote_watchpoint_addr_within_range)
1061         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
1062         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
1063         (remote_supports_stopped_by_sw_breakpoint)
1064         (remote_stopped_by_hw_breakpoint)
1065         (remote_supports_stopped_by_hw_breakpoint)
1066         (remote_stopped_by_watchpoint, remote_stopped_data_address)
1067         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
1068         (remote_verify_memory): Refactor as methods of remote_target.
1069         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
1070         parameter.
1071         (remote_xfer_partial, remote_get_memory_xfer_limit)
1072         (remote_search_memory, remote_rcmd, remote_memory_map)
1073         (remote_pid_to_str, remote_get_thread_local_address)
1074         (remote_get_tib_address, remote_read_description): Refactor as
1075         methods of remote_target.
1076         (remote_target::fileio_open, remote_target::fileio_pwrite)
1077         (remote_target::fileio_pread, remote_target::fileio_close): New.
1078         (remote_hostio_readlink, remote_hostio_fstat)
1079         (remote_filesystem_is_local, remote_can_execute_reverse)
1080         (remote_supports_non_stop, remote_supports_disable_randomization)
1081         (remote_supports_multi_process, remote_supports_cond_breakpoints)
1082         (remote_supports_enable_disable_tracepoint)
1083         (remote_supports_string_tracing)
1084         (remote_can_run_breakpoint_commands, remote_trace_init)
1085         (remote_download_tracepoint, remote_can_download_tracepoint)
1086         (remote_download_trace_state_variable, remote_enable_tracepoint)
1087         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
1088         (remote_trace_start, remote_get_trace_status)
1089         (remote_get_tracepoint_status, remote_trace_stop)
1090         (remote_trace_find, remote_get_trace_state_variable_value)
1091         (remote_save_trace_data, remote_get_raw_trace_data)
1092         (remote_set_disconnected_tracing, remote_core_of_thread)
1093         (remote_set_circular_trace_buffer, remote_traceframe_info)
1094         (remote_get_min_fast_tracepoint_insn_len)
1095         (remote_set_trace_buffer_size, remote_set_trace_notes)
1096         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
1097         (remote_disable_btrace, remote_teardown_btrace)
1098         (remote_read_btrace, remote_btrace_conf)
1099         (remote_augmented_libraries_svr4_read, remote_load)
1100         (remote_pid_to_exec_file, remote_can_do_single_step)
1101         (remote_execution_direction, remote_thread_handle_to_thread_info):
1102         Refactor as methods of remote_target.
1103         (init_remote_ops, init_extended_remote_ops): Delete.
1104         (remote_can_async_p, remote_is_async_p, remote_async)
1105         (remote_thread_events, remote_upload_tracepoints)
1106         (remote_upload_trace_state_variables): Refactor as methods of
1107         remote_target.
1108         (_initialize_remote): Remove references to init_remote_ops and
1109         init_extended_remote_ops.
1110
1111         * remote-sim.c (gdbsim_target): New class.
1112         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
1113         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
1114         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
1115         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
1116         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
1117         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
1118         Refactor as methods of gdbsim_target.
1119         (gdbsim_ops): Now a gdbsim_target.
1120         (init_gdbsim_ops): Delete.
1121         (gdbsim_cntrl_c): Adjust.
1122         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
1123
1124         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
1125         (the_amd64_linux_nat_target): New.
1126         (amd64_linux_fetch_inferior_registers)
1127         (amd64_linux_store_inferior_registers): Refactor as methods of
1128         amd64_linux_nat_target.
1129         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
1130         * i386-linux-nat.c: Don't include "linux-nat.h".
1131         (i386_linux_nat_target): New class.
1132         (the_i386_linux_nat_target): New.
1133         (i386_linux_fetch_inferior_registers)
1134         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
1135         as methods of i386_linux_nat_target.
1136         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
1137         * inf-child.c (inf_child_ops): Delete.
1138         (inf_child_fetch_inferior_registers)
1139         (inf_child_store_inferior_registers): Delete.
1140         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
1141         methods of inf_child_target.
1142         (inf_child_target::supports_terminal_ours)
1143         (inf_child_target::terminal_init)
1144         (inf_child_target::terminal_inferior)
1145         (inf_child_target::terminal_ours_for_output)
1146         (inf_child_target::terminal_ours, inf_child_target::interrupt)
1147         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
1148         New.
1149         (inf_child_open, inf_child_disconnect, inf_child_close)
1150         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
1151         (inf_child_post_startup_inferior, inf_child_can_run)
1152         (inf_child_pid_to_exec_file): Refactor as methods of
1153         inf_child_target.
1154         (inf_child_follow_fork): Delete.
1155         (inf_child_target::can_create_inferior)
1156         (inf_child_target::can_attach): New.
1157         (inf_child_target::has_all_memory, inf_child_target::has_memory)
1158         (inf_child_target::has_stack, inf_child_target::has_registers)
1159         (inf_child_target::has_execution): New.
1160         (inf_child_fileio_open, inf_child_fileio_pwrite)
1161         (inf_child_fileio_pread, inf_child_fileio_fstat)
1162         (inf_child_fileio_close, inf_child_fileio_unlink)
1163         (inf_child_fileio_readlink, inf_child_use_agent)
1164         (inf_child_can_use_agent): Refactor as methods of
1165         inf_child_target.
1166         (return_zero, inf_child_target): Delete.
1167         (inf_child_target::inf_child_target): New.
1168         * inf-child.h: Include "target.h".
1169         (inf_child_target): Delete function prototype.
1170         (inf_child_target): New class.
1171         (inf_child_open_target, inf_child_mourn_inferior)
1172         (inf_child_maybe_unpush_target): Delete.
1173         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
1174         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
1175         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
1176         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
1177         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
1178         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
1179         (inf_ptrace_wait, inf_ptrace_xfer_partial)
1180         (inf_ptrace_thread_alive, inf_ptrace_files_info)
1181         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
1182         methods of inf_ptrace_target.
1183         (inf_ptrace_target): Delete function.
1184         * inf-ptrace.h: Include "inf-child.h".
1185         (inf_ptrace_target): Delete function declaration.
1186         (inf_ptrace_target): New class.
1187         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
1188         * linux-nat.c (linux_target): New.
1189         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
1190         (linux_nat_target::~linux_nat_target): New.
1191         (linux_child_post_attach, linux_child_post_startup_inferior)
1192         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
1193         (linux_child_remove_fork_catchpoint)
1194         (linux_child_insert_vfork_catchpoint)
1195         (linux_child_remove_vfork_catchpoint)
1196         (linux_child_insert_exec_catchpoint)
1197         (linux_child_remove_exec_catchpoint)
1198         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
1199         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
1200         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
1201         (linux_nat_stopped_data_address)
1202         (linux_nat_stopped_by_sw_breakpoint)
1203         (linux_nat_supports_stopped_by_sw_breakpoint)
1204         (linux_nat_stopped_by_hw_breakpoint)
1205         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
1206         (linux_nat_kill, linux_nat_mourn_inferior)
1207         (linux_nat_xfer_partial, linux_nat_thread_alive)
1208         (linux_nat_update_thread_list, linux_nat_pid_to_str)
1209         (linux_nat_thread_name, linux_child_pid_to_exec_file)
1210         (linux_child_static_tracepoint_markers_by_strid)
1211         (linux_nat_is_async_p, linux_nat_can_async_p)
1212         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
1213         (linux_nat_supports_multi_process)
1214         (linux_nat_supports_disable_randomization, linux_nat_async)
1215         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
1216         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
1217         (linux_nat_fileio_open, linux_nat_fileio_readlink)
1218         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
1219         methods of linux_nat_target.
1220         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
1221         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
1222         parameter.
1223         (check_stopped_by_watchpoint): Adjust.
1224         (linux_xfer_partial): Delete.
1225         (linux_target_install_ops, linux_target, linux_nat_add_target):
1226         Delete.
1227         (linux_nat_target::linux_nat_target): New.
1228         * linux-nat.h: Include "inf-ptrace.h".
1229         (linux_nat_target): New.
1230         (linux_target, linux_target_install_ops, linux_nat_add_target):
1231         Delete function declarations.
1232         (linux_target): Declare global.
1233         * linux-thread-db.c (thread_db_target): New.
1234         (thread_db_target::thread_db_target): New.
1235         (thread_db_ops): Delete.
1236         (the_thread_db_target): New.
1237         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
1238         (thread_db_update_thread_list, thread_db_pid_to_str)
1239         (thread_db_extra_thread_info)
1240         (thread_db_thread_handle_to_thread_info)
1241         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
1242         (thread_db_resume): Refactor as methods of thread_db_target.
1243         (init_thread_db_ops): Delete.
1244         (_initialize_thread_db): Remove reference to init_thread_db_ops.
1245         * x86-linux-nat.c: Don't include "linux-nat.h".
1246         (super_post_startup_inferior): Delete.
1247         (x86_linux_nat_target::~x86_linux_nat_target): New.
1248         (x86_linux_child_post_startup_inferior)
1249         (x86_linux_read_description, x86_linux_enable_btrace)
1250         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
1251         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
1252         methods of x86_linux_nat_target.
1253         (x86_linux_create_target): Delete.  Bits folded ...
1254         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
1255         pointer.
1256         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
1257         (x86_linux_nat_target): New class.
1258         (x86_linux_create_target): Delete.
1259         (x86_linux_add_target): Now takes a linux_nat_target pointer.
1260         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
1261         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
1262         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
1263         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
1264         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
1265         make extern.
1266         (x86_use_watchpoints): Delete.
1267         * x86-nat.h: Include "breakpoint.h" and "target.h".
1268         (x86_use_watchpoints): Delete.
1269         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
1270         (x86_stopped_by_watchpoint, x86_stopped_data_address)
1271         (x86_insert_watchpoint, x86_remove_watchpoint)
1272         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
1273         (x86_stopped_by_hw_breakpoint): New declarations.
1274         (x86_nat_target): New template class.
1275
1276         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
1277         (the_ppc_linux_nat_target): New.
1278         (ppc_linux_fetch_inferior_registers)
1279         (ppc_linux_can_use_hw_breakpoint)
1280         (ppc_linux_region_ok_for_hw_watchpoint)
1281         (ppc_linux_ranged_break_num_registers)
1282         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
1283         (ppc_linux_insert_mask_watchpoint)
1284         (ppc_linux_remove_mask_watchpoint)
1285         (ppc_linux_can_accel_watchpoint_condition)
1286         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
1287         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
1288         (ppc_linux_watchpoint_addr_within_range)
1289         (ppc_linux_masked_watch_num_registers)
1290         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
1291         (ppc_linux_read_description): Refactor as methods of
1292         ppc_linux_nat_target.
1293         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
1294
1295         * procfs.c (procfs_xfer_partial): Delete forward declaration.
1296         (procfs_target): New class.
1297         (the_procfs_target): New.
1298         (procfs_target): Delete function.
1299         (procfs_auxv_parse, procfs_attach, procfs_detach)
1300         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
1301         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
1302         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
1303         (procfs_create_inferior, procfs_update_thread_list)
1304         (procfs_thread_alive, procfs_pid_to_str)
1305         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
1306         (procfs_stopped_data_address, procfs_insert_watchpoint)
1307         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
1308         (proc_find_memory_regions, procfs_info_proc)
1309         (procfs_make_note_section): Refactor as methods of procfs_target.
1310         (_initialize_procfs): Adjust.
1311         * sol-thread.c (sol_thread_target): New class.
1312         (sol_thread_ops): Now a sol_thread_target.
1313         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
1314         (sol_thread_fetch_registers, sol_thread_store_registers)
1315         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
1316         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
1317         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
1318         (init_sol_thread_ops): Delete.
1319         (_initialize_sol_thread): Adjust.  Remove references to
1320         init_sol_thread_ops and complete_target_initialization.
1321
1322         * windows-nat.c (windows_nat_target): New class.
1323         (windows_fetch_inferior_registers)
1324         (windows_store_inferior_registers, windows_resume, windows_wait)
1325         (windows_attach, windows_detach, windows_pid_to_exec_file)
1326         (windows_files_info, windows_create_inferior)
1327         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
1328         (windows_close, windows_pid_to_str, windows_xfer_partial)
1329         (windows_get_tib_address, windows_get_ada_task_ptid)
1330         (windows_thread_name, windows_thread_alive): Refactor as
1331         windows_nat_target methods.
1332         (do_initial_windows_stuff): Adjust.
1333         (windows_target): Delete function.
1334         (_initialize_windows_nat): Adjust.
1335
1336         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
1337         (darwin_mourn_inferior, darwin_kill_inferior)
1338         (darwin_create_inferior, darwin_attach, darwin_detach)
1339         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
1340         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
1341         (darwin_supports_multi_process): Refactor as darwin_nat_target
1342         methods.
1343         (darwin_resume_to, darwin_files_info): Delete.
1344         (_initialize_darwin_inferior): Rename to ...
1345         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
1346         * darwin-nat.h: Include "inf-child.h".
1347         (darwin_nat_target): New class.
1348         (darwin_complete_target): Delete.
1349         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
1350         (darwin_target): New.
1351         (i386_darwin_fetch_inferior_registers)
1352         (i386_darwin_store_inferior_registers): Refactor as methods of
1353         darwin_nat_target.
1354         (darwin_complete_target): Delete, with ...
1355         (_initialize_i386_darwin_nat): ... bits factored out here.
1356
1357         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
1358         (the_alpha_linux_nat_target): New.
1359         (alpha_linux_register_u_offset): Refactor as
1360         alpha_linux_nat_target method.
1361         (_initialize_alpha_linux_nat): Adjust.
1362         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
1363         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
1364         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
1365         methods of linux_nat_trad_target.
1366         (linux_trad_target): Delete.
1367         * linux-nat-trad.h (linux_trad_target): Delete function.
1368         (linux_nat_trad_target): New class.
1369         * mips-linux-nat.c (mips_linux_nat_target): New class.
1370         (super_fetch_registers, super_store_registers, super_close):
1371         Delete.
1372         (the_mips_linux_nat_target): New.
1373         (mips64_linux_regsets_fetch_registers)
1374         (mips64_linux_regsets_store_registers)
1375         (mips64_linux_fetch_registers, mips64_linux_store_registers)
1376         (mips_linux_register_u_offset, mips_linux_read_description)
1377         (mips_linux_can_use_hw_breakpoint)
1378         (mips_linux_stopped_by_watchpoint)
1379         (mips_linux_stopped_data_address)
1380         (mips_linux_region_ok_for_hw_watchpoint)
1381         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
1382         (mips_linux_close): Refactor as methods of mips_linux_nat.
1383         (_initialize_mips_linux_nat): Adjust to C++ification.
1384
1385         * aix-thread.c (aix_thread_target): New class.
1386         (aix_thread_ops): Now an aix_thread_target.
1387         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
1388         (aix_thread_fetch_registers, aix_thread_store_registers)
1389         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
1390         (aix_thread_thread_alive, aix_thread_pid_to_str)
1391         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
1392         Refactor as methods of aix_thread_target.
1393         (init_aix_thread_ops): Delete.
1394         (_initialize_aix_thread): Remove references to init_aix_thread_ops
1395         and complete_target_initialization.
1396         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
1397         (rs6000_nat_target): New class.
1398         (the_rs6000_nat_target): New.
1399         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
1400         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
1401         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
1402         (super_create_inferior): Delete.
1403         (_initialize_rs6000_nat): Adjust to C++ification.
1404
1405         * arm-linux-nat.c (arm_linux_nat_target): New class.
1406         (the_arm_linux_nat_target): New.
1407         (arm_linux_fetch_inferior_registers)
1408         (arm_linux_store_inferior_registers, arm_linux_read_description)
1409         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
1410         (arm_linux_remove_hw_breakpoint)
1411         (arm_linux_region_ok_for_hw_watchpoint)
1412         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
1413         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
1414         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
1415         arm_linux_nat_target.
1416         (_initialize_arm_linux_nat): Adjust to C++ification.
1417
1418         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
1419         (the_aarch64_linux_nat_target): New.
1420         (aarch64_linux_fetch_inferior_registers)
1421         (aarch64_linux_store_inferior_registers)
1422         (aarch64_linux_child_post_startup_inferior)
1423         (aarch64_linux_read_description)
1424         (aarch64_linux_can_use_hw_breakpoint)
1425         (aarch64_linux_insert_hw_breakpoint)
1426         (aarch64_linux_remove_hw_breakpoint)
1427         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
1428         (aarch64_linux_region_ok_for_hw_watchpoint)
1429         (aarch64_linux_stopped_data_address)
1430         (aarch64_linux_stopped_by_watchpoint)
1431         (aarch64_linux_watchpoint_addr_within_range)
1432         (aarch64_linux_can_do_single_step): Refactor as methods of
1433         aarch64_linux_nat_target.
1434         (super_post_startup_inferior): Delete.
1435         (_initialize_aarch64_linux_nat): Adjust to C++ification.
1436
1437         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
1438         (the_hppa_linux_nat_target): New.
1439         (hppa_linux_fetch_inferior_registers)
1440         (hppa_linux_store_inferior_registers): Refactor as methods of
1441         hppa_linux_nat_target.
1442         (_initialize_hppa_linux_nat): Adjust to C++ification.
1443
1444         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
1445         (the_ia64_linux_nat_target): New.
1446         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
1447         (ia64_linux_stopped_data_address)
1448         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
1449         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
1450         ia64_linux_nat_target methods.
1451         (super_xfer_partial): Delete.
1452         (_initialize_ia64_linux_nat): Adjust to C++ification.
1453
1454         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
1455         (the_m32r_linux_nat_target): New.
1456         (m32r_linux_fetch_inferior_registers)
1457         (m32r_linux_store_inferior_registers): Refactor as
1458         m32r_linux_nat_target methods.
1459         (_initialize_m32r_linux_nat): Adjust to C++ification.
1460
1461         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
1462         (the_m68k_linux_nat_target): New.
1463         (m68k_linux_fetch_inferior_registers)
1464         (m68k_linux_store_inferior_registers): Refactor as
1465         m68k_linux_nat_target methods.
1466         (_initialize_m68k_linux_nat): Adjust to C++ification.
1467
1468         * s390-linux-nat.c (s390_linux_nat_target): New class.
1469         (the_s390_linux_nat_target): New.
1470         (s390_linux_fetch_inferior_registers)
1471         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
1472         (s390_insert_watchpoint, s390_remove_watchpoint)
1473         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
1474         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
1475         (s390_auxv_parse, s390_read_description): Refactor as methods of
1476         s390_linux_nat_target.
1477         (_initialize_s390_nat): Adjust to C++ification.
1478
1479         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
1480         (the_sparc_linux_nat_target): New.
1481         (_initialize_sparc_linux_nat): Adjust to C++ification.
1482         * sparc-nat.c (sparc_fetch_inferior_registers)
1483         (sparc_store_inferior_registers): Remove target_ops parameter.
1484         * sparc-nat.h (sparc_fetch_inferior_registers)
1485         (sparc_store_inferior_registers): Remove target_ops parameter.
1486         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
1487         (the_sparc64_linux_nat_target): New.
1488         (_initialize_sparc64_linux_nat): Adjust to C++ification.
1489
1490         * spu-linux-nat.c (spu_linux_nat_target): New class.
1491         (the_spu_linux_nat_target): New.
1492         (spu_child_post_startup_inferior, spu_child_post_attach)
1493         (spu_child_wait, spu_fetch_inferior_registers)
1494         (spu_store_inferior_registers, spu_xfer_partial)
1495         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
1496         methods.
1497         (_initialize_spu_nat): Adjust to C++ification.
1498
1499         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
1500         (the_tilegx_linux_nat_target): New.
1501         (fetch_inferior_registers, store_inferior_registers):
1502         Refactor as methods.
1503         (_initialize_tile_linux_nat): Adjust to C++ification.
1504
1505         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
1506         (the_xtensa_linux_nat_target): New.
1507         (xtensa_linux_fetch_inferior_registers)
1508         (xtensa_linux_store_inferior_registers): Refactor as
1509         xtensa_linux_nat_target methods.
1510         (_initialize_xtensa_linux_nat): Adjust to C++ification.
1511
1512         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
1513         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
1514         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
1515         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
1516         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
1517         (fbsd_stopped_by_sw_breakpoint)
1518         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
1519         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
1520         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
1521         (fbsd_post_startup_inferior, fbsd_post_attach)
1522         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
1523         (fbsd_set_syscall_catchpoint)
1524         (super_xfer_partial, super_resume, super_wait)
1525         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
1526         (fbsd_handle_debug_trap): Remove target_ops parameter.
1527         (fbsd_nat_add_target): Delete.
1528         * fbsd-nat.h: Include "inf-ptrace.h".
1529         (fbsd_nat_add_target): Delete.
1530         (USE_SIGTRAP_SIGINFO): Define.
1531         (fbsd_nat_target): New class.
1532
1533         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
1534         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
1535         (amd64bsd_target): Delete.
1536         * amd64-bsd-nat.h: New file.
1537         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
1538         "x86-bsd-nat.h".
1539         (amd64_fbsd_nat_target): New class.
1540         (the_amd64_fbsd_nat_target): New.
1541         (amd64fbsd_read_description): Refactor as method of
1542         amd64_fbsd_nat_target.
1543         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
1544         (_initialize_amd64fbsd_nat): Adjust to C++ification.
1545         * amd64-nat.h (amd64bsd_target): Delete function declaration.
1546         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
1547         (i386bsd_store_inferior_registers): Remove target_ops parameter.
1548         (i386bsd_target): Delete.
1549         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
1550         (i386bsd_fetch_inferior_registers)
1551         (i386bsd_store_inferior_registers): Declare.
1552         (i386_bsd_nat_target): New class.
1553         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
1554         (the_i386_fbsd_nat_target): New.
1555         (i386fbsd_resume, i386fbsd_read_description): Refactor as
1556         i386_fbsd_nat_target methods.
1557         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
1558         (_initialize_i386fbsd_nat): Adjust to C++ification.
1559         * x86-bsd-nat.c (super_mourn_inferior): Delete.
1560         (x86bsd_mourn_inferior, x86bsd_target): Delete.
1561         (_initialize_x86_bsd_nat): Adjust to C++ification.
1562         * x86-bsd-nat.h: Include "x86-nat.h".
1563         (x86bsd_target): Delete declaration.
1564         (x86bsd_nat_target): New class.
1565
1566         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
1567         (the_aarch64_fbsd_nat_target): New.
1568         (aarch64_fbsd_fetch_inferior_registers)
1569         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
1570         aarch64_fbsd_nat_target.
1571         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
1572         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
1573         (the_alpha_bsd_nat_target): New.
1574         (alphabsd_fetch_inferior_registers)
1575         (alphabsd_store_inferior_registers): Refactor as
1576         alpha_bsd_nat_target methods.
1577         (_initialize_alphabsd_nat): Refactor as methods of
1578         alpha_bsd_nat_target.
1579         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
1580         (the_amd64_nbsd_nat_target): New.
1581         (_initialize_amd64nbsd_nat): Adjust to C++ification.
1582         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
1583         (the_amd64_obsd_nat_target): New.
1584         (_initialize_amd64obsd_nat): Adjust to C++ification.
1585         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
1586         (the_arm_fbsd_nat_target): New.
1587         (arm_fbsd_fetch_inferior_registers)
1588         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
1589         (_initialize_arm_fbsd_nat): Refactor as methods of
1590         arm_fbsd_nat_target.
1591         (_initialize_arm_fbsd_nat): Adjust to C++ification.
1592         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
1593         (the_arm_netbsd_nat_target): New.
1594         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
1595         arm_netbsd_nat_target.
1596         (_initialize_arm_netbsd_nat): Adjust to C++ification.
1597         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
1598         (the_hppa_nbsd_nat_target): New.
1599         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
1600         hppa_nbsd_nat_target methods.
1601         (_initialize_hppanbsd_nat): Adjust to C++ification.
1602         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
1603         (the_hppa_obsd_nat_target): New.
1604         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
1605         methods of hppa_obsd_nat_target.
1606         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
1607         add_target.
1608         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
1609         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
1610         add_target.
1611         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
1612         (_initialize_i386obsd_nat): Use add_target.
1613         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
1614         (the_m68k_bsd_nat_target): New.
1615         (m68kbsd_fetch_inferior_registers)
1616         (m68kbsd_store_inferior_registers): Refactor as methods of
1617         m68k_bsd_nat_target.
1618         (_initialize_m68kbsd_nat): Adjust to C++ification.
1619         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
1620         (the_mips_fbsd_nat_target): New.
1621         (mips_fbsd_fetch_inferior_registers)
1622         (mips_fbsd_store_inferior_registers): Refactor as methods of
1623         mips_fbsd_nat_target.
1624         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
1625         add_target.
1626         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
1627         (the_mips_nbsd_nat_target): New.
1628         (mipsnbsd_fetch_inferior_registers)
1629         (mipsnbsd_store_inferior_registers): Refactor as methods of
1630         mips_nbsd_nat_target.
1631         (_initialize_mipsnbsd_nat): Adjust to C++ification.
1632         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
1633         (the_mips64_obsd_nat_target): New.
1634         (mips64obsd_fetch_inferior_registers)
1635         (mips64obsd_store_inferior_registers): Refactor as methods of
1636         mips64_obsd_nat_target.
1637         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
1638         add_target.
1639         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
1640         nbsd_nat_target.
1641         * nbsd-nat.h: Include "inf-ptrace.h".
1642         (nbsd_nat_target): New class.
1643         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
1644         (obsd_wait): Refactor as methods of obsd_nat_target.
1645         (obsd_add_target): Delete.
1646         * obsd-nat.h: Include "inf-ptrace.h".
1647         (obsd_nat_target): New class.
1648         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
1649         (the_ppc_fbsd_nat_target): New.
1650         (ppcfbsd_fetch_inferior_registers)
1651         (ppcfbsd_store_inferior_registers): Refactor as methods of
1652         ppc_fbsd_nat_target.
1653         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
1654         add_target.
1655         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
1656         (the_ppc_nbsd_nat_target): New.
1657         (ppcnbsd_fetch_inferior_registers)
1658         (ppcnbsd_store_inferior_registers): Refactor as methods of
1659         ppc_nbsd_nat_target.
1660         (_initialize_ppcnbsd_nat): Adjust to C++ification.
1661         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
1662         (the_ppc_obsd_nat_target): New.
1663         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
1664         methods of ppc_obsd_nat_target.
1665         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
1666         add_target.
1667         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
1668         (the_sh_nbsd_nat_target): New.
1669         (shnbsd_fetch_inferior_registers)
1670         (shnbsd_store_inferior_registers): Refactor as methods of
1671         sh_nbsd_nat_target.
1672         (_initialize_shnbsd_nat): Adjust to C++ification.
1673         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
1674         (inf_ptrace_xfer_partial): Delete.
1675         (sparc_xfer_partial, sparc_target): Delete.
1676         * sparc-nat.h (sparc_fetch_inferior_registers)
1677         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
1678         (sparc_target): Delete function declaration.
1679         (sparc_target): New template class.
1680         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
1681         (_initialize_sparcnbsd_nat): Adjust to C++ification.
1682         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
1683         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
1684         add_target.
1685         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
1686         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
1687         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
1688         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
1689         add_target.
1690         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
1691         (the_vax_bsd_nat_target): New.
1692         (vaxbsd_fetch_inferior_registers)
1693         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
1694         methods.
1695         (_initialize_vaxbsd_nat): Adjust to C++ification.
1696
1697         * bsd-kvm.c (bsd_kvm_target): New class.
1698         (bsd_kvm_ops): Now a bsd_kvm_target.
1699         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
1700         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
1701         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
1702         bsd_kvm_target.
1703         (bsd_kvm_return_one): Delete.
1704         (bsd_kvm_add_target): Adjust to C++ification.
1705
1706         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
1707         (nto_procfs_target_procfs): New classes.
1708         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
1709         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
1710         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
1711         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
1712         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
1713         (procfs_remove_hw_breakpoint, procfs_resume)
1714         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
1715         (procfs_kill_inferior, procfs_store_registers)
1716         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
1717         as methods of nto_procfs_target.
1718         (nto_procfs_ops): Now an nto_procfs_target_procfs.
1719         (nto_native_ops): Delete.
1720         (procfs_open, procfs_native_open): Delete.
1721         (nto_native_ops): Now an nto_procfs_target_native.
1722         (init_procfs_targets): Adjust to C++ification.
1723         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
1724         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
1725         Refactor as methods of nto_procfs_target.
1726
1727         * go32-nat.c (go32_nat_target): New class.
1728         (the_go32_nat_target): New.
1729         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
1730         (go32_store_registers, go32_xfer_partial, go32_files_info)
1731         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
1732         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
1733         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
1734         (go32_pid_to_str): Refactor as methods of go32_nat_target.
1735         (go32_target): Delete.
1736         (_initialize_go32_nat): Adjust to C++ification.
1737
1738         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
1739         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
1740         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
1741         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
1742         gnu_nat_target.
1743         (gnu_target): Delete.
1744         * gnu-nat.h (gnu_target): Delete.
1745         (gnu_nat_target): New class.
1746         * i386-gnu-nat.c (gnu_base_target): New.
1747         (i386_gnu_nat_target): New class.
1748         (the_i386_gnu_nat_target): New.
1749         (_initialize_i386gnu_nat): Adjust to C++ification.
1750
1751 2018-05-02  Pedro Alves  <palves@redhat.com>
1752
1753         * bfd-target.c (target_bfd_xclose): Rename to ...
1754         (target_bfd_close): ... this.
1755         (target_bfd_reopen): Adjust.
1756         * target.c (target_close): Remove references to to_xclose.
1757         * target.h (target_ops::to_xclose): Delete.
1758         (target_ops::to_close): Update comments.
1759
1760 2018-05-02  Pedro Alves  <palves@redhat.com>
1761
1762         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
1763         "linux-nat.h".
1764         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
1765         * inf-ptrace.c (inf_ptrace_register_u_offset)
1766         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
1767         (inf_ptrace_store_register, inf_ptrace_store_registers)
1768         (inf_ptrace_trad_target): Move to ...
1769         * linux-nat-trad.c: ... this new file.
1770         * linux-nat-trad.h: New file.
1771         * linux-nat.c (linux_target_install_ops): Make extern.
1772         (linux_trad_target): Delete.
1773         * linux-nat.h (linux_trad_target): Delete declaration.
1774         (linux_target_install_ops): Declare.
1775         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
1776         "linux-nat.h".
1777
1778 2018-05-02  Pedro Alves  <palves@redhat.com>
1779
1780         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
1781         procfs_target/add_target here.
1782         * procfs.c (procfs_target): Make static.
1783         (_initialize_procfs): Call add_target here.
1784         * procfs.h (struct target_ops): Remove forward declaration.
1785         (procfs_target): Remove declaration.
1786         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
1787
1788 2018-05-02  Pedro Alves  <palves@redhat.com>
1789
1790         * procfs.c (procfs_stopped_by_watchpoint)
1791         (procfs_insert_watchpoint, procfs_remove_watchpoint)
1792         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
1793         Forward declare.
1794         (procfs_use_watchpoints): Delete, move contents...
1795         (procfs_target): ... here.
1796         * procfs.h (procfs_use_watchpoints): Delete declaration.
1797         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
1798         procfs_use_watchpoints.
1799         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
1800         procfs_use_watchpoints.
1801
1802 2018-05-02  Tom Tromey  <tom@tromey.com>
1803
1804         PR python/20084:
1805         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
1806         and var_zuinteger_unlimited.
1807         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
1808         and PARAM_ZUINTEGER_UNLIMITED.
1809         (set_parameter_value): Handle var_zuinteger and
1810         var_zuinteger_unlimited.
1811         (add_setshow_generic): Likewise.
1812         (parmpy_init): Likewise.
1813
1814 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
1815
1816         PR rust/23124
1817         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
1818         pointer is not null before dereferencing it.
1819
1820 2018-04-30  Tom Tromey  <tom@tromey.com>
1821
1822         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
1823         is_mi_like_p.
1824
1825 2018-04-30  Tom Tromey  <tom@tromey.com>
1826
1827         * breakpoint.c (mention): Remove use of is_mi_like_p.
1828         (print_mention_ranged_breakpoint): Likewise.
1829         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
1830         of is_mi_like_p.
1831
1832 2018-04-30  Tom Tromey  <tom@tromey.com>
1833
1834         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
1835
1836 2018-04-30  Tom Tromey  <tom@tromey.com>
1837
1838         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
1839         (info_spu_event_command): Remove some uses of is_mi_like_p.
1840
1841 2018-04-30  Tom Tromey  <tom@tromey.com>
1842
1843         * python/py-framefilter.c (py_print_single_arg)
1844         (enumerate_locals, py_print_args, py_print_frame): Remove some
1845         uses of is_mi_like_p.
1846
1847 2018-04-30  Tom Tromey  <tom@tromey.com>
1848
1849         * ui-out.c: Update.
1850         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
1851         * ui-out.h (ui_out::is_mi_like_p): Now const.
1852         (ui_out::do_is_mi_like_p): Now const.
1853         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
1854
1855 2018-04-30  Tom Tromey  <tom@tromey.com>
1856
1857         * varobj.c (varobj_set_visualizer): Use new_reference.
1858         * python/python.c (gdbpy_decode_line): Use new_reference.
1859         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
1860         new_reference.
1861
1862 2018-04-30  Tom Tromey  <tom@tromey.com>
1863
1864         * varobj.c (install_new_value): Use new_reference.
1865         * value.h (value_incref): Return void.  Swap intro comment with
1866         value_decref.
1867         * value.c (set_value_parent): Use new_reference.
1868         (value_incref): Return void.  Update intro comment.
1869         (release_value): Use new_reference.
1870         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
1871
1872 2018-04-30  Tom Tromey  <tom@tromey.com>
1873
1874         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
1875         * gdb_bfd.h (new_bfd_ref): Remove.
1876         (gdb_bfd_open): Update comment.
1877         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
1878         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
1879         (gdb_bfd_fdopenr): Use new_reference.
1880         * exec.c (exec_file_attach): Use new_reference.
1881
1882 2018-04-30  Tom Tromey  <tom@tromey.com>
1883
1884         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
1885         method.
1886
1887 2018-04-30  Tom Tromey  <tom@tromey.com>
1888
1889         * jit.c (jit_read_code_entry): Use type_align.
1890         * i386-tdep.c (i386_gdbarch_init): Don't call
1891         set_gdbarch_long_long_align_bit.
1892         * gdbarch.sh: Remove long_long_align_bit.
1893         * gdbarch.c, gdbarch.h: Rebuild.
1894         * arc-tdep.c (arc_type_align): New function.
1895         (arc_gdbarch_init): Use arc_type_align.  Don't call
1896         set_gdbarch_long_long_align_bit.
1897
1898 2018-04-30  Tom Tromey  <tom@tromey.com>
1899
1900         * rust-lang.c (rust_type_alignment): Remove.
1901         (rust_composite_type): Use type_align.
1902
1903 2018-04-30  Tom Tromey  <tom@tromey.com>
1904
1905         * NEWS: Mention Type.align.
1906         * python/py-type.c (typy_get_alignof): New function.
1907         (type_object_getset): Add "alignof".
1908
1909 2018-04-30  Tom Tromey  <tom@tromey.com>
1910
1911         PR exp/17095:
1912         * NEWS: Update.
1913         * std-operator.def (UNOP_ALIGNOF): New operator.
1914         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
1915         New.
1916         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
1917         * c-lang.c (c_op_print_tab): Add alignof.
1918         * c-exp.y (ALIGNOF): New token.
1919         (exp): Add "ALIGNOF" production.
1920         (ident_tokens): Add _Alignof and alignof.
1921
1922 2018-04-30  Tom Tromey  <tom@tromey.com>
1923
1924         * i386-tdep.c (i386_type_align): New function.
1925         (i386_gdbarch_init): Update.
1926         * gdbarch.sh (type_align): New method.
1927         * gdbarch.c, gdbarch.h: Rebuild.
1928         * arch-utils.h (default_type_align): Declare.
1929         * arch-utils.c (default_type_align): New function.
1930         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
1931         (struct type) <align_log2>: New field.
1932         <instance_flags>: Now a bitfield.
1933         (TYPE_RAW_ALIGN): New macro.
1934         (type_align, type_raw_align, set_type_align): Declare.
1935         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
1936         functions.
1937         * dwarf2read.c (quirk_rust_enum): Set type alignment.
1938         (get_alignment, maybe_set_alignment): New functions.
1939         (read_structure_type, read_enumeration_type, read_array_type)
1940         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
1941         (read_subrange_type, read_base_type): Set type alignment.
1942
1943 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
1944
1945         * dwarf2read.c (read_index_from_section): Use bool.
1946
1947 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
1948
1949         PR gdb/22950
1950         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
1951         with #ifdef.
1952
1953 2018-04-29  John Reiser  <jreiser@BitWagon.com>
1954
1955         PR build/22873
1956         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
1957         last step, and do it atomically.
1958
1959 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
1960
1961         * compile/compile-c-types.c (convert_int, convert_float):
1962         Update for C FE v1.
1963
1964 2018-04-27  Tom Tromey  <tom@tromey.com>
1965
1966         PR rust/22545:
1967         * rust-lang.c (rust_inclusive_range_type_p): New function.
1968         (rust_range): Handle inclusive ranges.
1969         (rust_compute_range): Likewise.
1970         * rust-exp.y (struct rust_op) <inclusive>: New field.
1971         (DOTDOTEQ): New constant.
1972         (range_expr): Add "..=" productions.
1973         (operator_tokens): Add "..=" token.
1974         (ast_range): Add "inclusive" parameter.
1975         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
1976         ranges.
1977         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
1978         bounds values.
1979         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
1980         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
1981         Update comments.
1982         * expprint.c (print_subexp_standard): Handle new bounds values.
1983         (dump_subexp_body_standard): Likewise.
1984
1985 2018-04-27  Tom Tromey  <tom@tromey.com>
1986
1987         * configure: Rebuild.
1988         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
1989         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
1990         "OVERRIDE".
1991         (class symbol_needs_eval_context): Likewise.
1992         * dwarf2read.c (mock_mapped_index::symbol_name_count)
1993         (mock_mapped_index::symbol_name_at): Use "override".  Remove
1994         "virtual".
1995         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
1996         "override".
1997         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
1998         * aarch64-tdep.c (instruction_reader::read): Use "override".
1999         (instruction_reader_test::read): Likewise.
2000         * arm-tdep.c (instruction_reader::read): Use "override".
2001         (instruction_reader_thumb::read): Likewise.
2002
2003 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
2004
2005         PR remote/9665
2006         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
2007         instead of remote_send.
2008         (remote_send): Remove.
2009
2010 2018-04-26  Pedro Alves  <palves@redhat.com>
2011
2012         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
2013         find_function_start_sal instead of find_pc_line.
2014
2015 2018-04-26  Pedro Alves  <palves@redhat.com>
2016
2017         * breakpoint.c (set_breakpoint_location_function): Handle
2018         mst_data_gnu_ifunc.
2019         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
2020         * elfread.c (elf_symtab_read): Give data symbols with
2021         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
2022         (elf_rel_plt_read): Update comment.
2023         * linespec.c (convert_linespec_to_sals): Handle
2024         mst_data_gnu_ifunc.
2025         (minsym_found): Handle mst_data_gnu_ifunc.
2026         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
2027         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
2028         * parse.c (find_minsym_type_and_address): Handle
2029         mst_data_gnu_ifunc.
2030         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
2031         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
2032         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
2033         comment.
2034         <mst_data_gnu_ifunc>: New enumerator.
2035
2036 2018-04-26  Pedro Alves  <palves@redhat.com>
2037
2038         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
2039         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
2040         'want_trampoline' parameter by a lookup_msym_prefer parameter.
2041         Handle it.
2042         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
2043         (lookup_minimal_symbol_by_pc): Adjust.
2044         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
2045         (lookup_solib_trampoline_symbol_by_pc): Adjust.
2046         * minsyms.h (lookup_msym_prefer): New enum.
2047         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
2048         parameter by a lookup_msym_prefer parameter.
2049
2050 2018-04-26  Pedro Alves  <palves@redhat.com>
2051
2052         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
2053         ends in "@plt" instead of looking at the symbol's section.
2054
2055 2018-04-26  Pedro Alves  <palves@redhat.com>
2056
2057         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
2058         all references.
2059         (find_pc_partial_function_gnu_ifunc): Rename to ...
2060         (find_pc_partial_function): ... this, and remove references to
2061         'is_gnu_ifunc_p'.
2062         (find_pc_partial_function): Delete old implementation.
2063         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
2064
2065 2018-04-26  Pedro Alves  <palves@redhat.com>
2066
2067         * linespec.c (struct bound_minimal_symbol_search_key): New.
2068         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
2069         skip first line if we found a GNU ifunc minimal symbol by name.
2070         (compare_msymbols): Change parameters to work with a destructured
2071         lhs minsym.
2072         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
2073         functions.
2074
2075 2018-04-26  Pedro Alves  <palves@redhat.com>
2076
2077         * breakpoint.c (set_breakpoint_location_function): Don't resolve
2078         ifunc targets here.  Instead, if we have an ifunc minsym, use its
2079         address/name.
2080         (add_location_to_breakpoint): Store the minsym and the objfile in
2081         the breakpoint location.
2082         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
2083         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
2084         Record the minsym in the sal.
2085         * symtab.h (symtab_and_line) <msymbol>: New field.
2086
2087 2018-04-26  Pedro Alves  <palves@redhat.com>
2088
2089         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
2090         unless we actually resolved the ifunc.
2091
2092 2018-04-26  Pedro Alves  <palves@redhat.com>
2093
2094         * c-exp.y (variable production): Prefer ifunc minsyms over
2095         regular function symbols.
2096         * symtab.c (find_gnu_ifunc): New function.
2097         * minsyms.h (lookup_msym_prefer): New enum.
2098         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
2099         parameter by a lookup_msym_prefer parameter.
2100         * symtab.h (find_gnu_ifunc): New declaration.
2101
2102 2018-04-26  Pedro Alves  <palves@redhat.com>
2103
2104         * blockframe.c (find_gnu_ifunc_target_type): New function.
2105         (find_function_type): New.
2106         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
2107         return a value with a memory address.
2108         (eval_call): For calls to GNU ifunc functions, try to find the
2109         type of the target function from the type that the resolver
2110         returns.
2111         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
2112         symbols.
2113         * infcall.c (find_function_return_type): Delete.
2114         (find_function_addr): Add 'function_type' parameter.  For calls to
2115         GNU ifunc functions, try to find the type of the target function
2116         from the type that the resolver returns, and return it via
2117         FUNCTION_TYPE.
2118         (call_function_by_hand_dummy): Adjust to use the function type
2119         returned by find_function_addr.
2120         (find_function_addr): Add 'function_type' parameter and move
2121         description here.
2122         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
2123         declarations.
2124
2125 2018-04-26  Pedro Alves  <palves@redhat.com>
2126
2127         * c-exp.y (variable production): Skip finding an alias for ifunc
2128         symbols.
2129
2130 2018-04-26  Pedro Alves  <palves@redhat.com>
2131
2132         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
2133
2134 2018-04-25  Pedro Alves  <palves@redhat.com>
2135
2136         * infcmd.c (kill_command): Print the pid as string, not the whole
2137         thread's ptid.  Add comment.  s/has been killed/killed/ in output
2138         message.
2139         * remote.c (remote_detach_1): Print the pid as string, not the
2140         whole thread's ptid.
2141
2142 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
2143             Sergio Durigan Junior  <sergiodj@redhat.com>
2144             Pedro Alves  <palves@redhat.com>
2145
2146         * infcmd.c (kill_command): Print message when inferior has
2147         been killed.
2148         * inferior.c (print_inferior_events): Remove 'static'.  Set as
2149         '1'.
2150         (add_inferior): Improve message printed when
2151         'print_inferior_events' is on.
2152         (exit_inferior): Remove message printed when
2153         'print_inferior_events' is on.
2154         (detach_inferior): Improve message printed when
2155         'print_inferior_events' is on.
2156         (initialize_inferiors): Use 'add_inferior_silent' to set
2157         'current_inferior_'.
2158         * inferior.h (print_inferior_events): Declare here as
2159         'extern'.
2160         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
2161         '[Detaching...]' messages when 'print_inferior_events' is on.
2162         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
2163         as prefix/suffix for messages.  Remove periods.  Fix erroneous
2164         'Detaching after fork from child...', replace it by '... from
2165         parent...'.
2166         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
2167         prefix/suffix when printing 'Detaching...' messages.  Print
2168         them when 'print_inferior_events' is on.
2169         * remote.c (remote_detach_1): Print message when detaching
2170         from inferior and '!is_fork_parent'.
2171
2172 2018-04-24  Tom Tromey  <tom@tromey.com>
2173
2174         * cli-out.h: Reindent.
2175
2176 2018-04-24  Tom Tromey  <tom@tromey.com>
2177
2178         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
2179         (cli_ui_out::do_field_string): Use fputs_filtered.
2180         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
2181
2182 2018-04-23  Tom Tromey  <tom@tromey.com>
2183
2184         * guile/scm-frame.c (gdbscm_frame_read_var): Use
2185         gdb::unique_xmalloc_ptr.
2186
2187 2018-04-23  Tom Tromey  <tom@tromey.com>
2188
2189         * configure: Rebuild.
2190
2191 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
2192
2193         PR gdb/23095
2194         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
2195         prepare_for_testing.  Set normal_bp to r_debug_state if target
2196         is bsd.
2197
2198 2018-04-21  Pedro Alves  <palves@redhat.com>
2199             Rajendra SY  <rajendra.sy@gmail.com>
2200
2201         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
2202         * remote.c (extended_remote_attach): In all-stop mode, mark the
2203         thread as executing.
2204
2205 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
2206
2207         * thread.c (thread_apply_all_command): Fix comment.
2208         (thread_command): Fix comment.
2209
2210 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
2211
2212         * common/tdesc.h (tdesc_create_feature): Remove xml filename
2213         parameter.
2214         * features/aarch64-core.c (create_feature_aarch64_core):
2215         Regenerate.
2216         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
2217         Likewise.
2218         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
2219         Likewise.
2220         * features/i386/32bit-avx512.c
2221         (create_feature_i386_32bit_avx512): Likewise.
2222         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
2223         Likewise.
2224         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
2225         Likewise.
2226         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
2227         Likewise.
2228         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
2229         Likewise.
2230         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
2231         Likewise.
2232         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
2233         Likewise.
2234         * features/i386/64bit-avx512.c
2235         (create_feature_i386_64bit_avx512): Likewise.
2236         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
2237         Likewise.
2238         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
2239         Likewise.
2240         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
2241         Likewise.
2242         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
2243         Likewise.
2244         * features/i386/64bit-segments.c
2245         (create_feature_i386_64bit_segments): Likewise.
2246         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
2247         Likewise.
2248         * features/i386/x32-core.c
2249         (create_feature_i386_x32_core): Likewise.
2250         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
2251         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
2252         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
2253         * target-descriptions.c: In generated code, don't pass xml
2254         filename.
2255
2256 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
2257
2258         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
2259         (print_xml_feature::visit_post): Likewise.
2260         (print_xml_feature::visit): Likewise.
2261         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
2262         (print_xml_feature): Add new class.
2263         * regformats/regdat.sh: Null xmltarget on feature targets.
2264         * target-descriptions.c (struct target_desc): Add xmltarget.
2265         (maintenance_check_tdesc_xml_convert): Add unittest function.
2266         (tdesc_get_features_xml): Add function to get xml.
2267         (maintenance_check_xml_descriptions): Test xml generation.
2268         * xml-tdesc.c (string_read_description_xml): Add function.
2269         * xml-tdesc.h (string_read_description_xml): Add declaration.
2270
2271 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
2272
2273         * features/Makefile: Add feature marker to targets with new style
2274         target descriptions.
2275         * regformats/aarch64.dat: Regenerate.
2276         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
2277         * regformats/i386/amd64-avx-linux.dat: Likewise.
2278         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
2279         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
2280         * regformats/i386/amd64-linux.dat: Likewise.
2281         * regformats/i386/amd64-mpx-linux.dat: Likewise.
2282         * regformats/i386/amd64.dat: Likewise.
2283         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
2284         * regformats/i386/i386-avx-linux.dat: Likewise.
2285         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
2286         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
2287         * regformats/i386/i386-linux.dat: Likewise.
2288         * regformats/i386/i386-mmx-linux.dat: Likewise.
2289         * regformats/i386/i386-mpx-linux.dat: Likewise.
2290         * regformats/i386/i386.dat: Likewise.
2291         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
2292         * regformats/i386/x32-avx-linux.dat: Likewise.
2293         * regformats/i386/x32-linux.dat: Likewise.
2294         * regformats/tic6x-c62x-linux.dat: Likewise.
2295         * regformats/tic6x-c64x-linux.dat: Likewise.
2296         * regformats/tic6x-c64xp-linux.dat: Likewise.
2297         * regformats/regdat.sh: Parse feature marker.
2298
2299 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
2300
2301         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
2302         (tdesc_osabi_name): Likewise.
2303         * target-descriptions.c (tdesc_architecture_name): Add new
2304         function.
2305         (tdesc_osabi_name): Likewise.
2306
2307 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
2308
2309         * common/tdesc.c (tdesc_predefined_type): Move to here.
2310         (tdesc_named_type): Likewise.
2311         (tdesc_create_vector): Likewise.
2312         (tdesc_create_struct): Likewise.
2313         (tdesc_set_struct_size): Likewise.
2314         (tdesc_create_union): Likewise.
2315         (tdesc_create_flags): Likewise.
2316         (tdesc_create_enum): Likewise.
2317         (tdesc_add_field): Likewise.
2318         (tdesc_add_typed_bitfield): Likewise.
2319         (tdesc_add_bitfield): Likewise.
2320         (tdesc_add_flag): Likewise.
2321         (tdesc_add_enum_value): Likewise.
2322         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
2323         (struct tdesc_type_vector): Likewise.
2324         (struct tdesc_type_field): Likewise.
2325         (struct tdesc_type_with_fields): Likewise.
2326         (tdesc_create_enum): Add declaration.
2327         (tdesc_add_typed_bitfield): Likewise.
2328         (tdesc_add_enum_value): Likewise.
2329         * target-descriptions.c (tdesc_type_field): Move from here.
2330         (tdesc_type_builtin): Likewise.
2331         (tdesc_type_vector): Likewise.
2332         (tdesc_type_with_fields): Likewise.
2333         (tdesc_predefined_types): Likewise.
2334         (tdesc_named_type): Likewise.
2335         (tdesc_create_vector): Likewise.
2336         (tdesc_create_struct): Likewise.
2337         (tdesc_set_struct_size): Likewise.
2338         (tdesc_create_union): Likewise.
2339         (tdesc_create_flags): Likewise.
2340         (tdesc_create_enum): Likewise.
2341         (tdesc_add_field): Likewise.
2342         (tdesc_add_typed_bitfield): Likewise.
2343         (tdesc_add_bitfield): Likewise.
2344         (tdesc_add_flag): Likewise.
2345         (tdesc_add_enum_value): Likewise.
2346         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
2347         (tdesc_add_typed_bitfield): Likewise.
2348         (tdesc_add_enum_value): Likewise.
2349
2350 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
2351
2352         * common/tdesc.c (tdesc_feature::accept): Move to here.
2353         (tdesc_feature::operator==): Likewise.
2354         (tdesc_create_reg): Likewise.
2355         * common/tdesc.h (tdesc_type_kind): Likewise.
2356         (struct tdesc_type): Likewise.
2357         (struct tdesc_feature): Likewise.
2358         * regformats/regdat.sh: Create a feature.
2359         * target-descriptions.c (tdesc_type_kind): Move from here.
2360         (tdesc_type): Likewise.
2361         (tdesc_type_up): Likewise.
2362         (tdesc_feature): Likewise.
2363         (tdesc_create_reg): Likewise.
2364
2365 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
2366
2367         * Makefile.in: Add arch/tdesc.c
2368         * common/tdesc.c: New file.
2369         * common/tdesc.h (tdesc_element_visitor): Move to here.
2370         (tdesc_element): Likewise.
2371         (tdesc_reg): Likewise.
2372         (tdesc_reg_up): Likewise.
2373         * regformats/regdef.h (reg): Add offset to constructors.
2374         * target-descriptions.c (tdesc_element_visitor): Move from here.
2375         (tdesc_element): Likewise.
2376         (tdesc_reg): Likewise.
2377         (tdesc_reg_up): Likewise.
2378
2379 2018-04-17  Tom Tromey  <tom@tromey.com>
2380
2381         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
2382         discriminant field.
2383
2384 2018-04-17  Tom Tromey  <tom@tromey.com>
2385
2386         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
2387
2388 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2389
2390         * symtab.c (print_symbol_info): Skip printing filename and line
2391         number when `last' is NULL.
2392         (symtab_symbol_info): Use empty string instead of NULL for first
2393         invocation of print_symbol_info.
2394         (rbreak_command): Pass NULL to `last' parameter of
2395         print_symbol_info.
2396
2397 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
2398
2399         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
2400         instead of nullptr.
2401
2402 2018-04-16  Pedro Alves  <palves@redhat.com>
2403
2404         * MAINTAINERS (sh): Remove.
2405         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
2406         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
2407         (ALLDEPFILES): Remove sh64-tdep.c.
2408         * NEWS: Mentions that support for SH-5/SH64 is removed.
2409         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
2410         (sh*-*-openbsd*): Ditto.
2411         (sh64-*-elf*): Remove.
2412         (sh*): Remove.
2413         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
2414         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
2415         * sh-tdep.c: No longer include "sh64-tdep.h".
2416         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
2417         * sh64-tdep.c, sh64-tdep.h: Remove files.
2418
2419 2018-04-16  Pedro Alves  <palves@redhat.com>
2420
2421         * MAINTAINERS: Remove m88k.
2422         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
2423         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
2424         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
2425         * NEWS: Mention that support for m88k was removed.
2426         * configure.host (m88*-*-*): Remove support.
2427         * configure.nat (m88k-*-*): Remove support.
2428         * configure.tgt (m88*-*-openbsd*): Remove.
2429         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
2430
2431 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
2432
2433         * configure.tgt (x86_tobjs): New variable.
2434         (amd64_tobjs, i386_tobjs): Use it.
2435
2436 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
2437
2438         * symtab.c (print_symbol_info): Precede the symbol definition by
2439         the line number when available.
2440         * NEWS: Advertise this enhancement.
2441
2442 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
2443
2444         * NEWS (New options): announce set/show record btrace cpu.
2445         * btrace.c: Include record-btrace.h.
2446         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
2447         the vendor is unknown.
2448         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
2449         Maybe overwrite the btrace configuration's cpu.
2450         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
2451         (btrace_fetch): Add cpu parameter.  Update callers.
2452         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
2453         Maybe overwrite the btrace configuration's cpu.  Skip enabling
2454         errata workarounds if the vendor is unknown.
2455         * python/py-record-btrace.c: Include record-btrace.h.
2456         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
2457         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
2458         * record-btrace.c (record_btrace_cpu_state_kind): New.
2459         (record_btrace_cpu): New.
2460         (set_record_btrace_cpu_cmdlist): New.
2461         (record_btrace_get_cpu): New.
2462         (require_btrace_thread, record_btrace_info)
2463         (record_btrace_resume_thread): Call record_btrace_get_cpu.
2464         (cmd_set_record_btrace_cpu_none): New.
2465         (cmd_set_record_btrace_cpu_auto): New.
2466         (cmd_set_record_btrace_cpu): New.
2467         (cmd_show_record_btrace_cpu): New.
2468         (_initialize_record_btrace): Initialize set/show record btrace cpu
2469         commands.
2470         * record-btrace.h (record_btrace_get_cpu): New.
2471
2472 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
2473
2474         * record.c (set_record_command): Fix typo in message.
2475
2476 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
2477
2478         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
2479
2480 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
2481
2482         * infrun.c (process_event_stop_test): Call
2483         gdbarch_in_indirect_branch_thunk.
2484         * gdbarch.sh (in_indirect_branch_thunk): New.
2485         * gdbarch.c: Regenerated.
2486         * gdbarch.h: Regenerated.
2487         * x86-tdep.h: New.
2488         * x86-tdep.c: New.
2489         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
2490         (HFILES_NO_SRCDIR): Add x86-tdep.h.
2491         (ALLDEPFILES): Add x86-tdep.c.
2492         * arch-utils.h (default_in_indirect_branch_thunk): New.
2493         * arch-utils.c (default_in_indirect_branch_thunk): New.
2494         * i386-tdep: Include x86-tdep.h.
2495         (i386_in_indirect_branch_thunk): New.
2496         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
2497         function.
2498         * amd64-tdep: Include x86-tdep.h.
2499         (amd64_in_indirect_branch_thunk): New.
2500         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
2501
2502 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
2503
2504         PR gdb/23053
2505         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
2506         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
2507         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
2508         regression.
2509
2510 2018-04-12  Tom Tromey  <tom@tromey.com>
2511
2512         * rust-lang.c (rust_print_struct_def): Remove univariant code.
2513         (rust_evaluate_subexp): Likewise.
2514
2515 2018-04-12  Pedro Alves  <palves@redhat.com>
2516
2517         * procfs.c (procfs_detach): Make forward declaration's prototype
2518         match definition's protototype.
2519         (proc_get_LDT_entry): Remove stale do_cleanups call.
2520
2521 2018-04-12  Pedro Alves  <palves@redhat.com>
2522
2523         * target.h (target_ops::to_has_exited): Delete.
2524         (target_has_exited): Delete.
2525         * target-delegates.c: Regenerate.
2526
2527 2018-04-11  Pedro Alves  <palves@redhat.com>
2528
2529         * target.c (fileio_fh_t::t): Add comment.
2530         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
2531         (target_fileio_close): Handle a NULL target.
2532         (invalidate_fileio_fh): New.
2533         (target_close): Call it.
2534         * remote.c (remote_hostio_send_command): No longer check whether
2535         remote_desc is open.
2536
2537 2018-04-11  Pedro Alves  <palves@redhat.com>
2538
2539         * target.c (fileio_fh_t): Make it a named struct instead of a
2540         typedef.
2541         (fileio_fh_t::is_closed): New method.
2542         (DEF_VEC_O (fileio_fh_t)): Remove.
2543         (fileio_fhandles): Now a std::vector.
2544         (is_closed_fileio_fh): Delete.
2545         (acquire_fileio_fd): Adjust.  Rename parameters.
2546         (release_fileio_fd): Adjust.
2547         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
2548         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
2549         (target_fileio_close): Adjust.
2550
2551 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
2552
2553         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
2554         index.
2555
2556 2018-04-10  Pedro Alves  <palves@redhat.com>
2557
2558         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
2559         (scoped_finish_thread_state): New class.
2560         * infcmd.c (run_command_1): Use it instead of finish_thread_state
2561         cleanup.
2562         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
2563         (fetch_inferior_event, normal_stop): Likewise.
2564         * thread.c (finish_thread_state_cleanup): Delete.
2565
2566 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
2567             Pedro Alves  <palves@redhat.com>
2568
2569         * value.c: Include "selftest.h" and "common/array-view.h".
2570         (struct range) <operator ==>: New.
2571         (test_ranges_contain): New.
2572         (check_ranges_vector): New.
2573         (test_insert_into_bit_range_vector): New.
2574         (_initialize_values): Register selftests.
2575         * common/array-view.h (operator==, operator!=): New.
2576
2577 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
2578
2579         * common/gdb_vecs.h (unordered_remove): Add overload that takes
2580         an iterator.
2581         * inline-frame.c: Include <algorithm>.
2582         (struct inline_state): Add constructor.
2583         (inline_state_s): Remove.
2584         (DEF_VEC_O(inline_state_s)): Remove.
2585         (inline_states): Change type to std::vector.
2586         (find_inline_frame_state): Adjust to std::vector.
2587         (allocate_inline_frame_state): Remove.
2588         (clear_inline_frame_state): Adjust to std::vector.
2589         (skip_inline_frames): Adjust to std::vector.
2590
2591 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
2592
2593         * tracepoint.h (struct trace_state_variable): Add constructor.
2594         <name>: Change type to std::string.
2595         * tracepoint.c (tsv_s): Remove.
2596         (DEF_VEC_O(tsv_s)): Remove.
2597         (tvariables): Change to std::vector.
2598         (create_trace_state_variable): Adjust to std::vector.
2599         (find_trace_state_variable): Likewise.
2600         (find_trace_state_variable_by_number): Likewise.
2601         (delete_trace_state_variable): Likewise.
2602         (trace_variable_command): Adjust to std::string.
2603         (delete_trace_variable_command): Likewise.
2604         (tvariables_info_1): Adjust to std::vector.
2605         (save_trace_state_variables): Likewise.
2606         (start_tracing): Likewise.
2607         (merge_uploaded_trace_state_variables): Adjust to std::vector
2608         and std::string.
2609         * target.h (struct target_ops)
2610         <to_download_trace_state_variable>: Pass reference to
2611         trace_state_variable.
2612         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
2613         * target-delegates.c: Re-generate.
2614         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
2615         (mi_tsv_deleted): Likewise.
2616         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
2617         * remote.c (remote_download_trace_state_variable): Change
2618         pointer to reference and adjust.
2619         * make-target-delegates (parse_argtypes): Handle references.
2620         (write_function_header): Likewise.
2621         (munge_type): Likewise.
2622
2623 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
2624
2625         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2626         string_view-selftests.c.
2627         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
2628         testsuite.
2629         * unittests/basic_string_view/cons/char/1.cc: Likewise.
2630         * unittests/basic_string_view/cons/char/2.cc: Likewise.
2631         * unittests/basic_string_view/cons/char/3.cc: Likewise.
2632         * unittests/basic_string_view/element_access/char/1.cc:
2633         Likewise.
2634         * unittests/basic_string_view/element_access/char/empty.cc:
2635         Likewise.
2636         * unittests/basic_string_view/element_access/char/front_back.cc:
2637         Likewise.
2638         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
2639         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
2640         Likewise.
2641         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
2642         Likewise.
2643         * unittests/basic_string_view/modifiers/swap/char/1.cc:
2644         Likewise.
2645         * unittests/basic_string_view/operations/compare/char/1.cc:
2646         Likewise.
2647         * unittests/basic_string_view/operations/compare/char/13650.cc:
2648         Likewise.
2649         * unittests/basic_string_view/operations/copy/char/1.cc:
2650         Likewise.
2651         * unittests/basic_string_view/operations/data/char/1.cc:
2652         Likewise.
2653         * unittests/basic_string_view/operations/find/char/1.cc:
2654         Likewise.
2655         * unittests/basic_string_view/operations/find/char/2.cc:
2656         Likewise.
2657         * unittests/basic_string_view/operations/find/char/3.cc:
2658         Likewise.
2659         * unittests/basic_string_view/operations/find/char/4.cc:
2660         Likewise.
2661         * unittests/basic_string_view/operations/rfind/char/1.cc:
2662         Likewise.
2663         * unittests/basic_string_view/operations/rfind/char/2.cc:
2664         Likewise.
2665         * unittests/basic_string_view/operations/rfind/char/3.cc:
2666         Likewise.
2667         * unittests/basic_string_view/operations/substr/char/1.cc:
2668         Likewise.
2669         * unittests/basic_string_view/operators/char/2.cc: Likewise.
2670         * unittests/string_view-selftests.c: New file.
2671
2672 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
2673
2674         * unittests/basic_string_view/capacity/1.cc: New file.
2675         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
2676         * unittests/basic_string_view/cons/char/1.cc: New file.
2677         * unittests/basic_string_view/cons/char/2.cc: New file.
2678         * unittests/basic_string_view/cons/char/3.cc: New file.
2679         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
2680         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
2681         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
2682         * unittests/basic_string_view/element_access/char/1.cc: New file.
2683         * unittests/basic_string_view/element_access/char/2.cc: New file.
2684         * unittests/basic_string_view/element_access/char/empty.cc: New file.
2685         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
2686         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
2687         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
2688         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
2689         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
2690         * unittests/basic_string_view/include.cc: New file.
2691         * unittests/basic_string_view/inserters/char/1.cc: New file.
2692         * unittests/basic_string_view/inserters/char/2.cc: New file.
2693         * unittests/basic_string_view/inserters/char/3.cc: New file.
2694         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
2695         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
2696         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
2697         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
2698         * unittests/basic_string_view/literals/types.cc: New file.
2699         * unittests/basic_string_view/literals/values.cc: New file.
2700         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
2701         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
2702         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
2703         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
2704         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
2705         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
2706         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
2707         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
2708         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
2709         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
2710         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
2711         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
2712         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
2713         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
2714         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
2715         * unittests/basic_string_view/operations/data/char/1.cc: New file.
2716         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
2717         * unittests/basic_string_view/operations/find/char/1.cc: New file.
2718         * unittests/basic_string_view/operations/find/char/2.cc: New file.
2719         * unittests/basic_string_view/operations/find/char/3.cc: New file.
2720         * unittests/basic_string_view/operations/find/char/4.cc: New file.
2721         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
2722         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
2723         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
2724         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
2725         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
2726         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
2727         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
2728         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
2729         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
2730         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
2731         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
2732         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
2733         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
2734         * unittests/basic_string_view/operators/char/2.cc: New file.
2735         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
2736         * unittests/basic_string_view/range_access/char/1.cc: New file.
2737         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
2738         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
2739         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
2740         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
2741         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
2742         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
2743         * unittests/basic_string_view/requirements/typedefs.cc: New file.
2744         * unittests/basic_string_view/typedefs.cc: New file.
2745         * unittests/basic_string_view/types/1.cc: New file.
2746
2747 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
2748
2749         * common/gdb_string_view.h: Remove libstdc++ implementation
2750         details, adjust to gdb reality.
2751         * common/gdb_string_view.tcc: Likewise.
2752         * cli/cli-script.c (struct string_view): Remove.
2753         (user_args) <m_args>: Change element type to gdb::string_view.
2754         (user_args::insert_args): Adjust.
2755
2756 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
2757
2758         * common/gdb_string_view.h: New file.
2759         * common/gdb_string_view.tcc: New file.
2760
2761 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
2762
2763         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
2764         * configure: Re-generate.
2765
2766 2018-04-09  Pedro Alves  <palves@redhat.com>
2767
2768         * gdbarch.sh: Include "observable.h" instead of "observer.h".
2769         (set_target_gdbarch): Call
2770         gdb::observers::architecture_changed.notify instead of
2771         observer_notify_architecture_changed.
2772
2773 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
2774
2775         * tracepoint.c (struct current_traceframe_cleanup): Remove.
2776         (do_restore_current_traceframe_cleanup): Remove.
2777         (restore_current_traceframe_cleanup_dtor): Remove.
2778         (make_cleanup_restore_current_traceframe): Remove.
2779         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
2780         New.
2781         * tracepoint.h (struct scoped_restore_current_traceframe): New.
2782         * infrun.c (fetch_inferior_event): Use
2783         scoped_restore_current_traceframe.
2784
2785 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
2786
2787         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
2788         Remove.
2789         <n_allocated_type_units>: Remove.
2790         <all_type_units>: Change to std::vector.
2791         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
2792         to std::vector change.
2793         (dwarf2_per_objfile::get_cutu): Likewise.
2794         (dwarf2_per_objfile::get_tu): Likewise.
2795         (create_signatured_type_table_from_index): Likewise.
2796         (create_signatured_type_table_from_debug_names): Likewise.
2797         (dw2_symtab_iter_next): Likewise.
2798         (dw2_print_stats): Likewise.
2799         (dw2_expand_all_symtabs): Likewise.
2800         (dw2_expand_marked_cus): Likewise.
2801         (dw2_debug_names_iterator::next): Likewise.
2802         (dwarf2_initialize_objfile): Likewise.
2803         (add_signatured_type_cu_to_table): Likewise.
2804         (create_all_type_units): Likewise.
2805         (add_type_unit): Likewise.
2806         (struct tu_abbrev_offset): Add constructor.
2807         (build_type_psymtabs_1): Adjust to std::vector change.
2808         (print_tu_stats): Likewise.
2809         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
2810         (write_debug_names): Likewise.
2811
2812 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
2813
2814         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
2815         Make an std::vector.
2816         <n_comp_units>: Remove.
2817         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
2818         to std::vector change.
2819         (dwarf2_per_objfile::get_cutu): Likewise.
2820         (dwarf2_per_objfile::get_cu): Likewise.
2821         (create_cus_from_index): Likewise.
2822         (create_addrmap_from_index): Likewise.
2823         (create_addrmap_from_aranges): Likewise.
2824         (dwarf2_read_index): Likewise.
2825         (dw2_find_last_source_symtab): Likewise.
2826         (dw2_map_symtabs_matching_filename): Likewise.
2827         (dw2_symtab_iter_next): Likewise.
2828         (dw2_print_stats): Likewise.
2829         (dw2_expand_all_symtabs): Likewise.
2830         (dw2_expand_symtabs_with_fullname): Likewise.
2831         (dw2_expand_marked_cus): Likewise.
2832         (dw2_map_symbol_filenames): Likewise.
2833         (create_cus_from_debug_names): Likewise.
2834         (dwarf2_read_debug_names): Likewise.
2835         (dw2_debug_names_iterator::next): Likewise.
2836         (dwarf2_initialize_objfile): Likewise.
2837         (set_partial_user): Likewise.
2838         (dwarf2_build_psymtabs_hard): Likewise.
2839         (read_comp_units_from_section): Remove arguments, adjust to
2840         std::vector change.
2841         (create_all_comp_units): Adjust to std::vector and
2842         read_comp_units_from_section changes.
2843         (dwarf2_find_containing_comp_unit): Adjust to std::vector
2844         change.
2845         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
2846         (psyms_seen_size): Likewise.
2847         (write_gdbindex): Likewise.
2848         (write_debug_names): Likewise.
2849
2850 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
2851
2852         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
2853         with dwarf2_per_objfile.
2854         (create_cus_from_index): Likewise.
2855         (create_signatured_type_table_from_index): Likewise.
2856         (dwarf2_read_index): Likewise.
2857         (dwarf2_initialize_objfile): Likewise.
2858         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
2859         per_cu rather than get_dwarf2_per_objfile.
2860
2861 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
2862
2863         * dwarf2read.h (struct signatured_type): Forward declare.
2864         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
2865         New methods.
2866         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
2867         (dw2_get_cutu): ...this.
2868         (dwarf2_per_objfile::get_cu): Rename from...
2869         (dw2_get_cu): ...this.
2870         (dwarf2_per_objfile::get_tu): New.
2871         (create_addrmap_from_index): Adjust.
2872         (create_addrmap_from_aranges): Adjust.
2873         (dw2_find_last_source_symtab): Adjust.
2874         (dw2_map_symtabs_matching_filename): Adjust.
2875         (dw2_symtab_iter_next): Adjust.
2876         (dw2_print_stats): Adjust.
2877         (dw2_expand_all_symtabs): Adjust.
2878         (dw2_expand_symtabs_with_fullname): Adjust.
2879         (dw2_expand_marked_cus): Adjust.
2880         (dw_expand_symtabs_matching_file_matcher): Adjust.
2881         (dw2_map_symbol_filenames): Adjust.
2882         (dw2_debug_names_iterator::next): Adjust.
2883         (dwarf2_initialize_objfile): Adjust.
2884         (set_partial_user): Adjust.
2885         (dwarf2_build_psymtabs_hard): Adjust.
2886
2887 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
2888
2889         * dwarf2read.c (create_signatured_type_table_from_debug_names):
2890         Remove unused variables.
2891         (dw2_map_symtabs_matching_filename): Likewise.
2892         (dwarf2_record_block_ranges): Likewise.
2893         (dwarf2_read_addr_index): Likewise.
2894         (follow_die_offset): Likewise.
2895
2896 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
2897
2898         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
2899         to symbol_file_add_main.
2900
2901 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
2902
2903         PR mi/22299
2904         * mi/mi-console.c (do_fputc_async_safe): New.
2905         (mi_console_file::write_async_safe): New.
2906         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
2907         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
2908         New.
2909         * ui-file.c (ui_file::putstrn): Adjust call to
2910         fputstrn_unfiltered.
2911         * utils.c (printchar): Replace do_fputs and do_fprintf
2912         parameters by do_fputc.
2913         (fputstr_filtered): Adjust call to printchar.
2914         (fputstr_unfiltered): Likewise.
2915         (fputstrn_filtered): Likewise.
2916         (fputstrn_unfiltered): Add do_fputc parameter, pass to
2917         printchar.
2918         * utils.h (do_fputc_ftype): New typedef.
2919         (fputstrn_unfiltered): Add do_fputc parameter.
2920
2921 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
2922
2923         * regformats/i386/i386-avx.dat: Remove.
2924
2925 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
2926
2927         PR gdb/22979
2928         * amd64-tdep.c (amd64_none_init_abi): New function.
2929         (amd64_x32_none_init_abi): New function.
2930         (_initialize_amd64_tdep): Register handlers for x86-64 and
2931         x64_32 with GDB_OSABI_NONE.
2932         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
2933         GDB_OSABI_NONE osabi.
2934
2935 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
2936
2937         PR gdb/22980
2938         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
2939         GDB_OSABI_NONE.
2940         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
2941         * osabi.c (gdb_osabi_names): Add "unknown" entry.
2942
2943 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
2944
2945         * common/byte-vector.h (char_vector): New type.
2946         * target.h (target_read_alloc): Return
2947         gdb::optional<byte_vector>.
2948         (target_read_stralloc): Return gdb::optional<char_vector>.
2949         (target_get_osdata): Return gdb::optional<char_vector>.
2950         * target.c (target_read_alloc_1): Templatize.  Replacement
2951         manual memory management with vector.
2952         (target_read_alloc): Change return type, adjust.
2953         (target_read_stralloc): Change return type, adjust.
2954         (target_get_osdata): Change return type, adjust.
2955         * auxv.c (struct auxv_info) <length>: Remove.
2956         <data>: Change type to gdb::optional<byte_vector>.
2957         (auxv_inferior_data_cleanup): Free auxv_info with delete.
2958         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
2959         (target_auxv_search): Adjust.
2960         (fprint_target_auxv): Adjust.
2961         * avr-tdep.c (avr_io_reg_read_command): Adjust.
2962         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
2963         (linux_make_corefile_notes): Adjust.
2964         * osdata.c (get_osdata): Adjust.
2965         * remote.c (remote_get_threads_with_qxfer): Adjust.
2966         (remote_memory_map): Adjust.
2967         (remote_traceframe_info): Adjust.
2968         (btrace_read_config): Adjust.
2969         (remote_read_btrace): Adjust.
2970         (remote_pid_to_exec_file): Adjust.
2971         * solib-aix.c (solib_aix_get_library_list): Adjust.
2972         * solib-dsbt.c (decode_loadmap): Don't free buf.
2973         (dsbt_get_initial_loadmaps): Adjust.
2974         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
2975         * solib-target.c (solib_target_current_sos): Adjust.
2976         * tracepoint.c (sdata_make_value): Adjust.
2977         * xml-support.c (xinclude_start_include): Adjust.
2978         (xml_fetch_content_from_file): Adjust.
2979         * xml-support.h (xml_fetch_another): Change return type.
2980         (xml_fetch_content_from_file): Change return type.
2981         * xml-syscall.c (xml_init_syscalls_info): Adjust.
2982         * xml-tdesc.c (file_read_description_xml): Adjust.
2983         (fetch_available_features_from_target): Change return type.
2984         (target_fetch_description_xml): Adjust.
2985         (target_read_description_xml): Adjust.
2986
2987 2018-04-06  Tom Tromey  <tom@tromey.com>
2988
2989         * value.c (~value): Update.
2990         (struct value) <contents>: Now unique_xmalloc_ptr.
2991         (value_contents_bits_eq, allocate_value_contents)
2992         (value_contents_raw, value_contents_all_raw)
2993         (value_contents_for_printing, value_contents_for_printing_const)
2994         (set_value_enclosing_type): Update.
2995
2996 2018-04-06  Tom Tromey  <tom@tromey.com>
2997
2998         * value.c (range_s): Remove typedef, VEC.
2999         (struct range): Add operator<.
3000         (range_lessthan): Remove.
3001         (ranges_contain): Change type.
3002         (~value): Update.
3003         (struct value) <unavailable, optimized_out>: Now std::vector.
3004         (value_entirely_available)
3005         (value_entirely_covered_by_range_vector)
3006         (value_entirely_unavailable, value_entirely_optimized_out):
3007         Update.
3008         (insert_into_bit_range_vector): Change argument type.
3009         (find_first_range_overlap): Likewise.
3010         (struct ranges_and_idx, value_contents_bits_eq)
3011         (require_not_optimized_out, require_available): Update.
3012         (ranges_copy_adjusted): Change argument types.
3013         (value_optimized_out, value_copy, value_fetch_lazy): Update.
3014
3015 2018-04-06  Tom Tromey  <tom@tromey.com>
3016
3017         * value.c (~value): Update.
3018         (struct value) <parent>: Now a value_ref_ptr.
3019         (value_parent, set_value_parent, value_address, value_copy):
3020         Update.
3021
3022 2018-04-06  Tom Tromey  <tom@tromey.com>
3023
3024         * value.c (struct value): Add constructor, destructor, and member
3025         initializers.
3026         (allocate_value_lazy, value_decref): Update.
3027
3028 2018-04-06  Tom Tromey  <tom@tromey.com>
3029
3030         * value.c (struct value) <released, next>: Remove.
3031         (all_values): Now a std::vector.
3032         (allocate_value_lazy): Update.
3033         (value_next): Remove.
3034         (value_mark, value_free_to_mark, release_value)
3035         (value_release_to_mark): Update.
3036
3037 2018-04-06  Tom Tromey  <tom@tromey.com>
3038
3039         * value.h (fetch_subexp_value, value_release_to_mark): Update.
3040         (free_value_chain): Remove.
3041         * value.c (free_value_chain): Remove.
3042         (value_release_to_mark): Return a std::vector.
3043         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
3044         std::vector.
3045         (check_condition): Update.
3046         * eval.c (fetch_subexp_value): Change "val_chain" to a
3047         std::vector.
3048         * breakpoint.c (update_watchpoint): Update.
3049         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
3050
3051 2018-04-06  Tom Tromey  <tom@tromey.com>
3052
3053         * value.h (free_all_values): Remove.
3054         * value.c (free_all_values): Remove.
3055
3056 2018-04-06  Tom Tromey  <tom@tromey.com>
3057
3058         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
3059         (value_history_chain, value_history_count): Remove.
3060         (value_history): New global.
3061         (record_latest_value, access_value_history, show_values)
3062         (preserve_values): Update.
3063
3064 2018-04-06  Tom Tromey  <tom@tromey.com>
3065
3066         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
3067         * varobj.c (varobj_set_display_format, varobj_set_value)
3068         (install_default_visualizer, construct_visualizer)
3069         (install_new_value, ~varobj, varobj_get_value_type)
3070         (my_value_of_variable, varobj_editable_p): Update.
3071         * c-varobj.c (c_describe_child, c_value_of_variable)
3072         (cplus_number_of_children, cplus_describe_child): Update.
3073         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
3074         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
3075         (ada_value_of_variable, ada_value_is_changeable_p): Update.
3076
3077 2018-04-06  Tom Tromey  <tom@tromey.com>
3078
3079         * printcmd.c (last_examine_address): Change type to
3080         value_ref_ptr.
3081         (do_examine, x_command): Update.
3082
3083 2018-04-06  Tom Tromey  <tom@tromey.com>
3084
3085         * value.c (release_value): Update.
3086         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
3087         (struct bpstats) <val>: Now a value_ref_ptr.
3088         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
3089         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
3090         (~watchpoint, print_it_watchpoint, watch_command_1)
3091         (invalidate_bp_value_on_memory_change): Update.
3092
3093 2018-04-06  Tom Tromey  <tom@tromey.com>
3094
3095         * varobj.c (varobj_clear_saved_item)
3096         (update_dynamic_varobj_children, install_new_value, ~varobj):
3097         Update.
3098         * value.h (value_incref): Move declaration earlier.
3099         (value_decref): Rename from value_free.
3100         (struct value_ref_policy): New.
3101         (value_ref_ptr): New typedef.
3102         (struct value_deleter): Remove.
3103         (gdb_value_up): Remove typedef.
3104         (release_value): Change return type.
3105         (release_value_or_incref): Remove.
3106         * value.c (set_value_parent): Update.
3107         (value_incref): Change return type.
3108         (value_decref): Rename from value_free.
3109         (value_free_to_mark, free_all_values, free_value_chain): Update.
3110         (release_value): Return value_ref_ptr.
3111         (release_value_or_incref): Remove.
3112         (record_latest_value, set_internalvar, clear_internalvar):
3113         Update.
3114         * stack.c (info_frame_command): Don't call value_free.
3115         * python/py-value.c (valpy_dealloc, valpy_new)
3116         (value_to_value_object): Update.
3117         * printcmd.c (do_examine): Update.
3118         * opencl-lang.c (lval_func_free_closure): Update.
3119         * mi/mi-main.c (register_changed_p): Don't call value_free.
3120         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
3121         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
3122         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
3123         value_free.
3124         * guile/scm-value.c (vlscm_free_value_smob)
3125         (vlscm_scm_from_value): Update.
3126         * frame.c (frame_register_unwind, frame_unwind_register_signed)
3127         (frame_unwind_register_unsigned, get_frame_register_bytes)
3128         (put_frame_register_bytes): Don't call value_free.
3129         * findvar.c (address_from_register): Don't call value_free.
3130         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
3131         * dwarf2loc.c (entry_data_value_free_closure)
3132         (value_of_dwarf_reg_entry, free_pieced_value_closure)
3133         (dwarf2_evaluate_loc_desc_full): Update.
3134         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
3135         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
3136         (~watchpoint, watch_command_1)
3137         (invalidate_bp_value_on_memory_change): Update.
3138         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
3139
3140 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
3141
3142         PR gdb/23022
3143         * warning.m4: Add -Wno-error=deprecated-register.
3144         * configure: Re-generate.
3145
3146 2018-04-05  Tom Tromey  <tom@tromey.com>
3147
3148         * linespec.h: Remove include of "vec.h".
3149
3150 2018-04-05  Tom Tromey  <tom@tromey.com>
3151
3152         * linespec.c (typep): Remove typedef.
3153         (find_methods, find_superclass_methods): Take a std::vector.
3154         (find_method): Use std::vector.
3155
3156 2018-04-05  Tom Tromey  <tom@tromey.com>
3157
3158         * utils.c (compare_strings): Remove.
3159         * utils.h (compare_strings): Remove.
3160         * objc-lang.h (find_imps): Update.
3161         * objc-lang.c (find_methods): Take a std::vector.
3162         (uniquify_strings, find_imps): Likewise.
3163         * linespec.c (find_methods): Take a std::vector.
3164         (decode_objc): Use std::vector.
3165         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
3166         a std::vector.
3167         (find_method, find_function_symbols): Use std::vector.
3168
3169 2018-04-05  Tom Tromey  <tom@tromey.com>
3170
3171         * completer.c (completion_tracker::completion_tracker): Remove
3172         cast.
3173         (completion_tracker::discard_completions): Likewise.
3174         * breakpoint.c (ambiguous_names_p): Remove cast.
3175         * ada-lang.c (_initialize_ada_language): Remove cast.
3176         * utils.h (streq): Update.
3177         (streq_hash): Add new declaration.
3178         * utils.c (streq): Return bool.
3179         (streq_hash): New function.
3180
3181 2018-04-05  Tom Tromey  <tom@tromey.com>
3182
3183         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
3184         Remove a string copy.
3185
3186 2018-04-05  Tom Tromey  <tom@tromey.com>
3187
3188         * linespec.c (filter_results): Use std::vector.
3189         (decode_line_2, decode_line_full): Update.
3190
3191 2018-04-05  Tom Tromey  <tom@tromey.com>
3192
3193         * linespec.c (canonical_to_fullform): Return std::string.
3194         (filter_results): Update.
3195         (struct decode_line_2_item): Add constructor.
3196         <fullform, displayform>: Now std::string.
3197         (decode_line_2_compare_items): Now a std::sort comparator.
3198         (decode_line_2): Update.
3199
3200 2018-04-05  Tom Tromey  <tom@tromey.com>
3201
3202         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
3203         (unexpected_linespec_error): Update.
3204         (linespec_parse_basic, parse_linespec): Update.
3205
3206 2018-04-05  Tom Tromey  <tom@tromey.com>
3207
3208         * linespec.c (linespec_parse_basic): Reindent.
3209
3210 2018-04-05  Tom Tromey  <tom@tromey.com>
3211
3212         * minsyms.h (iterate_over_minimal_symbols): Update.
3213         * minsyms.c (iterate_over_minimal_symbols): Take a
3214         gdb::function_view.
3215         * linespec.c (struct collect_minsyms): Remove.
3216         (compare_msyms): Now a std::sort comparator.
3217         (add_minsym): Add parameters.
3218         (search_minsyms_for_name): Update.  Use std::vector.
3219
3220 2018-04-03  Tom Tromey  <tom@tromey.com>
3221
3222         * mipsread.c (read_alphacoff_dynamic_symtab): Use
3223         gdb::byte_vector.
3224
3225 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
3226
3227         * MAINTAINERS (Write After Approval): Add Weimin Pan.
3228
3229 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
3230
3231         PR gdb/16959
3232         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
3233         printing static type.
3234
3235 2018-04-01  Tom Tromey  <tom@tromey.com>
3236
3237         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
3238         (rs6000_xfer_shared_libraries): Update.
3239
3240 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
3241
3242         * common/gdb_vecs.h (char_ptr): Remove.
3243         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
3244
3245 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
3246
3247         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
3248         with std::vector.
3249         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
3250
3251 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
3252
3253         * tracepoint.h (struct uploaded_tp): Initialize fields.
3254         <actions, step_actions, cmd_strings>: Change type to
3255         std::vector<char *>.
3256         * tracepoint.c (get_uploaded_tp): Allocate with new.
3257         (free_uploaded_tps): Free with delete.
3258         (parse_tracepoint_definition): Adjust to std::vector change.
3259         * breakpoint.c (read_uploaded_action): Likewise.
3260         (create_tracepoint_from_upload): Likewise.
3261         * ctf.c (ctf_write_uploaded_tp): Likewise.
3262         (SET_ARRAY_FIELD): Likewise.
3263         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
3264
3265 2018-03-30  Tom Tromey  <tom@tromey.com>
3266
3267         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
3268         std::unique_ptr.
3269         (svr4_keep_data_in_core): Update.
3270         (svr4_read_so_list): Update.
3271
3272 2018-03-30  Tom Tromey  <tom@tromey.com>
3273
3274         * windows-nat.c (handle_output_debug_string, handle_exception):
3275         Update.
3276         * target.h (target_read_string): Update.
3277         * target.c (target_read_string): Change "string" to
3278         unique_xmalloc_ptr.
3279         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
3280         Update.
3281         * solib-frv.c (frv_current_sos): Update.
3282         * solib-dsbt.c (dsbt_current_sos): Update.
3283         * solib-darwin.c (darwin_current_sos): Update.
3284         * linux-thread-db.c (inferior_has_bug): Update.
3285         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
3286         Update.  Remove alloca.
3287         * ada-lang.c (ada_main_name): Update.
3288
3289 2018-03-30  Tom Tromey  <tom@tromey.com>
3290
3291         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
3292         (struct dwo_file_deleter): New.
3293         (dwo_file_up): New typedef.
3294         (open_and_init_dwo_file): Use dwo_file_up.
3295         (free_dwo_file_cleanup): Remove.
3296
3297 2018-03-30  Tom Tromey  <tom@tromey.com>
3298
3299         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
3300         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
3301
3302 2018-03-30  Tom Tromey  <tom@tromey.com>
3303
3304         * dwarf2read.c (class free_cached_comp_units): New class.
3305         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
3306         (free_cached_comp_units): Remove function.
3307
3308 2018-03-30  Tom Tromey  <tom@tromey.com>
3309
3310         * utils.h (make_cleanup_unpush_target): Remove.
3311         * inf-ptrace.c (struct target_unpusher): New.
3312         (target_unpush_up) New typedef.
3313         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
3314         target_unpush_up.
3315         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
3316
3317 2018-03-27  Tom Tromey  <tom@tromey.com>
3318
3319         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
3320
3321 2018-03-27  Pedro Alves  <palves@redhat.com>
3322             Tom Tromey  <tom@tromey.com>
3323
3324         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
3325         destructor.  Now a class.
3326         (gdb_readline_wrapper_cleanup): Remove function.
3327         (gdb_readline_wrapper): Remove cleanups.
3328
3329 2018-03-27  Tom Tromey  <tom@tromey.com>
3330
3331         * typeprint.h (struct type_print_options) <local_typedefs,
3332         global_typedefs>: Remove "struct" keyword.
3333         (class typedef_hash_table): New class.
3334         (recursively_update_typedef_hash, add_template_parameters)
3335         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
3336         (find_typedef_in_hash): Don't declare.
3337         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
3338         (typedef_hash_table::recursively_update): Rename from
3339         recursively_update_typedef_hash.  Now a member.
3340         (typedef_hash_table::add_template_parameters): Rename from
3341         add_template_parameters.  Now a member.
3342         (typedef_hash_table::typedef_hash_table): Now a constructor;
3343         rename from create_typedef_hash.
3344         (typedef_hash_table::~typedef_hash_table): Now a destructor;
3345         rename from free_typedef_hash.
3346         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
3347         (do_free_global_table): Remove.
3348         (typedef_hash_table::typedef_hash_table): New constructor; renamed
3349         from copy_type_recursive.
3350         (create_global_typedef_table): Remove.
3351         (typedef_hash_table::find_global_typedef): Now a member of
3352         typedef_hash_table.
3353         (typedef_hash_table::find_typedef): Rename from
3354         find_typedef_in_hash; now a member.
3355         (whatis_exp): Update.
3356         * extension.h (struct ext_lang_type_printers): Add constructor and
3357         destructor.
3358         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
3359         declare.
3360         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
3361         Now a constructor; rename from start_ext_lang_type_printers.
3362         (ext_lang_type_printers): Now a destructor; rename from
3363         free_ext_lang_type_printers.
3364         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
3365         Update.
3366         (c_type_print_base_struct_union): Update.  Remove cleanups.
3367
3368 2018-03-27  Tom Tromey  <tom@tromey.com>
3369
3370         * dwarf-index-write.c: Include <cmath>.
3371
3372 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
3373
3374         * NEWS: Add entry describing new "set|show varsize-limit" command.
3375         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
3376         command.
3377         * printcmd.c (_initialize_printcmd): Add "set var" alias of
3378         "set variable".
3379
3380 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
3381
3382         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
3383         dwarf-index-write.c
3384         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
3385         * dwarf-index-common.c: New file.
3386         * dwarf-index-common.h: New file.
3387         * dwarf-index-write.c: New file.
3388         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
3389         (struct dwarf2_section_info): Move from here.
3390         (dwarf2_section_info_def): Likewise.
3391         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
3392         (offset_type): Likewise.
3393         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
3394         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
3395         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
3396         (byte_swap): Likewise.
3397         (MAYBE_SWAP): Likewise.
3398         (dwarf2_per_cu_ptr): Likewise.
3399         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
3400         (struct tu_stats): Likewise.
3401         (struct dwarf2_per_objfile): Likewise.
3402         (struct dwarf2_per_cu_data): Likewise.
3403         (struct signatured_type): Likewise.
3404         (sig_type_ptr): Likewise.
3405         (DEF_VEC_P (sig_type_ptr)): Likewise.
3406         (INDEX4_SUFFIX): Likewise.
3407         (INDEX5_SUFFIX): Likewise.
3408         (DEBUG_STR_SUFFIX): Likewise.
3409         (dwarf2_read_section): Make non-static.
3410         (mapped_index_string_hash): Move from here.
3411         (dwarf5_djb_hash): Likewise.
3412         (file_write): Likewise.
3413         (class data_buf): Likewise.
3414         (struct symtab_index_entry): Likewise.
3415         (struct mapped_symtab): Likewise.
3416         (find_slot): Likewise.
3417         (hash_expand): Likewise.
3418         (add_index_entry): Likewise.
3419         (uniquify_cu_indices): Likewise.
3420         (class c_str_view): Likewise.
3421         (class c_str_view_hasher): Likewise.
3422         (class vector_hasher): Likewise.
3423         (write_hash_table): Likewise.
3424         (psym_index_map): Likewise.
3425         (struct addrmap_index_data): Likewise.
3426         (add_address_entry): Likewise.
3427         (add_address_entry_worker): Likewise.
3428         (write_address_map): Likewise.
3429         (symbol_kind): Likewise.
3430         (write_psymbols): Likewise.
3431         (struct signatured_type_index_data): Likewise.
3432         (write_one_signatured_type): Likewise.
3433         (recursively_count_psymbols): Likewise.
3434         (recursively_write_psymbols): Likewise.
3435         (class debug_names): Likewise.
3436         (check_dwarf64_offsets): Likewise.
3437         (psyms_seen_size): Likewise.
3438         (write_gdbindex): Likewise.
3439         (write_debug_names): Likewise.
3440         (assert_file_size): Likewise.
3441         (write_psymtabs_to_index): Likewise.
3442         (save_gdb_index_command): Likewise.
3443         (_initialize_dwarf2_read): Don't register the "save gdb-index"
3444         command.
3445         * dwarf2read.h: New file.
3446
3447 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
3448
3449         PR gdb/22670
3450         * dwarf2read.c (dwarf2_physname): Do not return the demangled
3451         symbol name if the CU's language stores symbol names in linkage
3452         format.
3453         * language.h (struct language_defn)
3454         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
3455         all instances of this struct.
3456
3457 2018-03-26  Tom Tromey  <tom@tromey.com>
3458
3459         * stack.c (backtrace_command_1): Remove verbose code.
3460
3461 2018-03-26  Tom Tromey  <tom@tromey.com>
3462
3463         * python/py-framefilter.c (py_print_type): Don't catch
3464         exceptions.  Return void.
3465         (py_print_value): Likewise.
3466         (py_print_single_arg): Likewise.
3467         (enumerate_args): Don't catch exceptions.
3468         (py_print_args): Likewise.
3469         (py_print_frame): Likewise.
3470         (gdbpy_apply_frame_filter): Catch exceptions here.
3471
3472 2018-03-26  Tom Tromey  <tom@tromey.com>
3473
3474         * stack.c (_initialize_stack): Remove trailing newlines from help
3475         text.  Add "Usage" line to "backtrace" help.
3476
3477 2018-03-26  Tom Tromey  <tom@tromey.com>
3478
3479         PR python/16486:
3480         * python/py-framefilter.c (py_print_args): Call wrap_hint.
3481
3482 2018-03-26  Tom Tromey  <tom@tromey.com>
3483
3484         * python/py-framefilter.c (py_print_single_arg): Return
3485         EXT_LANG_BT_ERROR from catch.
3486
3487 2018-03-26  Tom Tromey  <tom@tromey.com>
3488
3489         PR backtrace/15584:
3490         * stack.c (backtrace_command_1): Move some code into no-filters
3491         "if".
3492
3493 2018-03-26  Tom Tromey  <tom@tromey.com>
3494
3495         * python/py-framefilter.c (throw_quit_or_print_exception): New
3496         function.
3497         (gdbpy_apply_frame_filter): Use it.
3498
3499 2018-03-26  Tom Tromey  <tom@tromey.com>
3500
3501         PR cli/17716:
3502         * python/py-framefilter.c (py_print_type, py_print_value)
3503         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
3504         RETURN_MASK_ERROR.
3505
3506 2018-03-26  Tom Tromey  <tom@tromey.com>
3507
3508         * python/py-framefilter.c (enumerate_args): Use
3509         gdb::unique_xmalloc_ptr.
3510
3511 2018-03-26  Tom Tromey  <tom@tromey.com>
3512
3513         * python/py-framefilter.c (py_print_frame): Return
3514         EXT_LANG_BT_OK.
3515         (gdbpy_apply_frame_filter): Update comment.
3516         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
3517         Remove.
3518         <EXT_LANG_BT_NO_FILTERS>: Change value.
3519
3520 2018-03-26  Tom Tromey  <tom@tromey.com>
3521
3522         PR backtrace/15582:
3523         * stack.c (backtrace_command): Parse "hide" argument.
3524         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
3525         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
3526         constant.
3527
3528 2018-03-26  Tom Tromey  <tom@tromey.com>
3529
3530         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
3531         add "flags".
3532         (backtrace_command): Remove "fulltrace", add "flags".
3533
3534 2018-03-26  Tom Tromey  <tom@tromey.com>
3535
3536         * stack.c (backtrace_command): Rewrite command line parsing.
3537
3538 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
3539
3540         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
3541
3542 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
3543
3544         * filename-seen-cache.h: Add include guard.
3545
3546 2018-03-26  Keith Seitz  <keiths@redhat.com>
3547
3548         * symfile.c (place_section): Remove "struct" from section_addr_info
3549         in comment.
3550         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
3551         "struct" keyword from section_addr_info.
3552
3553 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
3554
3555         * regformats/regdef.h (reg): Add constructors.
3556
3557 2018-03-25  Pedro Alves  <palves@redhat.com>
3558
3559         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
3560         if then/else bodies in var_func_name extraction.
3561
3562 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
3563
3564         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
3565         lookup_minimal_symbol() to find symbol entry.
3566         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
3567
3568 2018-03-23  Keith Seitz  <keiths@redhat.com>
3569
3570         PR c++/22968
3571         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
3572         nested type definitions for C++, too.
3573
3574 2018-03-23  Tom Tromey  <tom@tromey.com>
3575
3576         * machoread.c (struct oso_el): Add a constructor.  Don't define as
3577         a typedef.
3578         (macho_register_oso): Remove.
3579         (macho_symtab_read): Take a std::vector.
3580         (oso_el_compare_name): Now a std::sort comparator.
3581         (macho_symfile_read_all_oso): Take a std::vector.
3582         (macho_symfile_read): Use std::vector.  Remove cleanups.
3583
3584 2018-03-22  Tom Tromey  <tom@tromey.com>
3585
3586         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
3587         (record_full_goto_bookmark): Use std::string.
3588
3589 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3590
3591         PR tdep/18295
3592         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
3593         a single mask.
3594
3595 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3596
3597         * rs6000-tdep.c (store_insn_p): New function.
3598         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
3599         and cr_reg to their unshifted values. Use store_insn_p to
3600         match LR saves using either R1 or fdata->alloca_reg. Use
3601         store_insn_p to match CR saves. Set alloca_reg_offset
3602         when alloca_reg and framep are set. Remove lr_reg shift
3603         when assigning to fdata->lr_register.
3604
3605 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3606
3607         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
3608         command line args instead of emitting a warning.
3609
3610 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
3611
3612         * tracepoint.h (struct static_tracepoint_marker): Initialize
3613         fields, define default constructor, move constructor and move
3614         assignment, disable the rest.
3615         <str_id, extra>: Make std::string.
3616         (release_static_tracepoint_marker): Remove.
3617         (free_current_marker): Remove.
3618         * tracepoint.c (free_current_marker): Remove.
3619         (parse_static_tracepoint_marker_definition): Adjust to
3620         std::string, use new hex2str overload.
3621         (release_static_tracepoint_marker): Remove.
3622         (print_one_static_tracepoint_marker): Get marker by reference
3623         and adjust to std::string.
3624         (info_static_tracepoint_markers_command): Adjust to std::vector
3625         changes
3626         * target.h (static_tracepoint_marker_p): Remove typedef.
3627         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
3628         (struct target_ops) <to_static_tracepoint_marker_at>: Return
3629         bool.
3630         <to_static_tracepoint_markers_by_strid>: Return std::vector.
3631         * target-debug.h
3632         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
3633         (target_debug_print_std_vector_static_tracepoint_marker): New.
3634         (target_debug_print_struct_static_tracepoint_marker_p): Rename
3635         to...
3636         (target_debug_print_static_tracepoint_marker_p): ... this.
3637         * target-delegates.c: Re-generate.
3638         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
3639         Make std::string.
3640         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
3641         (decode_static_tracepoint_spec): Adjust to std::vector.
3642         (tracepoint_print_one_detail): Adjust to std::string.
3643         (strace_marker_decode_location): Adjust to std::string.
3644         (update_static_tracepoint): Adjust to std::string, remove call
3645         to release_static_tracepoint_marker.
3646         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
3647         Adjust to std::vector.
3648         * remote.c (remote_static_tracepoint_marker_at): Return bool.
3649         (remote_static_tracepoint_markers_by_strid): Adjust to
3650         std::vector.
3651         * common/rsp-low.h (hex2str): New overload with explicit count
3652         of bytes.
3653         * common/rsp-low.c (hex2str): New overload with explicit count
3654         of bytes.
3655         * unittests/rsp-low-selftests.c (test_hex2str): New function.
3656         (_initialize_rsp_low_selftests): Add test_hex2str test.
3657         * unittests/tracepoint-selftests.c
3658         (test_parse_static_tracepoint_marker_definition): Adjust to
3659         std::string.
3660
3661 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
3662
3663         * tracepoint.c (parse_static_tracepoint_marker_definition):
3664         Consider case where the definition is followed by more
3665         definitions.
3666         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
3667         tracepoint-selftests.c.
3668         * unittests/tracepoint-selftests.c: New.
3669
3670 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
3671
3672         * MAINTAINERS (Write After Approval): Add Pedro Franco de
3673         Carvalho.
3674
3675 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
3676
3677         * symtab.c (find_pc_sect_line): fixed indentation.
3678
3679 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
3680
3681         * symtab.c (find_pc_sect_line): now uses binary search.
3682
3683 2018-03-19  Tom Tromey  <tom@tromey.com>
3684
3685         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
3686         "IDENT" production.
3687
3688 2018-03-19  Pedro Alves  <palves@redhat.com>
3689             Tom Tromey  <tom@tromey.com>
3690
3691         * unittests/observable-selftests.c: New file.
3692         * common/observable.h: New file.
3693         * observable.h: New file.
3694         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
3695         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
3696         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
3697         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
3698         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
3699         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
3700         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
3701         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
3702         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
3703         python/py-breakpoint.c, python/py-finishbreakpoint.c,
3704         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
3705         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
3706         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
3707         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
3708         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
3709         tui/tui-interp.c, valops.c: Update all users.
3710         * tui/tui-hooks.c (tui_bp_created_observer)
3711         (tui_bp_deleted_observer, tui_bp_modified_observer)
3712         (tui_inferior_exit_observer, tui_before_prompt_observer)
3713         (tui_normal_stop_observer, tui_register_changed_observer):
3714         Remove.
3715         (tui_observers_token): New global.
3716         (attach_or_detach, tui_attach_detach_observers): New functions.
3717         (tui_install_hooks, tui_remove_hooks): Use
3718         tui_attach_detach_observers.
3719         * record-btrace.c (record_btrace_thread_observer): Remove.
3720         (record_btrace_thread_observer_token): New global.
3721         * observer.sh: Remove.
3722         * observer.c: Rename to observable.c.
3723         * observable.c (namespace gdb_observers): Define new objects.
3724         (observer_debug): Move into gdb_observers namespace.
3725         (struct observer, struct observer_list, xalloc_observer_list_node)
3726         (xfree_observer_list_node, generic_observer_attach)
3727         (generic_observer_detach, generic_observer_notify): Remove.
3728         (_initialize_observer): Update.
3729         Don't include observer.inc.
3730         * Makefile.in (generated_files): Remove observer.h, observer.inc.
3731         (clean mostlyclean): Likewise.
3732         (observer.h, observer.inc): Remove targets.
3733         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
3734         (COMMON_SFILES): Use observable.c, not observer.c.
3735         * .gitignore: Remove observer.h.
3736
3737 2018-03-18  Tom Tromey  <tom@tromey.com>
3738
3739         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
3740         gdb::def_vector.
3741         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
3742
3743 2018-03-17  Tom Tromey  <tom@tromey.com>
3744
3745         * auto-load.c (auto_load_objfile_script_1): Use std::string.
3746
3747 2018-03-17  Tom Tromey  <tom@tromey.com>
3748
3749         * target.c (class scoped_target_fd): New.
3750         (target_fileio_close_cleanup): Remove.
3751         (target_fileio_read_alloc_1): Use scoped_target_fd.
3752
3753 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
3754
3755         * silent-rules.mk: New.
3756         * Makefile.in: Include silent-rules.mk
3757         (srcdir, VPATH, top_srcdir): Move up.
3758         (COMPILE): Add ECHO_CXX.
3759         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
3760         (init.c): Add ECHO_INIT_C.
3761         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
3762         (version.c): Add ECHO_GEN.
3763         (printcmd.o): Add ECHO_CXX.
3764         (target-float.o): Add ECHO_CXX.
3765         (ada-exp.o): Add ECHO_CXX.
3766         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
3767         (insight$(EXEEXT)): Add ECHO_CXXLD.
3768         * gnulib/configure.ac: Add AM_SILENT_RULES.
3769         * gnulib/aclocal.m4: Re-generate.
3770         * gnulib/configure: Re-generate.
3771         * gnulib/import/Makefile.in: Re-generate.
3772
3773 2018-03-16  Tom Tromey  <tom@tromey.com>
3774
3775         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
3776         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
3777         * utils.c (do_free_section_addr_info)
3778         (make_cleanup_free_section_addr_info): Remove.
3779         * symfile.h (struct other_sections): Add constructor.
3780         (struct section_addr_info): Remove.
3781         (section_addr_info): New typedef.
3782         (struct sym_fns) <sym_offsets>: Change type of parameter.
3783         (build_section_addr_info_from_objfile)
3784         (relative_addr_info_to_section_offsets, addr_info_make_relative)
3785         (default_symfile_offsets, symbol_file_add)
3786         (symbol_file_add_from_bfd)
3787         (build_section_addr_info_from_section_table): Update.
3788         (alloc_section_addr_info, free_section_addr_info): Don't declare.
3789         * symfile.c (alloc_section_addr_info): Remove.
3790         (build_section_addr_info_from_section_table): Change return type.
3791         Update.
3792         (build_section_addr_info_from_bfd)
3793         (build_section_addr_info_from_objfile): Likewise.
3794         (free_section_addr_info): Remove.
3795         (relative_addr_info_to_section_offsets): Change type of "addrs".
3796         (addrs_section_compar): Now a std::sort comparator.
3797         (addrs_section_sort): Change return type.
3798         (addr_info_make_relative): Change type of "addrs".  Update.
3799         (default_symfile_offsets, syms_from_objfile_1)
3800         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
3801         (symbol_file_add_separate): Update.
3802         (symbol_file_add): Change type of "addrs".  Update.
3803         (add_symbol_file_command): Update.  Remove cleanups.
3804         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
3805         cleanups.
3806         * symfile-debug.c (debug_sym_offsets): Change type of "info".
3807         * solib.c (solib_read_symbols): Update.
3808         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
3809         * machoread.c (macho_symfile_offsets): Update.
3810         * jit.c (jit_bfd_try_read_symtab): Update.
3811
3812 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
3813
3814         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
3815         unittests/utils-selftests.c.
3816         * unittests/utils-selftests.c: New file.
3817
3818 2018-03-14  Tom Tromey  <tom@tromey.com>
3819
3820         PR cli/14977:
3821         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
3822         for NULL.
3823
3824 2018-03-14  Tom Tromey  <tom@tromey.com>
3825
3826         PR cli/19918:
3827         * printcmd.c (printf_pointer): Allow "-" in format.
3828
3829 2018-03-14  Tom Tromey  <tom@tromey.com>
3830
3831         * printcmd.c (_initialize_printcmd): Add usage to printf.
3832
3833 2018-03-14  Yao Qi  <qiyao@sourceware.org>
3834
3835         * MAINTAINERS: Update my email address.
3836
3837 2018-03-13  Tom Tromey  <tom@tromey.com>
3838
3839         * machoread.c (macho_check_dsym): Change filenamep to a
3840         std::string*.
3841         (macho_symfile_read): Update.
3842         * symfile.c (load_command): Use std::string.
3843
3844 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
3845
3846         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
3847         to error message string.
3848         (riscv_register_name): Use xsnprintf instead of sprintf.
3849         (riscv_insn::fetch_instruction): Use gdb_assert instead of
3850         internal_error.
3851         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
3852         error.
3853         (riscv_push_dummy_call): Likewise.
3854
3855 2018-03-12  Tom Tromey  <tom@tromey.com>
3856
3857         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
3858         Use gdb::byte_vector.
3859         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
3860
3861 2018-03-12  Yao Qi  <yao.qi@linaro.org>
3862
3863         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
3864         parameter type to readable_regcache.
3865         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
3866         the declaration.
3867
3868 2018-03-11  Tom Tromey  <tom@tromey.com>
3869
3870         * dwarf2read.c (struct nextfield): Add initializers.
3871         (struct nextfnfield): Remove.
3872         (struct fnfieldlist): Add initializers.  Remove "length" and
3873         "head", use std::vector.
3874         (struct decl_field_list): Remove.
3875         (struct field_info): Add initializers.
3876         <fields, baseclasses>: Now std::vector.
3877         <nbaseclasses, nfnfields, typedef_field_list_count,
3878         nested_types_list_count>: Remove.
3879         (dwarf2_add_field, dwarf2_add_type_defn)
3880         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
3881         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
3882         (process_structure_scope): Update.
3883
3884 2018-03-11  Tom Tromey  <tom@tromey.com>
3885
3886         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
3887         for use by std::sort.
3888         (build_type_psymtabs_1): Use std::vector.
3889
3890 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
3891
3892         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
3893         and LIBMPFR in the printed configuration.
3894
3895 2018-03-08  Tom Tromey  <tom@tromey.com>
3896
3897         * source.c (get_filename_and_charpos): Use scoped_fd.
3898         * nto-procfs.c (procfs_open_1): Use scoped_fd.
3899         (procfs_pidlist): Likewise.
3900         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
3901         (iterate_over_mappings): Likewise.
3902
3903 2018-03-08  Tom Tromey  <tom@tromey.com>
3904
3905         * infcall.c (struct call_return_meta_info)
3906         <stack_temporaries_enabled>: Remove.
3907         (get_call_return_value, call_function_by_hand_dummy): Update.
3908         * thread.c (disable_thread_stack_temporaries): Remove.
3909         (enable_thread_stack_temporaries): Remove.
3910         (thread_stack_temporaries_enabled_p): Return bool.
3911         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
3912         (get_last_thread_stack_temporary): Update.
3913         * eval.c (evaluate_subexp): Update.
3914         * gdbthread.h (class enable_thread_stack_temporaries): Now a
3915         class, not a function.
3916         (value_ptr, value_vec): Remove typedefs.
3917         (class thread_info) <stack_temporaries_enabled>: Now bool.
3918         <stack_temporaries>: Now a std::vector.
3919         (thread_stack_temporaries_enabled_p)
3920         (value_in_thread_stack_temporaries): Return bool.
3921
3922 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
3923
3924         * remote.c (putpkt_binary): Fix omitted bytes reporting.
3925         (getpkt_or_notif_sane_1): Likewise.
3926
3927 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
3928
3929         * build-id.c (build_id_to_debug_bfd): Use std::string.
3930
3931 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
3932
3933         * build-id.c (find_separate_debug_file_by_buildid): Return
3934         std::string.
3935         * build-id.h (find_separate_debug_file_by_buildid): Return
3936         std::string.
3937         * coffread.c (coff_symfile_read): Adjust to std::string.
3938         * elfread.c (elf_symfile_read): Adjust to std::string.
3939         * symfile.c (separate_debug_file_exists): Change parameter to
3940         std::string.
3941         (find_separate_debug_file): Return std::string.
3942         (find_separate_debug_file_by_debuglink): Return std::string.
3943         * symfile.h (find_separate_debug_file_by_debuglink): Return
3944         std::string.
3945
3946 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
3947
3948         * common/xml-utils.c (xml_escape_text): Move code to...
3949         (xml_escape_text_append): ... this new function.
3950         * common/xml-utils.h (xml_escape_text_append): New declaration.
3951         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
3952         New function.
3953         (_initialize_xml_utils): register test_xml_escape_text_append as
3954         a selftest.
3955
3956 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
3957
3958         * defs.h: Remove MAX_REGISTER_SIZE.
3959         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
3960         asserts.
3961         * python/py-unwind.c (pyuw_sniffer): Likewise.
3962
3963 2018-03-07  Tom Tromey  <tom@tromey.com>
3964
3965         * linux-tdep.c (linux_info_proc): Update.
3966         * target.h (struct target_ops) <to_fileio_readlink>: Return
3967         optional<string>.
3968         (target_fileio_readlink): Return optional<string>.
3969         * remote.c (remote_hostio_readlink): Return optional<string>.
3970         * inf-child.c (inf_child_fileio_readlink): Return
3971         optional<string>.
3972         * target.c (target_fileio_readlink): Return optional<string>.
3973
3974 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
3975
3976         * regcache.c (cooked_read_test): Add riscv to the list of
3977         architectures that have a save_reggroup.
3978
3979 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
3980
3981         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
3982         value is not a dynamic class object.
3983
3984 2018-03-06  Tom Tromey  <tom@tromey.com>
3985
3986         * rust-exp.y: Formatting fixes.
3987
3988 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
3989
3990         * riscv-tdep.c (riscv_register_name): Remove target description
3991         support.
3992         (riscv_gdbarch_init): Remove target description check.
3993
3994 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
3995
3996         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
3997         comment.
3998         * riscv-tdep.h: Likewise.
3999
4000 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
4001
4002         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
4003         (riscv_pseudo_register_write): Delete.
4004         (riscv_gdbarch_init): Remove all use of pseudo registers.
4005
4006 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
4007
4008         * record-btrace.c (btrace_print_lines): Replace cleanup
4009         parameter with RAII equivalents.
4010         (btrace_insn_history): Replace cleanup with RAII equivalents.
4011         * ui-out.h (make_cleanup_ui_out_list_begin_end,
4012         make_cleanup_ui_out_tuple_begin_end): Remove.
4013         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
4014         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
4015         make_cleanup_ui_out_list_begin_end): Remove.
4016
4017 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
4018
4019         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
4020         parameter types to std::vector.  Use bool.
4021         (record_btrace_wait): Replace VEC(tp_t) with
4022         std::vector<thread_info *>.
4023         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
4024
4025 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
4026
4027         * record-btrace.c (record_btrace_disable_callback): Remove.
4028         (struct scoped_btrace_disable): New.
4029         (record_btrace_open): Use scoped_btrace_disable.
4030
4031 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
4032
4033         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
4034         reading values from registers.
4035
4036 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
4037
4038         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
4039         where appropriate.
4040
4041 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
4042
4043         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
4044         change parameter type.  Use GDB's print functions, and use
4045         core_addr_to_string where appropriate.
4046         (riscv_push_dummy_call): Use core_addr_to_string where
4047         appropriate, update call to riscv_print_arg_location, and reindent
4048         a few lines.
4049         (riscv_return_value): Update call to riscv_print_arg_location.
4050
4051 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
4052             Tim Newsome <tim@sifive.com>
4053             Albert Ou <a0u@eecs.berkeley.edu>
4054             Darius Rad <darius@bluespec.com>
4055
4056         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
4057         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
4058         (ALLDEPFILES): Add riscv-tdep.c
4059         * configure.tgt: Add riscv support.
4060         * riscv-tdep.c: New file.
4061         * riscv-tdep.h: New file.
4062         * NEWS: Mention new target.
4063         * MAINTAINERS: Add entry for riscv.
4064
4065 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
4066
4067         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
4068         fields within aggregates.
4069
4070 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
4071
4072         * record-btrace.c (btrace_print_lines): Change type of flags to
4073         gdb_disassembly_flags.
4074
4075 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
4076
4077         * fbsd-nat.c: Include "inf-ptrace.h".
4078         (USE_SIGTRAP_SIGINFO): Conditionally define.
4079         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
4080         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
4081         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
4082         function.
4083         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
4084         Likewise.
4085         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
4086         Likewise.
4087         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
4088         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
4089         "supports_stopped_by_hw_breakpoint" target methods.
4090
4091 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
4092
4093         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
4094         * fbsd-nat.c (debug_fbsd_nat): New variable.
4095         (show_fbsd_nat_debug): New function.
4096         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
4097         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
4098
4099 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
4100
4101         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
4102         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
4103         prototype.
4104         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
4105         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
4106         method.
4107
4108 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
4109
4110         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
4111         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
4112
4113 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
4114
4115         * charset.c (struct charset_vector): New.
4116         (charsets): Change type to charset_vector.
4117         (find_charset_names): Adjust.
4118         (add_one): Adjust.
4119         (_initialize_charset): Adjust.
4120
4121 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
4122
4123         * progspace.h (struct program_space) <deleted_solibs>: Change
4124         type to std::vector<std::string>.
4125         * progspace.c (clear_program_space_solib_cache): Adjust.
4126         * breakpoint.c (print_solib_event): Adjust.
4127         (check_status_catch_solib): Adjust.
4128         * solib.c (update_solib_list): Adjust.
4129         * ui-out.h (class ui_out) <field_string>: New overload.
4130         * ui-out.c (ui_out::field_string): New overload.
4131
4132 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
4133
4134         * progspace.h (struct program_space): Add constructor and
4135         destructor, initialize fields.
4136         (add_program_space): Remove.
4137         * progspace.c (add_program_space): Rename to...
4138         (program_space::program_space): ... this.
4139         (release_program_space): Rename to...
4140         (program_space::~program_space): ... this.
4141         (delete_program_space): Use delete to delete program_space.
4142         (initialize_progspace): Use new to allocate program_space.
4143         * inferior.c (add_inferior_with_spaces): Likewise.
4144         (clone_inferior_command): Likewise.
4145         * infrun.c (follow_fork_inferior): Likewise.
4146         (handle_vfork_child_exec_or_exit): Likewise.
4147
4148 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
4149
4150         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
4151         (delim_string_to_char_ptr_vec): Return std::vector of
4152         gdb::unique_xmalloc_ptr.
4153         (dirnames_to_char_ptr_vec_append): Take std::vector of
4154         gdb::unique_xmalloc_ptr.
4155         (dirnames_to_char_ptr_vec): Return std::vector of
4156         gdb::unique_xmalloc_ptr.
4157         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
4158         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
4159         (delim_string_to_char_ptr_vec): Return an std::vector of
4160         gdb::unique_xmalloc_ptr, adjust the code.
4161         (dirnames_to_char_ptr_vec_append): Take an std::vector of
4162         gdb::unique_xmalloc_ptr, adjust the code.
4163         (dirnames_to_char_ptr_vec): Return an std::vector of
4164         gdb::unique_xmalloc_ptr, adjust the code.
4165         * auto-load.c (auto_load_safe_path_vec): Change type to
4166         std::vector of gdb::unique_xmalloc_ptr.
4167         (auto_load_expand_dir_vars): Return an std::vector of
4168         gdb::unique_xmalloc_ptr, adjust the code.
4169         (auto_load_safe_path_vec_update): Adjust.
4170         (filename_is_in_auto_load_safe_path_vec): Adjust.
4171         (auto_load_objfile_script_1): Adjust.
4172         * build-id.c (build_id_to_debug_bfd): Adjust.
4173         * linux-thread-db.c (thread_db_load_search): Adjust.
4174         * source.c (add_path): Adjust.
4175         (openp): Adjust.
4176         * symfile.c (find_separate_debug_file): Adjust.
4177         * utils.c (do_free_char_ptr_vec): Remove.
4178         (make_cleanup_free_char_ptr_vec): Remove.
4179
4180 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
4181
4182         PR gdb/22907
4183         * common/pathstuff.c: Conditionally include "<windows.h>".
4184
4185 2018-03-01  Georg Sauthoff  <mail@georg.so>
4186
4187         PR gdb/22888
4188         * gcore.in: Quote variables and switch interpreter to bash.
4189
4190 2018-03-01  Tom Tromey  <tom@tromey.com>
4191
4192         * dwarf2read.c (alloc_discriminant_info): Fix default_index
4193         assertion.  Add assertion for discriminant_index.
4194         (quirk_rust_enum): Use correct base type name in univariant case.
4195
4196 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
4197
4198         * record.c (get_call_history_modifiers): Return a
4199         record_print_flags.
4200         (cmd_record_call_history): Adjust.
4201         * record-btrace.c (record_btrace_call_history): Adjust.
4202         (record_btrace_call_history_range): Adjust.
4203         (record_btrace_call_history_from): Adjust.
4204         * target-debug.h (target_debug_print_record_print_flags): New.
4205         * target-delegates.c: Re-generate.
4206         * target.c (target_call_history): Change flags type.
4207         (target_call_history_from): Likewise.
4208         (target_call_history_range): Likewise.
4209         * target.h (struct target_ops) <target_call_history>: Likewise.
4210         (target_call_history_from): Likewise.
4211         (target_call_history_range): Likewise.
4212
4213 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
4214             Simon Marchi  <simon.marchi@polymtl.ca>
4215
4216         * common/common-utils.c: Include "sys/stat.h".
4217         (is_regular_file): Move here from "source.c"; change return
4218         type to "bool".
4219         * common/common-utils.h (is_regular_file): New prototype.
4220         * common/pathstuff.c (contains_dir_separator): New function.
4221         * common/pathstuff.h (contains_dir_separator): New prototype.
4222         * source.c: Don't include "sys/stat.h".
4223         (is_regular_file): Move to "common/common-utils.c".
4224
4225 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
4226
4227         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
4228         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
4229         * auto-load.c: Include "common/pathstuff.h".
4230         * common/common-def.h (current_directory): Move here.
4231         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
4232         function.
4233         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
4234         prototype.
4235         * common/pathstuff.c: New file.
4236         * common/pathstuff.h: New file.
4237         * compile/compile.c: Include "common/pathstuff.h".
4238         * defs.h (current_directory): Move to "common/common-defs.h".
4239         * dwarf2read.c: Include "common/pathstuff.h".
4240         * exec.c: Likewise.
4241         * guile/scm-safe-call.c: Likewise.
4242         * linux-thread-db.c: Likewise.
4243         * main.c: Likewise.
4244         * nto-tdep.c: Likewise.
4245         * objfiles.c: Likewise.
4246         * source.c: Likewise.
4247         * symtab.c: Likewise.
4248         * utils.c: Include "common/pathstuff.h".
4249         (gdb_realpath): Move to "common/pathstuff.c".
4250         (gdb_realpath_keepfile): Likewise.
4251         (gdb_abspath): Likewise.
4252         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
4253         (gdb_realpath_keepfile): Likewise.
4254         (gdb_abspath): Likewise.
4255
4256 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
4257
4258         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
4259         wildcard process pid for super_resume for kernels with a
4260         specific bug.
4261
4262 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
4263
4264         * compile/compile.c (get_args): Add additional comments
4265         explaining function.
4266
4267 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
4268             Tom Tromey  <tom@tromey.com>
4269
4270         * target.h (memory_write_request_s): Remove typedef.  Don't define
4271         VEC.
4272         (target_write_memory_blocks): Change argument to std::vector.
4273         (struct memory_write_request): Add constructor.
4274         * target-memory.c (compare_block_starting_address): Return bool.
4275         Change argument types.
4276         (claim_memory): Change arguments to use std::vector.
4277         (split_regular_and_flash_blocks, blocks_to_erase)
4278         (compute_garbled_blocks): Likewise.
4279         (cleanup_request_data, cleanup_write_requests_vector): Remove.
4280         (target_write_memory_blocks): Change argument to std::vector.
4281         * symfile.c (struct load_section_data): Add constructor and
4282         destructor.  Use std::vector for "requests".
4283         (struct load_progress_data): Add initializers.
4284         (load_section_callback): Update.  Use "new".
4285         (clear_memory_write_data): Remove.
4286         (generic_load): Update.
4287
4288 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
4289
4290         * arch/aarch64.h: Use common/tdesc.h.
4291
4292 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
4293
4294         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
4295         architecture with a 64-bit ABI.
4296
4297 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
4298
4299         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
4300         ahead of target description loading.
4301
4302 2018-02-26  Tom Tromey  <tom@tromey.com>
4303
4304         * stack.c (backtrace_command_1): Update.
4305         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
4306         of "flags".
4307         * python/py-framefilter.c (py_print_frame)
4308         (gdbpy_apply_frame_filter): Change type of "flags".
4309         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
4310         of "flags".
4311         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
4312         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
4313         * extension.h (enum frame_filter_flag): Rename from
4314         frame_filter_flags.
4315         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
4316         (apply_ext_lang_frame_filter): Change type of "flags".
4317         * extension.c (apply_ext_lang_frame_filter): Change type of
4318         "flags".
4319         * extension-priv.h (struct extension_language_ops)
4320         <apply_frame_filter>: Change type of "flags".
4321
4322 2018-02-26  Tom Tromey  <tom@tromey.com>
4323
4324         PR python/16497:
4325         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
4326         off-by-one in py_end computation.
4327         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
4328         PRINT_MORE_FRAMES.
4329         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
4330         constant.
4331
4332 2018-02-26  Tom Tromey  <tom@tromey.com>
4333
4334         * dwarf2read.c (struct variant_field): New.
4335         (struct nextfield) <variant>: New field.
4336         (dwarf2_add_field): Handle DW_TAG_variant_part.
4337         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
4338         discriminated union.
4339         (read_structure_type): Handle DW_TAG_variant_part.
4340         (handle_struct_member_die): New function, extracted from
4341         process_structure_scope.  Handle DW_TAG_variant.
4342         (process_structure_scope): Handle discriminated unions.  Call
4343         handle_struct_member_die.
4344
4345 2018-02-26  Tom Tromey  <tom@tromey.com>
4346
4347         * rust-lang.h (rust_last_path_segment): Declare.
4348         * rust-lang.c (rust_last_path_segment): Now public.  Change
4349         contract.
4350         (struct disr_info): Remove.
4351         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
4352         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
4353         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
4354         (rust_enum_p, rust_enum_variant): New function.
4355         (rust_underscore_fields): Remove "offset" parameter.
4356         (rust_print_enum): New function.
4357         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
4358         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
4359         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
4360         enums.
4361         (rust_internal_print_type): New function, from rust_print_type.
4362         Remove enum code.
4363         (rust_print_type): Call rust_internal_print_type.
4364         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
4365         Update enum handling.
4366         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
4367         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
4368         (rust_union_quirks): New functions.
4369         (process_full_comp_unit, process_full_type_unit): Call
4370         rust_union_quirks.
4371         (process_structure_scope): Update rust_unions if necessary.
4372
4373 2018-02-26  Tom Tromey  <tom@tromey.com>
4374
4375         * value.h (value_union_variant): Declare.
4376         * valops.c (value_union_variant): New function.
4377         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
4378         (struct discriminant_info): New.
4379         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
4380         enumerator.
4381         (struct main_type) <flag_discriminated_union>: New field.
4382
4383 2018-02-26  Tom Tromey  <tom@tromey.com>
4384
4385         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4386         unittests/unpack-selftests.c.
4387         * unittests/unpack-selftests.c: New file.
4388         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
4389
4390 2018-02-26  Yao Qi  <yao.qi@linaro.org>
4391
4392         * dwarf2read.c (struct partial_die_info) <read>: New method.
4393         (read_partial_die): Remove the declaration.
4394         (load_partial_dies): Update.
4395         (partial_die_info::partial_die_info):
4396         (read_partial_die): Change it to partial_die_info::read.
4397
4398 2018-02-26  Yao Qi  <yao.qi@linaro.org>
4399
4400         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
4401         (fixup_partial_die): Remove declaration.
4402         (scan_partial_symbols): Update.
4403         (partial_die_parent_scope): Likewise.
4404         (partial_die_full_name): Likewise.
4405         (fixup_partial_die): Change it to partial_die_info::fixup.
4406
4407 2018-02-26  Yao Qi  <yao.qi@linaro.org>
4408
4409         * dwarf2read.c (read_partial_die): Update the declaration.
4410         (load_partial_dies): Caller update.
4411         (read_partial_die): Remove one argument abbrev_len.
4412
4413 2018-02-26  Yao Qi  <yao.qi@linaro.org>
4414
4415         * dwarf2read.c (struct partial_die_info): Add ctor, delete
4416         assignment operator.
4417         (load_partial_dies): Use ctor and copy ctor.
4418         (read_partial_die): Update.
4419         (dwarf2_cu::find_partial_die): Use ctor.
4420
4421 2018-02-26  Yao Qi  <yao.qi@linaro.org>
4422
4423         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
4424         (find_partial_die_in_comp_unit): Change it to
4425         dwarf2_cu::find_partial_die.
4426         (find_partial_die): Update.
4427
4428 2018-02-26  Yao Qi  <yao.qi@linaro.org>
4429
4430         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
4431         is NULL.
4432
4433 2018-02-26  Yao Qi  <yao.qi@linaro.org>
4434
4435         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
4436
4437 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
4438
4439         * arch/amd64.h: Use common/tdesc.h.
4440         * arch/i386.c: Likewise.
4441         * arch/i386.h: Likewise.
4442         * arch/tic6x.c: Likewise.
4443         * arch/tdesc.h: Move file from here...
4444         * common/tdesc.h: ...to here.
4445         * features/aarch64-core.c: Regenerate.
4446         * features/aarch64-fpu.c: Regenerate.
4447         * features/i386/32bit-avx.c: Regenerate.
4448         * features/i386/32bit-avx512.c: Regenerate.
4449         * features/i386/32bit-core.c: Regenerate.
4450         * features/i386/32bit-linux.c: Regenerate.
4451         * features/i386/32bit-mpx.c: Regenerate.
4452         * features/i386/32bit-pkeys.c: Regenerate.
4453         * features/i386/32bit-sse.c: Regenerate.
4454         * features/i386/64bit-avx.c: Regenerate.
4455         * features/i386/64bit-avx512.c: Regenerate.
4456         * features/i386/64bit-core.c: Regenerate.
4457         * features/i386/64bit-linux.c: Regenerate.
4458         * features/i386/64bit-mpx.c: Regenerate.
4459         * features/i386/64bit-pkeys.c: Regenerate.
4460         * features/i386/64bit-segments.c: Regenerate.
4461         * features/i386/64bit-sse.c: Regenerate.
4462         * features/i386/x32-core.c: Regenerate.
4463         * features/tic6x-c6xp.c: Regenerate.
4464         * features/tic6x-core.c: Regenerate.
4465         * features/tic6x-gp.c: Regenerate.
4466         * target-descriptions.c: Use common/tdesc.h.
4467         * target-descriptions.h: Likewise.
4468
4469 2018-02-24  Tom Tromey  <tom@tromey.com>
4470
4471         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
4472         (try_thread_db_load_from_dir, thread_db_load_search): Use
4473         std::string.
4474         (info_auto_load_libthread_db_compare): Return bool.  Change
4475         argument types.
4476         (info_auto_load_libthread_db): Use std::vector, std::string.
4477         Remove cleanups.
4478
4479 2018-02-24  Tom Tromey  <tom@tromey.com>
4480
4481         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
4482         std::string.
4483         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
4484         std::string*.
4485         * gdbarch.c: Rebuild.
4486         * gdbarch.h: Rebuild.
4487         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
4488         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
4489         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
4490         std::string*.
4491
4492 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
4493
4494         * gdbtypes.h (sect_offset): Change type to uint64_t.
4495         (sect_offset_str): New function.
4496         * dwarf2read.c (create_addrmap_from_aranges): Use
4497         sect_offset_str.
4498         (error_check_comp_unit_head): Likewise.
4499         (create_debug_type_hash_table): Likewise.
4500         (read_cutu_die_from_dwo): Likewise.
4501         (init_cutu_and_read_dies): Likewise.
4502         (init_cutu_and_read_dies_no_follow): Likewise.
4503         (process_psymtab_comp_unit_reader): Likewise.
4504         (partial_die_parent_scope): Likewise.
4505         (peek_die_abbrev): Likewise.
4506         (process_queue): Likewise.
4507         (dwarf2_physname): Likewise.
4508         (read_namespace_alias): Likewise.
4509         (read_import_statement): Likewise.
4510         (create_dwo_cu_reader): Likewise.
4511         (create_cus_hash_table): Likewise.
4512         (lookup_dwo_cutu): Likewise.
4513         (inherit_abstract_dies): Likewise.
4514         (read_func_scope): Likewise.
4515         (read_call_site_scope): Likewise.
4516         (dwarf2_add_member_fn): Likewise.
4517         (read_common_block): Likewise.
4518         (read_module_type): Likewise.
4519         (read_typedef): Likewise.
4520         (read_subrange_type): Likewise.
4521         (load_partial_dies): Likewise.
4522         (read_partial_die): Likewise.
4523         (find_partial_die): Likewise.
4524         (read_str_index): Likewise.
4525         (dwarf2_string_attr): Likewise.
4526         (build_error_marker_type): Likewise.
4527         (lookup_die_type): Likewise.
4528         (dump_die_shallow): Likewise.
4529         (follow_die_ref): Likewise.
4530         (dwarf2_fetch_die_loc_sect_off): Likewise.
4531         (dwarf2_fetch_constant_bytes): Likewise.
4532         (follow_die_sig): Likewise.
4533         (get_signatured_type): Likewise.
4534         (get_DW_AT_signature_type): Likewise.
4535         (dwarf2_find_containing_comp_unit): Likewise.
4536         (set_die_type): Likewise.
4537
4538 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
4539
4540         * arch/aarch64.c: Include "common-defs.h".
4541         * arch/amd64.c: Likewise.
4542         * arch/i386.c: Likewise.
4543
4544 2018-02-21  Tom Tromey  <tom@tromey.com>
4545
4546         * value.h: (extract_field_op): Update.
4547         * eval.c (extract_field_op): Return a const char *.
4548         * expression.h (parse_expression_for_completion): Update.
4549         * completer.c (complete_expression): Update.
4550         (add_struct_fields): Make fieldname const.
4551         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
4552         (mark_completion_tag, parse_exp_in_context_1): Update.
4553         (parse_expression_for_completion): Change "name" to
4554         unique_xmalloc_ptr*.
4555
4556 2018-02-21  Tom Tromey  <tom@tromey.com>
4557
4558         * infcall.c (call_function_by_hand_dummy): Use std::vector.
4559
4560 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4561
4562         * avr-tdep.c (avr_read_pc): Change parameter type to
4563         readable_regcache.
4564         * gdbarch.sh (read_pc): Likewise.
4565         * gdbarch.c: Re-generated.
4566         * gdbarch.h: Re-generated.
4567         * hppa-tdep.c (hppa_read_pc): Change parameter type to
4568         readable_regcache.
4569         * ia64-tdep.c (ia64_read_pc): Likewise.
4570         * mips-tdep.c (mips_read_pc): Likewise.
4571         * spu-tdep.c (spu_read_pc): Likewise.
4572
4573 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4574
4575         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
4576         * regcache-dump.c: New file.
4577         * regcache.c: Move register_dump to regcache-dump.c.
4578         (maintenance_print_registers): Likewise.
4579         (maintenance_print_raw_registers): Likewise.
4580         (maintenance_print_cooked_registers): Likewise.
4581         (maintenance_print_register_groups): Likewise.
4582         (maintenance_print_remote_registers): Likewise.
4583         (_initialize_regcache): Likewise.
4584         * regcache.h (register_dump): Moved from regcache.c.
4585
4586 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4587
4588         * regcache.c (regcache::regcache): Update.
4589         (regcache::invalidate): Move it to detached_regcache::invalidate.
4590         (get_thread_arch_aspace_regcache): Update.
4591         (regcache::raw_update): Update.
4592         (regcache::cooked_read): Remove some code.
4593         (regcache::cooked_read_value): Likewise.
4594         (regcache::raw_write): Remove assert on m_readonly_p.
4595         (regcache::raw_supply_integer): Move it to
4596         detached_regcache::raw_supply_integer.
4597         (regcache::raw_supply_zeroed): Likewise.
4598         * regcache.h (detached_regcache) <raw_supply_integer>: New
4599         declaration.
4600         <raw_supply_zeroed, invalidate>: Likewise.
4601         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
4602         <invalidate>: Likewise.
4603         <m_readonly_p>: Removed.
4604
4605 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4606
4607         * infcmd.c (get_return_value): Let stop_regs point to
4608         get_current_regcache.
4609         * regcache.c (regcache::regcache): Remove.
4610         (register_dump_reg_buffer): New class.
4611         (regcache_print): Adjust.
4612         * regcache.h (regcache): Remove constructors.
4613
4614 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4615
4616         * regcache.c (class register_dump): New class.
4617         (register_dump_regcache, register_dump_none): New class.
4618         (register_dump_remote, register_dump_groups): New class.
4619         (regcache_print): Update.
4620         * regcache.h (regcache_dump_what): Move it to regcache.c.
4621         (regcache) <dump>: Remove.
4622
4623 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4624
4625         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
4626          reg_buffer_rw *.
4627         (jit_unwind_reg_set_impl): Call raw_supply.
4628         (jit_frame_sniffer): Use reg_buffer_rw.
4629         * record-full.c (record_full_core_regbuf): Change its type.
4630         (record_full_core_open_1): Use reg_buffer_rw.
4631         (record_full_close): Likewise.
4632         (record_full_core_fetch_registers): Use regcache->raw_supply.
4633         (record_full_core_store_registers): Likewise.
4634         * regcache.c (regcache::get_register_status): Move it to
4635         reg_buffer.
4636         (regcache_raw_set_cached_value): Remove.
4637         (regcache::raw_set_cached_value): Remove.
4638         (regcache::raw_write): Call raw_supply.
4639         (regcache::raw_supply): Move it to reg_buffer_rw.
4640         * regcache.h (regcache_raw_set_cached_value): Remove.
4641         (reg_buffer_rw): New class.
4642
4643 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4644
4645         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
4646         readonly_detached_regcache.
4647         (dummy_frame_prev_register): Use regcache->cooked_read.
4648         * frame.c (frame_save_as_regcache): Change return type.
4649         (frame_pop): Update.
4650         * frame.h (frame_save_as_regcache): Update declaration.
4651         * inferior.h (get_infcall_suspend_state_regcache): Update
4652         declaration.
4653         * infrun.c (infcall_suspend_state) <registers>: use
4654         readonly_detached_regcache.
4655         (save_infcall_suspend_state): Don't use regcache_dup.
4656         (get_infcall_suspend_state_regcache): Change return type.
4657         * linux-fork.c (struct fork_info) <savedregs>: Change to
4658         readonly_detached_regcache.
4659         <pc>: New field.
4660         (fork_save_infrun_state): Don't use regcache_dup.
4661         (info_checkpoints_command): Adjust.
4662         * mi/mi-main.c (register_changed_p): Update declaration.
4663         (mi_cmd_data_list_changed_registers): Use
4664         readonly_detached_regcache.
4665         (register_changed_p): Change parameter type to
4666         readonly_detached_regcache.
4667         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
4668         readonly_detached_regcache.
4669         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
4670         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
4671         New.
4672         (regcache::save): Move it to reg_buffer.
4673         (regcache::restore): Change parameter type.
4674         (regcache_dup): Remove.
4675         * regcache.h (reg_buffer) <save>: New method.
4676         (readonly_detached_regcache): New class.
4677         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
4678         readonly_detached_regcache.
4679         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
4680
4681 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4682
4683         * frame.c (frame_save_as_regcache): Use regcache method save.
4684         (frame_pop): Use regcache method restore.
4685         * infrun.c (restore_infcall_suspend_state): Likewise.
4686         * linux-fork.c (fork_load_infrun_state): Likewise.
4687         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
4688         save.
4689         * regcache.c (regcache_save): Remove.
4690         (regcache::restore): More asserts.
4691         (regcache_cpy): Remove.
4692         * regcache.h (regcache_save): Remove the declaration.
4693         (regcache::restore): Move from private to public.
4694         Remove the friend declaration of regcache_cpy.
4695         (regcache_cpy): Remove declaration.
4696
4697 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4698
4699         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
4700         parameter type to 'readable_regcache *'.
4701         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
4702         * arm-tdep.c (arm_neon_quad_read): Likewise.
4703         (arm_pseudo_read): Likewise.
4704         * avr-tdep.c (avr_pseudo_register_read): Likewise.
4705         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
4706         * frv-tdep.c (frv_pseudo_register_read): Likewise.
4707         * gdbarch.c: Re-generated.
4708         * gdbarch.h: Re-generated.
4709         * gdbarch.sh (pseudo_register_read): Change parameter type to
4710         'readable_regcache *'.
4711         (pseudo_register_read_value): Likewise.
4712         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
4713         (h8300_pseudo_register_read): Likewise.
4714         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
4715         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4716         (i386_pseudo_register_read_into_value): Likewise.
4717         (i386_pseudo_register_read_value): Likewise.
4718         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
4719         declaration.
4720         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
4721         * m32c-tdep.c (m32c_raw_read): Likewise.
4722         (m32c_read_flg): Likewise.
4723         (m32c_banked_register): Likewise.
4724         (m32c_banked_read): Likewise.
4725         (m32c_sb_read): Likewise.
4726         (m32c_part_read): Likewise.
4727         (m32c_cat_read): Likewise.
4728         (m32c_r3r2r1r0_read): Likewise.
4729         (m32c_pseudo_register_read): Likewise.
4730         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
4731         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
4732         (mep_pseudo_cr64_read): Likewise.
4733         (mep_pseudo_register_read): Likewise.
4734         * mips-tdep.c (mips_pseudo_register_read): Likewise.
4735         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
4736         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
4737         * regcache.c (regcache::raw_read): Move it to readable_regcache.
4738         (regcache::cooked_read): Likewise.
4739         (regcache::cooked_read_value): Likewise.
4740         (regcache_cooked_read_signed):
4741         (regcache::cooked_read): Likewise.
4742         * regcache.h (readable_regcache): New class.
4743         (regcache): Inherit readable_regcache.  Move some methods to
4744         readable_regcache.
4745         * rl78-tdep.c (rl78_pseudo_register_read): Change
4746         parameter type to 'readable_regcache *'.
4747         * rs6000-tdep.c (do_regcache_raw_read): Remove.
4748         (e500_pseudo_register_read): Change parameter type to
4749         'readable_regcache *'.
4750         (dfp_pseudo_register_read): Likewise.
4751         (vsx_pseudo_register_read): Likewise.
4752         (efpr_pseudo_register_read): Likewise.
4753         * s390-tdep.c (s390_pseudo_register_read): Likewise.
4754         * sh-tdep.c (sh_pseudo_register_read): Likewise.
4755         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
4756         (sh64_pseudo_register_read): Likewise.
4757         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
4758         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
4759         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
4760         (spu_pseudo_register_read): Likewise.
4761         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
4762         (xtensa_pseudo_register_read): Likewise.
4763
4764 2018-02-21  Yao Qi  <yao.qi@linaro.org>
4765
4766         * regcache.c (regcache::regcache): Call reg_buffer ctor.
4767         (regcache::arch): Move it to reg_buffer::arch.
4768         (regcache::register_buffer): Likewise.
4769         (regcache::assert_regnum): Likewise.
4770         (regcache::num_raw_registers): Likewise.
4771         * regcache.h (reg_buffer): New class.
4772         (regcache): Inherit reg_buffer.
4773
4774 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
4775
4776         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
4777         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
4778
4779 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
4780
4781         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
4782
4783 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
4784
4785         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
4786         (SFILES): Remove common/*.c files.
4787         (COMMON_OBS): Remove some *.o files built from common/*.c files.
4788         * common/common.host: Add common reference.
4789         * configure.ac: Likewise.
4790         * configure: Regenerate.
4791
4792 2018-02-16  Yao Qi  <yao.qi@linaro.org>
4793
4794         * block.c (block_namespace_info): Inherit allocate_on_obstack.
4795         (block_initialize_namespace): Use new.
4796         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
4797         (dwarf2_free_objfile): Use delete.
4798         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
4799         (copy_type_recursive): Use new.
4800         * gdb_obstack.h (allocate_on_obstack): New.
4801
4802 2018-02-15  Yao Qi  <yao.qi@linaro.org>
4803
4804         PR gdb/22849
4805         * inferior.c (exit_inferior_1): Reset inf->control.
4806
4807 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
4808
4809         * ada-lang.c (ada_to_fixed_value_create): Delete advance
4810         declaration.
4811
4812 2018-02-14  Pedro Alves  <palves@redhat.com>
4813
4814         * frame-unwind.c (frame_unwind_try_unwinder): Always call
4815         frame_cleanup_after_sniffer on exception.
4816
4817 2018-02-14  Tom Tromey  <tom@tromey.com>
4818
4819         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
4820         const.
4821         (solib_bfd_open): Make pathname const.
4822         * solib.c (solib_bfd_open): Make pathname const.
4823         * solib-spu.c (spu_bfd_fopen): Make name const.
4824         (spu_bfd_open): Make pathname const.
4825         * solib-darwin.c (darwin_bfd_open): Make pathname const.
4826         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
4827
4828 2018-02-14  Tom Tromey  <tom@tromey.com>
4829
4830         * symfile.c (symfile_bfd_open): Update.
4831         * source.h (openp, source_full_path_of, find_and_open_source):
4832         Change argument type to unique_xmalloc_ptr.
4833         * source.c (openp): Take a unique_xmalloc_ptr.
4834         (source_full_path_of, find_and_open_source): Likewise.
4835         (open_source_file, symtab_to_fullname): Update.
4836         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
4837         unique_xmalloc_ptr.
4838         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
4839         (exec_file_find): Update.
4840         * psymtab.c (psymtab_to_fullname): Update.
4841         * nto-tdep.h (nto_find_and_open_solib): Update.
4842         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
4843         unique_xmalloc_ptr.
4844         * exec.c (exec_file_attach): Update.
4845         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
4846         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
4847
4848 2018-02-14  Tom Tromey  <tom@tromey.com>
4849
4850         * solib.c: Include source.h.
4851         * nto-tdep.c: Include source.h.
4852         * mi/mi-cmd-env.c: Include source.h.
4853         * infcmd.c: Include source.h.
4854         * exec.c: Include source.h.
4855         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
4856         (add_path, directory_switch, source_path, init_source_path): Move
4857         declarations...
4858         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
4859         (add_path, directory_switch, source_path, init_source_path):
4860         ...here.
4861
4862 2018-02-14  Tom Tromey  <tom@tromey.com>
4863
4864         * solist.h (exec_file_find, solib_find): Return
4865         unique_xmalloc_ptr.
4866         (solib_bfd_fopen): Take a const char *.
4867         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
4868         (exec_file_find, solib_find): Likewise.
4869         (solib_bfd_fopen): Do not take ownership of "pathname".
4870         (solib_bfd_open): Use unique_xmalloc_ptr.
4871         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
4872         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
4873         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
4874         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
4875
4876 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
4877
4878         * ada-lang.c (name_match_type_from_name): Remove reference to
4879         ada_name_for_lookup in function's documentation.
4880         * ada-lang.h (ada_name_for_lookup): Delete declaration.
4881
4882 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
4883
4884         * defs.h (enum openp_flags): New enum.
4885         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
4886         Move to enum openp_flags.
4887         (openp_flags): New enum flags.
4888         (openp): Change parameter type to openp_flags.
4889         * source.c (openp): Change parameter type to openp_flags.
4890         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
4891         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
4892
4893 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
4894
4895         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
4896         per-command.
4897
4898 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
4899
4900         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
4901         into...
4902         (class dwarf2_queue_guard): ...the destructor of this new class.
4903         (dw2_do_instantiate_symtab): Create instance of the new class
4904         dwarf2_queue_guard, remove cleanup.
4905
4906 2018-02-09  Tom Tromey  <tom@tromey.com>
4907
4908         * source.c (find_source_lines): Don't reference past the end of
4909         the vector.
4910
4911 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
4912
4913         * remote.c (remote_btrace_maybe_reopen): Change error message.
4914         * btrace.c (btrace_enable): Likewise.
4915         (parse_xml_btrace): Likewise.
4916         (parse_xml_btrace_conf): Likewise.
4917
4918 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
4919
4920         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
4921         (linux_enable_pt, linux_enable_bts): Call
4922         diagnose_perf_event_open_fail.
4923
4924 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
4925
4926         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
4927         Remove parameter and change return type.  Update callers.  Move it.
4928         (linux_enable_bts, linux_enable_pt): Improve error message.
4929         (linux_enable_pt): Remove zero buffer size check.
4930         (linux_enable_btrace): Improve error messages.  Remove NULL return
4931         check.
4932
4933 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
4934
4935         * btrace.c (btrace_enable): Remove target_supports_btrace call.
4936         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
4937         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
4938         (linux_supports_pt, linux_supports_btrace): Remove.
4939         (linux_enable_bts): Call cpu_supports_bts.
4940         * nat/linux-btrace.h (linux_supports_btrace): Remove.
4941         * remote.c (remote_supports_btrace): Remove.
4942         (init_remote_ops): Remove remote_supports_btrace.
4943         * target-delegates.c: Regenerated.
4944         * target.c (target_supports_btrace): Remove.
4945         * target.h (target_ops) <to_supports_btrace>: Remove
4946         (target_supports_btrace): Remove.
4947         * x86-linux-nat.c (x86_linux_create_target): Remove
4948         linux_supports_btrace.
4949
4950 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
4951
4952         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
4953         btrace failed.
4954         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
4955         exception and use message in own exception.
4956
4957 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
4958
4959         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
4960         (perf_event_pt_event_type): Use gdb_file_up.
4961         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
4962         scoped_fd, and scoped_mmap.
4963
4964 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
4965
4966         * common/scoped_mmap.h: New.
4967         * unittests/scoped_mmap-selftest.c: New.
4968         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4969         unittests/scoped_mmap-selftest.c.
4970
4971 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
4972
4973         * common/scoped_fd.h: New.
4974         * unittests/scoped_fd-selftest.c: New.
4975         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4976         unittests/scoped_fd-selftest.c.
4977
4978 2018-02-09  Tom Tromey  <tom@tromey.com>
4979
4980         * auto-load.c (auto_load_section_scripts): Use
4981         gdb::unique_xmalloc_ptr.
4982
4983 2018-02-09  Tom Tromey  <tom@tromey.com>
4984
4985         * auto-load.c (execute_script_contents): Use std::string.
4986
4987 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
4988
4989         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
4990         Python function, rather than a new command.
4991
4992 2018-02-08  Tom Tromey  <tom@tromey.com>
4993
4994         * solib.c (solib_find_1): Use std::string.
4995         (solib_bfd_fopen): Use unique_xmalloc_ptr.
4996
4997 2018-02-08  Tom Tromey  <tom@tromey.com>
4998
4999         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
5000
5001 2018-02-08  Tom Tromey  <tom@tromey.com>
5002
5003         * source.c (find_source_lines): Use gdb::def_vector.
5004
5005 2018-02-08  Tom Tromey  <tom@tromey.com>
5006
5007         * macrocmd.c (struct temporary_macro_definition): New.
5008         (macro_define_command): Use temporary_macro_definition.  Remove
5009         cleanups.
5010         (free_macro_definition_ptr): Remove.
5011
5012 2018-02-08  Tom Tromey  <tom@tromey.com>
5013
5014         * macroexp.c (maybe_expand): Use std::string.
5015
5016 2018-02-08  Tom Tromey  <tom@tromey.com>
5017
5018         * macroexp.c (struct macro_buffer): Add initializers for some
5019         members.
5020         (init_buffer, init_shared_buffer, free_buffer)
5021         (free_buffer_return_text): Remove.
5022         (macro_buffer): New constructors.
5023         (~macro_buffer): New destructor.
5024         (macro_buffer::set_shared): New method.
5025         (macro_buffer::resize_buffer, macro_buffer::appendc)
5026         (macro_buffer::appendmem): Now methods, not free functions.
5027         (set_token, append_tokens_without_splicing, stringify)
5028         (macro_stringify): Update.
5029         (gather_arguments): Change return type.  Remove argc_p argument,
5030         add args_ptr argument.  Use std::vector.
5031         (substitute_args): Remove argc argument.  Accept std::vector.
5032         (expand): Update.  Use std::vector.
5033         (scan, macro_expand, macro_expand_next): Update.
5034
5035 2018-02-08  Tom Tromey  <tom@tromey.com>
5036
5037         * symtab.c (default_collect_symbol_completion_matches_break_on):
5038         Use unique_xmalloc_ptr.
5039         * macroscope.h: (sal_macro_scope, user_macro_scope)
5040         (default_macro_scope): Return unique_xmalloc_ptr.
5041         * macroscope.c (sal_macro_scope, user_macro_scope)
5042         (default_macro_scope): Return unique_xmalloc_ptr.
5043         * macroexp.h (macro_expand, macro_expand_once): Return
5044         unique_xmalloc_ptr.
5045         * macroexp.c (macro_expand, macro_expand_once): Return
5046         unique_xmalloc_ptr.
5047         * macrocmd.c (macro_expand_command, macro_expand_once_command)
5048         (info_macro_command, info_macros_command): Use
5049         unique_xmalloc_ptr.
5050         * compile/compile-c-support.c (write_macro_definitions): Use
5051         unique_xmalloc_ptr.
5052         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
5053
5054 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
5055
5056         * value.c (value_static_field): Assign field type instead of
5057         containing type when returning an optimized out value.
5058
5059 2018-02-06  Yao Qi  <yao.qi@linaro.org>
5060
5061         * ft32-tdep.c (ft32_read_pc): Remove.
5062         (ft32_write_pc): Remove.
5063         (ft32_gdbarch_init): Update.
5064         * m32r-tdep.c (m32r_read_pc): Remove.
5065         (m32r_gdbarch_init): Update.
5066         * mep-tdep.c (mep_read_pc): Remove.
5067         (mep_gdbarch_init): Update.
5068         * microblaze-tdep.c (microblaze_write_pc): Remove.
5069         (microblaze_gdbarch_init): Update.
5070         * mn10300-tdep.c (mn10300_read_pc): Remove.
5071         (mn10300_write_pc): Remove.
5072         (mn10300_gdbarch_init): Update.
5073         * moxie-tdep.c (moxie_read_pc): Remove.
5074         (moxie_write_pc): Remove.
5075         (moxie_gdbarch_init): Update.
5076
5077 2018-02-06  Yao Qi  <yao.qi@linaro.org>
5078
5079         * expprint.c (print_subexp_standard): Handle
5080         OP_F77_UNDETERMINED_ARGLIST.
5081         (dump_subexp_body_standard): Likewise.
5082
5083 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
5084
5085         * target-descriptions.c (tdesc_element_visitor) Add empty
5086         implementations.
5087         (tdesc_type): Move make_gdb_type from here.
5088         (tdesc_type_builtin): Likewise.
5089         (tdesc_type_vector): Likewise.
5090         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
5091         (make_gdb_type_struct): Move from tdesc_type_with_fields.
5092         (make_gdb_type_union): Likewise.
5093         (make_gdb_type_flags): Likewise.
5094         (make_gdb_type_enum): Likewise.
5095         (make_gdb_type): New function.
5096         (tdesc_register_type): Use static make_gdb_type.
5097
5098 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
5099
5100         * infcmd.c (default_print_one_register_info): Align natural-format
5101         column values consistently one under another.
5102         (pad_to_column): New function.
5103
5104 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
5105
5106         * dwarf2read.c (dwarf2_physname): Move commment.
5107
5108 2018-02-01  Leszek Swirski  <leszeks@google.com>
5109
5110         * varobj.c (varobj_formatted_print_options): Allow recursive
5111         pretty printing if pretty printing is enabled.
5112
5113 2018-02-01  Leszek Swirski  <leszeks@google.com>
5114
5115         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
5116         names after a structop as a filename.
5117
5118 2018-02-01  Yao Qi  <yao.qi@linaro.org>
5119
5120         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
5121         (arm_record_coproc_data_proc): Likewise.
5122
5123 2018-02-01  Yao Qi  <yao.qi@linaro.org>
5124
5125         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
5126
5127 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
5128
5129         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
5130         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
5131
5132 2018-01-31  Pedro Alves  <palves@redhat.com>
5133
5134         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
5135         * inflow.c (child_terminal_save_inferior): Wrap reference to
5136         tcgetpgrp in HAVE_TERMIOS_H.
5137         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
5138         _WIN32.
5139         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
5140         always iterate over all inferiors.
5141         (gdbsim_cntrl_c): Adjust.
5142         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
5143
5144 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
5145
5146         * gdbtypes.c (lookup_array_range_type): Make sure the array's
5147         index type is objfile-owned if the element type is as well.
5148
5149 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
5150
5151         GDB 8.1 released.
5152
5153 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5154
5155         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
5156         "features/s390x-linux64.c".
5157         (_initialize_s390_linux_tdep): Remove initialization of tdescs
5158         s390_linux32 and s390x_linux64.
5159         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
5160         default tdesc.
5161         * s390-tdep.c: Include "features/s390-linux32.c" and
5162         "features/s390x-linux64.c".
5163         (s390_tdesc_valid): Add check for tdesc_has_registers.
5164         (s390_gdbarch_init): Make sure there is always a valid tdesc.
5165         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
5166         tdesc_s390x_linux64.
5167         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
5168         tdesc_s390x_linux64 to...
5169         * s390-tdep.h: ...here.
5170
5171 2018-01-30  Pedro Alves  <palves@redhat.com>
5172
5173         PR gdb/13211
5174         * config.in, configure: Regenerate.
5175         * configure.ac: Check for getpgid.
5176         * go32-nat.c (go32_pass_ctrlc): New.
5177         (go32_target): Install it.
5178         * inf-child.c (inf_child_target): Install
5179         child_terminal_save_inferior, child_pass_ctrlc and
5180         child_interrupt.
5181         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
5182         (inf_ptrace_target): No longer install it.
5183         * infcmd.c (interrupt_target_1): Adjust.
5184         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
5185         (child_interrupt): Declare.
5186         (inferior::terminal_state): New.
5187         * inflow.c (struct terminal_info): Update comments.
5188         (inferior_process_group): Delete.
5189         (terminal_is_ours): Delete.
5190         (gdb_tty_state): New.
5191         (child_terminal_init): Adjust.
5192         (is_gdb_terminal, sharing_input_terminal_1)
5193         (sharing_input_terminal): New functions.
5194         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
5195         Set the process's actual process group in the foreground if
5196         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
5197         mark terminal as the inferior's if not sharing GDB's terminal.
5198         Don't check attach_flag.
5199         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
5200         pass down a target_terminal_state.
5201         (child_terminal_save_inferior): New, factored out from ...
5202         (child_terminal_ours_1): ... this.  Handle
5203         target_terminal_state::is_ours_for_output.
5204         (child_interrupt, child_pass_ctrlc): New.
5205         (inflow_inferior_exit): Clear the inferior's terminal_state.
5206         (copy_terminal_info): Copy the inferior's terminal state.
5207         (_initialize_inflow): Remove reference to terminal_is_ours.
5208         * inflow.h (inferior_process_group): Delete.
5209         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
5210         * procfs.c (procfs_target): Don't install procfs_interrupt.
5211         (procfs_interrupt): Delete.
5212         * remote.c (remote_serial_quit_handler): Adjust.
5213         (remote_interrupt): Remove ptid parameter.  Adjust.
5214         * target-delegates.c: Regenerate.
5215         * target.c: Include "terminal.h".
5216         (target_terminal::terminal_state): Rename to ...
5217         (target_terminal::m_terminal_state): ... this.
5218         (target_terminal::init): Adjust.
5219         (target_terminal::inferior): Adjust to per-inferior
5220         terminal_state.
5221         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
5222         (target_terminal::ours, target_terminal::ours_for_output): Use
5223         target_terminal_is_ours_kind.
5224         (target_interrupt): Remove ptid parameter.  Adjust.
5225         (default_target_pass_ctrlc): Adjust.
5226         * target.h (target_ops::to_terminal_save_inferior): New field.
5227         (target_ops::to_interrupt): Remove ptid_t parameter.
5228         (target_interrupt): Remove ptid_t parameter.  Update comment.
5229         (target_pass_ctrlc): Update comment.
5230         * target/target.h (target_terminal_state): New scoped enum,
5231         factored out of ...
5232         (target_terminal::terminal_state): ... here.
5233         (target_terminal::inferior): Update comments.
5234         (target_terminal::restore_inferior): New.
5235         (target_terminal::is_inferior, target_terminal::is_ours)
5236         (target_terminal::is_ours_for_output): Adjust.
5237         (target_terminal::scoped_restore_terminal_state): Adjust to
5238         rename, and call restore_inferior() instead of inferior().
5239         (target_terminal::scoped_restore_terminal_state::m_state): Change
5240         type.
5241         (target_terminal::terminal_state): Rename to ...
5242         (target_terminal::m_terminal_state): ... this and change type.
5243
5244 2018-01-30  Pedro Alves  <palves@redhat.com>
5245
5246         * linux-nat.c (wait_for_signal): New function.
5247         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
5248         directly.
5249         (async_terminal_is_ours)
5250         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
5251         (linux_nat_add_target): Don't override
5252         to_terminal_inferior/to_terminal_ours.
5253
5254 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
5255
5256         * remote.c (remote_follow_fork): Don't call "detach_inferior".
5257
5258 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
5259
5260         * dwarf2read.c (free_dwo_files): Add forward-declaration.
5261         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
5262         dwarf2_per_objfile_free here.
5263         (dwarf2_per_objfile_free): Remove.
5264         (_initialize_dwarf2_read): Don't register
5265         dwarf2_per_objfile_free as a registry cleanup.
5266
5267 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
5268
5269         Avoid compilation errors in MinGW native builds
5270
5271         The error is triggered by including python-internal.h, and the
5272         error message is:
5273
5274              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
5275                       from build-gnulib/import/math.h:27,
5276                       from d:/usr/Python26/include/pyport.h:235,
5277                       from d:/usr/Python26/include/Python.h:58,
5278                       from python/python-internal.h:94,
5279                       from python/py-arch.c:24:
5280              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
5281         using ::hypot;
5282                 ^~~~~
5283
5284         This happens because Python headers define 'hypot' to expand t
5285         '_hypot' in the Windows builds.
5286         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
5287         'hypoth'.  This avoids a compilation error.
5288
5289 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
5290
5291         * MAINTAINERS (Write After Approval): Fix ordering.
5292
5293 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
5294
5295         * MAINTAINERS (Write After Approval): Add Alan Hayward.
5296
5297 2018-01-26  Alan Modra  <amodra@gmail.com>
5298
5299         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
5300         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
5301         Remove nop.  Make const.  Comment.
5302         (powerpc32_plt_stub_so_2): New.
5303         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
5304         Correct count.  Update uses.
5305         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
5306         Move common code reading PLT entry word.  Correct
5307         powerpc32_plt_stub PLT address calculation.
5308         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
5309         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
5310         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
5311         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
5312         (ppc64_standard_linkage8): Likewise.
5313         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
5314         Correct insns description.
5315         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
5316
5317 2018-01-24  Pedro Alves  <palves@redhat.com>
5318
5319         GCC PR libstdc++/83906
5320         * gdbtypes.c (operator==(const dynamic_prop &,
5321         const dynamic_prop &)): New.
5322         (operator==(const range_bounds &, const range_bounds &)): New.
5323         (check_types_equal): Use them instead of memcmp.
5324         * gdbtypes.h (operator==(const dynamic_prop &,
5325         const dynamic_prop &)): Declare.
5326         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
5327         (operator==(const range_bounds &, const range_bounds &)): Declare.
5328         (operator!=(const range_bounds &, const range_bounds &)): Declare.
5329
5330 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5331
5332         * s390-linux-tdep.c (s390_record_address_mask)
5333         (s390_record_calc_disp_common, s390_record_calc_disp)
5334         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
5335         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
5336         (s390_process_record): Move to s390-tdep.c.
5337         (s390_linux_init_abi_any): Adjust.
5338         * s390-tdep.c (s390_record_address_mask)
5339         (s390_record_calc_disp_common, s390_record_calc_disp)
5340         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
5341         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
5342         (s390_process_record): Moved from s390-linux-tdep.c
5343         (s390_gdbarch_init): Adjust.
5344
5345 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5346
5347         * s390-linux-nat.c (s390-tdep.h): New include.
5348         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
5349         (HFILES_NO_SRCDIR): Add s390-tdep.h.
5350         (ALLDEPFILES): Add s390-tdep.c.
5351         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
5352         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
5353         * s390-tdep.h: ...this.  New file.
5354         * s390-linux-tdep.c (s390-tdep.h): New include.
5355         (_initialize_s390_tdep): Rename to...
5356         (_initialize_s390_linux_tdep): ...this and adjust.
5357         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
5358         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
5359         s390-tdep.h.
5360         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
5361         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
5362         (s390_is_partial_instruction, s390_software_single_step)
5363         (is_non_branch_ril, s390_displaced_step_copy_insn)
5364         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
5365         (s390_prologue_data, s390_addr, s390_store, s390_load)
5366         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
5367         (s390_register_call_saved, s390_guess_tracepoint_registers)
5368         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
5369         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
5370         (s390_pseudo_register_name, s390_pseudo_register_type)
5371         (s390_pseudo_register_read, s390_pseudo_register_write)
5372         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
5373         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
5374         (s390_addr_bits_remove, s390_address_class_type_flags)
5375         (s390_address_class_type_flags_to_name)
5376         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
5377         (s390_function_arg_float, s390_function_arg_vector)
5378         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
5379         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
5380         (s390_frame_align, s390_register_return_value, s390_return_value)
5381         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
5382         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
5383         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
5384         (s390_trad_frame_prev_register, s390_unwind_cache)
5385         (s390_prologue_frame_unwind_cache)
5386         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
5387         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
5388         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
5389         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
5390         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
5391         (s390_frame_base_address, s390_local_base_address)
5392         (s390_frame_base, s390_gcc_target_options)
5393         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
5394         (s390_validate_reg_range, s390_tdesc_valid)
5395         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
5396         * s390-tdep.c: ...this.  New file.
5397
5398 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5399
5400         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
5401         (s390_process_record, s390_gdbarch_tdep_alloc)
5402         (s390_linux_init_abi_any): Use/set new hook.
5403
5404 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5405
5406         * s390-linux-tdep.c (osabi.h): New include.
5407         (s390_linux_init_abi_31, s390_linux_init_abi_64)
5408         (s390_linux_init_abi_any): New functions.
5409         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
5410
5411 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5412
5413         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
5414         tdesc_has_registers check
5415
5416 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5417
5418         * s390-linux-tdep.c (s390_tdesc_valid): New function.
5419         (s390_validate_reg_range): New macro.
5420         (s390_gdbarch_init): Adjust.
5421
5422 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5423
5424         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
5425         (s390_gdbarch_tdep_alloc): Adjust.
5426         (s390_gdbarch_init): Adjust.
5427
5428 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5429
5430         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
5431         <have_tdb>: Change type to bool.
5432         (s390_gdbarch_tdep_alloc): Adjust.
5433         (s390_gdbarch_init): Adjust.
5434
5435 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5436
5437         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
5438         (gdbarch_tdep) <have_upper, have_vx>: New fields.
5439         (s390_gdbarch_tdep_alloc): New function.
5440         (s390_gdbarch_init): Allocate tdep at start and use its fields
5441         instead of separate variables.
5442
5443 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
5444
5445         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
5446         when looking for cached gdbarch and add comment for remaining.
5447
5448 2018-01-22  Pedro Alves  <palves@redhat.com>
5449             Sergio Durigan Junior  <sergiodj@redhat.com>
5450
5451         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
5452         case.
5453
5454 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
5455
5456         * MAINTAINERS: Update my company e-mail address.
5457
5458 2018-01-22  Yao Qi  <yao.qi@linaro.org>
5459
5460         * regcache.c (cooked_write_test): New function.
5461         (_initialize_regcache): Register the test.
5462
5463 2018-01-22  Yao Qi  <yao.qi@linaro.org>
5464
5465         * ia64-tdep.c (ia64_pseudo_register_read): Call
5466         regcache->cooked_read instead of regcache_cooked_read_unsigned.
5467         * m32c-tdep.c (m32c_cat_read): Likewise.
5468         (m32c_r3r2r1r0_read): Likewise.
5469         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
5470         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
5471
5472 2018-01-22  Yao Qi  <yao.qi@linaro.org>
5473
5474         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
5475         method raw_read instead of regcache_raw_read.
5476         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
5477         * arm-tdep.c (arm_neon_quad_read): Likewise.
5478         * avr-tdep.c (avr_pseudo_register_read): Likewise.
5479         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
5480         * frv-tdep.c (frv_pseudo_register_read): Likewise.
5481         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
5482         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
5483         (i386_pseudo_register_read_into_value): Likewise.
5484         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
5485         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
5486         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
5487         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
5488         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
5489         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
5490         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
5491         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
5492         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
5493
5494 2018-01-22  Yao Qi  <yao.qi@linaro.org>
5495
5496         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
5497         * configure.tgt: Remove target mt.
5498         * mt-tdep.c: Remove.
5499         * regcache.c (cooked_read_test): Remove the check for mt.
5500
5501 2018-01-22  Yao Qi  <yao.qi@linaro.org>
5502
5503         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
5504         instead of gdbarch_pseudo_register_read_value.
5505
5506 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
5507
5508         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
5509         language is Ada.
5510
5511 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
5512
5513         * linespec.c (create_sals_line_offset): Remove code that preserved
5514         the symtab_and_line's line number.
5515
5516 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
5517
5518         * varobj.c (varobj_create): Don't set valid_block when creating a
5519         floating varobj.
5520
5521 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
5522
5523         * varobj.c (varobj_create): Remove out of date comment.
5524
5525 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
5526
5527         PR mi/20395
5528         * ada-exp.y (write_var_from_sym): Pass extra parameter when
5529         updating innermost block.
5530         * parse.c (innermost_block_tracker::update): Take extra type
5531         parameter, and check types match before updating innermost block.
5532         (write_dollar_variable): Update innermost block for registers.
5533         * parser-defs.h (enum innermost_block_tracker_type): New enum.
5534         (innermost_block_tracker::innermost_block_tracker): Initialise
5535         m_types member.
5536         (innermost_block_tracker::reset): Take type parameter.
5537         (innermost_block_tracker::update): Take type parameter, and pass
5538         type through as needed.
5539         (innermost_block_tracker::m_types): New member.
5540         * varobj.c (varobj_create): Pass type when reseting innermost
5541         block.
5542
5543 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
5544
5545         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
5546         * ada-lang.c (resolve_subexp): Likewise.
5547         * breakpoint.c (set_breakpoint_condition) Likewise.
5548         (watch_command_1) Likewise.
5549         * c-exp.y (variable): Likewise.
5550         * d-exp.y (PrimaryExpression): Likewise.
5551         * f-exp.y (variable): Likewise.
5552         * go-exp.y (variable): Likewise.
5553         * m2-exp.y (variable): Likewise.
5554         * objfiles.c (objfile::~objfile): Likewise.
5555         * p-exp.y (variable): Likewise.
5556         * parse.c (innermost_block): Change type.
5557         * parser-defs.h (class innermost_block_tracker): New.
5558         (innermost_block): Change to innermost_block_tracker.
5559         * printcmd.c (display_command): Switch to innermost_block API.
5560         (do_one_display): Likewise.
5561         * rust-exp.y (do_one_display): Likewise.
5562         * symfile.c (clear_symtab_users): Likewise.
5563         * varobj.c (varobj_create): Switch to innermost_block API, replace
5564         use of innermost_block with block stored on varobj object.
5565
5566 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
5567
5568         * expression.h (innermost_block): Remove declaration.
5569         * varobj.c: Add 'parser-defs.h' include.
5570
5571 2018-01-19  Tom Tromey  <tom@tromey.com>
5572
5573         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
5574         symbols in the static and global blocks.
5575
5576 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
5577
5578         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
5579         gdb_ptrace.h, and move including gdb_wait.h ...
5580         * nat/linux-ptrace.h: ... to here.
5581
5582 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
5583
5584         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
5585         inf_ptrace_detach_success.
5586         (inf_ptrace_detach_success): Add inferior parameter, use it
5587         instead of inferior_ptid, pass it to detach_inferior.
5588         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
5589         parameter.
5590         * inferior.c (detach_inferior): Add overload that takes an
5591         inferior object.
5592         * inferior.h (detach_inferior): Likewise.
5593         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
5594         use inferior_ptid, adjust call to inf_ptrace_detach_success.
5595         * linux-thread-db.c (thread_db_detach): Use inf parameter.
5596
5597 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
5598
5599         * target.h (struct target_ops) <to_detach>: Add inferior
5600         parameter.
5601         (target_detach): Likewise.
5602         * target.c (dispose_inferior): Pass inferior down.
5603         (target_detach): Pass inferior down.  Assert that it is equal to
5604         the current inferior.
5605         * aix-thread.c (aix_thread_detach): Pass inferior down.
5606         * corefile.c (core_file_command): Pass current_inferior() down.
5607         * corelow.c (core_detach): Add inferior parameter.
5608         * darwin-nat.c (darwin_detach): Likewise.
5609         * gnu-nat.c (gnu_detach): Likewise.
5610         * inf-ptrace.c (inf_ptrace_detach): Likewise.
5611         * infcmd.c (detach_command): Pass current_inferior() down to
5612         target_detach.
5613         * infrun.c (follow_fork_inferior): Pass parent_inf to
5614         target_detach.
5615         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
5616         target_detach.
5617         * linux-nat.c (linux_nat_detach): Add inferior parameter.
5618         * linux-thread-db.c (thread_db_detach): Likewise.
5619         * nto-procfs.c (procfs_detach): Likewise.
5620         * procfs.c (procfs_detach): Likewise.
5621         * record.c (record_detach): Likewise.
5622         * record.h (struct inferior): Forward-declare.
5623         (record_detach): Add inferior parameter.
5624         * remote-sim.c (gdbsim_detach): Likewise.
5625         * remote.c (remote_detach_1): Likewise.
5626         (remote_detach): Likewise.
5627         (extended_remote_detach): Likewise.
5628         * sol-thread.c (sol_thread_detach): Likewise.
5629         * target-debug.h (target_debug_print_inferior_p): New macro.
5630         * target-delegates.c: Re-generate.
5631         * top.c (kill_or_detach): Pass inferior down to target_detach.
5632         * windows-nat.c (windows_detach): Add inferior parameter.
5633
5634 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
5635
5636         * target.h (struct target_ops) <to_detach>: Remove args
5637         parameter.
5638         (target_detach): Likewise.
5639         * target.c (dispose_inferior): Adjust.
5640         (target_detach): Remove args parameter, adjust.
5641         * aix-thread.c (aix_thread_detach): Adjust.
5642         * corefile.c (core_file_command): Adjust.
5643         * corelow.c (core_detach): Adjust.
5644         * darwin-nat.c (darwin_detach): Adjust.
5645         * gnu-nat.c (gnu_detach): Adjust.
5646         * inf-ptrace.c (inf_ptrace_detach): Adjust.
5647         * infcmd.c (detach_command): Adjust
5648         * infrun.c (follow_fork_inferior): Adjust.
5649         (handle_vfork_child_exec_or_exit): Adjust.
5650         * linux-fork.c (linux_fork_detach): Remove args parameter.
5651         * linux-fork.h (linux_fork_detach): Likewise.
5652         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
5653         * linux-thread-db.c (thread_db_detach): Likewise.
5654         * nto-procfs.c (procfs_detach): Likewise.
5655         * procfs.c (procfs_detach): Likewise.
5656         (do_detach): Remove signo parameter.
5657         * record.c (record_detach): Remove args parameter.
5658         * record.h (record_detach): Likewise.
5659         * remote-sim.c (gdbsim_detach): Likewise.
5660         * remote.c (remote_detach_1): Likewise.
5661         (remote_detach): Likewise.
5662         (extended_remote_detach): Likewise.
5663         * sol-thread.c (sol_thread_detach): Likewise.
5664         * target-delegates.c: Re-generate.
5665         * top.c (struct qt_args) <args>: Remove field.
5666         (kill_or_detach): Don't pass args.
5667         (quit_force): Don't set args.
5668         * windows-nat.c (windows_detach): Remove args parameter.
5669
5670 2018-01-19  Yao Qi  <yao.qi@linaro.org>
5671
5672         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
5673         (arm_linux_init_abi): Install it.
5674
5675 2018-01-19  Yao Qi  <yao.qi@linaro.org>
5676
5677         * osabi.c (gdb_osabi_names): Extend the regexp for
5678         arm-linux-gnueabihf.
5679
5680 2018-01-18  Yao Qi  <yao.qi@linaro.org>
5681
5682         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
5683         m_abbrevs.
5684         (abbrev_table::add_abbrev): Update.
5685         (abbrev_table::lookup_abbrev): Update.
5686
5687 2018-01-18  Yao Qi  <yao.qi@linaro.org>
5688
5689         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
5690
5691 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
5692
5693         * compile/compile.c (compile_to_object): Convert "triplet_rx"
5694         to "std::string".
5695
5696 2018-01-17  Tom Tromey  <tom@tromey.com>
5697
5698         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
5699
5700 2018-01-17  Tom Tromey  <tom@tromey.com>
5701
5702         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
5703         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
5704         (create_array_type_with_stride): Update.
5705         * dwarf2read.c (set_die_type): Update.
5706
5707 2018-01-17  Tom Tromey  <tom@tromey.com>
5708
5709         * dwarf2read.c (delayed_method_info): Remove typedef.
5710         (dwarf2_cu::method_info): Now a std::vector.
5711         (add_to_method_list): Update.
5712         (free_delayed_list): Remove.
5713         (compute_delayed_physnames): Update.
5714         (process_full_comp_unit, process_full_type_unit): Clear the method
5715         list.  Remove cleanups.
5716         (psymtab_include_file_name): Add name_holder parameter.  Use
5717         unique_xmalloc_ptr.
5718         (dwarf_decode_lines): Update.
5719
5720 2018-01-17  Tom Tromey  <tom@tromey.com>
5721             Simon Marchi  <simon.marchi@ericsson.com>
5722
5723         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
5724         (dwarf2_per_objfile::free_cached_comp_units)
5725         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
5726         (init_cutu_and_read_dies_no_follow): Update.
5727         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
5728         (dwarf2_cu::~dwarf2_cu): New.
5729         (free_heap_comp_unit, free_stack_comp_unit): Remove.
5730         (age_cached_comp_units, free_one_cached_comp_unit): Update.
5731
5732 2018-01-17  Tom Tromey  <tom@tromey.com>
5733             Simon Marchi  <simon.marchi@ericsson.com>
5734
5735         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
5736         (struct die_reader_specs) <abbrev_table>: New member.
5737         (struct abbrev_table): Add constructor.
5738         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
5739         <abbrev_obstack>: Now an auto_obstack.
5740         (abbrev_table_up): New typedef.
5741         (init_cu_die_reader): Add abbrev_table parameter.
5742         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
5743         Add result_dwo_abbrev_table.
5744         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
5745         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
5746         Update.
5747         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
5748         parameter.
5749         (skip_children): Update.
5750         (abbrev_table::alloc_abbrev): Rename from
5751         abbrev_table_alloc_abbrev.
5752         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
5753         (abbrev_table::lookup_abbrev): Rename from
5754         abbrev_table_lookup_abbrev.
5755         (abbrev_table_read_table): Return abbrev_table_up.
5756         (abbrev_table_free, abbrev_table_free_cleanup)
5757         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
5758         (load_partial_dies): Update.
5759
5760 2018-01-17  Tom Tromey  <tom@tromey.com>
5761
5762         * dwarf2read.c (dwarf2_compute_name): Update comment.
5763         (read_func_scope, read_variable): Update.
5764         (new_symbol): Remove.
5765         (new_symbol_full): Rename to new_symbol.
5766
5767 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
5768
5769         PR gdb/16577
5770         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
5771         a warning instead of throwing an error, set section size to 0 and return
5772         NULL.
5773         * gdb_bfd.h (gdb_bfd_map_section): Update description.
5774
5775 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
5776
5777         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
5778         std::string.
5779         (linux_ptrace_attach_fail_reason_string): Likewise.
5780         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
5781         Likewise.
5782         (linux_ptrace_attach_fail_reason_string): Likewise.
5783         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
5784
5785 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
5786
5787         * linux-nat.c (linux_nat_attach): Remove xstrdup.
5788
5789 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
5790
5791         PR gdb/21559
5792         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
5793         checking for fs_base/gs_base fields in struct user_regs_struct.
5794         * configure: Regenerate.
5795
5796 2018-01-17  Yao Qi  <yao.qi@linaro.org>
5797
5798         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
5799         function.
5800         (aarch64_linux_init_abi): Install it to gdbarch hook
5801         gcc_target_options.
5802
5803 2018-01-15  Pedro Alves  <palves@redhat.com>
5804
5805         * common/signals-state-save-restore.c
5806         (save_original_signals_state): Fix typos.
5807
5808 2017-01-12  Tom Tromey  <tom@tromey.com>
5809             Sergio Durigan Junior  <sergiodj@redhat.com>
5810
5811         * Makefile.in (install-only): Install gdb-add-index.
5812
5813 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
5814
5815         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
5816
5817 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
5818
5819         * infrun.c (keep_going_pass_signal): Clear step-over info when
5820         insert_breakpoints fails.
5821
5822 2018-01-11  Pedro Alves  <palves@redhat.com>
5823
5824         PR gdb/22583
5825         * infrun.c (resume): Rename to ...
5826         (resume_1): ... this.
5827         (resume): Reimplement as wrapper around resume_1.
5828
5829 2018-01-11  Pedro Alves  <palves@redhat.com>
5830
5831         PR remote/22597
5832         * remote.c (remote_parse_stop_reply): Default to the last-set
5833         general thread instead of to 'magic_null_ptid'.
5834
5835 2018-01-10  Pedro Alves  <palves@redhat.com>
5836
5837         * language.h (language_get_symbol_name_matcher): Rename ...
5838         (get_symbol_name_matcher): ... this.
5839         * language.c (language_get_symbol_name_matcher): Ditto.
5840         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
5841         callers adjusted.
5842
5843 2018-01-10  Pedro Alves  <palves@redhat.com>
5844
5845         PR gdb/22670
5846         * dwarf2read.c
5847         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
5848         Adjust to use language_get_symbol_name_matcher instead of
5849         language_defn::la_get_symbol_name_matcher.
5850         * language.c (language_get_symbol_name_matcher): If in Ada mode
5851         and the lookup name is a verbatim match, return Ada's matcher.
5852         * language.h (language_get_symbol_name_matcher): Adjust comment.
5853         (ada_lookup_name_info::verbatim_p):: New method.
5854
5855 2018-01-10  Pedro Alves  <palves@redhat.com>
5856
5857         PR gdb/22670
5858         * ada-lang.c (ada_collect_symbol_completion_matches): If the
5859         minsym's language is language_auto or language_cplus, pass down
5860         language_ada instead.
5861         * symtab.c (compare_symbol_name): Don't frob symbol language here.
5862
5863 2018-01-10  Pedro Alves  <palves@redhat.com>
5864
5865         PR gdb/22670
5866         * minsyms.c (linkage_name_str): New function.
5867         (iterate_over_minimal_symbols): Use it.
5868
5869 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
5870
5871         * NEWS: Document that 'info proc' now works on FreeBSD.
5872
5873 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
5874
5875         * configure.ac: Check for kinfo_getfile in libutil.
5876         * configure: Regenerate.
5877         * config.in: Regenerate.
5878         * fbsd-nat.c: Include "fbsd-tdep.h".
5879         (fbsd_fetch_cmdline): New.
5880         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
5881         rather than calling error.
5882         (fbsd_info_proc): New.
5883         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
5884         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
5885         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
5886
5887 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
5888
5889         * fbsd-nat.c (struct free_deleter): Remove.
5890         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
5891
5892 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
5893
5894         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
5895         NULL for an empty pathname.
5896
5897 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
5898
5899         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
5900         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
5901         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
5902         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
5903         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
5904         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
5905         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
5906         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
5907         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
5908         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
5909         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
5910         (fbsd_core_fetch_timeval, fbsd_print_sigset)
5911         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
5912         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
5913         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
5914
5915 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
5916
5917         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
5918         (gnu_xfer_auxv): New function.
5919         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
5920         TARGET_OBJECT_AUXV.
5921
5922 2018-01-08  Yao Qi  <yao.qi@linaro.org>
5923             Simon Marchi  <simon.marchi@ericsson.com>
5924
5925         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
5926         common/selftest.c.
5927         (COMMON_OBS): Remove selftest.o.
5928         * configure.ac: Append selftest-arch.c and common/selftest.c to
5929         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
5930         * configure: Re-generated.
5931         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
5932         GDB_SELF_TEST.
5933         (maintenance_info_selftests): Likewise.
5934
5935 2018-01-08  Xavier Roirand  <roirand@adacore.com>
5936
5937         * ada-valprint.c (val_print_packed_array_elements): Use
5938         proper number of elements when printing an array indexed
5939         by an enumeration type.
5940
5941 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
5942
5943         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
5944         (dw2_get_file_names_reader): Adjust.
5945         (lookup_dwo_signatured_type): Adjust.
5946         (lookup_dwp_signatured_type): Adjust.
5947         (lookup_signatured_type): Adjust.
5948         (create_type_unit_group): Adjust.
5949         (get_type_unit_group): Adjust.
5950         (process_psymtab_comp_unit_reader): Adjust.
5951         (build_type_psymtabs_reader): Adjust.
5952         (scan_partial_symbols): Adjust.
5953         (add_partial_symbol): Adjust.
5954         (add_partial_subprogram): Adjust.
5955         (peek_die_abbrev): Adjust.
5956         (fixup_go_packaging): Adjust.
5957         (process_imported_unit_die): Adjust.
5958         (dwarf2_compute_name): Adjust.
5959         (dwarf2_physname): Adjust.
5960         (read_import_statement): Adjust.
5961         (handle_DW_AT_stmt_list): Adjust.
5962         (read_file_scope): Adjust.
5963         (read_func_scope): Adjust.
5964         (read_lexical_block_scope): Adjust.
5965         (read_call_site_scope): Adjust.
5966         (read_variable): Adjust.
5967         (dwarf2_rnglists_process): Adjust.
5968         (dwarf2_ranges_process): Adjust.
5969         (dwarf2_ranges_read): Adjust.
5970         (dwarf2_get_pc_bounds): Adjust.
5971         (dwarf2_record_block_ranges): Adjust.
5972         (dwarf2_add_field): Adjust.
5973         (dwarf2_add_member_fn): Adjust.
5974         (read_structure_type): Adjust.
5975         (process_structure_scope): Adjust.
5976         (read_enumeration_type): Adjust.
5977         (read_array_type): Adjust.
5978         (mark_common_block_symbol_computed): Adjust.
5979         (read_common_block): Adjust.
5980         (read_namespace_type): Adjust.
5981         (read_namespace): Adjust.
5982         (read_module_type): Adjust.
5983         (read_tag_pointer_type): Adjust.
5984         (read_tag_ptr_to_member_type): Adjust.
5985         (read_tag_string_type): Adjust.
5986         (read_subroutine_type): Adjust.
5987         (read_typedef): Adjust.
5988         (read_base_type): Adjust.
5989         (attr_to_dynamic_prop): Adjust.
5990         (read_subrange_type): Adjust.
5991         (read_unspecified_type): Adjust.
5992         (dwarf2_read_abbrevs): Adjust.
5993         (load_partial_dies): Adjust.
5994         (read_partial_die): Adjust.
5995         (find_partial_die): Adjust.
5996         (guess_partial_die_structure_name): Adjust.
5997         (fixup_partial_die): Adjust.
5998         (read_attribute_value): Adjust.
5999         (read_addr_index): Adjust.
6000         (read_addr_index_from_leb128): Adjust.
6001         (read_str_index): Adjust.
6002         (dwarf2_string_attr): Adjust.
6003         (get_debug_line_section): Adjust.
6004         (dwarf_decode_line_header): Adjust.
6005         (lnp_state_machine::check_line_address): Adjust.
6006         (dwarf_decode_lines_1): Adjust.
6007         (dwarf_decode_lines): Adjust.
6008         (dwarf2_start_symtab): Adjust.
6009         (var_decode_location): Adjust.
6010         (new_symbol_full): Adjust.
6011         (dwarf2_const_value_data): Adjust.
6012         (dwarf2_const_value_attr): Adjust.
6013         (dwarf2_const_value): Adjust.
6014         (die_type): Adjust.
6015         (die_containing_type): Adjust.
6016         (build_error_marker_type): Adjust.
6017         (lookup_die_type): Adjust.
6018         (guess_full_die_structure_name): Adjust.
6019         (anonymous_struct_prefix): Adjust.
6020         (determine_prefix): Adjust.
6021         (dwarf2_name): Adjust.
6022         (follow_die_ref_or_sig): Adjust.
6023         (follow_die_offset): Adjust.
6024         (follow_die_ref): Adjust.
6025         (follow_die_sig_1): Adjust.
6026         (follow_die_sig): Adjust.
6027         (get_signatured_type): Adjust.
6028         (get_DW_AT_signature_type): Adjust.
6029         (decode_locdesc): Adjust.
6030         (dwarf_decode_macros): Adjust.
6031         (cu_debug_loc_section): Adjust.
6032         (fill_in_loclist_baton): Adjust.
6033         (dwarf2_symbol_mark_computed): Adjust.
6034         (init_one_comp_unit): Don't assign
6035         dwarf2_cu::dwarf2_per_objfile.
6036         (set_die_type): Adjust.
6037
6038 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
6039
6040         * dwarf2read.c (struct mapped_debug_names): Add constructor.
6041         <dwarf2_per_objfile>: New field.
6042         (dwarf2_per_objfile): Remove global.
6043         (get_dwarf2_per_objfile): New function.
6044         (set_dwarf2_per_objfile): New function.
6045         (dwarf2_build_psymtabs_hard): Change objfile parameter to
6046         dwarf2_per_objfile.
6047         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
6048         (read_abbrev_offset): Likewise.
6049         (read_indirect_string): Likewise.
6050         (read_indirect_line_string): Likewise.
6051         (read_indirect_string_at_offset): Likewise.
6052         (read_indirect_string_from_dwz): Likewise.
6053         (dwarf2_find_containing_comp_unit): Change objfile parameter to
6054         dwarf2_per_objfile.
6055         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
6056         (create_all_comp_units): Change objfile parameter to
6057         dwarf2_per_objfile.
6058         (create_all_type_units): Likewise.
6059         (process_queue): Add dwarf2_per_objfile parameter.
6060         (read_and_check_comp_unit_head): Likewise.
6061         (lookup_dwo_unit_in_dwp): Likewise.
6062         (get_dwp_file): Likewise.
6063         (process_cu_includes): Likewise.
6064         (struct free_dwo_file_cleanup_data): New struct.
6065         (dwarf2_has_info): Use get_dwarf2_per_objfile and
6066         set_dwarf2_per_objfile.
6067         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
6068         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
6069         context, adjust calls.
6070         (dw2_instantiate_symtab): Likewise.
6071         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
6072         (dw2_get_cu): Likewise.
6073         (create_cu_from_index_list): Change objfile parameter to
6074         dwarf2_per_objfile.
6075         (create_cus_from_index_list): Get dwarf2_per_objfile from
6076         context, adjust calls.
6077         (create_cus_from_index): Likewise.
6078         (create_signatured_type_table_from_index): Change objfile
6079         parameter to dwarf2_per_objfile.
6080         (create_signatured_type_table_from_debug_names): Change objfile
6081         parameter to dwarf2_per_objfile.
6082         (create_addrmap_from_index): Likewise.
6083         (create_addrmap_from_aranges): Likewise.
6084         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
6085         (dw2_setup): Remove.
6086         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
6087         context.
6088         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
6089         get_dwarf2_per_objfile.
6090         (dw2_forget_cached_source_info): Likewise.
6091         (dw2_map_symtabs_matching_filename): Likewise.
6092         (struct dw2_symtab_iterator) <index>: Remove.
6093         <dwarf2_per_objfile>: New field.
6094         (dw2_symtab_iter_init): Replace index parameter with
6095         dwarf2_per_objfile.
6096         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
6097         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
6098         (dw2_print_stats): Likewise.
6099         (dw2_dump): Likewise.
6100         (dw2_expand_symtabs_for_function): Likewise.
6101         (dw2_expand_all_symtabs): Likewise.
6102         (dw2_expand_symtabs_with_fullname): Likewise.
6103         (dw2_expand_marked_cus): Replace index and objfile parameters
6104         with dwarf2_per_objfile.
6105         (dw_expand_symtabs_matching_file_matcher): Add
6106         dwarf2_per_objfile parameter and adjust calls.
6107         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
6108         adjust calls.
6109         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
6110         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
6111         adjust calls.
6112         (create_cus_from_debug_names_list): Replace objfile parameter
6113         with dwarf2_per_objfile and adjust calls.
6114         (create_cus_from_debug_names): Likewise.
6115         (dwarf2_read_debug_names): Likewise.
6116         (mapped_debug_names::namei_to_name): Adjust call.
6117         (dw2_debug_names_iterator::next): Likewise.
6118         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
6119         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
6120         (dw2_debug_names_dump): Likewise.
6121         (dw2_debug_names_expand_symtabs_for_function): Likewise.
6122         (dw2_debug_names_expand_symtabs_matching): Likewise.
6123         (dwarf2_initialize_objfile): Likewise.
6124         (dwarf2_build_psymtabs): Likewise.
6125         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
6126         this_cu.
6127         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
6128         (read_and_check_comp_unit_head): Likewise.
6129         (read_abbrev_offset): Likewise.
6130         (create_debug_type_hash_table): Likewise.
6131         (create_debug_types_hash_table): Likewise.
6132         (create_all_type_units): Replace objfile parameter with
6133         dwarf2_per_objfile.
6134         (add_type_unit): Add dwarf2_per_objfile parameter.
6135         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
6136         with dwarf2_per_objfile.
6137         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
6138         (lookup_dwp_signatured_type): Likewise.
6139         (lookup_signatured_type): Likewise.
6140         (read_cutu_die_from_dwo): Likewise.
6141         (init_tu_and_read_dwo_dies): Likewise.
6142         (init_cutu_and_read_dies): Likewise.
6143         (init_cutu_and_read_dies_no_follow): Likewise.
6144         (allocate_type_unit_groups_table): Add objfile parameter.
6145         (create_type_unit_group): Use dwarf2_per_objfile from cu.
6146         (get_type_unit_group): Likewise.
6147         (process_psymtab_comp_unit): Update call.
6148         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
6149         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
6150         (print_tu_stats): Likewise.
6151         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
6152         in void* parameter.
6153         (build_type_psymtabs): Change objfile parameter to
6154         dwarf2_per_objfile.
6155         (process_skeletonless_type_unit): Use dwarf2_per_objfile
6156         passed in void* parameter.
6157         (process_skeletonless_type_units): Change objfile parameter to
6158         dwarf2_per_objfile.
6159         (set_partial_user): Likewise.
6160         (dwarf2_build_psymtabs_hard): Likewise.
6161         (read_comp_units_from_section): Likewise.
6162         (create_all_comp_units): Likewise.
6163         (scan_partial_symbols): Update calls.
6164         (add_partial_symbol): Likewise.
6165         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
6166         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
6167         (process_queue): Add dwarf2_per_objfile parameter.
6168         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
6169         (compute_compunit_symtab_includes): Likewise.
6170         (process_cu_includes): Add dwarf2_per_objfile parameter.
6171         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
6172         (process_full_type_unit): Likewise.
6173         (process_imported_unit_die): Update call.
6174         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
6175         (read_file_scope): Likewise.
6176         (allocate_dwo_file_hash_table): Add objfile parameter.
6177         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
6178         (create_cus_hash_table): Likewise.
6179         (create_dwp_hash_table): Likewise.
6180         (create_dwo_unit_in_dwp_v1): Likewise.
6181         (create_dwp_v2_section): Likewise.
6182         (create_dwo_unit_in_dwp_v2): Likewise.
6183         (lookup_dwo_unit_in_dwp): Likewise.
6184         (try_open_dwop_file): Likewise.
6185         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
6186         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
6187         cleanup to include a reference to dwarf2_per_objfile.
6188         (open_dwp_file): Add dwarf2_per_objfile parameter.
6189         (open_and_init_dwp_file): Likewise.
6190         (get_dwp_file): Likewise.
6191         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
6192         (queue_and_load_all_dwo_tus): Update call.
6193         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
6194         data.
6195         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
6196         (dwarf2_ranges_process): Likewise.
6197         (dwarf2_get_pc_bounds): Likewise.
6198         (mark_common_block_symbol_computed): Likewise.
6199         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
6200         (dwarf2_read_abbrevs): Update call.
6201         (read_partial_die): Use dwarf2_per_objfile from cu.
6202         (find_partial_die): Likewise.
6203         (fixup_partial_die): Likewise.
6204         (read_attribute_value): Likewise.
6205         (read_indirect_string_at_offset_from): Add objfile parameter.
6206         (read_indirect_string_at_offset): Add dwarf2_per_objfile
6207         parameter.
6208         (read_indirect_string_from_dwz): Add objfile parameter.
6209         (read_indirect_string): Add objfile parameter.
6210         (read_addr_index_1): Add dwarf2_per_objfile parameter.
6211         (read_addr_index): Use dwarf2_per_objfile from cu.
6212         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
6213         call dw2_setup.
6214         (read_str_index): Use dwarf2_per_objfile from cu.
6215         (get_debug_line_section): Likewise.
6216         (read_formatted_entries): Add dwarf2_per_objfile parameter.
6217         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
6218         (new_symbol_full): Use dwarf2_per_objfile from cu.
6219         (build_error_marker_type): Likewise.
6220         (lookup_die_type): Likewise.
6221         (determine_prefix): Likewise.
6222         (follow_die_offset): Likewise.
6223         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
6224         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
6225         (dwarf2_fetch_die_type_sect_off): Likewise.
6226         (dwarf2_get_die_type): Likewise.
6227         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
6228         (get_signatured_type): Likewise.
6229         (get_DW_AT_signature_type): Likewise.
6230         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
6231         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
6232         (cu_debug_loc_section): Likewise.
6233         (fill_in_loclist_baton): Likewise.
6234         (dwarf2_symbol_mark_computed): Likewise.
6235         (dwarf2_find_containing_comp_unit): Change objfile parameter to
6236         dwarf2_per_objfile.
6237         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
6238         parameter.
6239         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
6240         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
6241         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
6242         (set_die_type): Use dwarf2_free_objfile from cu.
6243         (get_die_type_at_offset): Likewise.
6244         (dwarf2_per_objfile_free): Don't assign global variable.
6245         (debug_names) <constructor>: Add dwarf2_per_objfile
6246         parameter, update m_debugstrlookup construction.
6247         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
6248         parameter.
6249         <m_dwarf2_per_objfile>: New field.
6250         <lookup>: Use m_dwarf2_per_objfile.
6251         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
6252         (psyms_seen_size): Likewise.
6253         (write_gdbindex): Replace objfile parameter with
6254         dwarf2_per_objfile.
6255         (write_debug_names): Likewise.
6256         (write_psymtabs_to_index): Likewise.
6257         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
6258         calls.
6259
6260 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
6261
6262         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
6263         <dwarf2_per_objfile>: New field.
6264         (struct dwarf2_per_cu_data) <objfile>: Remove.
6265         <dwarf2_per_objfile>: New field.
6266         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
6267         of objfile.
6268         (create_signatured_type_table_from_index): Likewise.
6269         (create_debug_type_hash_table): Likewise.
6270         (fill_in_sig_entry_from_dwo_entry): Likewise.
6271         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
6272         (create_type_unit_group): Assign dwarf2_per_objfile instead of
6273         objfile.
6274         (create_partial_symtab): Access objfile through
6275         dwarf2_per_objfile.
6276         (process_psymtab_comp_unit_reader): Likewise.
6277         (read_comp_units_from_section): Likewise.
6278         (scan_partial_symbols): Likewise.
6279         (add_partial_symbol): Likewise.
6280         (add_partial_subprogram): Likewise.
6281         (peek_die_abbrev): Likewise.
6282         (fixup_go_packaging): Likewise.
6283         (process_full_comp_unit): Likewise.
6284         (process_full_type_unit): Likewise.
6285         (process_imported_unit_die): Likewise.
6286         (dwarf2_compute_name): Likewise.
6287         (dwarf2_physname): Likewise.
6288         (read_import_statement): Likewise.
6289         (create_cus_hash_table): Assign dwarf2_physname instead of
6290         objfile.
6291         (read_func_scope): Access objfile through dwarf2_per_objfile.
6292         (read_lexical_block_scope): Likewise.
6293         (read_call_site_scope): Likewise.
6294         (read_variable): Likewise.
6295         (dwarf2_rnglists_process): Likewise.
6296         (dwarf2_ranges_process): Likewise.
6297         (dwarf2_ranges_read): Likewise.
6298         (dwarf2_record_block_ranges): Likewise.
6299         (dwarf2_add_field): Likewise.
6300         (dwarf2_add_member_fn): Likewise.
6301         (read_structure_type): Likewise.
6302         (process_structure_scope): Likewise.
6303         (read_enumeration_type): Likewise.
6304         (read_array_type): Likewise.
6305         (read_common_block): Likewise.
6306         (read_namespace_type): Likewise.
6307         (read_namespace): Likewise.
6308         (read_module_type): Likewise.
6309         (read_tag_pointer_type): Likewise.
6310         (read_tag_ptr_to_member_type): Likewise.
6311         (read_tag_string_type): Likewise.
6312         (read_subroutine_type): Likewise.
6313         (read_typedef): Likewise.
6314         (read_base_type): Likewise.
6315         (attr_to_dynamic_prop): Likewise.
6316         (read_subrange_type): Likewise.
6317         (read_unspecified_type): Likewise.
6318         (load_partial_dies): Likewise.
6319         (read_partial_die): Likewise.
6320         (find_partial_die): Likewise.
6321         (guess_partial_die_structure_name): Likewise.
6322         (fixup_partial_die): Likewise.
6323         (read_attribute_value): Likewise.
6324         (read_addr_index_from_leb128): Likewise.
6325         (dwarf2_read_addr_index): Likewise.
6326         (dwarf2_string_attr): Likewise.
6327         (lnp_state_machine::check_line_address): Likewise.
6328         (dwarf_decode_lines_1): Likewise.
6329         (dwarf_decode_lines): Likewise.
6330         (dwarf2_start_symtab): Likewise.
6331         (var_decode_location): Likewise.
6332         (new_symbol_full): Likewise.
6333         (dwarf2_const_value_data): Likewise.
6334         (dwarf2_const_value_attr): Likewise.
6335         (dwarf2_const_value): Likewise.
6336         (die_type): Likewise.
6337         (die_containing_type): Likewise.
6338         (lookup_die_type): Likewise.
6339         (guess_full_die_structure_name): Likewise.
6340         (anonymous_struct_prefix): Likewise.
6341         (dwarf2_name): Likewise.
6342         (follow_die_ref_or_sig): Likewise.
6343         (follow_die_offset): Likewise.
6344         (follow_die_ref): Likewise.
6345         (dwarf2_fetch_die_loc_sect_off): Likewise.
6346         (dwarf2_fetch_constant_bytes): Likewise.
6347         (dwarf2_fetch_die_type_sect_off): Likewise.
6348         (dwarf2_get_die_type): Likewise.
6349         (follow_die_sig): Likewise.
6350         (decode_locdesc): Likewise.
6351         (dwarf2_per_cu_objfile): Likewise.
6352         (dwarf2_per_cu_text_offset): Likewise.
6353         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
6354         objfile.
6355         (set_die_type): Access objfile through
6356         dwarf2_per_objfile.
6357
6358 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
6359
6360         * valprint.c (converted_character_d): Remove typedef.
6361         (DEF_VEC_O (converted_character_d)): Remove.
6362         (count_next_character): Use std::vector.
6363         (print_converted_chars_to_obstack): Likewise.
6364         (generic_printstr): Likewise.
6365
6366 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
6367
6368         * xml-support.h (struct gdb_xml_value): Add constructor.
6369         <value>: Change type to unique_xmalloc_ptr.
6370         (gdb_xml_value_s): Remove typedef.
6371         (DEF_VEC_O (gdb_xml_value_s)): Remove.
6372         (gdb_xml_element_start_handler): Change parameter type to
6373         std::vector.
6374         (xml_find_attribute): Likewise.
6375         * xml-support.c (xml_find_attribute): Change parameter type to
6376         std::vector and adjust.
6377         (gdb_xml_values_cleanup): Remove.
6378         (gdb_xml_parser::start_element): Adjust to std::vector.
6379         (xinclude_start_include): Change paraeter type to std::vector
6380         and adjust.
6381         * btrace.c (check_xml_btrace_version): Likewise.
6382         (parse_xml_btrace_block): Likewise.
6383         (parse_xml_btrace_pt_config_cpu): Likewise.
6384         (parse_xml_btrace_pt): Likewise.
6385         (parse_xml_btrace_conf_bts): Likewise.
6386         (parse_xml_btrace_conf_pt): Likewise.
6387         * memory-map.c (memory_map_start_memory): Likewise.
6388         (memory_map_start_property): Likewise.
6389         * osdata.c (osdata_start_osdata): Likewise.
6390         (osdata_start_item): Likewise.
6391         (osdata_start_column): Likewise.
6392         * remote.c (start_thread): Likewise.
6393         * solib-aix.c (library_list_start_library): Likewise.
6394         (library_list_start_list): Likewise.
6395         * solib-svr4.c (library_list_start_library): Likewise.
6396         (svr4_library_list_start_list): Likewise.
6397         * solib-target.c (library_list_start_segment): Likewise.
6398         (library_list_start_section): Likewise.
6399         (library_list_start_library): Likewise.
6400         (library_list_start_list): Likewise.
6401         * tracepoint.c (traceframe_info_start_memory): Likewise.
6402         (traceframe_info_start_tvar): Likewise.
6403         * xml-syscall.c (syscall_start_syscall): Likewise.
6404         * xml-tdesc.c (tdesc_start_target): Likewise.
6405         (tdesc_start_feature): Likewise.
6406         (tdesc_start_reg): Likewise.
6407         (tdesc_start_union): Likewise.
6408         (tdesc_start_struct): Likewise.
6409         (tdesc_start_flags): Likewise.
6410         (tdesc_start_enum): Likewise.
6411         (tdesc_start_field): Likewise.
6412         (tdesc_start_enum_value): Likewise.
6413         (tdesc_start_vector): Likewise.
6414
6415 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
6416
6417         * extension.h (struct xmethod_worker) <clone>: Remove.
6418         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
6419         Remove.
6420         (python_xmethod_worker::clone): Remove.
6421         * valops.c (find_overload_match): Use std::move instead of
6422         clone.
6423
6424 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
6425
6426         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
6427         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
6428         <free_xmethod_worker_data>: Remove.
6429         <get_matching_xmethod_workers>: Chance VEC to std::vector.
6430         <get_xmethod_arg_types>: Remove.
6431         <get_xmethod_result_type>: Remove.
6432         <invoke_xmethod>: Remove.
6433         * extension.c (new_xmethod_worker): Remove.
6434         (clone_xmethod_worker): Remove.
6435         (get_matching_xmethod_workers): Return void, pass std::vector by
6436         pointer.
6437         (get_xmethod_arg_types): Rename to...
6438         (xmethod_worker::get_arg_types): ... this, and adjust.
6439         (get_xmethod_result_type): Rename to...
6440         (xmethod_worker::get_result_type): ... this, and adjust.
6441         (invoke_xmethod): Remove.
6442         (free_xmethod_worker): Remove.
6443         (free_xmethod_worker_vec): Remove.
6444         * extension.h (enum ext_lang_rc): Move here from
6445         extension-priv.h.
6446         (struct xmethod_worker): Add constructor and destructor.
6447         <data>: Remove.
6448         <value>: Remove.
6449         <invoke, clone, do_get_result_type, do_get_arg_types>: New
6450         virtual pure methods.
6451         <get_arg_types, get_result_type>: New methods.
6452         (xmethod_worker_ptr): Remove typedef.
6453         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
6454         (xmethod_worker_vec): Remove typedef.
6455         (xmethod_worker_up): New typedef.
6456         (invoke_xmethod): Remove.
6457         (clone_xmethod_worker): Remove.
6458         (free_xmethod_worker): Remove.
6459         (free_xmethod_worker_vec): Remove.
6460         (get_xmethod_arg_types): Remove.
6461         (get_xmethod_result_type): Remove.
6462         * valops.c (find_method_list): Use std::vector, don't use
6463         intermediate vector.
6464         (value_find_oload_method_list): Use std::vector.
6465         (find_overload_match): Use std::vector.
6466         (find_oload_champ): Use std::vector.
6467         * value.c (value_free): Use operator delete.
6468         (value_of_xmethod): Rename to...
6469         (value_from_xmethod): ... this.  Don't assign
6470         xmethod_worker::value, take rvalue-reference.
6471         (result_type_of_xmethod): Adjust.
6472         (call_xmethod): Adjust.
6473         * value.h: Include extension.h.
6474         (struct xmethod_worker): Don't forward-declare.
6475         (value_of_xmethod): Rename to...
6476         (value_from_xmethod): ... this, take rvalue-reference.
6477         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
6478         (struct python_xmethod_worker): ... this, add constructor and
6479         destructor.
6480         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
6481         (gdbpy_free_xmethod_worker_data): Rename to...
6482         (python_xmethod_worker::~python_xmethod_worker): ... this and
6483         adjust.
6484         (gdbpy_clone_xmethod_worker_data): Rename to...
6485         (python_xmethod_worker::clone): ... this and adjust.
6486         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
6487         temporary vector.
6488         (gdbpy_get_xmethod_arg_types): Rename to...
6489         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
6490         (gdbpy_get_xmethod_result_type): Rename to...
6491         (python_xmethod_worker::do_get_result_type): ... this and
6492         adjust.
6493         (gdbpy_invoke_xmethod): Rename to...
6494         (python_xmethod_worker::invoke): ... this and adjust.
6495         (new_python_xmethod_worker): Rename to...
6496         (python_xmethod_worker::python_xmethod_worker): ... this and
6497         adjust.
6498         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
6499         Remove.
6500         (gdbpy_free_xmethod_worker_data): Remove.
6501         (gdbpy_get_matching_xmethod_workers): Use std::vector.
6502         (gdbpy_get_xmethod_arg_types): Remove.
6503         (gdbpy_get_xmethod_result_type): Remove.
6504         (gdbpy_invoke_xmethod): Remove.
6505         * python/python.c (python_extension_ops): Remove obsolete
6506         callbacks.
6507
6508 2018-01-05  Pedro Alves  <palves@redhat.com>
6509
6510         PR gdb/18653
6511         * common/signals-state-save-restore.c
6512         (save_original_signals_state): New parameter 'quiet'.  Warn if we
6513         find a custom handler preinstalled, instead of internal erroring.
6514         But only warn if !quiet.
6515         * common/signals-state-save-restore.h
6516         (save_original_signals_state): New parameter 'quiet'.
6517         * main.c (captured_main_1): Move save_original_signals_state call
6518         after option handling, and pass QUIET.
6519
6520 2018-01-05  Pedro Alves  <palves@redhat.com>
6521
6522         * spu-tdep.c (spu_catch_start): Pass
6523         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
6524
6525 2018-01-05  Pedro Alves  <palves@redhat.com>
6526
6527         PR gdb/22670
6528         * ada-lang.c (literal_symbol_name_matcher): New function.
6529         (ada_get_symbol_name_matcher): Use it for
6530         symbol_name_match_type::SEARCH_NAME.
6531         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
6532         it down instead of assuming symbol_name_match_type::FULL.
6533         * block.h (block_lookup_symbol): New parameter 'match_type'.
6534         * c-valprint.c (print_unpacked_pointer): Use
6535         lookup_symbol_search_name instead of lookup_symbol.
6536         * compile/compile-object-load.c (get_out_value_type): Pass down
6537         symbol_name_match_type::SEARCH_NAME.
6538         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
6539         symbol_name_match_type::FULL.
6540         * cp-support.c (cp_get_symbol_name_matcher): Handle
6541         symbol_name_match_type::SEARCH_NAME.
6542         * infrun.c (insert_exception_resume_breakpoint): Use
6543         lookup_symbol_search_name.
6544         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
6545         * psymtab.c (maintenance_check_psymtabs): Use
6546         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
6547         * stack.c (print_frame_args): Use lookup_symbol_search_name and
6548         SYMBOL_SEARCH_NAME.
6549         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
6550         if symbol_name_match_type::SEARCH_NAME.
6551         (lookup_symbol_in_language): Pass down
6552         symbol_name_match_type::FULL.
6553         (lookup_symbol_search_name): New.
6554         (lookup_language_this): Pass down
6555         symbol_name_match_type::SEARCH_NAME.
6556         (lookup_symbol_aux, lookup_local_symbol): New parameter
6557         'match_type'.  Pass it down.
6558         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
6559         (lookup_symbol_search_name): New declaration.
6560         (lookup_symbol_in_block): New 'match_type' parameter.
6561
6562 2018-01-05  Pedro Alves  <palves@redhat.com>
6563
6564         PR gdb/22670
6565         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
6566         ada_lookup_symbol.
6567         (ada_lookup_symbol): Reimplement in terms of
6568         ada_lookup_symbol_list, bits factored out from
6569         ada_lookup_encoded_symbol.
6570
6571 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
6572
6573         * ada-exp.y (write_object_renaming): When subscripting an array
6574         using a symbol as the index, pass the block in call to
6575         ada_lookup_encoded_symbol when looking that symbol up.
6576
6577 2018-01-05  Jerome Guitton  <guitton@adacore.com>
6578
6579         * ada-lang.c (ada_array_length): Use ada_index_type instead of
6580         TYPE_INDEX_TYPE.
6581
6582 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
6583
6584         * ada-lang.c (ada_to_fixed_value_create): Add handling of
6585         the case where VALUE_LVAL (val0) is not lval_memory.
6586
6587 2018-01-05  Xavier Roirand  <roirand@adacore.com>
6588
6589         * ada-valprint.c (print_optional_low_bound): Handle
6590         character-indexed array printing like boolean-indexed array
6591         printing.
6592
6593 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
6594
6595         * NEWS: Create a new section for the next release branch.
6596         Rename the section of the current branch, now that it has
6597         been cut.
6598
6599 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
6600
6601         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
6602         * version.in: Bump version to 8.1.50.DATE-git.
6603
6604 2018-01-03  Xavier Roirand  <roirand@adacore.com>
6605
6606         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
6607         Add field.
6608         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
6609         Add field.
6610         (default_exception_support_info) <catch_handlers_sym>: Add field.
6611         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
6612         (ada_exception_name_addr_1): Add "catch handlers" handling.
6613         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
6614         Update all callers.
6615         (create_excep_cond_exprs) <ex>: Add parameter.
6616         (re_set_exception): Update create_excep_cond_exprs call.
6617         (print_it_exception, print_one_exception, print_mention_exception)
6618         (print_recreate_exception): Add "catch handler" handling.
6619         (allocate_location_catch_handlers, re_set_catch_handlers)
6620         (check_status_catch_handlers, print_it_catch_handlers)
6621         (print_one_catch_handlers, print_mention_catch_handlers)
6622         (print_recreate_catch_handlers): New function.
6623         (catch_handlers_breakpoint_ops): New variable.
6624         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
6625         Add parameter.  Add "catch handler" handling.
6626         (ada_exception_sym_name, ada_exception_breakpoint_ops):
6627         Add "catch handler" handling.
6628         (ada_exception_catchpoint_cond_string): Add "catch handler"
6629         handling.
6630         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
6631         call.
6632         (catch_ada_handlers_command): New function.
6633         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
6634         operations structure.
6635         (_initialize_ada_language): Add "catch handlers" command entry.
6636         * NEWS: Document "catch handlers" feature.
6637
6638 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
6639
6640         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
6641         account when creating the array type of the slice.
6642         (ada_value_slice): Likewise.
6643
6644 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
6645
6646         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
6647         New enum value.
6648         (create_array_type_with_stride): Add byte_stride_prop parameter.
6649         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
6650         New parameter.  Update all callers in this file.
6651         (array_type_has_dynamic_stride): New function.
6652         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
6653         of arrays with dynamic byte strides.
6654         * dwarf2read.c (read_array_type): Add support for dynamic
6655         DW_AT_byte_stride attributes.
6656
6657 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
6658
6659         * dwarf2read.c (read_unspecified_type): Treat
6660         DW_TAG_enumeration_type DIEs from Ada units as stubs.
6661
6662 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
6663
6664         Update copyright year range in all GDB files.
6665
6666 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
6667
6668         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
6669         and gdb/testsuite/gdb.base/step-line.c.
6670
6671 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
6672
6673         * copyright.py (main): Dump the contents of
6674         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
6675         even if BY_HAND is empty.
6676
6677 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
6678
6679         * top.c (print_gdb_version): Update Copyright year in version
6680         message.
6681
6682 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
6683
6684         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
6685
6686 For older changes see ChangeLog-2017.
6687 \f
6688 Local Variables:
6689 mode: change-log
6690 left-margin: 8
6691 fill-column: 74
6692 version-control: never
6693 coding: utf-8
6694 End: