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