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