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