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