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