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