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