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