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