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