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