Update symbol domain and location values for Python
[external/binutils.git] / gdb / ChangeLog
1 2018-10-06  Tom Tromey  <tom@tromey.com>
2
3         PR python/21765:
4         * python/py-symbol.c (gdbpy_initialize_symbols): Redefine
5         SYMBOL_VARIABLES_DOMAIN, SYMBOL_FUNCTIONS_DOMAIN,
6         SYMBOL_TYPES_DOMAIN.  Define SYMBOL_MODULE_DOMAIN,
7         SYMBOL_COMMON_BLOCK_DOMAIN, SYMBOL_LOC_COMMON_BLOCK.
8
9 2018-10-06  Tom Tromey  <tom@tromey.com>
10
11         PR build/17077:
12         * Makefile.in (OPCODES_CFLAGS): Remove "-I$(OPCODES_SRC)/..".
13         * arc-tdep.c, frv-tdep.c, lm32-tdep.c, mep-tdep.c,
14         microblaze-tdep.c, or1k-tdep.h: Use ../opcodes, not opcodes, in
15         #include.
16
17 2018-10-06  Tom Tromey  <tom@tromey.com>
18
19         * python/py-breakpoint.c (bppy_get_location): Handle a
20         bp_breakpoint without a location.
21
22 2018-10-06  Tom Tromey  <tom@tromey.com>
23
24         * python/lib/gdb/function/strfns.py (_MemEq, _StrLen, _StrEq)
25         (_RegEx): Reformat help text.
26         * python/lib/gdb/function/caller_is.py (CallerIs, CallerMatches)
27         (AnyCallerIs, AnyCallerMatches): Reformat help text.
28         * python/lib/gdb/function/as_string.py (_AsString): Reformat help
29         text.
30         * python/lib/gdb/command/xmethods.py (InfoXMethod)
31         (EnableXMethod, DisableXMethod): Remove help indentation.
32         Capitalize meta-syntactic variables.
33         * python/lib/gdb/command/unwinders.py (InfoUnwinder)
34         (EnableUnwinder, DisableUnwinder): Remove help indentation.
35         Capitalize meta-syntactic variables.
36         * python/lib/gdb/command/explore.py (ExploreCommand)
37         (ExploreValueCommand, ExploreTypeCommand): Reformat help text.
38         * python/lib/gdb/command/type_printers.py (InfoTypePrinter)
39         (EnableTypePrinter, DisableTypePrinter): Remove help indentation.
40         * python/lib/gdb/command/pretty_printers.py (InfoPrettyPrinter):
41         Remove help indentation.
42         (EnablePrettyPrinter, DisablePrettyPrinter): Likewise.
43         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter)
44         (DisableFrameFilter, SetFrameFilterPriority)
45         (ShowFrameFilterPriority, InfoFrameFilter): Reword help text.
46
47 2018-10-06  Tom Tromey  <tom@tromey.com>
48
49         PR tui/28819:
50         * tui/tui-io.c (gdb_wgetch): New function.
51         (tui_mld_getc, tui_getc): Use it.
52
53 2018-10-05  Tom Tromey  <tom@tromey.com>
54
55         * sol-thread.c (sol_thread_target::wait): Rename inner
56         "save_ptid".
57
58 2018-10-04  Tom Tromey  <tom@tromey.com>
59
60         * configure: Rebuild.
61         * warning.m4 (AM_GDB_WARNINGS): Add -Wshadow=local.
62
63 2018-10-04  Tom Tromey  <tom@tromey.com>
64
65         * guile/scm-frame.c (gdbscm_frame_read_var): Remove inner
66         declaration of "block".
67
68 2018-10-04  Tom Tromey  <tom@tromey.com>
69
70         * common/filestuff.c (fdwalk): Remove inner declaration of
71         "result".
72
73 2018-10-04  Tom Tromey  <tom@tromey.com>
74
75         * msp430-tdep.c (msp430_push_dummy_call): Rename inner
76         "structs_addr" and hoist declaration.
77
78 2018-10-04  Tom Tromey  <tom@tromey.com>
79
80         * linux-tdep.c (linux_make_mappings_corefile_notes): Introduce new
81         variable "size".
82
83 2018-10-04  Tom Tromey  <tom@tromey.com>
84
85         * mdebugread.c (parse_partial_symbols): Use std::string.
86
87 2018-10-04  Tom Tromey  <tom@tromey.com>
88
89         * ctf.c (SET_ARRAY_FIELD): Rename "u32".
90         * p-valprint.c (pascal_val_print): Split inner "i" variable.
91         * xtensa-tdep.c (xtensa_push_dummy_call): Declare "i" in loop
92         header.
93         * xstormy16-tdep.c (xstormy16_push_dummy_call): Declare "val" in
94         more inner scope.
95         * xcoffread.c (read_xcoff_symtab): Rename inner "symbol".
96         * varobj.c (varobj_update): Rename inner "newobj",
97         "type_changed".
98         * valprint.c (generic_emit_char): Rename inner "buf".
99         * valops.c (find_overload_match): Rename inner "temp".
100         (value_struct_elt_for_reference): Declare "v" in more inner
101         scope.
102         * v850-tdep.c (v850_push_dummy_call): Rename "len".
103         * unittests/array-view-selftests.c (run_tests): Rename inner
104         "vec".
105         * tui/tui-stack.c (tui_show_frame_info): Declare "i" in loop
106         header.
107         * tracepoint.c (merge_uploaded_trace_state_variables): Declare
108         "tsv" in more inner scope.
109         (print_one_static_tracepoint_marker): Rename inner
110         "tuple_emitter".
111         * tic6x-tdep.c (tic6x_analyze_prologue): Declare "inst" lower.
112         (tic6x_push_dummy_call): Don't redeclare "addr".
113         * target-float.c: Declare "dto" lower.
114         * symtab.c (lookup_local_symbol): Rename inner "sym".
115         (find_pc_sect_line): Rename inner "pc".
116         * stack.c (print_frame): Don't redeclare "gdbarch".
117         (return_command): Rename inner "gdbarch".
118         * s390-tdep.c (s390_prologue_frame_unwind_cache): Renam inner
119         "sp".
120         * rust-lang.c (rust_internal_print_type): Declare "i" in loop
121         header.
122         * rs6000-tdep.c (ppc_process_record): Rename inner "addr".
123         * riscv-tdep.c (riscv_push_dummy_call): Declare "info" in inner
124         scope.
125         * remote.c (remote_target::update_thread_list): Don't redeclare
126         "tp".
127         (remote_target::process_initial_stop_replies): Rename inner
128         "thread".
129         (remote_target::remote_parse_stop_reply): Don't redeclare "p".
130         (remote_target::wait_as): Don't redeclare "stop_reply".
131         (remote_target::get_thread_local_address): Rename inner
132         "result".
133         (remote_target::get_tib_address): Likewise.
134
135         * regcache.c (cooked_read_test): Rename "regnum".
136         * record-btrace.c (cmd_record_btrace_start): Rename inner
137         "exception".
138         * ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Declare "i" in
139         loop header.
140         * ppc-linux-tdep.c (ppc_linux_syscall_record): Declare "i" in loop
141         header.
142         (ppu2spu_sniffer): Rename inner "buf".
143         * parse.c (operator_check_standard): Rename inner "type",
144         "objfile".
145         * p-valprint.c (pascal_val_print): Introduce new scope for
146         "low_bound", "high_bound".
147         * p-exp.y (yylex): Declare "i" in loop header.
148         * objfiles.c (objfile_relocate1): Declare "i" in loop header.
149         Lower declaration of "s".
150         * nios2-tdep.c (nios2_analyze_prologue): Declare "i" in loop
151         header.
152         (nios2_push_dummy_call): Rename "len".
153         * nat/linux-osdata.c (linux_xfer_osdata_cpus): Rename static
154         "buf".
155         (linux_xfer_osdata_fds, linux_xfer_osdata_shm)
156         (linux_xfer_osdata_sem, linux_xfer_osdata_msg)
157         (linux_xfer_osdata_modules): Likewise.
158         * mips-tdep.c (mips_eabi_push_dummy_call): Rename outer "len".
159         (mips_n32n64_push_dummy_call, mips_o32_push_dummy_call)
160         (mips_o64_push_dummy_call): Likewise.
161         * microblaze-tdep.c (microblaze_analyze_prologue): Rename inner
162         "op".
163         * mi/mi-main.c (list_available_thread_groups): Rename inner
164         "tuple_emitter".
165         (mi_cmd_data_read_memory): Rename inner "opts".
166         * mi/mi-cmd-var.c (varobj_update_one): Rename inner
167         "tuple_emitter".
168         * mep-tdep.c (mep_analyze_prologue): Declare "rn" in loop header.
169         * mdebugread.c (parse_symbol): Rename inner "b".  Declare "f" in
170         more inner scope.
171         (parse_partial_symbols): Rename inner "pst", "p", "name"
172         * main.c (captured_main_1): Rename inner "i"s.
173         * machoread.c (macho_symfile_read_all_oso): Don't redeclare
174         "oso2".
175         * linux-tdep.c (linux_info_proc): Rename inner "filename".
176         * linespec.c (linespec_lexer_lex_string): Rename inner "p".
177         * infrun.c (handle_no_resumed): Don't redeclare "thread".
178         (handle_signal_stop): Rename inner "gdbarch".
179         (handle_command): Declare "signum" in loop header.
180         * ia64-tdep.c (ia64_pseudo_register_read): Don't redeclare
181         "status".
182         (examine_prologue): Rename inner "sol" and "sof".
183         (ia64_extract_return_value): Rename inner "val".  Declare another
184         "val" in a more inner scope.
185         * hppa-bsd-tdep.c (hppabsd_find_global_pointer): Declare "buf" in
186         inner scope.
187         * guile/scm-symbol.c (gdbscm_lookup_symbol): Rename inner
188         "except".
189         * findvar.c (default_read_var_value): Don't redeclare "addr".
190         * f-exp.y (yylex): Declare "i" in loop header.
191         * eval.c (evaluate_subexp_standard): Don't redeclare "type".
192         Rename inner "type", "expect_type".
193         (evaluate_subexp_for_sizeof): Rename inner "pc".
194         * elfread.c (elf_symfile_read): Rename inner "abfd".
195         * dwarf2read.c (read_debug_names_from_section): Don't redeclare
196         "bytes_read".
197         (process_psymtab_comp_unit_reader): Don't redeclare "gdbarch".
198         (add_partial_subprogram): Rename inner "lowpc" and "highpc".
199         (dwarf_decode_line_header): Rename inner "lh".
200         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Don't redeclare
201         "offset".  Declare "i" in loop header.
202         (disassemble_dwarf_expression): Rename inner "addr_size".
203         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Rename
204         inner "result".
205         (dwarf_expr_context::execute_stack_op): Rename inner "offset".
206         * dwarf2-frame.c (decode_frame_entry_1): Rename inner "length"s.
207         * disasm.c (do_mixed_source_and_assembly_deprecated): Rename inner
208         "inner_list_emitter".
209         (do_mixed_source_and_assembly): Rename inner "tuple_emitter".
210         * disasm-selftests.c (print_one_insn_test): Wrap "bplen"
211         declaration in a block.
212         * csky-tdep.c (csky_analyze_prologue): Declare "offset" lower.
213         * cp-valprint.c (cp_print_value_fields): Don't redeclare
214         "obstack_final_size".
215         * cp-support.c (inspect_type): Declare "i" in loop header.
216         * compile/compile.c (compile_instance::insert_symbol_error):
217         Rename inner "e".
218         * common/agent.c (agent_run_command): Remove inner "ret"
219         declaration.
220         * coffread.c (coff_symfile_read): Rename inner "name".
221         (coff_symfile_read): Rename inner "abfd".
222         * cli/cli-utils.c (get_number_trailer): Rename inner "val".
223         * cli/cli-cmds.c (print_disassembly): Rename inner "low" and
224         "high".
225         * c-exp.y (lex_one_token): Move "len" declaration lower.
226         * breakpoint.c (create_longjmp_master_breakpoint): Don't redeclare
227         "gdbarch".
228         (create_exception_master_breakpoint): Likewise.  Don't redeclare
229         "b".
230         (watch_command_1): Declare "mark" later.
231         (clear_command): Don't shadow "a" or "b".
232         (delete_command): Rename inner "b".
233         (delete_trace_command): Likewise.
234         * arm-tdep.c (thumb_process_displaced_32bit_insn): Rename inner
235         "op".
236         (arm_gdbarch_init): Remove inner "e_flags".
237         * arch/arm-get-next-pcs.c (thumb_get_next_pcs_raw): Declare
238         "offset" in inner blocks.
239
240 2018-10-04  Simon Marchi  <simon.marchi@ericsson.com>
241
242         * dwarf-index-write.c (file_write): Don't write if the vector is
243         empty.
244
245 2018-10-05  Tom de Vries  <tdevries@suse.de>
246
247         * python/py-progspace.c (pspy_solib_name): Fix type mismatch in
248         PyArg_ParseTuple call.
249
250 2018-10-05  Tom de Vries  <tdevries@suse.de>
251
252         * python/py-record-btrace.c (recpy_bt_goto): Fix type mismatch in
253         PyArg_ParseTuple call.
254
255 2018-10-04  Joel Brobecker  <brobecker@adacore.com>
256
257         * psymtab.c (recursively_search_psymtabs): Reformat parameters
258         to avoid exceeding 80 characters per line limit.
259
260 2018-10-04  Tom Tromey  <tom@tromey.com>
261
262         * symfile.c (syms_from_objfile_1, finish_new_objfile)
263         (reread_symbols): Update.
264         * complaints.h (clear_complaints): Remove argument.
265         * complaints.c (enum complaint_series): Remove.
266         (series): Remove global.
267         (complaint_internal): Update.
268         (clear_complaints): Remove argument.
269
270 2018-10-04  Tom Tromey  <tom@tromey.com>
271
272         * symfile.c (symbol_file_add_with_addrs): Do not print "no
273         debugging symbols" message if there is a separate debug objfile.
274
275 2018-10-04  Tom Tromey  <tom@tromey.com>
276
277         PR cli/19551:
278         * symfile.c (symbol_file_add_with_addrs): Update output.
279         * psymtab.c (require_partial_symbols): Update output.
280
281 2018-10-04  Tom Tromey  <tom@tromey.com>
282
283         PR cli/22234:
284         * complaints.c: Emit \n.
285
286 2018-10-04  Tom Tromey  <tom@tromey.com>
287
288         * symfile.c (symbol_file_add_with_addrs, symbol_file_clear)
289         (separate_debug_file_exists, find_separate_debug_file)
290         (add_symbol_file_command, reread_symbols, allocate_symtab)
291         (allocate_compunit_symtab): Use filtered printing, not
292         unfiltered.
293         * psymtab.c (require_partial_symbols, dump_psymtab)
294         (allocate_psymtab): Use filtered printing, not unfiltered.
295
296 2018-10-04  Tom Tromey  <tom@tromey.com>
297
298         * complaints.c (complaint_internal): Correctly check complaint
299         count.
300
301 2018-10-04  Tom Tromey  <tom@tromey.com>
302
303         * complaints.h (struct complaints): Remove declaration.
304         * complaints.c (clear_complaints): Remove an unused variable.
305
306 2018-10-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
307
308         * MAINTAINERS (Write After Approval): Add self.
309
310 2018-10-03  Tom Tromey  <tom@tromey.com>
311
312         * guile/scm-value.c (gdbscm_value_to_string): Initialize
313         "buffer_contents".
314         * coffread.c (coff_symtab_read): Initialize "newobj".
315
316 2018-10-03  Simon Marchi  <simon.marchi@polymtl.ca>
317
318         * dwarf2read.c (read_func_scope): Remove struct keyword in
319         range-based for.
320
321 2018-10-03  Tom Tromey  <tom@tromey.com>
322
323         * README: Mention --enable-ubsan.
324         * NEWS: Mention --enable-ubsan.
325         * acinclude.m4: Include sanitize.m4.
326         * configure: Rebuild.
327         * configure.ac: Call AM_GDB_UBSAN.
328         * sanitize.m4: New file.
329
330 2018-10-03  Tom Tromey  <tom@tromey.com>
331
332         * expression.h (enum exp_opcode): Use uint8_t as base type.
333         * expprint.c (op_name): Handle invalid opcodes.
334
335 2018-10-03  Tom Tromey  <tom@tromey.com>
336
337         * parse.c (prefixify_expression): Add assert.
338         (parse_exp_in_context_1): Throw exception if the expression is
339         empty.
340
341 2018-10-03  Tom Tromey  <tom@tromey.com>
342
343         * dwarf2read.c (read_signed_leb128): Work in ULONGEST.
344
345 2018-10-03  Tom Tromey  <tom@tromey.com>
346
347         * c-exp.y (parse_number): Work in unsigned.  Remove casts.
348
349 2018-10-03  Tom Tromey  <tom@tromey.com>
350
351         * dwarf2read.c (read_subrange_type): Make "negative_mask"
352         unsigned.
353
354 2018-10-03  Tom Tromey  <tom@tromey.com>
355
356         * findvar.c (extract_integer): Do work in an unsigned type.
357
358 2018-10-03  Tom Tromey  <tom@tromey.com>
359
360         * common/enum-flags.h (enum_flags::operator~): Add static assert.
361         * symfile-add-flags.h (enum symfile_add_flag): Use unsigned as
362         base type.
363         * objfile-flags.h (enum objfile_flag): Use unsigned as base type.
364         * gdbtypes.h (enum type_instance_flag_value): Use unsigned as base
365         type.
366         * c-lang.h (enum c_string_type_values): Use unsigned as base
367         type.
368         * btrace.h (enum btrace_thread_flag): Use unsigned as base type.
369
370 2018-10-03  Tom Tromey  <tom@tromey.com>
371
372         * dwarf2-frame.h (dwarf2_frame_state_reg_info)
373         <~dwarf2_frame_state_reg_info>: Update.
374         <dwarf2_frame_state_reg_info>: Update.
375         <alloc_regs>: Add assertion.  Update.
376         <reg>: Now a std::vector.
377         <num_regs>: Remove.
378         <swap>: Update.
379         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
380         (execute_cfa_program_test, dwarf2_frame_cache): Update.
381
382 2018-10-03  Tom Tromey  <tom@tromey.com>
383
384         * namespace.c (add_using_directive): Don't pass NULL to memcpy.
385
386 2018-10-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
387
388         * tid-parse.c (tid_is_in_list): Fix wrong 'See' comment.
389
390 2018-10-02  Tom Tromey  <tom@tromey.com>
391
392         * aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Use pulongest.
393
394 2018-10-02  John Darrington <john@darrington.wattle.id.au>
395
396         * NEWS: Mention changed commands.
397         * ser-uds.c: New file.
398         * configure.ac (SER_HARDWIRE): Add ser-uds.o.
399         * configure: Regenerate.
400         * Makefile.in: Add new file.
401         * serial.c (serial_open): Check if filename is a socket
402           and lookup the appropriate interface accordingly.
403
404 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
405
406         * aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_OFFSET): Add
407         define.
408         (AARCH64_EXTRA_MAGIC): Likewise.
409         (AARCH64_FPSIMD_MAGIC): Likewise.
410         (AARCH64_SVE_MAGIC): Likewise.
411         (AARCH64_EXTRA_DATAP_OFFSET): Likewise.
412         (AARCH64_FPSIMD_FPSR_OFFSET): Likewise.
413         (AARCH64_FPSIMD_FPCR_OFFSET): Likewise.
414         (AARCH64_FPSIMD_V0_OFFSET): Likewise.
415         (AARCH64_FPSIMD_VREG_SIZE): Likewise.
416         (AARCH64_SVE_CONTEXT_VL_OFFSET): Likewise.
417         (AARCH64_SVE_CONTEXT_REGS_OFFSET): Likewise.
418         (AARCH64_SVE_CONTEXT_P_REGS_OFFSET): Likewise.
419         (AARCH64_SVE_CONTEXT_FFR_OFFSET): Likewise.
420         (AARCH64_SVE_CONTEXT_SIZE): Likewise.
421         (read_aarch64_ctx): Add function.
422         (aarch64_linux_sigframe_init): Detect FP registers.
423
424 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
425
426         * aarch64-tdep.c (AARCH64_Q0_REGNUM): Move to here.
427         (AARCH64_D0_REGNUM): Likewise.
428         (AARCH64_S0_REGNUM): Likewise.
429         (AARCH64_H0_REGNUM): Likewise.
430         (AARCH64_B0_REGNUM): Likewise.
431         (AARCH64_SVE_V0_REGNUM): Likewise.
432         * arch/aarch64.h (AARCH64_Q0_REGNUM): Move from here.
433         (AARCH64_D0_REGNUM): Likewise.
434         (AARCH64_S0_REGNUM): Likewise.
435         (AARCH64_H0_REGNUM): Likewise.
436         (AARCH64_B0_REGNUM): Likewise.
437         (AARCH64_SVE_V0_REGNUM): Likewise.
438
439 2018-10-01  Gary Benson <gbenson@redhat.com>
440
441         * gdb_proc_service.h (gdb_prfpregset_t): Remove typedef.
442         * proc-service.c (ps_lgetfpregs, ps_lsetfpregs): Use
443         prfpregset_t instead of gdb_prfpregset_t.
444         * configure.ac (PRFPREGSET_T_BROKEN): Remove check.
445         * configure, config.in: Rebuild.
446
447 2018-10-01  Gary Benson <gbenson@redhat.com>
448
449         * common/gdb_proc_service.h: New file, factored out from...
450         * gdb_proc_service.h: Moved common code to the above file.
451         * Makefile.in (HFILES_NO_SRCDIR): Add the above new file.
452
453 2018-10-01  Gary Benson <gbenson@redhat.com>
454
455         * gdb_proc_service.h: Use elf_gregset_t if prgregset_t is
456         undefined.  Use elf_fpregset_t if prfpregset_t is undefined.
457
458 2018-10-01  Gary Benson <gbenson@redhat.com>
459
460         * configure.ac: Check if sys/procfs.h defines elf_fpregset_t.
461         (AC_CHECK_HEADERS): Check for linux/elf.h.
462         * configure, config.in: Rebuild.
463         * gdb_proc_service.h: Include linux/elf.h if sys/procfs.h
464         doesn't define elf_fpregset_t.
465
466 2018-10-01  Gary Benson <gbenson@redhat.com>
467
468         * gdb_proc_service.h: Whitespace change.
469
470 2018-10-01  Tom Tromey  <tom@tromey.com>
471
472         * unittests/scoped_mmap-selftests.c: Don't check HAVE_UNISTD_H.
473         * unittests/scoped_fd-selftests.c: Don't check HAVE_UNISTD_H.
474         * common/scoped_fd.h: Don't check HAVE_UNISTD_H.
475
476 2018-10-01  Tom Tromey  <tom@tromey.com>
477
478         * README: Minor change.
479
480 2018-09-30  Pedro Alves  <palves@redhat.com>
481
482         * darwin-nat-info.c (darwin_debug_regions_recurse)
483         (info_mach_exceptions_command): Remove unused local variables.
484         * darwin-nat.c (darwin_decode_notify_message)
485         (darwin_nat_target::resume, darwin_nat_target::mourn_inferior)
486         (darwin_stop_inferior, darwin_setup_exceptions)
487         (darwin_nat_target::kill, darwin_attach_pid, darwin_ptrace_him)
488         (darwin_nat_target::attach, darwin_nat_target::detach)
489         (darwin_read_write_inferior, darwin_read_dyld_info): Remove unused
490         local variables.
491         * i386-darwin-nat.c (i386_darwin_dr_set): Remove unused local
492         variables.
493
494 2018-09-29  Tom Tromey  <tom@tromey.com>
495
496         * README: Remove some leftover text.
497
498 2018-09-29  Tom Tromey  <tom@tromey.com>
499
500         * PROBLEMS: Rewrite.
501         * README: Update.
502
503 2018-09-28  John Baldwin  <jhb@FreeBSD.org>
504
505         * disasm-selftests.c (print_one_insn_test): Add bfd_arch_riscv to
506         case with explicit breakpoint kind.
507         * riscv-tdep.c (show_use_compressed_breakpoints): Remove
508         'additional_info' and related logic.
509         (riscv_debug_breakpoints): New variable.
510         (riscv_breakpoint_kind_from_pc): Use the length of the existing
511         instruction to determine the breakpoint kind.
512         (_initialize_riscv_tdep): Add 'set/show debug riscv breakpoints'
513         flag.  Update description of 'set/show riscv
514         use-compressed-breakpoints' flag.
515
516 2018-09-28  Andrew Burgess  <andrew.burgess@embecosm.com>
517
518         (NEWS): Mention changes to frame related commands.
519         * cli/cli-decode.c (add_cmd_suppress_notification): New function.
520         (add_prefix_cmd_suppress_notification): New function.
521         (add_com_suppress_notification): Call
522         add_cmd_suppress_notification.
523         * command.h (add_cmd_suppress_notification): Declare.
524         (add_prefix_cmd_suppress_notification): Declare.
525         * mi/mi-cmd-stack.c: Add 'safe-ctype.h' include.
526         (parse_frame_specification): Moved from stack.c, with
527         simplification to handle a single argument.
528         (mi_cmd_stack_select_frame): Use parse_frame_specification, the
529         switch to the selected frame.  Add a header comment.
530         * stack.c: Remove 'safe-ctype.h' include.
531         (find_frame_for_function): Add declaration.
532         (find_frame_for_address): New function.
533         (parse_frame_specification): Moved into mi/mi-cmd-stack.c.
534         (frame_selection_by_function_completer): New function.
535         (info_frame_command): Rename to...
536         (info_frame_command_core): ...this, and update parameter types.
537         (select_frame_command): Rename to...
538         (select_frame_command_core): ...this, and update parameter types.
539         (frame_command): Rename to...
540         (frame_command_core): ...this, and update parameter types.
541         (class frame_command_helper): New class to wrap implementations of
542         frame related sub-commands.
543         (frame_apply_cmd_list): New static global.
544         (frame_cmd_list): Make static.
545         (select_frame_cmd_list): New global for sub-commands.
546         (info_frame_cmd_list): New global for sub-commands.
547         (_initialize_stack): Register sub-commands for 'frame',
548         'select-frame', and 'info frame'.  Update 'frame apply' commands
549         to use frame_apply_cmd_list.  Move function local static
550         frame_apply_list to file static frame_apply_cmd_list for
551         consistency.
552         * stack.h (select_frame_command): Delete declarationn.
553         (select_frame_for_mi): Declare new function.
554
555 2018-09-26  Andrew Burgess  <andrew.burgess@embecosm.com>
556
557         * riscv-tdep.c (riscv_insn::decode): Decode c.lui.
558         (riscv_scan_prologue): Split handling of AUIPC, LUI, ADD, ADDI,
559         and NOP.
560
561 2018-09-26  Simon Marchi  <simon.marchi@ericsson.com>
562
563         * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): Remove.
564
565 2018-09-26  Tom Tromey  <tom@tromey.com>
566
567         * valops.c (auto_abandon): Remove dead code.
568
569 2018-09-26  Tom Tromey  <tom@tromey.com>
570
571         * tui/tui-win.c (WIN_HEIGHT_USAGE): Remove extra ">"s.
572
573 2018-09-24  Tom Tromey  <tom@tromey.com>
574
575         * common/pathstuff.c (get_standard_cache_dir): Make
576         "xdg_cache_home" and "home" const.
577         * top.c (init_history): Make "tmpenv" const.
578         * main.c (get_init_files): Make "homedir" const.
579
580 2018-09-23  Tom Tromey  <tom@tromey.com>
581
582         PR python/18852:
583         * python/py-param.c (get_set_value): Use gdbpy_handle_exception.
584
585 2018-09-23  Tom Tromey  <tom@tromey.com>
586
587         * python/py-function.c (fnpy_call): Use gdbpy_handle_exception.
588         * python/py-cmd.c (cmdpy_function): Use gdbpy_handle_exception.
589         * python/python-internal.h (gdbpy_handle_exception): Declare.
590         * python/py-utils.c (gdbpy_handle_exception): New function.
591
592 2018-09-23  Tom Tromey  <tom@tromey.com>
593
594         PR python/17284:
595         * python/py-type.c (typy_template_argument): Check for negative
596         argument number.
597
598 2018-09-23  Tom Tromey  <tom@tromey.com>
599
600         PR python/14062:
601         * python/python.c (gdbpy_run_events): Do not ignore exceptions.
602
603 2018-09-23  Tom Tromey  <tom@tromey.com>
604
605         PR python/18170:
606         * python/py-value.c (valpy_int): Allow conversion from pointer
607         type.
608
609 2018-09-23  Tom Tromey  <tom@tromey.com>
610
611         PR python/20126:
612         * python/py-value.c (valpy_int): Respect type sign.
613
614 2018-09-23  Tom Tromey  <tom@tromey.com>
615
616         PR python/18352;
617         * python/py-value.c (valpy_float): Allow conversions from int or
618         char.
619         (valpy_int, valpy_long): Allow conversions from float.
620
621 2018-09-23  Tom Tromey  <tom@tromey.com>
622
623         * ctf.c (ctf_start): Use gdb_fopen_cloexec.
624         * common/scoped_mmap.c (mmap_file): Use gdb_open_cloexec.
625
626 2018-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
627
628         * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Also recognize
629         __sighndlr.
630         * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Likewise.
631
632 2018-08-02  Jon Turney  <jon.turney@dronecode.org.uk>
633
634         * windows-nat.c (windows_nat_target::wait): Remove a spurious
635         target_terminal::ours().
636
637 2018-09-23  Simon Marchi  <simon.marchi@ericsson.com>
638
639         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type
640         of vl to ULONGEST.
641
642 2018-09-21  Yacov Simhony  <ysimhony@gmail.com>
643
644         * breakpoint.c (update_inserted_breakpoint_locations): Remove
645         redundant condition.
646
647 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
648
649         * proc-utils.h (PROC_CTL_WORD_TYPE): Remove.
650
651         * procfs.c: Don't check for PR_MODEL_NATIVE definition.
652         * sparc-sol2-nat.c: Likewise.  Remove Linux, __arch64__ references.
653         * sol-thread.c (ps_pdmodel): Don't guard definition.
654
655         * procfs.c: Fix formatting.
656
657         * procfs.c (sysset_t_alloc): Remove.
658         (create_procinfo): Use XNEW instead of sysset_t_alloc.
659         (procfs_debug_inferior): Likewise.
660         (procfs_set_exec_trap): Likewise.
661         (proc_set_traced_sysentry): Don't allocate argp dynamically.
662         (proc_set_traced_sysexit): Likewise.
663
664         * procfs.c (create_procinfo): Use xsnprintf to fix ARI warning.
665         (dead_procinfo): Likewise.
666         (proc_warn): Likewise.
667         (proc_error): Likewise.
668         (proc_get_LDT_entry): Likewise.
669         (do_attach): Likewise.
670         (procfs_target::pid_to_str): Likewise.
671         (iterate_over_mappings): Likewise.
672
673         * procfs.c (create_procinfo): Fix ARI warning.
674         (proc_get_status): Likewise.
675         (proc_stop_process): Likewise.
676         (proc_run_process): Likewise.
677         (proc_kill): Likewise.
678         (proc_get_LDT_entry): Likewise.
679         (procfs_find_LDT_entry): Likewise.
680         (proc_update_threads): Likewise.
681         (proc_iterate_over_threads): Likewise.
682         (do_attach): Likewise.
683         (procfs_xfer_memory): Likewise.
684         (invalidate_cache): Likewise.
685         (procfs_target::resume): Likewise.
686         (procfs_init_inferior): Likewise.
687         (procfs_set_exec_trap): Likewise.
688         (procfs_target::thread_alive): Likewise.
689         (procfs_target::pid_to_exec_file): Likewise.
690         (iterate_over_mappings): Likewise.
691         (procfs_target::make_corefile_notes): Likewise.
692         * sol-thread.c (sol_thread_target::thread_alive): Likewise.
693
694         * procfs.c (procfs_find_LDT_entry): Silence ARI warning.
695         (procfs_find_LDT_entry): Likewise.
696         * sol-thread.c (ps_lgetLDT): Likewise.
697
698 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
699
700         PR tdep/17903
701         * procfs.c (procfs_target): Declare pid_to_exec_file.
702         (procfs_target::pid_to_exec_file): New.
703
704 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
705
706         * auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1
707         renaming.
708         Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1,
709         AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2.
710
711 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
712
713         * i386-v4-nat.c (regmap, supply_gregset, fill_gregset)
714         (supply_fpregset, fill_fpregset): Move ...
715         * i386-sol2-nat.c [PR_MODEL_NATIVE != PR_MODEL_LP64]: ... here.
716         Remove HAVE_GREGSET_T, HAVE_FPREGET_T guards.
717         Remove references to ioctl-based procfs.
718         Include <sys/reg.h>.
719         Remove PR_MODEL_NATIVE guards.
720         * configure.nat <sol2, i386> (NATDEPFILES): Remove i386-v4-nat.o.
721         * Makefile.in (ALLDEPFILES): Remove i386-v4-nat.c.
722
723 2018-09-19  Xavier Roirand  <roirand@adacore.com>
724
725         PR gdb/20981:
726         * solib-darwin.c (darwin_get_dyld_bfd): New function.
727         (darwin_solib_get_all_image_info_addr_at_init): Update call.
728         (darwin_solib_create_inferior_hook): Handle unrelocated dyld.
729
730 2018-09-19  John Baldwin  <jhb@FreeBSD.org>
731
732         * fbsd-tdep.c (fbsd_print_sockaddr_in): Style fix.
733         (fbsd_print_sockaddr_in6): Likewise.
734
735 2018-09-19  Richard Bunt  <richard.bunt@arm.com>
736             Chris January  <chris.january@arm.com>
737
738         * eval.c (skip_undetermined_arglist): Skip argument list helper.
739         (evaluate_subexp_standard): Return a dummy type when
740         honoring EVAL_SKIP in OP_VAR_VALUE and handle skipping in the
741         OP_F77_UNDETERMINED_ARGLIST case.
742         * expression.h (enum noside): Update comment.
743
744 2018-09-19  George Vasick <george.vasick@oracle.com>
745
746         * solib-svr4.c (svr4_same_1): Also handle amd64 ld.so.1.
747
748 2018-09-19  Stefan Teleman <stefan.teleman@oracle.com>
749             April Chin <april.chin@oracle.com>
750             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
751
752         * procfs.c (MAX_PROC_NAME_SIZE): Allow for 6-digit PID_MAX and
753         uint_t lwpid_t.
754         (create_procinfo): Print pids in /proc without leading zeros.
755
756 2018-09-18  Sandra Loosemore  <sandra@codesourcery.com>
757
758         * nios2-tdep.c (nios2_gcc_target_options): New.
759         (nios2_gdb_arch_init): Install new hook.
760
761 2018-09-18  Simon Marchi  <simon.marchi@ericsson.com>
762
763         * patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch:
764         New file.
765         * update-gnulib.sh: Apply patch.
766         * configure: Re-generate.
767
768 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
769
770         * infcmd.c (_initialize_infcmd): Remove "running" from "info proc"
771         description.  Make "info proc" command descriptions more
772         consistent.
773
774 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
775
776         * NEWS: Mention 'info proc files' command.
777
778 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
779
780         * fbsd-nat.c (fbsd_nat_target::info_proc): List open file
781         descriptors for IP_FILES and IP_ALL.
782
783 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
784
785         * fbsd-tdep.c (KF_FLAGS, KF_OFFSET, KF_VNODE_TYPE, KF_SOCK_DOMAIN)
786         (KF_SOCK_TYPE, KF_SOCK_PROTOCOL, KF_SA_LOCAL, KF_SA_PEER)
787         (KINFO_FILE_TYPE_SOCKET, KINFO_FILE_TYPE_PIPE)
788         (KINFO_FILE_TYPE_FIFO, KINFO_FILE_TYPE_KQUEUE)
789         (KINFO_FILE_TYPE_CRYPTO, KINFO_FILE_TYPE_MQUEUE)
790         (KINFO_FILE_TYPE_SHM, KINFO_FILE_TYPE_SEM, KINFO_FILE_TYPE_PTS)
791         (KINFO_FILE_TYPE_PROCDESC, KINFO_FILE_FD_TYPE_ROOT)
792         (KINFO_FILE_FD_TYPE_JAIL, KINFO_FILE_FD_TYPE_TRACE)
793         (KINFO_FILE_FD_TYPE_CTTY, KINFO_FILE_FLAG_READ)
794         (KINFO_FILE_FLAG_WRITE, KINFO_FILE_FLAG_APPEND)
795         (KINFO_FILE_FLAG_ASYNC, KINFO_FILE_FLAG_FSYNC)
796         (KINFO_FILE_FLAG_NONBLOCK, KINFO_FILE_FLAG_DIRECT)
797         (KINFO_FILE_FLAG_HASLOCK, KINFO_FILE_FLAG_EXEC)
798         (KINFO_FILE_VTYPE_VREG, KINFO_FILE_VTYPE_VDIR)
799         (KINFO_FILE_VTYPE_VCHR, KINFO_FILE_VTYPE_VLNK)
800         (KINFO_FILE_VTYPE_VSOCK, KINFO_FILE_VTYPE_VFIFO, FBSD_AF_UNIX)
801         (FBSD_AF_INET, FBSD_AF_INET6, FBSD_SOCK_STREAM, FBSD_SOCK_DGRAM)
802         (FBSD_SOCK_SEQPACKET, FBSD_IPPROTO_ICMP, FBSD_IPPROTO_TCP)
803         (FBSD_IPPROTO_UDP, FBSD_IPPROTO_SCTP): New defines.
804         (struct fbsd_sockaddr_in, struct fbsd_sockaddr_in6)
805         (struct fbsd_sockaddr_un): New types.
806         (fbsd_file_fd, fbsd_file_type, fbsd_file_flags, fbsd_ipproto)
807         (fbsd_print_sockaddr_in, fbsd_print_sockaddr_in6)
808         (fbsd_info_proc_files_header, fbsd_info_proc_files_entry)
809         (fbsd_core_info_proc_files): New functions.
810         (fbsd_core_info_proc): List open file descriptors for IP_FILES and
811         IP_ALL.
812         * fbsd-tdep.h (fbsd_info_proc_files_header)
813         (fbsd_info_proc_files_entry): New.
814
815 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
816
817         * defs.h (enum info_proc_what) [IP_FILES]: New value.
818         * infcmd.c (info_proc_cmd_files): New function.
819         (_initialize_infcmd): Register 'info proc files' command.
820
821 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
822
823         * gnulib/aclocal-m4-deps.mk: Re-generate.
824         * gnulib/aclocal.m4: Re-generate.
825         * gnulib/config.in: Re-generate.
826         * gnulib/configure: Re-generate.
827         * gnulib/import/Makefile.am: Re-generate.
828         * gnulib/import/Makefile.in: Re-generate.
829         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
830         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
831         * gnulib/import/arpa_inet.in.h: New file.
832         * gnulib/import/inet_ntop.c: New file.
833         * gnulib/import/m4/arpa_inet_h.m4: New file.
834         * gnulib/import/m4/inet_ntop.m4: New file.
835         * gnulib/import/m4/netinet_in_h.m4: New file.
836         * gnulib/import/m4/socklen.m4: New file.
837         * gnulib/import/m4/sockpfaf.m4: New file.
838         * gnulib/import/m4/stdalign.m4: New file.
839         * gnulib/import/m4/sys_uio_h.m4: New file.
840         * gnulib/import/netinet_in.in.h: New file.
841         * gnulib/import/stdalign.in.h: New file.
842         * gnulib/import/sys_socket.c: New file.
843         * gnulib/import/sys_socket.in.h: New file.
844         * gnulib/import/sys_uio.in.h: New file.
845         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add inet_ntop
846         module.
847
848 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
849
850         * gnulib/aclocal-m4-deps.mk: New file.
851         * gnulib/update-gnulib.sh: Generate "aclocal-m4-deps.mk"
852         deterministically.
853
854 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
855
856         * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of
857         KVE_PATH.
858
859 2018-09-18  Tom Tromey  <tom@tromey.com>
860
861         * compile/compile-object-load.c (struct
862         link_hash_table_cleanup_data): Add constructor and destructor.
863         Use DISABLE_COPY_AND_ASSIGN.
864         (~link_hash_table_cleanup_data): Rename from
865         link_hash_table_free.  Now a destructor.
866         (copy_sections): Use gdb::unique_xmalloc_ptr.  Remove cleanups.
867
868 2018-09-18  Tom Tromey  <tom@tromey.com>
869
870         * compile/compile-object-run.c (do_module_cleanup): Use delete.
871         * compile/compile-object-load.c (struct munmap_list): Move to
872         header file.
873         (munmap_list::add): Rename from munmap_list_add; rewrite.
874         (munmap_list::~munmap_list): Rename from munmap_list_free.
875         (munmap_listp_free_cleanup): Remove.
876         (compile_object_load): Update.
877         * compile/compile-object-load.h (struct munmap_list): Move from
878         compile-object-load.c.  Rewrite.
879
880 2018-09-18  Alan Hayward  <alan.hayward@arm.com>
881
882         * aarch64-tdep.c (pass_in_v): Use register size.
883         (aarch64_extract_return_value): Likewise.
884         (aarch64_store_return_value): Likewise.
885
886 2018-09-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
887
888         * utils.c (dump_core) [HAVE_SETRLIMIT]: Cast RLIM_INFINITY to
889         rlim_t.
890
891 2018-09-17  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
892
893         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter):
894         Fix short help line.
895
896 2018-09-17  Tom Tromey  <tom@tromey.com>
897
898         PR python/20445:
899         * configure: Rebuild.
900         * configure.ac: Conditionally use -DNDEBUG for Python.
901
902 2018-09-17  Tom Tromey  <tom@tromey.com>
903
904         * configure: Rebuild.
905         * configure.ac: Use gmp as a library dependency when checking for
906         mpfr.
907
908 2018-09-17  Pedro Alves  <palves@redhat.com>
909
910         * python/py-inferior.c (find_inferior_object): Delete.
911
912 2018-09-17  Simon Marchi  <simon.marchi@ericsson.com>
913
914         * compile/compile-cplus-types.c
915         (compile_cplus_instance::enter_scope): Don't use new_scope after
916         std::move.
917
918 2018-09-17  Tom Tromey  <tom@tromey.com>
919
920         * common/pathstuff.c (get_standard_cache_dir): Use
921         ~/Library/Caches on macOS.
922         * common/pathstuff.h (get_standard_cache_dir): Update comment.
923
924 2018-09-17  Simon Marchi  <simon.marchi@polymtl.ca>
925
926         PR python/23669
927         * breakpoint.c (commands_cmd_element): New.
928         (_initialize_breakpoint): Assign commands_cmd_element.
929         * breakpoint.h (commands_cmd_element): New.
930         * cli/cli-script.c (while_cmd_element, if_command,
931         define_cmd_element): New.
932         (command_name_equals): Remove.
933         (process_next_line): Compare commands by pointer, not by name.
934         (_initialize_cli_script): Assign the various cmd_list_element
935         variables.
936         * compile/compile.c (compile_cmd_element): New.
937         (_initialize_compile): Assign compile_cmd_element.
938         * compile/compile.h (compile_cmd_element): New.
939         * guile/guile.c (guile_cmd_element): New.
940         (install_gdb_commands): Assign guile_cmd_element.
941         * guile/guile.h (guile_cmd_element): New.
942         * python/python.c (python_cmd_element): New.
943         (_initialize_python): Assign python_cmd_element.
944         * python/python.h (python_cmd_element): New.
945         * tracepoint.c (while_stepping_cmd_element): New.
946         (_initialize_tracepoint): Assign while_stepping_cmd_element.
947         * tracepoint.h (while_stepping_cmd_element): New.
948
949 2018-09-17  Tom Tromey  <tom@tromey.com>
950
951         * infrun.c (save_infcall_suspend_state): Return
952         infcall_suspend_state_up.
953         (save_infcall_control_state): Return infcall_control_state_up.
954         * inferior.h (save_infcall_suspend_state)
955         (save_infcall_control_state): Declare later.  Return unique
956         pointers.
957
958 2018-09-17  Tom Tromey  <tom@tromey.com>
959
960         * infrun.c (struct stop_context): Declare constructor,
961         destructor, "changed" method.
962         (stop_context::stop_context): Rename from save_stop_context.
963         (stop_context::~stop_context): Rename from
964         release_stop_context_cleanup.
965         (normal_stop): Update.
966         (stop_context::changed): Rename from stop_context_changed.  Return
967         bool.
968
969 2018-09-17  Tom Tromey  <tom@tromey.com>
970
971         * inferior.h (struct infcall_suspend_state_deleter): New.
972         (infcall_suspend_state_up): New typedef.
973         (struct infcall_control_state_deleter): New.
974         (infcall_control_state_up): New typedef.
975         (make_cleanup_restore_infcall_suspend_state)
976         (make_cleanup_restore_infcall_control_state): Don't declare.
977         * infcall.c (call_function_by_hand_dummy): Update.
978         * infrun.c (do_restore_infcall_suspend_state_cleanup)
979         (make_cleanup_restore_infcall_suspend_state): Remove.
980         (do_restore_infcall_control_state_cleanup)
981         (make_cleanup_restore_infcall_control_state): Remove.
982
983 2018-09-17  Tom Tromey  <tom@tromey.com>
984
985         * gdbthread.h (struct thread_control_state): Add initializer.
986         (class thread_info) <control>: Remove initializer.
987         * inferior.h (struct inferior_control_state): Add initializer.
988         (class inferior) <control>: Remove initializer.
989         (exit_inferior_1): Update.
990         * infrun.c (struct infcall_control_state): Add constructors.
991         (save_infcall_control_state): Use new.
992         (restore_infcall_control_state, discard_infcall_control_state):
993         Use delete.
994
995 2018-09-17  Tom Tromey  <tom@tromey.com>
996
997         * infrun.c (struct infcall_suspend_state) <registers>: Now a
998         unique_ptr.
999         <siginfo_data>: Now a unique_xmalloc_ptr.
1000         (save_infcall_suspend_state, restore_infcall_suspend_state)
1001         (discard_infcall_suspend_state)
1002         (get_infcall_suspend_state_regcache): Update.
1003
1004 2018-09-17  Tom Tromey  <tom@tromey.com>
1005
1006         * gdbthread.h (struct thread_suspend_state): Add initializers.
1007         (class thread_info) <suspend>: Remove initializer.
1008         * infrun.c (struct infcall_suspend_state): Add initializers.
1009         (save_infcall_suspend_state): Use new.
1010         (discard_infcall_suspend_state): Use delete.
1011
1012 2018-09-16  Tom Tromey  <tom@tromey.com>
1013
1014         * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
1015         Remove.
1016         * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to
1017         rvalue reference.  Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG.
1018         (py_varobj_iter_new): Likewise.
1019         (py_varobj_get_iterator): Use gdbpy_ref.
1020
1021 2018-09-16  Tom Tromey  <tom@tromey.com>
1022
1023         * python/py-threadevent.c (py_get_event_thread): Simplify.
1024         * python/py-inferior.c (infpy_thread_from_thread_handle):
1025         Return immediately after calling thread_to_thread_object.  Use
1026         Py_RETURN_NONE.
1027         (thread_to_thread_object): Set the exception on a NULL return.
1028
1029 2018-09-16  Simon Marchi  <simon.marchi@polymtl.ca>
1030
1031         * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS.
1032
1033 2018-09-16  Tom Tromey  <tom@tromey.com>
1034
1035         * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
1036         Remove.
1037
1038 2018-09-16  Tom Tromey  <tom@tromey.com>
1039
1040         * python/python-internal.h (thread_to_thread_object): Change
1041         return type.
1042         * python/py-inferior.c (thread_to_thread_object): Return a new
1043         reference.
1044         (infpy_thread_from_thread_handle): Update.
1045         * python/py-infthread.c (gdbpy_selected_thread): Update.
1046         * python/py-stopevent.c (create_stop_event_object): Update.
1047         * python/py-threadevent.c (py_get_event_thread): Return a new
1048         reference.
1049         (py_get_event_thread): Update.
1050         * python/py-event.h (py_get_event_thread): Change return type.
1051         * python/py-continueevent.c (create_continue_event_object):
1052         Update.
1053
1054 2018-09-16  Tom Tromey  <tom@tromey.com>
1055
1056         * python/py-progspace.c (pspy_get_objfiles): Update.
1057         * python/python-internal.h (objfile_to_objfile_object): Change
1058         return type.
1059         * python/py-newobjfileevent.c (create_new_objfile_event_object):
1060         Update.
1061         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
1062         Update.
1063         * python/python.c (gdbpy_get_current_objfile): Update.
1064         (gdbpy_objfiles): Update.
1065         * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
1066         Update.
1067         (objfile_to_objfile_object): Return a new reference.
1068         * python/py-symtab.c (stpy_get_objfile): Update.
1069         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
1070         Update.
1071
1072 2018-09-16  Tom Tromey  <tom@tromey.com>
1073
1074         * python/py-inferior.c (infpy_get_progspace): Update.
1075         * python/python-internal.h (pspace_to_pspace_object): Change
1076         return type.
1077         * python/py-newobjfileevent.c
1078         (create_clear_objfiles_event_object): Update.
1079         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
1080         Update.
1081         * python/python.c (gdbpy_get_current_progspace): Update.
1082         (gdbpy_progspaces): Update.
1083         * python/py-progspace.c (pspace_to_pspace_object): Return a new
1084         reference.
1085         * python/py-objfile.c (objfpy_get_progspace): Update.
1086         * python/py-prettyprint.c (find_pretty_printer_from_progspace):
1087         Update.
1088
1089 2018-09-16  Tom Tromey  <tom@tromey.com>
1090
1091         * python/lib/gdb/__init__.py (current_progspace, objfiles)
1092         (solib_name, block_for_pc, find_pc_line): New functions.
1093         (execute_unwinders): Update.
1094         * python/py-block.c (gdbpy_block_for_pc): Remove.
1095         * python/py-inferior.c (infpy_get_progspace): New function.
1096         (inferior_object_getset) <progspace>: Add.
1097         * python/py-progspace.c (pspy_objfiles): Rewrite.
1098         (pspy_solib_name, pspy_block_for_pc)
1099         (pspy_find_pc_line, pspy_is_valid): New functions.
1100         (progspace_object_methods): Add entries for solib_name,
1101         block_for_pc, find_pc_line, is_valid.
1102         * python/python-internal.h (gdbpy_block_for_pc)
1103         (build_objfiles_list): Don't declare.
1104         * python/python.c: Don't include solib.h.
1105         (gdbpy_solib_name, gdbpy_find_pc_line)
1106         (gdbpy_get_current_progspace, build_objfiles_list)
1107         (gdbpy_objfiles): Remove.
1108         (GdbMethods) <current_progspace, objfiles, block_for_pc,
1109         solib_name, find_pc_line>: Remove entries.
1110
1111 2018-09-16  Tom Tromey  <tom@tromey.com>
1112
1113         * top.c (new_ui_command): Use GNU style for metasyntactic
1114         variables.
1115         * breakpoint.c (stopat_command): Use GNU style for metasyntactic
1116         variables.
1117         * maint.c (maintenance_translate_address): Remove "<>" around
1118         text.
1119         * interps.c (interpreter_exec_cmd): Use GNU style for
1120         metasyntactic variables.
1121         * nto-procfs.c (nto_procfs_target_info): Use GNU style for
1122         metasyntactic variables.
1123         * tracepoint.c (tfind_range_command): Use GNU style for
1124         metasyntactic variables.
1125         (tfind_outside_command): Likewise.
1126         (_initialize_tracepoint): Likewise.
1127         * remote.c (extended_remote_target::create_inferior): Use GNU
1128         style for metasyntactic variables.
1129         * sparc64-tdep.c (adi_examine_command): Use GNU style for
1130         metasyntactic variables.
1131         (adi_assign_command): Likewise.
1132
1133 2018-09-16  Tom Tromey  <tom@tromey.com>
1134
1135         * disasm.c (show_disassembler_options_sfunc): Use GNU style for
1136         metasyntactic variables.  Print message if no disassembler options
1137         are available.
1138
1139 2018-09-15  Tom Tromey  <tom@tromey.com>
1140
1141         * infcmd.c (get_inferior_args): Return const char *.
1142         * inferior.h (get_inferior_args): Return type now const.
1143         * linux-tdep.c (linux_fill_prpsinfo): Update.
1144         * procfs.c (procfs_target::make_corefile_notes): Update.
1145
1146 2018-09-07  Tom Tromey  <tom@tromey.com>
1147
1148         * python/python.c (execute_gdb_command): Call bpstat_do_actions
1149         inside the TRY.
1150
1151 2018-09-14  Sandra Loosemore  <sandra@codesourcery.com>
1152
1153         * nios2-tdep.c (nios2_type_align): New.
1154         (nios2_gdb_arch_init): Install type_align hook.
1155
1156 2018-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1157
1158         * eval.c (fake_method::fake_method): Call xzalloc directly for a
1159         type that is neither object file owned, nor gdbarch owned.
1160         * gdbtypes.c (get_type_gdbarch): Add an assert that returned
1161         gdbarch is non-NULL.
1162         (alloc_type_instance): Allocate non-objfile owned types on the
1163         gdbarch obstack.
1164         (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA
1165         using TYPE_ALLOC to ensure memory is allocated on the correct
1166         obstack.
1167         * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile
1168         obstack, or the gdbarch obstack.
1169         (TYPE_ZALLOC): Rewrite using TYPE_ALLOC.
1170
1171 2018-09-14  Tom Tromey  <tom@tromey.com>
1172
1173         * infcall.c (call_function_by_hand_dummy): Remove unnecessary
1174         block.
1175
1176 2018-09-14  Tom Tromey  <tom@tromey.com>
1177
1178         * nat/fork-inferior.c (get_startup_shell): Remove "static".
1179
1180 2018-09-13  Tom Tromey  <tom@tromey.com>
1181
1182         * python/py-inferior.c (infpy_thread_from_thread_handle): Now
1183         static.
1184
1185 2018-09-13  Tom Tromey  <tom@tromey.com>
1186
1187         * exec.c (try_open_exec_file): Use std::string.
1188
1189 2018-09-13  Tom Tromey  <tom@tromey.com>
1190
1191         * utils.h (gdb_bfd_errmsg): Return std::string.
1192         * exec.c (exec_file_attach): Update.
1193         * compile/compile-object-load.c (compile_object_load): Update.
1194         * utils.c (gdb_bfd_errmsg): Return std::string.
1195
1196 2018-09-13  Tom Tromey  <tom@tromey.com>
1197
1198         * procfs.c (struct procinfo_deleter): New.
1199         (procinfo_up): New typedef.
1200         (do_destroy_procinfo_cleanup): Remove.
1201         (procfs_target::info_proc): Use procinfo_up.  Remove cleanups.
1202
1203 2018-09-13  Tom Tromey  <tom@tromey.com>
1204
1205         * source.c (add_path): Use gdb::unique_xmalloc_ptr.
1206
1207 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
1208 2018-09-13  Tom Tromey  <tom@tromey.com>
1209
1210         * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro.
1211         (pspy_get_objfiles): New function.
1212         (progspace_object_methods): New.
1213         (pspace_object_type): Add tp_methods callback.
1214         * python/python-internal.h (build_objfiles_list): New
1215         declaration.
1216         * python/python.c (build_objfiles_list): New function.
1217         (gdbpy_objfiles): Implement using build_objfiles_list.
1218         * NEWS: Mention the Progspace.objfiles method.
1219
1220 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
1221
1222         * python/py-inferior.c (infpy_get_progspace): New function.
1223         (inferior_object_getset): Add progspace property.
1224         * NEWS: Mention the new property.
1225
1226 2018-09-13  Tom Tromey  <tom@tromey.com>
1227
1228         PR rust/23650:
1229         * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
1230
1231 2018-09-13  Tom Tromey  <tom@tromey.com>
1232
1233         PR rust/23626:
1234         * rust-lang.c (rust_enum_variant): Now static.
1235         (rust_empty_enum_p): New function.
1236         (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def):
1237         Handle empty enum.
1238
1239 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
1240
1241         * python/py-inferior.c (infpy_repr): New.
1242         (inferior_object_type): Register infpy_repr.
1243         * python/py-objfile.c (objfpy_repr): New.
1244         (objfile_object_type): Register objfpy_repr.
1245
1246 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
1247
1248         * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable.
1249
1250 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
1251
1252         * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment
1253         typo.
1254
1255 2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1256
1257         * common/common-utils.c: Don't include '<sys/stat.h>'.
1258         (is_regular_file): Move to...
1259         * common/filestuff.c (is_regular_file): ... here.
1260         * common/common-utils.h (is_regular_file): Move to...
1261         * common/filestuff.h (is_regular_file): ... here.
1262
1263 2018-09-12  Simon Marchi  <simon.marchi@ericsson.com>
1264
1265         * skip.c (debug_skip): New variable.
1266         (skiplist_entry::do_skip_file_p): Add debug output.
1267         (skiplist_entry::do_skip_gfile_p): Likewise.
1268         (skiplist_entry::skip_function_p): Likewise.
1269         (_initialize_step_skip): Create debug command.
1270         * NEWS: Mention set/show debug skip.
1271
1272 2018-09-11  Xavier Roirand  <roirand@adacore.com>
1273
1274         * darwin-nat.c (should_disable_startup_with_shell):
1275         New function.
1276         (darwin_nat_target::create_inferior): Add call.
1277
1278 2018-09-11  Xavier Roirand  <roirand@adacore.com>
1279
1280         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
1281         inf_port, msg_state>: Initialize.
1282         (struct darwin_thread_info) <signaled, single_step>: Change
1283         type and initialize.
1284         (struct darwin_thread_info) <event>: Initialize.
1285
1286 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
1287
1288         PR gdb/23555
1289         PR gdb/23558
1290         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
1291         guesses.
1292
1293 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
1294
1295         Revert:
1296         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
1297
1298         PR gdb/23555
1299         PR gdb/23558
1300         * gnulib/aclocal.m4: Regenerate.
1301         * gnulib/config.in: Regenerate.
1302         * gnulib/configure: Regenerate.
1303         * gnulib/import/Makefile.am: Update.
1304         * gnulib/import/Makefile.in: Update.
1305         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
1306         * gnulib/import/_Noreturn.h: ... this.
1307         * gnulib/import/alloca.in.h: Update.
1308         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
1309         * gnulib/import/arg-nonnull.h: ... this.
1310         * gnulib/import/assure.h: Update.
1311         * gnulib/import/at-func.c: Update.
1312         * gnulib/import/basename-lgpl.c: Update.
1313         * gnulib/import/extra/snippet/c++defs.h: Rename to...
1314         * gnulib/import/c++defs.h: ... this.
1315         * gnulib/import/canonicalize-lgpl.c: Update.
1316         * gnulib/import/cdefs.h: Update.
1317         * gnulib/import/chdir-long.c: Update.
1318         * gnulib/import/chdir-long.h: Update.
1319         * gnulib/import/cloexec.c: Update.
1320         * gnulib/import/cloexec.h: Update.
1321         * gnulib/import/close.c: Update.
1322         * gnulib/import/closedir.c: Update.
1323         * gnulib/import/config.charset: Update.
1324         * gnulib/import/dirent-private.h: Update.
1325         * gnulib/import/dirent.in.h: Update.
1326         * gnulib/import/dirfd.c: Update.
1327         * gnulib/import/dirname-lgpl.c: Update.
1328         * gnulib/import/dirname.h: Update.
1329         * gnulib/import/dosname.h: Update.
1330         * gnulib/import/dup-safer-flag.c: Update.
1331         * gnulib/import/dup-safer.c: Update.
1332         * gnulib/import/dup.c: Update.
1333         * gnulib/import/dup2.c: Update.
1334         * gnulib/import/errno.in.h: Update.
1335         * gnulib/import/error.c: Update.
1336         * gnulib/import/error.h: Update.
1337         * gnulib/import/exitfail.c: Update.
1338         * gnulib/import/exitfail.h: Update.
1339         * gnulib/import/extra/update-copyright: Update.
1340         * gnulib/import/fchdir.c: Update.
1341         * gnulib/import/fcntl.c: Update.
1342         * gnulib/import/fcntl.in.h: Update.
1343         * gnulib/import/fd-hook.c: Update.
1344         * gnulib/import/fd-hook.h: Update.
1345         * gnulib/import/fd-safer-flag.c: Update.
1346         * gnulib/import/fd-safer.c: Update.
1347         * gnulib/import/fdopendir.c: Update.
1348         * gnulib/import/filename.h: Update.
1349         * gnulib/import/filenamecat-lgpl.c: Update.
1350         * gnulib/import/filenamecat.h: Update.
1351         * gnulib/import/flexmember.h: Update.
1352         * gnulib/import/float+.h: Update.
1353         * gnulib/import/float.c: Update.
1354         * gnulib/import/float.in.h: Update.
1355         * gnulib/import/fnmatch.c: Update.
1356         * gnulib/import/fnmatch.in.h: Update.
1357         * gnulib/import/fnmatch_loop.c: Update.
1358         * gnulib/import/fpucw.h: Update.
1359         * gnulib/import/frexp.c: Update.
1360         * gnulib/import/frexpl.c: Update.
1361         * gnulib/import/fstat.c: Update.
1362         * gnulib/import/fstatat.c: Update.
1363         * gnulib/import/getcwd-lgpl.c: Update.
1364         * gnulib/import/getcwd.c: Update.
1365         * gnulib/import/getdtablesize.c: Update.
1366         * gnulib/import/getlogin_r.c: Update.
1367         * gnulib/import/getprogname.c: Update.
1368         * gnulib/import/getprogname.h: Update.
1369         * gnulib/import/gettext.h: Update.
1370         * gnulib/import/gettimeofday.c: Update.
1371         * gnulib/import/glob-libc.h: Update.
1372         * gnulib/import/glob.c: Update.
1373         * gnulib/import/glob.in.h: Update.
1374         * gnulib/import/glob_internal.h: Update.
1375         * gnulib/import/glob_pattern_p.c: Update.
1376         * gnulib/import/globfree.c: Update.
1377         * gnulib/import/hard-locale.c: Update.
1378         * gnulib/import/hard-locale.h: Update.
1379         * gnulib/import/intprops.h: Update.
1380         * gnulib/import/inttypes.in.h: Update.
1381         * gnulib/import/isnan.c: Update.
1382         * gnulib/import/isnand-nolibm.h: Update.
1383         * gnulib/import/isnand.c: Update.
1384         * gnulib/import/isnanl-nolibm.h: Update.
1385         * gnulib/import/isnanl.c: Update.
1386         * gnulib/import/itold.c: Update.
1387         * gnulib/import/libc-config.h: Update.
1388         * gnulib/import/limits.in.h: Update.
1389         * gnulib/import/localcharset.c: Update.
1390         * gnulib/import/localcharset.h: Update.
1391         * gnulib/import/localtime-buffer.c: Update.
1392         * gnulib/import/localtime-buffer.h: Update.
1393         * gnulib/import/lstat.c: Update.
1394         * gnulib/import/m4/00gnulib.m4: Update.
1395         * gnulib/import/m4/__inline.m4: Update.
1396         * gnulib/import/m4/absolute-header.m4: Update.
1397         * gnulib/import/m4/alloca.m4: Update.
1398         * gnulib/import/m4/builtin-expect.m4: Update.
1399         * gnulib/import/m4/canonicalize.m4: Update.
1400         * gnulib/import/m4/chdir-long.m4: Update.
1401         * gnulib/import/m4/close.m4: Update.
1402         * gnulib/import/m4/closedir.m4: Update.
1403         * gnulib/import/m4/configmake.m4: Update.
1404         * gnulib/import/m4/d-ino.m4: Update.
1405         * gnulib/import/m4/d-type.m4: Update.
1406         * gnulib/import/m4/dirent_h.m4: Update.
1407         * gnulib/import/m4/dirfd.m4: Update.
1408         * gnulib/import/m4/dirname.m4: Update.
1409         * gnulib/import/m4/double-slash-root.m4: Update.
1410         * gnulib/import/m4/dup.m4: Update.
1411         * gnulib/import/m4/dup2.m4: Update.
1412         * gnulib/import/m4/eealloc.m4: Update.
1413         * gnulib/import/m4/environ.m4: Update.
1414         * gnulib/import/m4/errno_h.m4: Update.
1415         * gnulib/import/m4/error.m4: Update.
1416         * gnulib/import/m4/exponentd.m4: Update.
1417         * gnulib/import/m4/exponentl.m4: Update.
1418         * gnulib/import/m4/extensions.m4: Update.
1419         * gnulib/import/m4/extern-inline.m4: Update.
1420         * gnulib/import/m4/fchdir.m4: Update.
1421         * gnulib/import/m4/fcntl-o.m4: Update.
1422         * gnulib/import/m4/fcntl.m4: Update.
1423         * gnulib/import/m4/fcntl_h.m4: Update.
1424         * gnulib/import/m4/fdopendir.m4: Update.
1425         * gnulib/import/m4/filenamecat.m4: Update.
1426         * gnulib/import/m4/flexmember.m4: Update.
1427         * gnulib/import/m4/float_h.m4: Update.
1428         * gnulib/import/m4/fnmatch.m4: Update.
1429         * gnulib/import/m4/fnmatch_h.m4: Update.
1430         * gnulib/import/m4/fpieee.m4: Update.
1431         * gnulib/import/m4/frexp.m4: Update.
1432         * gnulib/import/m4/frexpl.m4: Update.
1433         * gnulib/import/m4/fstat.m4: Update.
1434         * gnulib/import/m4/fstatat.m4: Update.
1435         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1436         * gnulib/import/m4/getcwd-path-max.m4: Update.
1437         * gnulib/import/m4/getcwd.m4: Update.
1438         * gnulib/import/m4/getdtablesize.m4: Update.
1439         * gnulib/import/m4/getlogin.m4: Update.
1440         * gnulib/import/m4/getlogin_r.m4: Update.
1441         * gnulib/import/m4/getpagesize.m4: Update.
1442         * gnulib/import/m4/getprogname.m4: Update.
1443         * gnulib/import/m4/gettimeofday.m4: Update.
1444         * gnulib/import/m4/glibc21.m4: Update.
1445         * gnulib/import/m4/glob.m4: Update.
1446         * gnulib/import/m4/glob_h.m4: Update.
1447         * gnulib/import/m4/gnulib-cache.m4: Update.
1448         * gnulib/import/m4/gnulib-common.m4: Update.
1449         * gnulib/import/m4/gnulib-comp.m4: Update.
1450         * gnulib/import/m4/gnulib-tool.m4: Update.
1451         * gnulib/import/m4/hard-locale.m4: Update.
1452         * gnulib/import/m4/include_next.m4: Update.
1453         * gnulib/import/m4/inttypes-pri.m4: Update.
1454         * gnulib/import/m4/inttypes.m4: Update.
1455         * gnulib/import/m4/isnand.m4: Update.
1456         * gnulib/import/m4/isnanl.m4: Update.
1457         * gnulib/import/m4/largefile.m4: Update.
1458         * gnulib/import/m4/limits-h.m4: Update.
1459         * gnulib/import/m4/localcharset.m4: Update.
1460         * gnulib/import/m4/locale-fr.m4: Update.
1461         * gnulib/import/m4/locale-ja.m4: Update.
1462         * gnulib/import/m4/locale-zh.m4: Update.
1463         * gnulib/import/m4/localtime-buffer.m4: Update.
1464         * gnulib/import/m4/longlong.m4: Update.
1465         * gnulib/import/m4/lstat.m4: Update.
1466         * gnulib/import/m4/malloc.m4: Update.
1467         * gnulib/import/m4/malloca.m4: Update.
1468         * gnulib/import/m4/math_h.m4: Update.
1469         * gnulib/import/m4/mbrtowc.m4: Update.
1470         * gnulib/import/m4/mbsinit.m4: Update.
1471         * gnulib/import/m4/mbsrtowcs.m4: Update.
1472         * gnulib/import/m4/mbstate_t.m4: Update.
1473         * gnulib/import/m4/memchr.m4: Update.
1474         * gnulib/import/m4/memmem.m4: Update.
1475         * gnulib/import/m4/mempcpy.m4: Update.
1476         * gnulib/import/m4/memrchr.m4: Update.
1477         * gnulib/import/m4/mkdir.m4: Update.
1478         * gnulib/import/m4/mkstemp.m4: Update.
1479         * gnulib/import/m4/mmap-anon.m4: Update.
1480         * gnulib/import/m4/mode_t.m4: Update.
1481         * gnulib/import/m4/msvc-inval.m4: Update.
1482         * gnulib/import/m4/msvc-nothrow.m4: Update.
1483         * gnulib/import/m4/multiarch.m4: Update.
1484         * gnulib/import/m4/nocrash.m4: Update.
1485         * gnulib/import/m4/off_t.m4: Update.
1486         * gnulib/import/m4/onceonly.m4: Update.
1487         * gnulib/import/m4/open-cloexec.m4: Update.
1488         * gnulib/import/m4/open.m4: Update.
1489         * gnulib/import/m4/openat.m4: Update.
1490         * gnulib/import/m4/opendir.m4: Update.
1491         * gnulib/import/m4/pathmax.m4: Update.
1492         * gnulib/import/m4/rawmemchr.m4: Update.
1493         * gnulib/import/m4/readdir.m4: Update.
1494         * gnulib/import/m4/readlink.m4: Update.
1495         * gnulib/import/m4/realloc.m4: Update.
1496         * gnulib/import/m4/rename.m4: Update.
1497         * gnulib/import/m4/rewinddir.m4: Update.
1498         * gnulib/import/m4/rmdir.m4: Update.
1499         * gnulib/import/m4/save-cwd.m4: Update.
1500         * gnulib/import/m4/secure_getenv.m4: Update.
1501         * gnulib/import/m4/setenv.m4: Update.
1502         * gnulib/import/m4/signal_h.m4: Update.
1503         * gnulib/import/m4/ssize_t.m4: Update.
1504         * gnulib/import/m4/stat-time.m4: Update.
1505         * gnulib/import/m4/stat.m4: Update.
1506         * gnulib/import/m4/std-gnu11.m4: Update.
1507         * gnulib/import/m4/stdbool.m4: Update.
1508         * gnulib/import/m4/stddef_h.m4: Update.
1509         * gnulib/import/m4/stdint.m4: Update.
1510         * gnulib/import/m4/stdio_h.m4: Update.
1511         * gnulib/import/m4/stdlib_h.m4: Update.
1512         * gnulib/import/m4/strchrnul.m4: Update.
1513         * gnulib/import/m4/strdup.m4: Update.
1514         * gnulib/import/m4/strerror.m4: Update.
1515         * gnulib/import/m4/string_h.m4: Update.
1516         * gnulib/import/m4/strstr.m4: Update.
1517         * gnulib/import/m4/strtok_r.m4: Update.
1518         * gnulib/import/m4/sys_socket_h.m4: Update.
1519         * gnulib/import/m4/sys_stat_h.m4: Update.
1520         * gnulib/import/m4/sys_time_h.m4: Update.
1521         * gnulib/import/m4/sys_types_h.m4: Update.
1522         * gnulib/import/m4/tempname.m4: Update.
1523         * gnulib/import/m4/time_h.m4: Update.
1524         * gnulib/import/m4/unistd-safer.m4: Update.
1525         * gnulib/import/m4/unistd_h.m4: Update.
1526         * gnulib/import/m4/warn-on-use.m4: Update.
1527         * gnulib/import/m4/wchar_h.m4: Update.
1528         * gnulib/import/m4/wchar_t.m4: Update.
1529         * gnulib/import/m4/wctype_h.m4: Update.
1530         * gnulib/import/m4/wint_t.m4: Update.
1531         * gnulib/import/malloc.c: Update.
1532         * gnulib/import/malloc/scratch_buffer.h: Update.
1533         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1534         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1535         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1536         * gnulib/import/malloca.c: Update.
1537         * gnulib/import/malloca.h: Update.
1538         * gnulib/import/malloca.valgrind: Update.
1539         * gnulib/import/math.in.h: Update.
1540         * gnulib/import/mbrtowc.c: Update.
1541         * gnulib/import/mbsinit.c: Update.
1542         * gnulib/import/mbsrtowcs-impl.h: Update.
1543         * gnulib/import/mbsrtowcs-state.c: Update.
1544         * gnulib/import/mbsrtowcs.c: Update.
1545         * gnulib/import/memchr.c: Update.
1546         * gnulib/import/memmem.c: Update.
1547         * gnulib/import/mempcpy.c: Update.
1548         * gnulib/import/memrchr.c: Update.
1549         * gnulib/import/mkdir.c: Update.
1550         * gnulib/import/mkstemp.c: Update.
1551         * gnulib/import/msvc-inval.c: Update.
1552         * gnulib/import/msvc-inval.h: Update.
1553         * gnulib/import/msvc-nothrow.c: Update.
1554         * gnulib/import/msvc-nothrow.h: Update.
1555         * gnulib/import/open.c: Update.
1556         * gnulib/import/openat-die.c: Update.
1557         * gnulib/import/openat-priv.h: Update.
1558         * gnulib/import/openat-proc.c: Update.
1559         * gnulib/import/openat.c: Update.
1560         * gnulib/import/openat.h: Update.
1561         * gnulib/import/opendir.c: Update.
1562         * gnulib/import/pathmax.h: Update.
1563         * gnulib/import/pipe-safer.c: Update.
1564         * gnulib/import/rawmemchr.c: Update.
1565         * gnulib/import/readdir.c: Update.
1566         * gnulib/import/readlink.c: Update.
1567         * gnulib/import/realloc.c: Update.
1568         * gnulib/import/ref-add.sin: Update.
1569         * gnulib/import/ref-del.sin: Update.
1570         * gnulib/import/rename.c: Update.
1571         * gnulib/import/rewinddir.c: Update.
1572         * gnulib/import/rmdir.c: Update.
1573         * gnulib/import/same-inode.h: Update.
1574         * gnulib/import/save-cwd.c: Update.
1575         * gnulib/import/save-cwd.h: Update.
1576         * gnulib/import/scratch_buffer.h: Update.
1577         * gnulib/import/secure_getenv.c: Update.
1578         * gnulib/import/setenv.c: Update.
1579         * gnulib/import/signal.in.h: Update.
1580         * gnulib/import/stat-time.c: Update.
1581         * gnulib/import/stat-time.h: Update.
1582         * gnulib/import/stat-w32.c: Update.
1583         * gnulib/import/stat-w32.h: Update.
1584         * gnulib/import/stat.c: Update.
1585         * gnulib/import/stdbool.in.h: Update.
1586         * gnulib/import/stddef.in.h: Update.
1587         * gnulib/import/stdint.in.h: Update.
1588         * gnulib/import/stdio.in.h: Update.
1589         * gnulib/import/stdlib.in.h: Update.
1590         * gnulib/import/str-two-way.h: Update.
1591         * gnulib/import/strchrnul.c: Update.
1592         * gnulib/import/strdup.c: Update.
1593         * gnulib/import/streq.h: Update.
1594         * gnulib/import/strerror-override.c: Update.
1595         * gnulib/import/strerror-override.h: Update.
1596         * gnulib/import/strerror.c: Update.
1597         * gnulib/import/string.in.h: Update.
1598         * gnulib/import/stripslash.c: Update.
1599         * gnulib/import/strnlen1.c: Update.
1600         * gnulib/import/strnlen1.h: Update.
1601         * gnulib/import/strstr.c: Update.
1602         * gnulib/import/strtok_r.c: Update.
1603         * gnulib/import/sys_stat.in.h: Update.
1604         * gnulib/import/sys_time.in.h: Update.
1605         * gnulib/import/sys_types.in.h: Update.
1606         * gnulib/import/tempname.c: Update.
1607         * gnulib/import/tempname.h: Update.
1608         * gnulib/import/time.in.h: Update.
1609         * gnulib/import/unistd--.h: Update.
1610         * gnulib/import/unistd-safer.h: Update.
1611         * gnulib/import/unistd.in.h: Update.
1612         * gnulib/import/unsetenv.c: Update.
1613         * gnulib/import/verify.h: Update.
1614         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1615         * gnulib/import/wchar.in.h: Update.
1616         * gnulib/import/wctype.in.h: Update.
1617         * gnulib/import/xalloc-oversized.h: Update.
1618         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1619         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1620
1621 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
1622
1623         * record-btrace.c (get_thread_current_frame): Remove
1624         old_inferior_ptid.
1625
1626 2018-09-10  Jerome Guitton  <guitton@adacore.com>
1627
1628         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
1629         with check_tag to 1 if and only if the type is tagged and the
1630         component being searched cannot been found in the current
1631         view. Otherwise, always call ada_to_fixed_type with
1632         check_tag to 0.
1633
1634 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1635
1636         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
1637         declaration.
1638         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
1639         * ada-varobj.c (ada_varobj_get_number_of_children,
1640         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
1641
1642 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1643
1644         * ada-valprint.c (ada_value_print): Use type instead of
1645         enclosing type.
1646
1647 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1648
1649         * ada-lang.c (ada_value_subscript): Handle case when parameter is
1650         an array of access to unconstrained array.
1651
1652 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1653
1654         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
1655         (ada_check_typedef): Use it.
1656
1657 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1658
1659         * ada-varobj.c (ada_varobj_describe_struct_child)
1660         (ada_varobj_describe_child): Handle union case like struct one.
1661
1662 2018-09-10  Tom Tromey  <tom@tromey.com>
1663
1664         PR python/18380:
1665         * python/python.c (_initialize_python): Make example in "python"
1666         help work in Python 3.
1667
1668 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
1669
1670         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
1671         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
1672         $(EXEEXT) to the script, as it is not a program.
1673
1674 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
1675
1676         * python/py-prettyprint.c (pretty_print_one_value): Return
1677         gdbpy_ref<>.
1678         (print_string_repr): Adjust.
1679         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
1680         * python/python-internal.h (apply_varobj_pretty_printer): Return
1681         gdbpy_ref<>.
1682         * varobj.c (varobj_value_get_print_value): Adjust.
1683
1684 2018-09-08  Tom Tromey  <tom@tromey.com>
1685
1686         PR python/16047:
1687         * python/py-prettyprint.c (pretty_print_one_value): Check for
1688         to_string method.
1689
1690 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1691
1692         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
1693         replace_operator_with_call.
1694
1695 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1696
1697         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
1698
1699 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1700
1701         * ada-typeprint.c (print_range): Print the bounds using TYPE
1702         rather than its TYPE_TARGET_TYPE.
1703
1704 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1705
1706         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
1707         call to ada_to_fixed_value_create.
1708
1709 2018-09-08  Jerome Guitton  <guitton@adacore.com>
1710
1711         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
1712
1713 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1714
1715         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
1716         by calls to error.
1717
1718 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1719
1720         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
1721         Move update of loop variable "fi".
1722
1723 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1724
1725         * ada-lang.c (value_assign_to_component): In the case of
1726         big-endian targets, extract the bits of the given VAL
1727         using an src_offset of zero if container is not a scalar.
1728
1729 2018-09-06  Simon Ser  <contact@emersion.fr>
1730
1731         PR gdb/23105
1732         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
1733         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1734         * fbsd-tdep.c (fbsd_make_note_desc): New.
1735         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
1736         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
1737         * target.h (enum target_object) Add FreeBSD-specific
1738         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1739
1740 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1741
1742         * compile/compile-c.h (generate_c_for_variable_locations):
1743         Change reference to pointer.
1744         * compile/compile-c-support.c (compile_program) <compute>:
1745         Likewise.
1746         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
1747         (generate_c_for_for_one_variable): Likewise
1748         (generate_c_for_variable_locations): Likewise
1749         * compile/compile-c-types.c (compile_c_instance::convert_type):
1750         Likewise
1751         * compile/compile-cplus-symbols.c (convert_one_symbol):
1752         std::move the scope passed to enter_scope.
1753         * compile/compile-cplus-types.c
1754         (compile_cplus_instance::enter_scope): Make parameter
1755         rvalue-reference.
1756         (compile_cplus_instance::new_scope): Change reference to
1757         pointer.
1758         (compile_cplus_instance::convert_type): Likewise
1759         (compile_cplus_convert_typedef): std::move the scope passed to
1760         enter_scope.
1761         (compile_cplus_convert_struct_or_union): Likewise.
1762         (compile_cplus_convert_enum): Likewise.
1763         (compile_cplus_convert_namespace): Likewise.
1764         * compile/compile-cplus.h (compile_cplus_instance)
1765         <enter_scope>: Make parameter rvalue-reference.
1766         * compile/compile-internal.h (compile_instance)
1767         <get_cached_type>: Likewise
1768         * compile/compile-loc2c.c (push): Likewise
1769         (pushf): Likewise
1770         (unary): Likewise
1771         (binary): Likewise
1772         (print_label): Likewise
1773         (pushf_register_address): Likewise
1774         (pushf_register): Likewise
1775         (do_compile_dwarf_expr_to_c): Likewise
1776         (compile_dwarf_expr_to_c): Likewise
1777         (compile_dwarf_bounds_to_c): Likewise
1778         * compile/compile.c (compile_instance::get_cached_type):
1779         Likewise
1780         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
1781         (compile_dwarf_bounds_to_c): Likewise
1782         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
1783         (dwarf2_compile_property_to_c): Likewise
1784         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
1785         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
1786         Likewise
1787
1788 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1789
1790         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
1791         * tui/tui-data.c (init_content_element): Don't initialize it.
1792
1793 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1794
1795         * tui/tui-data.h (struct tui_win_info)
1796         <detail::opaque>: Remove.
1797         * tui/tui-data.c (init_win_info): Remove assignment.
1798
1799 2018-09-05  Tom Tromey  <tom@tromey.com>
1800
1801         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
1802         -Wformat-nonliteral.
1803         * target-float.c (host_float_ops<T>::to_string)
1804         (host_float_ops<T>::from_string): Use
1805         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1806         * configure: Rebuild.
1807
1808 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
1809
1810         * printcmd.c (printf_c_string): Use
1811         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1812         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
1813
1814 2018-09-05  Tom Tromey  <tom@tromey.com>
1815
1816         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
1817
1818 2018-09-05  Tom de Vries  <tdevries@suse.de>
1819
1820         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
1821         with resolve_abstract_p == true.
1822         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
1823         defaulting to false. Propagate resolve_abstract_p to
1824         dwarf2_fetch_die_loc_sect_off.
1825         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
1826         parameter, defaulting to false.
1827         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
1828         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
1829         parameter.
1830         * dwarf2read.h (struct die_info): Forward-declare.
1831         (die_info_ptr): New typedef.
1832         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
1833
1834 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
1835
1836         GDB 8.2 released.
1837
1838 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
1839             Pedro Alves  <palves@redhat.com>
1840
1841         * gnulib/Makefile.in (aclocal_m4_deps): Move to
1842         "aclocal-m4-deps.mk".  Include file here.
1843         $(srcdir)/aclocal.m4: Add "configure.ac".
1844         * gnulib/aclocal-m4-deps.mk: New file.
1845         * gnulib/update-gnulib.sh: Automatically update
1846         "aclocal-m4-deps.mk".
1847
1848 2018-09-04  Tom Tromey  <tom@tromey.com>
1849
1850         * configure: Rebuild.
1851         * configure.ac: Remove multi-ice code.
1852
1853 2018-09-04  Tom Tromey  <tom@tromey.com>
1854
1855         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
1856         (ada-exp.o): Update.
1857
1858 2018-09-04  Tom Tromey  <tom@tromey.com>
1859
1860         * Makefile.in (printcmd.o, target-float.o): Remove.
1861         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
1862
1863 2018-09-04  Tom Tromey  <tom@tromey.com>
1864
1865         * gnulib/Makefile.in: Remove obsolete comment.
1866         * Makefile.in: Remove obsolete comment.
1867
1868 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
1869
1870         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
1871         line with '+'.
1872
1873 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1874
1875         * riscv-tdep.c: Add 'prologue-value.h' include.
1876         (struct riscv_unwind_cache): New struct.
1877         (riscv_debug_unwinder): New global.
1878         (riscv_scan_prologue): Update arguments, capture register details
1879         from prologue scan.
1880         (riscv_skip_prologue): Reformat arguments line, move end of
1881         prologue calculation into riscv_scan_prologue.
1882         (riscv_frame_cache): Update return type, create
1883         riscv_unwind_cache, scan the prologue, and fill in remaining cache
1884         details.
1885         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
1886         (riscv_frame_prev_register): Use the trad_frame within the
1887         riscv_unwind_cache.
1888         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
1889         flag.
1890
1891 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1892
1893         * trad-frame.h (trad_frame_set_realreg): Declare.
1894         (trad_frame_set_addr): Declare.
1895         * trad-frame.c (trad_frame_set_realreg): Define new function.
1896         (trad_frame_set_addr): Define new function.
1897         (trad_frame_set_reg_realreg): Use new function.
1898         (trad_frame_set_reg_addr): Use new function.
1899
1900 2018-09-01  Keith Seitz  <keiths@redhat.com>
1901
1902         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
1903         pulongest instead of "%lld".
1904         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
1905         ATTRIBUTE_UNUSED.
1906
1907 2018-08-31  Tom Tromey  <tom@tromey.com>
1908
1909         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
1910         variant part type.
1911
1912 2018-08-31  Pedro Alves  <palves@redhat.com>
1913
1914         * gdbarch.h: Regenerate.
1915
1916 2018-08-31  Pedro Alves  <palves@redhat.com>
1917
1918         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
1919         * target.h (Hardware watchpoint interfaces): Describe
1920         continuable/steppable/non-steppable watchpoints.
1921         * gdbarch.h, gdbarch.c: Regenerate.
1922
1923 2018-08-31  Pedro Alves  <palves@redhat.com>
1924
1925         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
1926         Delete.
1927         * s390-linux-nat.c
1928         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
1929         * target.h (target_ops::have_continuable_watchpoint): Delete.
1930         (target_have_continuable_watchpoint): Delete.
1931         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
1932         * target-delegates.c: Regenerate.
1933
1934 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
1935
1936         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
1937         the files present in "gnulib/import/m4/".
1938
1939 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1940
1941         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
1942         c.sw, c.swsp, and c.sdsp.
1943
1944 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
1945
1946         * riscv-tdep.c (struct riscv_inferior_data): Delete.
1947         (riscv_read_misa_reg): Don't cache value read into inferior data.
1948         (riscv_new_inferior_data): Delete.
1949         (riscv_inferior_data_cleanup): Delete.
1950         (riscv_inferior_data): Delete.
1951         (riscv_invalidate_inferior_data): Delete.
1952         (_initialize_riscv_tdep): Remove initialisation of inferior data.
1953
1954 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
1955
1956         * compile/compile-cplus-types.c
1957         (compile_cplus_instance::leave_scope): Take the address of scope
1958         object.
1959         (compile_cplus_instance::convert_qualified_base): Compare quals
1960         to 0.
1961
1962 2018-08-30  Keith Seitz  <keiths@redhat.com>
1963
1964         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
1965         Use "%s" and host_address_to_string instead of "%p" in printf.
1966
1967 2018-08-29  Keith Seitz  <keiths@redhat.com>
1968
1969         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
1970         and compile-cplus-types.c.
1971         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
1972         * c-lang.c (cplus_language_defn): Set C++ compile functions.
1973         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
1974         Declare.
1975         * compile/compile-c-support.c: Include compile-cplus.h.
1976         (load_libcompile): Templatize.
1977         (get_compile_context): "New" function.
1978         (c_get_compile_context): Use get_compile_context.
1979         (cplus_get_compile_context): New function.
1980         (cplus_push_user_expression, cplus_pop_user_expression)
1981         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
1982         (cplus_compute_program): Define new structs/functions.
1983         * compile/compile-cplus-symmbols.c: New file.
1984         * compile/compile-cplus-types.c: New file.
1985         * compile/compile-cplus.h: New file.
1986         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
1987         Declare.
1988         * compile/compile-object-load.c (get_out_value_type): Use
1989         strncmp_iw when comparing symbol names.
1990         (compile_object_load): Add mst_bss and mst_data.
1991         * compile/compile.c (_initialize_compile): Remove
1992         -Wno-implicit-function-declaration from `compile_args'.
1993         * compile/gcc-cp-plugin.h: New file.
1994         * NEWS: Mention C++ compile support and new debug options.
1995
1996 2018-08-29  Keith Seitz  <keiths@redhat.com>
1997
1998         * linespec.c (collect_info::add_symbol): Make virtual.
1999         (struct symbol_searcher_collect_info): New struct.
2000         (symbol_searcher::find_all_symbols): New method.
2001         * symtab.h (class symbol_searcher): New class.
2002
2003 2018-08-29  Keith Seitz  <keiths@redhat.com>
2004
2005         * linespec.c (struct linespec) <function_symbols, label_symbols>:
2006         Change to vector of block_symbol.  Update all users.
2007         (struct collect_info) <symbols>: Likewise.
2008         (collect_info::add_symbol): Take block_symbol as argument.
2009         Update all callers.
2010         (decode_compound_collector) <m_symbols>: Change type to vector
2011         of block_symbol.  Update all users.
2012         (decode_compound_collector::operator ()): Change parameter type
2013         to block_symbol.
2014         (find_method, find_function_symbols, find_linespec_symbols)
2015         (find_label_symbols_in_block, find_label_symbols): Change symbol
2016         vectors to block_symbol vectors.
2017         * symtab.h (symbol_found_callback_ftype): Change parameter type to
2018         block_symbol.
2019
2020 2018-08-29  Keith Seitz  <keiths@redhat.com>
2021
2022         * linespec.c (symbolp): Remove typedef and VEC definitions.
2023         (bound_minimal_symbol_d): Likewise.
2024
2025 2018-08-29  Keith Seitz  <keiths@redhat.com>
2026
2027         * linespec.c (decode_compound_collector::decode_compound_collector):
2028         Remove initialization for `m_symtabs'.
2029         (decode_compound_collector::release_symbols): Change return type
2030         to std::vector.  Update all callers.
2031         (class decode_compound_collector) <m_symbols>: Change type to
2032         std::vector.
2033         (lookup_prefix_sym): Change return type to std::vector.  Update all
2034         callers.
2035         (compare_symbols): Remove.
2036         (std_compare_symbols): Rename to `compare_symbols'.
2037         (find_method): Change `sym_classes' parameter to std::vector.
2038         Update all callers.  Use std::sort to sort sym_classes.
2039         (find_linespec_symbols): Remove cleanup.
2040
2041 2018-08-29  Keith Seitz  <keiths@redhat.com>
2042
2043         * linespec.c (struct linespec) <minimal_symbols>: Change type to
2044         std::vector.  Update all users.
2045         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
2046         (struct collect_info) <minimal_symbols>: Likewise.
2047         (compare_msymbols): Return bool.  Change parameters to const
2048         bound_minimal_symbol references.
2049         (find_method, find_function_symbols, find_linespec_symbols): Change
2050         `minsyms' parameter to std::vector.  Update all callers.
2051
2052 2018-08-29  Keith Seitz  <keiths@redhat.com>
2053
2054         * linespec.c (struct linespec) <label_symbols>: Change type to
2055         std::vector.  Update all users.
2056         (find_label_symbols_in_block): Change `result' parameter to
2057         std::vector.  Update all callers.
2058         (find_label_symbols): Return std::vector.  Update all callers.
2059
2060 2018-08-29  Keith Seitz  <keiths@redhat.com>
2061
2062         * linespec.c (struct linespec) <function_symbols>: Change type to
2063         std::vector.  Update all users.
2064         (struct collect_info) <function_symbols>: Likewise.
2065         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
2066         (std_compare_symbols): New function.
2067         (find_method, find_function_symbols, find_linespec_symbols)
2068         (find_label_symbols_in_block): Change `symbols' parameter to
2069         std::vector.  Update all callers.
2070         (find_label_symbols): Likewise for `function_symbols' and
2071         `label_funcs_ret'.
2072
2073 2018-08-29  Keith Seitz  <keiths@redhat.com>
2074
2075         * linespec.c (symtab_vector_up): Define.
2076         (struct linespec) <file_symtabs>: Change type to std::vector *.
2077         Update all uses.
2078         (struct collect_info) <file_symtabs>: Likewise.
2079         (collect_symtabs_from_filename): Return symtab_vector_up.
2080         Update all callers.
2081         (decode_objc): Remove cleanup.
2082         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
2083         (symtab_collector::release_symtabs): Return symtab_vector_up.
2084         Update all callers.
2085         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
2086         Update all users.
2087         (collect_symtabs_from_filename, symtabs_from_filename): Return
2088         symtab_vector_up.  Update all callers.
2089
2090 2018-08-29  Tom Tromey  <tom@tromey.com>
2091
2092         * csky-tdep.c (csky_analyze_prologue): Use
2093         core_addr_to_string_nz.
2094
2095 2018-08-29  Tom Tromey  <tom@tromey.com>
2096
2097         * windows-nat.c (struct xlate_exception) <them>: Change type to
2098         DWORD.
2099         (xlate): Fix formatting.  Remove last entry.
2100         (struct xlate_exception, xlate): Comment out.
2101         (windows_nat_target::resume): Use ranged for.
2102
2103 2018-08-29  Jim Wilson  <jimw@sifive.com>
2104
2105         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
2106         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
2107         of NT_PRFPREG.
2108         (riscv_linux_nat_target::store_registers): Likewise.
2109
2110 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
2111
2112         PR gdb/23555
2113         PR gdb/23558
2114         * gnulib/aclocal.m4: Regenerate.
2115         * gnulib/config.in: Regenerate.
2116         * gnulib/configure: Regenerate.
2117         * gnulib/import/Makefile.am: Update.
2118         * gnulib/import/Makefile.in: Update.
2119         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
2120         * gnulib/import/_Noreturn.h: ... this.
2121         * gnulib/import/alloca.in.h: Update.
2122         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
2123         * gnulib/import/arg-nonnull.h: ... this.
2124         * gnulib/import/assure.h: Update.
2125         * gnulib/import/at-func.c: Update.
2126         * gnulib/import/basename-lgpl.c: Update.
2127         * gnulib/import/extra/snippet/c++defs.h: Rename to...
2128         * gnulib/import/c++defs.h: ... this.
2129         * gnulib/import/canonicalize-lgpl.c: Update.
2130         * gnulib/import/cdefs.h: Update.
2131         * gnulib/import/chdir-long.c: Update.
2132         * gnulib/import/chdir-long.h: Update.
2133         * gnulib/import/cloexec.c: Update.
2134         * gnulib/import/cloexec.h: Update.
2135         * gnulib/import/close.c: Update.
2136         * gnulib/import/closedir.c: Update.
2137         * gnulib/import/config.charset: Update.
2138         * gnulib/import/dirent-private.h: Update.
2139         * gnulib/import/dirent.in.h: Update.
2140         * gnulib/import/dirfd.c: Update.
2141         * gnulib/import/dirname-lgpl.c: Update.
2142         * gnulib/import/dirname.h: Update.
2143         * gnulib/import/dosname.h: Update.
2144         * gnulib/import/dup-safer-flag.c: Update.
2145         * gnulib/import/dup-safer.c: Update.
2146         * gnulib/import/dup.c: Update.
2147         * gnulib/import/dup2.c: Update.
2148         * gnulib/import/errno.in.h: Update.
2149         * gnulib/import/error.c: Update.
2150         * gnulib/import/error.h: Update.
2151         * gnulib/import/exitfail.c: Update.
2152         * gnulib/import/exitfail.h: Update.
2153         * gnulib/import/extra/update-copyright: Update.
2154         * gnulib/import/fchdir.c: Update.
2155         * gnulib/import/fcntl.c: Update.
2156         * gnulib/import/fcntl.in.h: Update.
2157         * gnulib/import/fd-hook.c: Update.
2158         * gnulib/import/fd-hook.h: Update.
2159         * gnulib/import/fd-safer-flag.c: Update.
2160         * gnulib/import/fd-safer.c: Update.
2161         * gnulib/import/fdopendir.c: Update.
2162         * gnulib/import/filename.h: Update.
2163         * gnulib/import/filenamecat-lgpl.c: Update.
2164         * gnulib/import/filenamecat.h: Update.
2165         * gnulib/import/flexmember.h: Update.
2166         * gnulib/import/float+.h: Update.
2167         * gnulib/import/float.c: Update.
2168         * gnulib/import/float.in.h: Update.
2169         * gnulib/import/fnmatch.c: Update.
2170         * gnulib/import/fnmatch.in.h: Update.
2171         * gnulib/import/fnmatch_loop.c: Update.
2172         * gnulib/import/fpucw.h: Update.
2173         * gnulib/import/frexp.c: Update.
2174         * gnulib/import/frexpl.c: Update.
2175         * gnulib/import/fstat.c: Update.
2176         * gnulib/import/fstatat.c: Update.
2177         * gnulib/import/getcwd-lgpl.c: Update.
2178         * gnulib/import/getcwd.c: Update.
2179         * gnulib/import/getdtablesize.c: Update.
2180         * gnulib/import/getlogin_r.c: Update.
2181         * gnulib/import/getprogname.c: Update.
2182         * gnulib/import/getprogname.h: Update.
2183         * gnulib/import/gettext.h: Update.
2184         * gnulib/import/gettimeofday.c: Update.
2185         * gnulib/import/glob-libc.h: Update.
2186         * gnulib/import/glob.c: Update.
2187         * gnulib/import/glob.in.h: Update.
2188         * gnulib/import/glob_internal.h: Update.
2189         * gnulib/import/glob_pattern_p.c: Update.
2190         * gnulib/import/globfree.c: Update.
2191         * gnulib/import/hard-locale.c: Update.
2192         * gnulib/import/hard-locale.h: Update.
2193         * gnulib/import/intprops.h: Update.
2194         * gnulib/import/inttypes.in.h: Update.
2195         * gnulib/import/isnan.c: Update.
2196         * gnulib/import/isnand-nolibm.h: Update.
2197         * gnulib/import/isnand.c: Update.
2198         * gnulib/import/isnanl-nolibm.h: Update.
2199         * gnulib/import/isnanl.c: Update.
2200         * gnulib/import/itold.c: Update.
2201         * gnulib/import/libc-config.h: Update.
2202         * gnulib/import/limits.in.h: Update.
2203         * gnulib/import/localcharset.c: Update.
2204         * gnulib/import/localcharset.h: Update.
2205         * gnulib/import/localtime-buffer.c: Update.
2206         * gnulib/import/localtime-buffer.h: Update.
2207         * gnulib/import/lstat.c: Update.
2208         * gnulib/import/m4/00gnulib.m4: Update.
2209         * gnulib/import/m4/__inline.m4: Update.
2210         * gnulib/import/m4/absolute-header.m4: Update.
2211         * gnulib/import/m4/alloca.m4: Update.
2212         * gnulib/import/m4/builtin-expect.m4: Update.
2213         * gnulib/import/m4/canonicalize.m4: Update.
2214         * gnulib/import/m4/chdir-long.m4: Update.
2215         * gnulib/import/m4/close.m4: Update.
2216         * gnulib/import/m4/closedir.m4: Update.
2217         * gnulib/import/m4/configmake.m4: Update.
2218         * gnulib/import/m4/d-ino.m4: Update.
2219         * gnulib/import/m4/d-type.m4: Update.
2220         * gnulib/import/m4/dirent_h.m4: Update.
2221         * gnulib/import/m4/dirfd.m4: Update.
2222         * gnulib/import/m4/dirname.m4: Update.
2223         * gnulib/import/m4/double-slash-root.m4: Update.
2224         * gnulib/import/m4/dup.m4: Update.
2225         * gnulib/import/m4/dup2.m4: Update.
2226         * gnulib/import/m4/eealloc.m4: Update.
2227         * gnulib/import/m4/environ.m4: Update.
2228         * gnulib/import/m4/errno_h.m4: Update.
2229         * gnulib/import/m4/error.m4: Update.
2230         * gnulib/import/m4/exponentd.m4: Update.
2231         * gnulib/import/m4/exponentl.m4: Update.
2232         * gnulib/import/m4/extensions.m4: Update.
2233         * gnulib/import/m4/extern-inline.m4: Update.
2234         * gnulib/import/m4/fchdir.m4: Update.
2235         * gnulib/import/m4/fcntl-o.m4: Update.
2236         * gnulib/import/m4/fcntl.m4: Update.
2237         * gnulib/import/m4/fcntl_h.m4: Update.
2238         * gnulib/import/m4/fdopendir.m4: Update.
2239         * gnulib/import/m4/filenamecat.m4: Update.
2240         * gnulib/import/m4/flexmember.m4: Update.
2241         * gnulib/import/m4/float_h.m4: Update.
2242         * gnulib/import/m4/fnmatch.m4: Update.
2243         * gnulib/import/m4/fnmatch_h.m4: Update.
2244         * gnulib/import/m4/fpieee.m4: Update.
2245         * gnulib/import/m4/frexp.m4: Update.
2246         * gnulib/import/m4/frexpl.m4: Update.
2247         * gnulib/import/m4/fstat.m4: Update.
2248         * gnulib/import/m4/fstatat.m4: Update.
2249         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
2250         * gnulib/import/m4/getcwd-path-max.m4: Update.
2251         * gnulib/import/m4/getcwd.m4: Update.
2252         * gnulib/import/m4/getdtablesize.m4: Update.
2253         * gnulib/import/m4/getlogin.m4: Update.
2254         * gnulib/import/m4/getlogin_r.m4: Update.
2255         * gnulib/import/m4/getpagesize.m4: Update.
2256         * gnulib/import/m4/getprogname.m4: Update.
2257         * gnulib/import/m4/gettimeofday.m4: Update.
2258         * gnulib/import/m4/glibc21.m4: Update.
2259         * gnulib/import/m4/glob.m4: Update.
2260         * gnulib/import/m4/glob_h.m4: Update.
2261         * gnulib/import/m4/gnulib-cache.m4: Update.
2262         * gnulib/import/m4/gnulib-common.m4: Update.
2263         * gnulib/import/m4/gnulib-comp.m4: Update.
2264         * gnulib/import/m4/gnulib-tool.m4: Update.
2265         * gnulib/import/m4/hard-locale.m4: Update.
2266         * gnulib/import/m4/include_next.m4: Update.
2267         * gnulib/import/m4/inttypes-pri.m4: Update.
2268         * gnulib/import/m4/inttypes.m4: Update.
2269         * gnulib/import/m4/isnand.m4: Update.
2270         * gnulib/import/m4/isnanl.m4: Update.
2271         * gnulib/import/m4/largefile.m4: Update.
2272         * gnulib/import/m4/limits-h.m4: Update.
2273         * gnulib/import/m4/localcharset.m4: Update.
2274         * gnulib/import/m4/locale-fr.m4: Update.
2275         * gnulib/import/m4/locale-ja.m4: Update.
2276         * gnulib/import/m4/locale-zh.m4: Update.
2277         * gnulib/import/m4/localtime-buffer.m4: Update.
2278         * gnulib/import/m4/longlong.m4: Update.
2279         * gnulib/import/m4/lstat.m4: Update.
2280         * gnulib/import/m4/malloc.m4: Update.
2281         * gnulib/import/m4/malloca.m4: Update.
2282         * gnulib/import/m4/math_h.m4: Update.
2283         * gnulib/import/m4/mbrtowc.m4: Update.
2284         * gnulib/import/m4/mbsinit.m4: Update.
2285         * gnulib/import/m4/mbsrtowcs.m4: Update.
2286         * gnulib/import/m4/mbstate_t.m4: Update.
2287         * gnulib/import/m4/memchr.m4: Update.
2288         * gnulib/import/m4/memmem.m4: Update.
2289         * gnulib/import/m4/mempcpy.m4: Update.
2290         * gnulib/import/m4/memrchr.m4: Update.
2291         * gnulib/import/m4/mkdir.m4: Update.
2292         * gnulib/import/m4/mkstemp.m4: Update.
2293         * gnulib/import/m4/mmap-anon.m4: Update.
2294         * gnulib/import/m4/mode_t.m4: Update.
2295         * gnulib/import/m4/msvc-inval.m4: Update.
2296         * gnulib/import/m4/msvc-nothrow.m4: Update.
2297         * gnulib/import/m4/multiarch.m4: Update.
2298         * gnulib/import/m4/nocrash.m4: Update.
2299         * gnulib/import/m4/off_t.m4: Update.
2300         * gnulib/import/m4/onceonly.m4: Update.
2301         * gnulib/import/m4/open-cloexec.m4: Update.
2302         * gnulib/import/m4/open.m4: Update.
2303         * gnulib/import/m4/openat.m4: Update.
2304         * gnulib/import/m4/opendir.m4: Update.
2305         * gnulib/import/m4/pathmax.m4: Update.
2306         * gnulib/import/m4/rawmemchr.m4: Update.
2307         * gnulib/import/m4/readdir.m4: Update.
2308         * gnulib/import/m4/readlink.m4: Update.
2309         * gnulib/import/m4/realloc.m4: Update.
2310         * gnulib/import/m4/rename.m4: Update.
2311         * gnulib/import/m4/rewinddir.m4: Update.
2312         * gnulib/import/m4/rmdir.m4: Update.
2313         * gnulib/import/m4/save-cwd.m4: Update.
2314         * gnulib/import/m4/secure_getenv.m4: Update.
2315         * gnulib/import/m4/setenv.m4: Update.
2316         * gnulib/import/m4/signal_h.m4: Update.
2317         * gnulib/import/m4/ssize_t.m4: Update.
2318         * gnulib/import/m4/stat-time.m4: Update.
2319         * gnulib/import/m4/stat.m4: Update.
2320         * gnulib/import/m4/std-gnu11.m4: Update.
2321         * gnulib/import/m4/stdbool.m4: Update.
2322         * gnulib/import/m4/stddef_h.m4: Update.
2323         * gnulib/import/m4/stdint.m4: Update.
2324         * gnulib/import/m4/stdio_h.m4: Update.
2325         * gnulib/import/m4/stdlib_h.m4: Update.
2326         * gnulib/import/m4/strchrnul.m4: Update.
2327         * gnulib/import/m4/strdup.m4: Update.
2328         * gnulib/import/m4/strerror.m4: Update.
2329         * gnulib/import/m4/string_h.m4: Update.
2330         * gnulib/import/m4/strstr.m4: Update.
2331         * gnulib/import/m4/strtok_r.m4: Update.
2332         * gnulib/import/m4/sys_socket_h.m4: Update.
2333         * gnulib/import/m4/sys_stat_h.m4: Update.
2334         * gnulib/import/m4/sys_time_h.m4: Update.
2335         * gnulib/import/m4/sys_types_h.m4: Update.
2336         * gnulib/import/m4/tempname.m4: Update.
2337         * gnulib/import/m4/time_h.m4: Update.
2338         * gnulib/import/m4/unistd-safer.m4: Update.
2339         * gnulib/import/m4/unistd_h.m4: Update.
2340         * gnulib/import/m4/warn-on-use.m4: Update.
2341         * gnulib/import/m4/wchar_h.m4: Update.
2342         * gnulib/import/m4/wchar_t.m4: Update.
2343         * gnulib/import/m4/wctype_h.m4: Update.
2344         * gnulib/import/m4/wint_t.m4: Update.
2345         * gnulib/import/malloc.c: Update.
2346         * gnulib/import/malloc/scratch_buffer.h: Update.
2347         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
2348         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
2349         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
2350         * gnulib/import/malloca.c: Update.
2351         * gnulib/import/malloca.h: Update.
2352         * gnulib/import/malloca.valgrind: Update.
2353         * gnulib/import/math.in.h: Update.
2354         * gnulib/import/mbrtowc.c: Update.
2355         * gnulib/import/mbsinit.c: Update.
2356         * gnulib/import/mbsrtowcs-impl.h: Update.
2357         * gnulib/import/mbsrtowcs-state.c: Update.
2358         * gnulib/import/mbsrtowcs.c: Update.
2359         * gnulib/import/memchr.c: Update.
2360         * gnulib/import/memmem.c: Update.
2361         * gnulib/import/mempcpy.c: Update.
2362         * gnulib/import/memrchr.c: Update.
2363         * gnulib/import/mkdir.c: Update.
2364         * gnulib/import/mkstemp.c: Update.
2365         * gnulib/import/msvc-inval.c: Update.
2366         * gnulib/import/msvc-inval.h: Update.
2367         * gnulib/import/msvc-nothrow.c: Update.
2368         * gnulib/import/msvc-nothrow.h: Update.
2369         * gnulib/import/open.c: Update.
2370         * gnulib/import/openat-die.c: Update.
2371         * gnulib/import/openat-priv.h: Update.
2372         * gnulib/import/openat-proc.c: Update.
2373         * gnulib/import/openat.c: Update.
2374         * gnulib/import/openat.h: Update.
2375         * gnulib/import/opendir.c: Update.
2376         * gnulib/import/pathmax.h: Update.
2377         * gnulib/import/pipe-safer.c: Update.
2378         * gnulib/import/rawmemchr.c: Update.
2379         * gnulib/import/readdir.c: Update.
2380         * gnulib/import/readlink.c: Update.
2381         * gnulib/import/realloc.c: Update.
2382         * gnulib/import/ref-add.sin: Update.
2383         * gnulib/import/ref-del.sin: Update.
2384         * gnulib/import/rename.c: Update.
2385         * gnulib/import/rewinddir.c: Update.
2386         * gnulib/import/rmdir.c: Update.
2387         * gnulib/import/same-inode.h: Update.
2388         * gnulib/import/save-cwd.c: Update.
2389         * gnulib/import/save-cwd.h: Update.
2390         * gnulib/import/scratch_buffer.h: Update.
2391         * gnulib/import/secure_getenv.c: Update.
2392         * gnulib/import/setenv.c: Update.
2393         * gnulib/import/signal.in.h: Update.
2394         * gnulib/import/stat-time.c: Update.
2395         * gnulib/import/stat-time.h: Update.
2396         * gnulib/import/stat-w32.c: Update.
2397         * gnulib/import/stat-w32.h: Update.
2398         * gnulib/import/stat.c: Update.
2399         * gnulib/import/stdbool.in.h: Update.
2400         * gnulib/import/stddef.in.h: Update.
2401         * gnulib/import/stdint.in.h: Update.
2402         * gnulib/import/stdio.in.h: Update.
2403         * gnulib/import/stdlib.in.h: Update.
2404         * gnulib/import/str-two-way.h: Update.
2405         * gnulib/import/strchrnul.c: Update.
2406         * gnulib/import/strdup.c: Update.
2407         * gnulib/import/streq.h: Update.
2408         * gnulib/import/strerror-override.c: Update.
2409         * gnulib/import/strerror-override.h: Update.
2410         * gnulib/import/strerror.c: Update.
2411         * gnulib/import/string.in.h: Update.
2412         * gnulib/import/stripslash.c: Update.
2413         * gnulib/import/strnlen1.c: Update.
2414         * gnulib/import/strnlen1.h: Update.
2415         * gnulib/import/strstr.c: Update.
2416         * gnulib/import/strtok_r.c: Update.
2417         * gnulib/import/sys_stat.in.h: Update.
2418         * gnulib/import/sys_time.in.h: Update.
2419         * gnulib/import/sys_types.in.h: Update.
2420         * gnulib/import/tempname.c: Update.
2421         * gnulib/import/tempname.h: Update.
2422         * gnulib/import/time.in.h: Update.
2423         * gnulib/import/unistd--.h: Update.
2424         * gnulib/import/unistd-safer.h: Update.
2425         * gnulib/import/unistd.in.h: Update.
2426         * gnulib/import/unsetenv.c: Update.
2427         * gnulib/import/verify.h: Update.
2428         * gnulib/import/extra/snippet/warn-on-use.h: Update.
2429         * gnulib/import/wchar.in.h: Update.
2430         * gnulib/import/wctype.in.h: Update.
2431         * gnulib/import/xalloc-oversized.h: Update.
2432         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
2433         "53e2c179f26a890fa6685af4b6c1397ee370433b".
2434
2435 2018-08-16  Gary Benson <gbenson@redhat.com>
2436
2437         PR gdb/13000:
2438         * gdb/main.c (captured_main_1): Exit with nonzero status
2439         in batch mode if the last command to be executed failed.
2440         * NEWS: Mention the above.
2441
2442 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
2443
2444         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
2445         end of warning message.
2446
2447 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2448
2449         PR gdb/22943:
2450         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
2451         (aarch64_extract_return_value): Use
2452         aapcs_is_vfp_call_or_return_candidate.
2453         (aarch64_return_in_memory): Likewise.
2454         (aarch64_store_return_value): Likewise.
2455
2456 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2457
2458         * aarch64-tdep.c
2459         (aapcs_is_vfp_call_or_return_candidate): Make static
2460         (pass_in_v_or_stack): Remove function.
2461         (pass_in_v_vfp_candidate): New function.
2462         (aarch64_push_dummy_call): Check for float register candidates.
2463
2464 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2465
2466         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
2467         (aapcs_is_vfp_call_or_return_candidate_1): New function.
2468         (aapcs_is_vfp_call_or_return_candidate): Likewise.
2469
2470 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
2471
2472         PR build/23399
2473         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
2474         (struct ipa_sym_addresses): Rename to...
2475         (struct ipa_sym_addresses_common): ... this.
2476         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
2477
2478 2018-08-28  Tom Tromey  <tom@tromey.com>
2479
2480         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2481         (token_fifo): Now a std::vector.
2482         (yylex, c_parse): Update.
2483         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2484         (token_fifo): Now a std::vector.
2485         (yylex, d_parse): Update.
2486         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2487         (token_fifo): Now a std::vector.
2488         (yylex, go_parse): Update.
2489
2490 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
2491
2492         * parser-defs.h (struct type_stack) <elements>: Change type to
2493         std::vector<union type_stack_elt>.
2494         <depth, size>: Remove.
2495         * parse.c (parse_exp_in_context_1): Adjust.
2496         (type_stack_reserve): Remove.
2497         (check_type_stack_depth): Remove.
2498         (insert_into_type_stack): Adjust to std::vector.
2499         (insert_type): Likewise.
2500         (push_type): Likewise.
2501         (push_type_int): Likewise.
2502         (insert_type_address_space): Likewise.
2503         (pop_type): Likewise.
2504         (pop_type_int): Likewise.
2505         (pop_typelist): Likewise.
2506         (pop_type_stack): Likewise.
2507         (append_type_stack): Likewise.
2508         (push_type_stack): Likewise.
2509         (get_type_stack): Likewise.
2510         (type_stack_cleanup): Likewise.
2511         (push_typelist): Likewise.
2512         (follow_types): Likewise.
2513         (_initialize_parse): Likewise.
2514
2515 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2516
2517         * NEWS: Mention csky target.
2518
2519 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
2520             Hafiz Abid Qadeer  <abidh@codesourcery.com>
2521             Don Breazeal  <donb@codesourcery.com>
2522
2523         * csky-linux-tdep.c: New file.
2524         * csky-tdep.c: Likewise.
2525         * csky-tdep.h: Likewise.
2526         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
2527         csky-tdep.o.
2528         (HFILES_NO_SRCDIR): Add csky-tdep.h.
2529         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
2530         * configure.tgt: Add csky support.
2531
2532 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
2533
2534         * python/py-framefilter.c (py_print_frame): Print frame architecture
2535         when printing on an MI output.
2536
2537 2018-08-27  Tom Tromey  <tom@tromey.com>
2538
2539         PR build/23087:
2540         * configure: Rebuild.
2541         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
2542
2543 2018-08-27  Tom Tromey  <tom@tromey.com>
2544
2545         * aarch64-linux-tdep.c
2546         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
2547         casts to int.
2548
2549 2018-08-27  Tom Tromey  <tom@tromey.com>
2550
2551         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
2552         unsigned.
2553         (ppc64_standard_linkage1, ppc64_standard_linkage2)
2554         (ppc64_standard_linkage3, ppc64_standard_linkage4)
2555         (ppc64_standard_linkage5, ppc64_standard_linkage6)
2556         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
2557         unsigned.
2558
2559 2018-08-27  Tom Tromey  <tom@tromey.com>
2560
2561         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
2562         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
2563
2564 2018-08-27  Tom Tromey  <tom@tromey.com>
2565
2566         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
2567         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
2568         ULONGEST_MAX.
2569         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
2570         ULONGEST_MAX.
2571         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
2572         ULONGEST_MAX.
2573         * sparc-linux-tdep.c (sparc32_linux_sigframe)
2574         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
2575         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
2576         ULONGEST_MAX.
2577         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
2578         (ppc64_linux_sigaction_tramp_frame)
2579         (ppc32_linux_sighandler_tramp_frame)
2580         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2581         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
2582         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
2583         * mn10300-linux-tdep.c (am33_linux_sigframe)
2584         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
2585         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
2586         * mips-linux-tdep.c (mips_linux_o32_sigframe)
2587         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
2588         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
2589         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
2590         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
2591         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
2592         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
2593         * microblaze-linux-tdep.c
2594         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2595         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
2596         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
2597         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
2598         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
2599         * common/common-types.h (ULONGEST_MAX): New define.
2600         (CORE_ADDR_MAX): Fix formatting.
2601         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
2602         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
2603         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
2604         (arm_linux_rt_sigreturn_tramp_frame)
2605         (arm_eabi_linux_sigreturn_tramp_frame)
2606         (arm_eabi_linux_rt_sigreturn_tramp_frame)
2607         (thumb2_eabi_linux_sigreturn_tramp_frame)
2608         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
2609         (arm_linux_restart_syscall_tramp_frame)
2610         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
2611         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
2612         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
2613         ULONGEST_MAX.
2614         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
2615
2616 2018-08-27  Tom Tromey  <tom@tromey.com>
2617
2618         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
2619         CORE_ADDR_MAX.
2620         * mips-tdep.c (mips_deal_with_atomic_sequence)
2621         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
2622         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
2623         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
2624         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
2625         CORE_ADDR_MAX.
2626         * aarch64-tdep.c (aarch64_software_single_step): Use
2627         CORE_ADDR_MAX.
2628
2629 2018-08-27  Tom Tromey  <tom@tromey.com>
2630
2631         * linespec.c (complete_linespec_component): Add cast to "char".
2632         * completer.c (completion_tracker::build_completion_result): Add
2633         cast to "char".
2634
2635 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2636
2637         * solist.h (struct solist, struct target_so_ops): Fix
2638         indentation.
2639
2640 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2641
2642         * ada-tasks.c (ada_task_info_s): Remove typedef.
2643         (DEF_VEC_O(ada_task_info_s)): Remove.
2644         (struct ada_tasks_inferior_data): Initialize fields.
2645         <task_list>: Make an std::vector.
2646         (get_ada_tasks_inferior_data): Allocate with new.
2647         (ada_get_task_number): Adjust.
2648         (get_task_number_from_id): Likewise.
2649         (valid_task_id): Likewise.
2650         (ada_get_task_info_from_ptid): Likewise.
2651         (iterate_over_live_ada_tasks): Likewise.
2652         (add_ada_task): Likewise.
2653         (read_known_tasks): Likewise.
2654         (ada_build_task_list): Likewise.
2655         (print_ada_task_info): Likewise.
2656         (info_task): Likewise.
2657         (task_command_1): Likewise.
2658
2659 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2660
2661         * ada-lang.c (add_angle_brackets): Return std::string.
2662
2663 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
2664
2665         * python/py-threadevent.c (py_get_event_thread): Initialize
2666         pythread.
2667
2668 2018-08-24  Pedro Alves  <palves@redhat.com>
2669
2670         * python/py-bpevent.c (create_breakpoint_event_object): Use
2671         copy-initialization.
2672         * python/py-continueevent.c (emit_continue_event): Use
2673         copy-initialization.
2674         * python/py-exitedevent.c (create_exited_event_object): Return a
2675         gdbpy_ref<>.
2676         (emit_exited_event): Use copy-initialization.
2677         * python/py-inferior.c (python_new_inferior)
2678         (python_inferior_deleted, add_thread_object): Use
2679         copy-initialization.
2680         * python/py-infevents.c (create_inferior_call_event_object)
2681         (create_register_changed_event_object)
2682         (create_memory_changed_event_object): Return a gdbpy_ref<>.
2683         (emit_inferior_call_event, emit_memory_changed_event)
2684         (emit_register_changed_event): Use copy-initialization.
2685         * python/py-newobjfileevent.c (create_new_objfile_event_object):
2686         Return a gdbpy_ref<>.
2687         (emit_new_objfile_event): Use copy-initialization.
2688         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
2689         (emit_clear_objfiles_event): Use copy-initialization.
2690         * python/py-signalevent.c (create_signal_event_object): Use
2691         copy-initialization.
2692         * python/py-threadevent.c (create_thread_event_object): Use
2693         copy-initialization.
2694
2695 2018-08-24  Pedro Alves  <palves@redhat.com>
2696             Simon Marchi  <simon.marchi@ericsson.com>
2697
2698         PR gdb/23379
2699         * python/py-continueevent.c: Include "gdbthread.h".
2700         (create_continue_event_object): Add intro comment.  Add 'ptid'
2701         parameter.  Use it to find thread to pass to
2702         create_thread_event_object.
2703         (emit_continue_event): Pass PTID down to
2704         create_continue_event_object.
2705         * python/py-event.h (py_get_event_thread): Declare.
2706         (create_thread_event_object): Remove default from 'thread'
2707         parameter.
2708         * python/py-stopevent.c (create_stop_event_object): Use
2709         py_get_event_thread.
2710         * python/py-threadevent.c (get_event_thread): Rename to ...
2711         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
2712         and use it to find the thread.
2713         (create_thread_event_object): Assert that THREAD isn't null.
2714         Don't find the event thread here.
2715
2716 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
2717
2718         * block.h (blockrange, blockranges): New struct declarations.
2719         (struct block): Add new field named `ranges'.
2720         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
2721         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
2722         macros for accessing ranges in struct block.
2723         (make_blockranges): New declaration.
2724         block.c (make_blockranges): New function.
2725         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
2726         for block.
2727         * symtab.h (find_pc_partial_function): Add new parameter `block'.
2728         * blockframe.c (cache_pc_function_block): New static global.
2729         (clear_pc_function_cache): Clear cache_pc_function_block.
2730         (find_pc_partial_function): Move comment to symtab.h.  Add
2731         support for non-contiguous blocks.
2732         * cli/cli-cmds.c (block.h): Include.
2733         (print_disassembly): Handle printing of non-contiguous blocks.
2734         (disassemble_current_function): Likewise.
2735         (disassemble_command): Likewise.
2736
2737         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
2738         BLOCK_START.
2739         * blockframe.c (get_pc_function_start): Likewise.
2740         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
2741         (gcc_symbol_address): Likewise.
2742         * compile/compile-object-run.c (compile_object_run): Likewise.
2743         * compile/compile.c (get_expr_block_and_pc): Likewise.
2744         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
2745         (func_addr_to_tail_call_list): Likewise.
2746         * findvar.c (default_read_var_value): Likewise.
2747         * inline-frame.c (inline_frame_this_id): Likewise.
2748         (skip-inline_frames): Likewise.
2749         * infcmd.c (until_next_command): Likewise.
2750         * linespec.c (convert_linespec_to_sals): Likewise.
2751         * parse.c (parse_exp_in_context_1): Likewise.
2752         * printcmd.c (build_address_symbolic): likewise.
2753         (info_address_command): Likewise.
2754         symtab.c (find_function_start_sal): Likewise.
2755         (skip_prologue_sal): Likewise.
2756         (find_function_alias_target): Likewise.
2757         (find_gnu_ifunc): Likewise.
2758         * stack.c (find_frame_funname): Likewise.
2759         * symtab.c (fixup_symbol_section): Likewise.
2760         (find_function_start_sal): Likewise.
2761         (skip_prologue_sal): Likewsie.
2762         (find_function_alias_target): Likewise.
2763         (find_gnu_ifunc): Likewise.
2764         * tracepoint.c (info_scope_command): Likewise.
2765         * value.c (value_fn_field): Likewise.
2766
2767         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
2768         in place of find_pc_partial_function.
2769         * blockframe.c (find_function_entry_range_from_pc): New function.
2770         * symtab.h (find_function_entry_range_from_pc): Declare and document.
2771         * objfiles.c (objfile_relocate1): Relocate start and end addresses
2772         for each range in a block.
2773
2774
2775 2018-08-23  Xavier Roirand  <roirand@adacore.com>
2776
2777         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
2778         incrementation.
2779
2780 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2781
2782         * solib-svr4.c (read_program_headers_from_bfd): Return
2783         gdb::optional<gdb::byte_vector>.
2784         (svr4_exec_displacement): Adjust.
2785
2786 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2787
2788         * solib-svr4.c (read_program_header): Return
2789         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
2790         (find_program_interpreter): Return
2791         gdb::optional<gdb::byte_vector>.
2792         (scan_dyntag_auxv): Adjust.
2793         (enable_break): Adjust.
2794         (svr4_exec_displacement): Adjust.
2795
2796 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2797
2798         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
2799         * inf-child.c (inf_child_target::terminal_save_inferior): New.
2800
2801 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2802
2803         * guile/scm-string.c (gdbscm_scm_from_printf): Use
2804         string_vprintf.
2805         * guile/scm-utils.c (gdbscm_printf): Likewise.
2806         * serial.c (serial_printf): Likewise.
2807         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
2808
2809 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
2810
2811         * stack.c (print_frame): Print frame architecture when printing on
2812         an MI output.
2813         * NEWS: Mention new "arch" attribute in frame output.
2814
2815 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2816
2817         * arch/aarch64.h (aarch64_regnum): Update comment.
2818
2819 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2820
2821         * NEWS: Add SVE to 8.2 section.
2822
2823 2018-08-21  Pedro Alves  <palves@redhat.com>
2824
2825         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
2826         out from gdbscm_parse_function_args.
2827         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
2828         gdbscm_parse_function_args_1.
2829
2830 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
2831
2832         PR gdb/17816
2833         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
2834         operator.
2835
2836 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
2837
2838         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
2839
2840 2018-08-19  Michael Spang  <spang@google.com>
2841
2842         PR gdb/11786
2843         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
2844         for PT_TLS segments.
2845
2846 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
2847
2848         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
2849         dwarf_variable_value.
2850         * dwarf2-frame.c (class dwarf_expr_executor):
2851         Add override for dwarf_variable_value.
2852         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
2853         (class symbol_needs_eval_context): Likewise.
2854         (indirect_synthetic_pointer): Add forward declaration.
2855         (sect_variable_value): New function.
2856         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
2857         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
2858         for DW_OP_GNU_variable_value.
2859
2860 2018-08-16  Tom Tromey  <tom@tromey.com>
2861
2862         * top.c (read_command_file): Update.
2863         (command_line_input): Remove "repeat" argument.
2864         * ada-lang.c (get_selections): Update.
2865         * linespec.c (decode_line_2): Update.
2866         * defs.h (command_line_input): Remove argument.
2867         * cli/cli-script.c (read_next_line): Update.
2868         * python/py-gdb-readline.c: Update.
2869
2870 2018-08-17  Tom Tromey  <tom@tromey.com>
2871
2872         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
2873         command_line_input.
2874
2875 2018-08-15  Tom Tromey  <tom@tromey.com>
2876
2877         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
2878
2879 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
2880
2881         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
2882         If used, use find_pc_partial_function to find address range
2883         to disassemble.
2884         * mi/mi-main.c (mi_cmd_list_features): Report
2885         "data-disassemble-a-option" feature.
2886         * NEWS: Mention new -data-disassemble option -a.
2887
2888 2018-08-13  Tom Tromey  <tom@tromey.com>
2889
2890         * common/common-defs.h (_FORTIFY_SOURCE): Define.
2891
2892 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2893
2894         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
2895         (aarch64_linux_collect_sve_regset): Likewise.
2896         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
2897         * regcache.h (regcache_map_entry_size): New function.
2898
2899 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2900
2901         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
2902         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
2903         (SVE_HEADER_VL_LENGTH): Likewise.
2904         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
2905         (SVE_HEADER_FLAGS_LENGTH): Likewise.
2906         (SVE_HEADER_RESERVED_LENGTH): Likewise.
2907         (SVE_HEADER_SIZE_OFFSET): Likewise.
2908         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
2909         (SVE_HEADER_VL_OFFSET): Likewise.
2910         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
2911         (SVE_HEADER_FLAGS_OFFSET): Likewise.
2912         (SVE_HEADER_RESERVED_OFFSET): Likewise.
2913         (SVE_HEADER_SIZE): Likewise.
2914         (aarch64_linux_core_read_vq): Add function.
2915         (aarch64_linux_core_read_description): Check for SVE section.
2916
2917 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2918
2919         * aarch64-fbsd-tdep.c
2920         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
2921         collect_size.
2922         * aarch64-linux-tdep.c
2923         (aarch64_linux_iterate_over_regset_sections): Likewise.
2924         * alpha-linux-tdep.c
2925         (alpha_linux_iterate_over_regset_sections):
2926         * alpha-nbsd-tdep.c
2927         (alphanbsd_iterate_over_regset_sections): Likewise.
2928         * amd64-fbsd-tdep.c
2929         (amd64fbsd_iterate_over_regset_sections): Likewise.
2930         * amd64-linux-tdep.c
2931         (amd64_linux_iterate_over_regset_sections): Likewise.
2932         * arm-bsd-tdep.c
2933         (armbsd_iterate_over_regset_sections): Likewise.
2934         * arm-fbsd-tdep.c
2935         (arm_fbsd_iterate_over_regset_sections): Likewise.
2936         * arm-linux-tdep.c
2937         (arm_linux_iterate_over_regset_sections): Likewise.
2938         * corelow.c (get_core_registers_cb): Likewise.
2939         (core_target::fetch_registers): Likewise.
2940         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
2941         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
2942         * gdbarch.h (void): Regenerate.
2943         * gdbarch.sh: Add supply_size and collect_size.
2944         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
2945         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
2946         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
2947         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
2948         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
2949         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
2950         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
2951         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
2952         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
2953         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
2954         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
2955         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
2956         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
2957         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
2958         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
2959         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
2960         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
2961         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
2962         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
2963         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
2964         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
2965         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
2966         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
2967         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
2968         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
2969         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
2970         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
2971         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
2972         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
2973         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
2974
2975 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
2976
2977         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
2978         with string_printf.
2979
2980 2018-08-10  Keith Seitz  <keiths@redhat.com>
2981
2982         * compile/compile-c-support.c (add_code_header, add_code_footer):
2983         Move into policy class.
2984         (c_push_user_expression, pop_user_expression_nop)
2985         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
2986         (compile_program): New host class.
2987         (c_compile_program): New typedef.
2988         (c_compute_porgram): Use c_compile_program.
2989
2990 2018-08-10  Keith Seitz  <keiths@redhat.com>
2991
2992         * compile/compile-internal.h (compile_instance::~compile_instance):
2993         Remove calls to htab_delete.
2994         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
2995         * compile.c (compile_instance::compile_instance): Initialize
2996         htab unique pointers.
2997         (compile_instance::get_cached_type, compile_instance::insert_type)
2998         (compile_instance::error_symbol_once): Update for unique_ptr.
2999
3000 2018-08-10  Keith Seitz  <keiths@redhat.com>
3001
3002         * compile/compile-c-symbols.c (struct symbol_error)
3003         (hash_symbol_error, eq_symbol_error, del_symbol_error)
3004         (compile_instance::insert_symbol_error)
3005         (compile_instance::error_symbol_once): Move to ...
3006         * compile/compile.c: ... here.
3007
3008 2018-08-10  Keith Seitz  <keiths@redhat.com>
3009
3010         * compile/compile-c-support.c (c_get_compile_context): Use `new'
3011         instead of `new_compile_instance'.
3012         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
3013         Update description.
3014         If the symbol error map is not initialized, create it.
3015         (generate_c_for_for_one_symbol): Do not check/initialize
3016         the symbol error map.
3017         * compile/compile-c-types.c (compile_c_instance): Make a class.
3018         Update all callers.
3019         (compile_instance::compile_instance): Initialize the type cache.
3020         (get_cached_type): New function.
3021         (insert_type): Update description.
3022         (compile_c_instance::m_default_cflags): Define.
3023         (convert_type): Update description.  Use get_cached_type.
3024         (delete_instance): Moved to destructor.
3025         (new_compile_instance): Moved to constructor.
3026         * compile/compile-c.h (compile_c_instance): Make class inheriting
3027         from compile_instance.
3028         <base>: Remove field.
3029         <type_map, symbol_err_map>: Move to base class.
3030         <c_plugin>: Rename to `m_plugin' and remove pointer type.
3031         * compile/compile-internal.h (compile_instance): Make class.
3032         <type_map_t, symbol_err_map_t>: Define.
3033         <fe>: Rename to `m_gcc_fe'.
3034         <scope, block, gcc_target_options>: Add `m_' prefix.
3035         <m_type_map, m_symbol_err_map>: New fields, moved from
3036         compile_c_instance.
3037         <destroy>: Remove.
3038         (convert_type, new_compile_instance): Remove.
3039         * compile/compile.c (cleanup_compile_instance): Remove.
3040         (compile_to_object): Use unique_ptr to eliminate cleanups.
3041         (compile_instance::set_print_callback, compile_instance::version)
3042         (compile_instance::set_verbose)
3043         (compile_instance::set_driver_filename)
3044         (compile_instance::set_triplet_regexp)
3045         (compile_instance::set_arguments)
3046         (compile_instance::set_source_file)
3047         (compile_instance::compile): Define.
3048
3049 2018-08-10  Keith Seitz  <keiths@redhat.com>
3050
3051         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
3052         * compile/compile-c-types.c: Define GCC_METHODN macros and include
3053         gcc-c-fe.def to define C plugin.
3054         (delete_instance): Delete `c_plugin'.
3055         (new_compile_instance): Initialize `c_plugin'.
3056         * compile/compile-c.h: Include gcc_c_plugin.h.
3057         (struct compile_c_instance) <c_plugin>: New member.
3058         * gcc-c-plugin.h: New file.
3059         Update all callers with API change.
3060
3061 2018-08-10  Keith Seitz  <keiths@redhat.com>
3062
3063         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
3064         (HFILES_NO_SRCDIR): ... to here.
3065         Add compile-internal.h and compile-c.h.
3066         * compile/compile-c-support.c: Include compile-c.h.
3067         * compile/compile-c-symbols.c: Include compile-c.h.
3068         (generate_c_for_variable_locations): Update comment.
3069         * compile/compile-c-types.c: Include compile-c.h.
3070         * compile/compile-c.h: New file -- moved C language declarations
3071         from other files here.
3072         * compile/compile-internal.h: Do not include hashtab.h or
3073         common/enum-flags.h.
3074         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
3075         (gcc_convert_symbol, gcc_symbol_address)
3076         (generate_c_for_variable_locations, c_get_mode_for_size)
3077         (c_get_range_decl_name): Definitions moved to compile-c.h.
3078         * compile/compile-loc2c.c: Include compile-c.h.
3079
3080 2018-08-10  Keith Seitz  <keiths@redhat.com>
3081
3082         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
3083         (c_symbol_substitution_name): ... this.
3084         Update all callers.
3085
3086 2018-08-10  Keith Seitz  <keiths@redhat.com>
3087
3088         * compile/compile-c-support.c (c_compute_program): Use
3089         unique_xmalloc_ptr to eliminate cleanup.
3090         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
3091         Return a unique_xmalloc_ptr and eliminate cleanup.
3092         * compile/compile-internal.h (generate_c_for_variable_locations):
3093         Return unique_xmalloc_ptr and update description.
3094
3095 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
3096
3097         * corelow.c (core_target::get_core_register_section): Rename
3098         min_size to section_min_size.
3099
3100 2018-08-09  Jim Wilson  <jimw@sifive.com>
3101
3102         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
3103         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
3104         * NEWS: Mention new GNU/Linux RISC-V target.
3105         * configure.host: Add riscv*-*-linux*.
3106         * configure.nat: Add riscv*.
3107         * configure.tgt: Add riscv*-*-linux*.
3108         * riscv-linux-nat.c: New file.
3109         * riscv-linux-tdep.c: New file.
3110
3111 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3112
3113         * infrun.c (resume): Make static, add forward declaration.
3114         (proceed): Update header comment.
3115         * infrun.h (resume): Delete declaration.
3116
3117 2018-08-09  Tom Tromey  <tom@tromey.com>
3118
3119         * riscv-tdep.h: Minor formatting fixes.
3120
3121 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
3122
3123         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
3124         * dwarf-index-cache.c (create_dir_and_check): Likewise.
3125         (test_mkdir_recursive): Likewise.
3126         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
3127
3128 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3129
3130         * valarith.c (value_subscripted_rvalue): If an array is not in
3131         memory, and we don't know the upper bound, then we can't know that
3132         the requested element exists or not.
3133
3134 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
3135
3136         * target.c (str_comma_list_concat_elem): Fix typo in comment.
3137         (target_options_to_string): Add comment.
3138
3139 2018-08-08  Tom Tromey  <tom@tromey.com>
3140
3141         * unittests/scoped_mmap-selftests.c: Check result of "write".
3142
3143 2018-08-08  Jim Wilson  <jimw@sifive.com>
3144
3145         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
3146         (decode_register_index_short): New.
3147         (decode_j_type_insn, decode_cj_type_insn): New.
3148         (decode_b_type_insn, decode_cb_type_insn): New.
3149         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
3150         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
3151         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
3152         is_c_sw_insn instead of is_sw_insn.
3153         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
3154         (riscv_software_single_step): New.
3155         * riscv-tdep.h (riscv_software_single_step): Declare.
3156
3157         * riscv-tdep.c (riscv_isa_xlen): Drop static.
3158         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
3159
3160 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
3161
3162         PR gdb/18050:
3163         * target.c (dispose_inferior): Don't dispose of inferiors that are
3164         already killed.
3165
3166 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
3167
3168         * remote.c (remote_target::download_tracepoint): Change char* to
3169         const char*.
3170
3171 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
3172
3173         * target.h (target_options_to_string): Return an std::string.
3174         * target.c (str_comma_list_concat_elem): Return void, use
3175         std::string.
3176         (do_option): Likewise.
3177         (target_options_to_string): Return an std::string.
3178         * linux-nat.c (linux_nat_target::wait): Adjust.
3179         * target-debug.h (target_debug_print_options): Adjust.
3180
3181 2018-08-07  Tom Tromey  <tom@tromey.com>
3182
3183         * Makefile.in (CPPFLAGS): New variable.
3184         (INTERNAL_CPPFLAGS): Use it.
3185
3186 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3187
3188         * NEWS: Mention the index cache.
3189
3190 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3191
3192         * common/pathstuff.h (get_standard_cache_dir): New.
3193         * common/pathstuff.c (get_standard_cache_dir): New.
3194         * build-id.h (build_id_to_string): New.
3195         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
3196         DEBUG_STR_SUFFIX): Move to here.
3197         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
3198         DEBUG_STR_SUFFIX): Move from there.
3199         (write_psymtabs_to_index): Make non-static, add basename
3200         parameter.  Write to temporary files, rename when done.
3201         (save_gdb_index_command): Adjust call to
3202         write_psymtabs_to_index.
3203         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
3204         field.
3205         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
3206         (get_gdb_index_contents_from_cache): New.
3207         (get_gdb_index_contents_from_cache_dwz): New.
3208         (dwarf2_initialize_objfile): Read index from cache.
3209         (dwarf2_build_psymtabs): Save to index.
3210         * dwarf-index-cache.h: New file.
3211         * dwarf-index-cache.c: New file.
3212         * dwarf-index-write.h: New file.
3213
3214 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3215
3216         * gnulib/aclocal.m4: Re-generate.
3217         * gnulib/config.in: Re-generate.
3218         * gnulib/configure: Re-generate.
3219         * gnulib/import/Makefile.am: Re-generate.
3220         * gnulib/import/Makefile.in: Re-generate.
3221         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
3222         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
3223         * gnulib/import/m4/mkdir.m4: New file.
3224         * gnulib/import/mkdir.c: New file.
3225         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
3226         module.
3227
3228 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3229
3230         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
3231         * common/scoped_mmap.c: New file.
3232         * common/scoped_mmap.h (destroy): New method.
3233         (~scoped_mmap, reset): Use destroy.
3234         (scoped_mmap): New move constructor.
3235         (mmap_file): New declaration.
3236         * unittests/scoped_mmap-selftests.c (test_normal,
3237         test_invalid_filename, run_tests): New functions.
3238         (_initialize_scoped_mmap_selftests): Register selftest.
3239
3240 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3241
3242         * dwarf2read.c (read_gdb_index_from_section): Rename to...
3243         (read_gdb_index_from_buffer): ... this.  Remove section
3244         parameter, add buffer parameter.
3245         (get_gdb_index_contents_ftype,
3246         get_gdb_index_contents_dwz_ftype): New typedefs.
3247         (dwarf2_read_gdb_index): Add callback parameters to get the
3248         index contents.
3249         (get_gdb_index_contents_from_section): New.
3250         (dwarf2_initialize_objfile): Update call to
3251         dwarf2_read_gdb_index.
3252
3253 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3254
3255         * common/filestuff.h (gdb_fopen_cloexec): New overload.
3256         (gdb_open_cloexec): Likewise.
3257         * nat/linux-osdata.c (command_from_pid): Use string_printf.
3258         (commandline_from_pid): Likewise.
3259         (linux_xfer_osdata_threads): Likewise.
3260         (linux_xfer_osdata_fds): Likewise.
3261         * ada-lang.c (is_package_name): Likewise.
3262         * auxv.c (procfs_xfer_auxv): Likewise.
3263         * breakpoint.c (print_one_breakpoint_location): Use
3264         uiout::field_fmt.
3265         (print_one_catch_solib): Use string_printf.
3266         * coff-pe-read.c (add_pe_exported_sym): Likewise.
3267         (add_pe_forwarded_sym): Likewise.
3268         * dwarf2read.c (create_type_unit_group): Likewise.
3269         (build_error_marker_type): Likewise.
3270         * infcall.c (get_function_name): Likewise.
3271         * valprint.c (print_converted_chars_to_obstack): Likewise.
3272         * xtensa-tdep.c (xtensa_register_type): Likewise.
3273
3274 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
3275
3276         * remote.c (remote_target::download_tracepoint): Fix format
3277         string errors.
3278
3279 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3280
3281         * tracefile.c: Include common/byte-vector.h.
3282         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
3283         with trace_regblock_size if needed.  Update uses of buf.
3284
3285 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3286
3287         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
3288         std::vector<unsigned char>.
3289         * tracepoint.c (collection_list::collection_list): Remove
3290         m_regs_mask initializer from initializer list.  Resize
3291         m_regs_mask using the largest remote register number.
3292         (collection_list::add_remote_register): Remove size check on
3293         m_regs_mask.  Use at to access element.
3294         (collection_list::stringify): Change type of temp_buf to
3295         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
3296         stringify the register mask.  Use pack_hex_byte for the register
3297         mask.
3298
3299 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3300
3301         * tracepoint.h (class collection_list) <add_register>: Remove.
3302         <add_remote_register, add_ax_registers, add_local_register>:
3303         Declare.
3304         <add_memrange>: Add scope parameter.
3305         * tracepoint.c (encode_actions_1): Likewise.
3306         (collection_list::add_register): Rename to ...
3307         (collection_list::add_remote_register): ... this.  Update
3308         comment.
3309         (collection_list::add_ax_registers, add_local_register): New
3310         methods.
3311         (collection_list::add_memrange): Add scope parameter.  Call
3312         add_local_register instead of add_register.
3313         (finalize_tracepoint_aexpr): New function.
3314         (collection_list::collect_symbol): Update calls to add_memrange.
3315         Call add_local_register instead of add_register.  Call
3316         add_ax_registers.  Call finalize_tracepoint_aexpr.
3317         (encode_actions_1): Get remote regnos for $reg action.  Call
3318         add_remote_register, add_ax_registers, and add_local_register.
3319         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
3320         (validate_actionline): Call finalize_tracepoint_aexpr.
3321
3322 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3323
3324         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
3325         Replace array buf with gdb::char_vector buf, of size
3326         get_remote_packet_size ().  Replace references to buf and
3327         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
3328         and xsnprintf with snprintf.  Raise errors if the buffer is too
3329         small.
3330
3331 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3332
3333         * remote.c (remote_target::download_tracepoint): Fix the has_more
3334         predicate in the QTDP action list iteration.
3335
3336 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3337
3338         * remote.c (remote_target::download_tracepoint): Fix indentation
3339         in for block.
3340
3341 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3342
3343         * proc-api.c (_initialize_proc_api): Remove c, unused.
3344         * procfs.c (procfs_init_inferior): Remove signals, unused.
3345         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
3346         unused.
3347
3348 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
3349             Andrew Burgess  <andrew.burgess@embecosm.com>
3350
3351         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
3352         'W_STOPCODE (0)' as this could be ambiguous.
3353
3354 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
3355
3356         * ser-tcp.c (net_open): Fix thinko when deciding whether to
3357         disable TCP's Nagle algorithm (use "ai_protocol" instead of
3358         "ai_socktype").
3359
3360 2018-08-02  Tom Tromey  <tom@tromey.com>
3361
3362         PR symtab/16842.
3363         * dwarf2read.c (read_func_scope): Set symtab on template parameter
3364         symbols.
3365         (process_structure_scope): Likewise.
3366
3367 2018-08-02  Xavier Roirand  <roirand@adacore.com>
3368
3369         PR gdb/22629:
3370         * darwin-nat.c (darwin_kill_inferior): Fix handling of
3371         kill inferior.
3372
3373 2018-08-02  Tom Tromey  <tom@tromey.com>
3374
3375         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
3376         (darwin_suspend_inferior, darwin_resume_inferior)
3377         (darwin_decode_notify_message, darwin_resume_inferior_threads)
3378         (darwin_check_new_threads): Check result of get_darwin_inferior.
3379
3380 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
3381
3382         GDB 8.1.1 released.
3383
3384 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
3385
3386         * varobj.c (varobj_get_path_expr_parent): Report an error if
3387         parent is a dynamic varobj.
3388
3389 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3390
3391         * gnulib/aclocal.m4: Re-generate.
3392         * gnulib/config.in: Re-generate.
3393         * gnulib/configure: Re-generate.
3394         * gnulib/import/Makefile.in: Re-generate.
3395         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
3396         * gnulib/import/m4/onceonly.m4: Re-generate.
3397
3398 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3399
3400         * target-descriptions.c (struct xml_test_tdesc): New.
3401         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
3402         (record_xml_tdesc): Update.
3403         (maintenance_check_xml_descriptions): Update.
3404         * target-descriptions.h (record_xml_tdesc): Update comment.
3405
3406 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
3407
3408         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
3409         checking array bounds are defined.
3410
3411 2018-07-30  Tom Tromey  <tom@tromey.com>
3412
3413         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
3414         irreflexivity violation.
3415
3416 2018-07-30  Tom Tromey  <tom@tromey.com>
3417
3418         * cli/cli-decode.c (lookup_cmd): Remove lint code.
3419         * value.c (unpack_long): Remove lint code.
3420         * valops.c (value_ind): Remove lint code.
3421         * valarith.c (value_x_binop, value_x_unop, value_equal)
3422         (value_pos): Remove lint code.
3423
3424 2018-07-28  Tom de Vries  <tdevries@suse.de>
3425
3426         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
3427         with undefined upper bound as <optimized out>.
3428
3429 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
3430
3431         * gcore.in: Rename variable "name" to "prefix".  Expand
3432         "usage" text.
3433
3434 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
3435
3436         * windows-nat.c (windows_nat_target::create_inferior): Update to
3437         call close() in global namespace.
3438
3439 2018-07-26  Tom Tromey  <tom@tromey.com>
3440
3441         * dwarf-index-write.c (add_address_entry): Don't add objfile
3442         offsets.
3443         * dbxread.c (find_stab_function): Rename from
3444         find_stab_function_addr.  Return a bound_minimal_symbol.
3445         (read_dbx_symtab): Use raw_text_low, raw_text_high.
3446         Don't add objfile offsets.
3447         (end_psymtab): Use raw_text_low, raw_text_high,
3448         MSYMBOL_VALUE_RAW_ADDRESS.
3449         (read_ofile_symtab): Update.
3450         (process_one_symbol): Update.
3451         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
3452         offsets.
3453         (dw2_relocate): Remove.
3454         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
3455         searching addrmap.
3456         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
3457         Update.
3458         (process_psymtab_comp_unit_reader, add_partial_symbol)
3459         (add_partial_subprogram, dwarf2_ranges_read): Update.
3460         (load_partial_dies): Update.
3461         (add_address_entry): Don't add objfile offsets.
3462         (dwarf2_build_include_psymtabs): Update.
3463         (create_addrmap_from_aranges): Don't add objfile offsets.
3464         (dw2_find_pc_sect_compunit_symtab): Update.
3465         * mdebugread.c (parse_symbol): Don't add objfile offsets.
3466         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
3467         Update.
3468         (parse_partial_symbols): Don't add objfile offsets.  Use
3469         raw_text_low, raw_text_high.  Update.
3470         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
3471         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
3472         or call 'relocate' quick function.  Clear psymbol_map.
3473         * psympriv.h (struct partial_symbol) <address>: Add section
3474         offset.
3475         <set_unrelocated_address>: Rename from set_address.
3476         <raw_text_low, raw_text_high>: New methods.
3477         <text_low, text_high>: Add objfile parameter.
3478         (add_psymbol_to_bcache): Add 'section' parameter.  Call
3479         set_unrelocated_address.
3480         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3481         (find_pc_psymbol): Update.
3482         (fixup_psymbol_section, relocate_psymtabs): Remove.
3483         (dump_psymtab, psym_functions): Update.
3484         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
3485         parameter.
3486         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
3487         (start_psymtab_common): Update.
3488         * symfile-debug.c (debug_qf_relocate): Remove.
3489         (debug_sym_quick_functions): Update.
3490         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
3491         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
3492         Update.
3493
3494 2018-07-26  Tom Tromey  <tromey@redhat.com>
3495
3496         * dbxread.c (end_psymtab): Use text_high_valid and
3497         text_low_valid.
3498         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
3499         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
3500         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3501         Update comment.
3502         <text_low_valid, text_high_valid>: New fields.
3503         <set_text_low, set_text_high>: Update.
3504         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
3505
3506 2018-07-26  Tom Tromey  <tom@tromey.com>
3507
3508         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
3509         Update.
3510         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
3511         textlow and texthigh fields.
3512         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
3513         Update.
3514         * mdebugread.c (parse_lines, parse_partial_symbols)
3515         (psymtab_to_symtab_1): Update.
3516         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3517         Rename fields.  Update comment.  Now private.
3518         <text_low, text_high, set_text_low, set_text_high>: New methods.
3519         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3520         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
3521         (start_psymtab_common, maintenance_info_psymtabs)
3522         (maintenance_check_psymtabs): Update.
3523         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
3524         texthigh fields.
3525         (scan_xcoff_symtab): Update.
3526
3527 2018-07-26  Tom Tromey  <tromey@redhat.com>
3528
3529         * psympriv.h (struct partial_symbol) <unrelocated_address,
3530         address, set_address>: New methods.
3531         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
3532         (fixup_psymbol_section, relocate_psymtabs): Update.
3533         (print_partial_symbols): Add 'objfile' parameter.  Update.
3534         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
3535         Update.
3536
3537 2018-07-26  Tom Tromey  <tom@tromey.com>
3538
3539         * dwarf-index-write.c (write_psymbols, debug_names::insert)
3540         (debug_names::write_psymbols): Update.
3541         * psympriv.h (struct partial_symbol): Derive from
3542         general_symbol_info.
3543         <obj_section>: New method.
3544         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
3545         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3546         (find_pc_sect_psymbol, fixup_psymbol_section)
3547         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
3548         (print_partial_symbols, recursively_search_psymtabs)
3549         (compare_psymbols, psymbol_hash, psymbol_compare)
3550         (add_psymbol_to_bcache, maintenance_check_psymtabs)
3551         (psymbol_name_matches, psym_fill_psymbol_map): Update.
3552
3553 2018-07-26  Tom Tromey  <tromey@redhat.com>
3554
3555         * dbxread.c (end_psymtab): Remove dead code.
3556
3557 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
3558
3559         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
3560         DWARF unwinders are disabled.
3561         * dwarf2-frame.c: Add dwarf2read.h include.
3562         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
3563         disabled.
3564         (dwarf2_frame_unwinders_enabled_p): Define.
3565         (show_dwarf_unwinders_enabled_p): New function.
3566         (_initialize_dwarf2_frame): Register switch to control DWARF
3567         unwinder use.
3568         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
3569         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
3570         (show_dwarf_cmdlist): Remove static keyword.
3571         * dwarf2read.h (set_dwarf_cmdlist): Declare.
3572         (show_dwarf_cmdlist): Declare.
3573         * NEWS: Document new feature.
3574
3575 2018-07-26  Tom de Vries  <tdevries@suse.de>
3576
3577         PR breakpoints/23366
3578         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
3579
3580 2018-07-26  Tom de Vries  <tdevries@suse.de>
3581
3582         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
3583         DW_AT_count can't be translated to a dynamic prop.
3584
3585 2018-07-25  Tom de Vries  <tdevries@suse.de>
3586
3587         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
3588         try/catch.
3589
3590 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
3591
3592         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
3593
3594 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
3595
3596         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
3597
3598 2018-07-24  Keith Seitz  <keiths@redhat.comt
3599
3600         PR symtab/23010
3601         * dwarf2read.c (dw2_add_symbol_to_list): New function.
3602         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
3603         instead of add_symbol_to_list.
3604         (read_file_scope): Call prepare_one_comp_unit before reading
3605         any other DIEs.
3606
3607 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
3608
3609         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
3610
3611 2018-07-24  Tom Tromey  <tom@tromey.com>
3612
3613         * utils.c (malloc, realloc, free): Don't declare.
3614         * configure, config.in: Rebuild.
3615         * configure.ac: Don't check for declarations of free, malloc, or
3616         realloc.
3617
3618 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3619
3620         * aarch64-linux-nat.c
3621         (aarch64_linux_nat_target::stopped_data_address): Remove unused
3622         variable.
3623         * arm-linux-nat.c (fetch_regs): Likewise.
3624         (store_regs): Likewise.
3625         (fetch_vfp_regs): Likewise.
3626         (store_vfp_regs): Likewise.
3627         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
3628         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
3629         (arm_linux_nat_target::insert_watchpoint): Likewise.
3630         (arm_linux_nat_target::remove_watchpoint): Likewise.
3631         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
3632         Likewise.
3633         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
3634         Likewise.
3635         * ppc-linux-nat.c (fetch_register): Likewise.
3636         (fetch_all_gp_regs): Likewise.
3637         (fetch_ppc_registers): Likewise.
3638         (store_all_gp_regs): Likewise.
3639         (store_ppc_registers): Likewise.
3640         (hwdebug_insert_point): Likewise.
3641         (can_use_watchpoint_cond_accel): Likewise.
3642         * remote-sim.c (gdb_os_write_stdout): Likewise.
3643
3644 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3645             Tom Tromey  <tom@tromey.com>
3646
3647         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
3648         test for it.
3649         * configure: Rebuild.
3650
3651 2018-07-22  Tom Tromey  <tom@tromey.com>
3652
3653         * regformats/regdat.sh: Define xmltarget_${name} inside
3654         #ifndef IN_PROCESS_AGENT.
3655
3656 2018-07-22  Tom Tromey  <tom@tromey.com>
3657
3658         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
3659
3660 2018-07-22  Tom Tromey  <tom@tromey.com>
3661
3662         * symfile.c (reread_symbols): Notify iter, not objfile.
3663
3664 2018-07-22  Tom Tromey  <tom@tromey.com>
3665
3666         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
3667         Use arch_ops.
3668         (ravenscar_thread_target::prepare_to_store): Likewise.
3669
3670 2018-07-22  Tom Tromey  <tom@tromey.com>
3671
3672         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
3673         unused variable.  Call value_fetch_lazy when needed.
3674         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
3675         Remove unused variable.  Call value_fetch_lazy when needed.
3676
3677 2018-07-22  Tom Tromey  <tom@tromey.com>
3678
3679         * m32c-tdep.c (mark_dma): Return void.
3680         (make_regs): Remove unused declarations.
3681
3682 2018-07-22  Tom Tromey  <tom@tromey.com>
3683
3684         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
3685         cmdscm_get_valid_command_smob_arg_unsafe for effect.
3686         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
3687         bkscm_get_valid_block_smob_arg_unsafe for effect.
3688
3689 2018-07-22  Tom Tromey  <tom@tromey.com>
3690
3691         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
3692         value_type.
3693
3694 2018-07-22  Tom Tromey  <tom@tromey.com>
3695
3696         * windows-nat.c (saved_context): Conditionally define.
3697         * remote.c (remote_target::remote_btrace_maybe_reopen):
3698         Conditionally declare "warned".
3699         * inflow.c (sigquit_ours): Conditionally define.
3700         (new_tty): Move "tty" declaration inside #if.
3701         * guile/guile.c (guile_datadir): Conditionally define.
3702         * charset.c (set_be_le_names): Move some declarations inside #if.
3703         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
3704         #if.
3705         (parse_xml_btrace_conf): Likewise.
3706
3707 2018-07-22  Tom Tromey  <tom@tromey.com>
3708
3709         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
3710
3711 2018-07-22  Tom Tromey  <tom@tromey.com>
3712
3713         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
3714         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
3715         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
3716         * buildsym-legacy.c (get_macro_table): Remove unused variable.
3717         * stack.c (frame_apply_level_command): Remove unused variable.
3718         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
3719         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
3720         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
3721         unused variable.
3722         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
3723         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
3724         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
3725         variable.
3726         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
3727         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
3728         variable.
3729         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
3730         Remove unused variable.
3731         * cli/cli-script.c (recurse_read_control_structure): Remove unused
3732         variable.
3733         * common/tdesc.c (print_xml_feature::visit): Remove unused
3734         variable.
3735         * compile/compile-object-load.c (store_regs): Remove unused
3736         variables.
3737         * complaints.c (clear_complaints): Remove unused variable.
3738         * corelow.c (core_target_open): Remove unused variable.
3739         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
3740         variable.
3741         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
3742         variable.
3743         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
3744         variable.
3745         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
3746         variable.
3747         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
3748         variable.
3749         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
3750         variable.
3751         * ia64-tdep.c (examine_prologue): Remove unused variable.
3752         * infcall.c (run_inferior_call): Remove unused variable.
3753         * inferior.c (exit_inferior): Remove unused variable.
3754         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
3755         * linespec.c (decode_line_2): Remove unused variable.
3756         * linux-nat.c (super_close): Remove.
3757         * linux-tdep.c (linux_info_proc): Remove unused variable.
3758         * mi/mi-main.c (mi_execute_command): Remove unused variable.
3759         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
3760         Remove unused variable.
3761         * parse.c (find_minsym_type_and_address): Remove unused variable.
3762         * printcmd.c (info_symbol_command, printf_floating): Remove unused
3763         variable.
3764         * python/py-breakpoint.c (bppy_set_commands): Remove unused
3765         variable.
3766         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
3767         variables.
3768         * record-btrace.c (record_btrace_target::store_registers): Remove
3769         unused variable.
3770         (cmd_show_record_btrace_cpu): Remove unused variable.
3771         * riscv-tdep.c (riscv_register_reggroup_p)
3772         (riscv_push_dummy_call, riscv_return_value): Remove unused
3773         variable.
3774         * rust-exp.y (literal): Remove unused variable.
3775         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
3776         unused variable.
3777         <STRUCTOP_ANONYMOUS>: Likewise.
3778         * s390-linux-tdep.c (s390_linux_init_abi_31)
3779         (s390_linux_init_abi_64): Remove unused variable.
3780         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
3781         (file_select_thread, net_windows_open, _initialize_ser_windows):
3782         Remove unused variables.
3783         * symtab.c (find_pc_sect_line): Remove unused variable.
3784         * target-memory.c (compute_garbled_blocks): Remove unused
3785         variable.
3786         (target_write_memory_blocks): Remove unused variable.
3787         * target.c (target_stack::unpush): Remove unused variables.
3788         * tracepoint.c (start_tracing, all_tracepoint_actions)
3789         (merge_uploaded_trace_state_variables)
3790         (print_one_static_tracepoint_marker): Remove unused variable.
3791         * unittests/basic_string_view/element_access/char/1.cc (test01):
3792         Remove unused variable.
3793         * windows-nat.c (windows_continue, windows_add_all_dlls)
3794         (do_initial_windows_stuff, windows_nat_target::create_inferior):
3795         Remove unused variables.
3796
3797 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
3798
3799         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
3800         attr_profile in HAVE_ELF.
3801         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
3802         HAVE_ELF.
3803
3804 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
3805
3806         * frame.c (frame_register_unwind): Change parameter name.
3807         (frame_unwind_register): Likewise.
3808         (frame_unwind_register_value): Likewise.
3809         (frame_unwind_register_signed): Likewise.
3810         (frame_unwind_register_unsigned): Likewise.
3811         * frame.h (frame_register_unwind): Likewise.
3812         (frame_unwind_register): Likewise.
3813         (frame_unwind_register_value): Likewise.
3814         (frame_unwind_register_signed): Likewise.
3815         (frame_unwind_register_unsigned): Likewise.
3816         (frame_unwind_arch): Likewise.
3817
3818 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3819
3820         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
3821         ISA maintenance.
3822
3823 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3824
3825         * mips-linux-nat.c (mips_linux_nat_target::read_description):
3826         Call `get_ptrace_pid' rather than extracting the ptrace PID by
3827         hand.
3828
3829 2018-07-20  Keith Seitz  <keiths@redhat.com>
3830
3831         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
3832         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
3833         m_compunit_symtab, m_language>: Add "m_" prefix.
3834         Update all uses.
3835         * buildsym.c: Update all uses.
3836
3837 2018-07-20  Tom Tromey  <tom@tromey.com>
3838
3839         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
3840         * buildsym.h (record_line_ftype): Remove typedef.
3841
3842 2018-07-20  Tom Tromey  <tom@tromey.com>
3843
3844         * buildsym-legacy.h (augment_type_symtab): Don't declare.
3845         (end_expandable_symtab): Likewise.
3846         (end_symtab_get_static_block): Likewise.
3847         (end_symtab_from_static_block): Likewise.
3848         * buildsym-legacy.c (augment_type_symtab): Remove.
3849         (end_expandable_symtab): Remove.
3850         (end_symtab_get_static_block): Remove.
3851         (end_symtab_from_static_block): Remove.
3852
3853 2018-07-20  Tom Tromey  <tom@tromey.com>
3854
3855         * dwarf2read.c: Include buildsym.h.
3856         (struct dwarf2_cu) <builder>: New method.
3857         (fixup_go_packaging): Update.
3858         (process_full_comp_unit, process_full_type_unit): Update.  Don't
3859         use scoped_free_pendings.
3860         (using_directives): Add "cu" parameter, remove "language".
3861         (read_import_statement, setup_type_unit_groups, )
3862         (read_func_scope, read_lexical_block_scope)
3863         (dwarf2_record_block_ranges, read_namespace): Update.
3864         (lnp_state_machine::lnp_state_machine): Add cu parameter.
3865         (lnp_state_machine::handle_end_sequence): Update.
3866         (class lnp_state_machine) <m_cu>: New member.
3867         <m_record_line_callback>: Remove.
3868         <m_currently_recording_lines>: New member.
3869         (lnp_state_machine::handle_set_file): Update.
3870         (noop_record_line): Remove.
3871         (dwarf_record_line_p): Add cu parameter.
3872         (dwarf_record_line_1, dwarf_finish_line): Likewise.
3873         (lnp_state_machine::record_line)
3874         (lnp_state_machine::lnp_state_machine)
3875         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3876         (dwarf_decode_lines): Update.
3877         (dwarf2_start_subfile): Add cu parameter.
3878         (dwarf2_start_symtab, new_symbol): Update.
3879         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
3880         Remove dwarf2_per_objfile parameter.
3881         (dwarf_decode_macros): Update.
3882
3883 2018-07-20  Tom Tromey  <tom@tromey.com>
3884
3885         * stabsread.c (define_symbol): Update.
3886         * buildsym-legacy.h (get_buildsym_compunit): Declare.
3887         * dwarf2read.c (new_symbol): Update.
3888         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
3889         * cp-namespace.c: Include buildsym.h.
3890         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
3891         * buildsym-legacy.c (get_buildsym_compunit): New function.
3892
3893 2018-07-20  Tom Tromey  <tom@tromey.com>
3894
3895         * xcoffread.c: Include buildsym-legacy.h.
3896         * windows-nat.c: Include buildsym-legacy.h.
3897         * stabsread.c: Include buildsym-legacy.h.
3898         * mdebugread.c: Include buildsym-legacy.h.
3899         * buildsym-legacy.h: New file.
3900         * buildsym-legacy.c: New file, from buildsym.c.
3901         * go32-nat.c: Include buildsym-legacy.h.
3902         * dwarf2read.c: Include buildsym-legacy.h.
3903         * dbxread.c: Include buildsym-legacy.h.
3904         * cp-namespace.c: Include buildsym-legacy.h.
3905         * coffread.c: Include buildsym-legacy.h.
3906         * buildsym.h: Move some contents to buildsym-legacy.h.
3907         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
3908         buildsym-legacy.c.
3909         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
3910
3911 2018-07-20  Tom Tromey  <tom@tromey.com>
3912
3913         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
3914         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
3915         (buildsym_compunit::buildsym_compunit)
3916         (buildsym_compunit::~buildsym_compunit)
3917         (buildsym_compunit::get_macro_table): Define.
3918
3919 2018-07-20  Tom Tromey  <tom@tromey.com>
3920
3921         * buildsym.c (reset_symtab_globals): Remove.
3922         (buildsym_compunit::end_symtab_from_static_block): Update.
3923         (buildsym_compunit::augment_type_symtab): Update.
3924         (end_symtab_from_static_block): Call free_buildsym_compunit.
3925         (augment_type_symtab, end_symtab, end_expandable_symtab):
3926         Likewise.
3927
3928 2018-07-20  Tom Tromey  <tom@tromey.com>
3929
3930         * arch-utils.c: Do not include buildsym.h.
3931         * mipsread.c: Do not include buildsym.h.
3932         * machoread.c: Do not include buildsym.h.
3933         * elfread.c: Do not include buildsym.h.
3934
3935 2018-07-20  Tom Tromey  <tom@tromey.com>
3936
3937         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
3938         initialization.
3939         (buildsym_compunit): Add new constructor.
3940         (struct buildsym_compunit) <get_last_source_file, finish_block,
3941         record_block_range, start_subfile, patch_subfile_names,
3942         push_subfile, pop_subfile, record_line, get_compunit_symtab,
3943         set_last_source_start_addr, get_last_source_start_addr,
3944         get_local_using_directives, set_local_using_directives,
3945         get_global_using_directives, outermost_context_p,
3946         get_current_context_stack, get_context_stack_depth,
3947         get_current_subfile, get_local_symbols, get_file_symbols,
3948         get_global_symbols, record_debugformat, record_producer,
3949         push_context, pop_context, end_symtab_get_static_block,
3950         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
3951         New public methods.
3952         <record_pending_block, finish_block_internal, make_blockvector,
3953         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
3954         private methods.
3955         Update all users.
3956
3957 2018-05-22  Tom Tromey  <tom@tromey.com>
3958
3959         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3960         parameter.
3961         (finish_block_internal): Update.
3962
3963 2018-07-20  Tom Tromey  <tom@tromey.com>
3964
3965         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
3966         parameter.
3967         (finish_block_internal): Update.
3968
3969 2018-07-20  Tom Tromey  <tom@tromey.com>
3970
3971         * buildsym.h (EXTERN): Don't define or undef.
3972         * buildsym.c (EXTERN): Don't define.
3973
3974 2018-07-20  Tom Tromey  <tom@tromey.com>
3975
3976         * buildsym.c: Remove TODO comment.
3977
3978 2018-07-20  Tom Tromey  <tom@tromey.com>
3979
3980         * coffread.c (coff_symtab_read): Update.
3981         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
3982         (xcoff_new_init): Update.
3983         * mipsread.c (mipscoff_new_init): Update.
3984         * mdebugread.c (mdebug_build_psymtabs): Update.
3985         * elfread.c (elf_new_init): Update.
3986         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
3987         Update.
3988         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
3989         (coffstab_build_psymtabs, elfstab_build_psymtabs)
3990         (stabsect_build_psymtabs): Update.
3991         * buildsym.h (buildsym_init): Don't declare.
3992         * buildsym.c: Update comment.
3993         (prepare_for_building): Remove.
3994         (start_symtab, restart_symtab): Update.
3995         (reset_symtab_globals): Update comment.
3996         (buildsym_init): Remove.
3997
3998 2018-07-20  Tom Tromey  <tom@tromey.com>
3999
4000         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
4001         * stabsread.c (patch_block_stabs, define_symbol, read_type)
4002         (read_enum_type, common_block_start, common_block_end)
4003         (cleanup_undefined_types_1, finish_global_stabs): Update.
4004         * mdebugread.c (psymtab_to_symtab_1): Update.
4005         * dwarf2read.c (fixup_go_packaging, read_func_scope)
4006         (read_lexical_block_scope, new_symbol): Update.
4007         * dbxread.c (process_one_symbol): Update.
4008         * coffread.c (coff_symtab_read, process_coff_symbol)
4009         (coff_read_enum_type): Update.
4010         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
4011         declare.
4012         (get_local_symbols, get_file_symbols, get_global_symbols): New
4013         functions.
4014         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
4015         m_global_symbols.
4016         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
4017         (~scoped_free_pendings): Update.
4018         (finish_block, prepare_for_building, reset_symtab_globals)
4019         (end_symtab_get_static_block, end_symtab_with_blockvector)
4020         (augment_type_symtab, push_context): Update.
4021         (get_local_symbols, get_file_symbols, get_global_symbols): New
4022         functions.
4023         (buildsym_init): Update.
4024
4025 2018-07-20  Tom Tromey  <tom@tromey.com>
4026
4027         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
4028         (process_full_type_unit): Likewise.
4029         (dwarf2_start_symtab): Set list_in_scope.
4030
4031 2018-07-20  Tom Tromey  <tom@tromey.com>
4032
4033         * dwarf2read.c (process_psymtab_comp_unit_reader)
4034         (build_type_psymtabs_reader): Do not set list_in_scope.
4035
4036 2018-07-20  Tom Tromey  <tom@tromey.com>
4037
4038         * buildsym.c (free_pendings): Remove.
4039         (add_symbol_to_list, scoped_free_pendings)
4040         (finish_block_internal, buildsym_init): Update.
4041
4042 2018-07-20  Tom Tromey  <tom@tromey.com>
4043
4044         * xcoffread.c (read_xcoff_symtab): Update.
4045         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
4046         Update.
4047         * dbxread.c (process_one_symbol): Update.
4048         * coffread.c (coff_symtab_read): Update.
4049         * buildsym.h (finish_block): Update.
4050         * buildsym.c (finish_block): Remove "listhead" argument.
4051         (end_symtab_get_static_block): Update.
4052
4053 2018-07-20  Tom Tromey  <tom@tromey.com>
4054
4055         * buildsym.h (class scoped_free_pendings): Remove constructor.
4056         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
4057         method.
4058         <m_pending_block_obstack, m_pending_blocks>: New members.
4059         (pending_block_obstack, pending_blocks): Remove.
4060         (scoped_free_pendings::scoped_free_pendings): Default.
4061         (~scoped_free_pendings): Update.
4062         (free_pending_blocks): Remove.
4063         (finish_block_internal, record_pending_block, make_blockvector)
4064         (end_symtab_get_static_block, augment_type_symtab, push_context)
4065         (buildsym_init): Update.
4066
4067 2018-07-20  Tom Tromey  <tom@tromey.com>
4068
4069         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
4070         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
4071         members.
4072         (pending_addrmap, pending_addrmap_obstack)
4073         (pending_addrmap_interesting): Remove.
4074         (scoped_free_pendings, record_block_range, make_blockvector)
4075         (prepare_for_building, reset_symtab_globals, buildsym_init):
4076         Update.
4077
4078 2018-07-20  Tom Tromey  <tom@tromey.com>
4079
4080         * xcoffread.c (process_linenos): Update.
4081         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
4082         * mdebugread.c (psymtab_to_symtab_1): Update.
4083         * dwarf2read.c (setup_type_unit_groups)
4084         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
4085         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
4086         * dbxread.c (process_one_symbol): Update.
4087         * coffread.c (coff_symtab_read, enter_linenos)
4088         (process_coff_symbol): Update.
4089         * buildsym.h (current_subfile): Don't declare.
4090         (get_current_subfile): Declare.
4091         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
4092         member.
4093         (start_subfile, free_buildsym_compunit, push_subfile)
4094         (prepare_for_building, start_symtab): Update.
4095         (get_current_subfile): New function.
4096
4097 2018-07-20  Tom Tromey  <tom@tromey.com>
4098
4099         * coffread.c (coff_symtab_read): Update.
4100         * xcoffread.c (read_xcoff_symtab): Update.
4101         * dwarf2read.c (new_symbol): Update.
4102         (read_func_scope, read_lexical_block_scope): Update.
4103         * dbxread.c (process_one_symbol): Update.
4104         * buildsym.h (context_stack, context_stack_depth): Don't declare.
4105         (outermost_context_p): Remove macro.
4106         (outermost_context_p, get_current_context_stack)
4107         (get_context_stack_depth): Declare.
4108         (pop_context): Return struct context_stack.
4109         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
4110         member.
4111         (context_stack_size): Remove.
4112         (INITIAL_CONTEXT_STACK_SIZE): Remove.
4113         (prepare_for_building, end_symtab_get_static_block)
4114         (augment_type_symtab, push_context): Update.
4115         (pop_context): Return struct context_stack.
4116         (outermost_context_p, get_current_context_stack)
4117         (get_context_stack_depth): New functions.
4118         (buildsym_init): Update.
4119
4120 2018-07-20  Tom Tromey  <tom@tromey.com>
4121
4122         * rust-exp.y: Now a pure parser.  Update all rules.
4123         (%union): Move earlier.
4124         (current_parser, work_obstack): Remove globals.
4125         (rust_parser, ~rust_parser): Update.
4126         (class rust_parser) <copy_name, concat3, crate_name, super_name,
4127         lex_character, lex_number, lex_string, lex_identifier,
4128         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
4129         convert_name, convert_params_to_expression,
4130         convert_ast_to_expression, ast_basic_type, ast_operation,
4131         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
4132         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
4133         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
4134         ast_array_type, ast_slice_type, ast_reference_type,
4135         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
4136         (rust_parse): Update.
4137         (rustyyerror, rustyylex): Add parser parameter.
4138         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
4139         (rust_lex_stringish_test, rust_lex_test_sequence)
4140         (rust_lex_test_trailing_dot, rust_lex_test_completion)
4141         (rust_lex_test_push_back, rust_lex_tests): Update.
4142
4143 2018-07-19  Pedro Alves  <palves@redhat.com>
4144
4145         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
4146         gdb::unique_xmalloc_ptr.
4147         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
4148         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
4149         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
4150         copy-initialization.
4151         * guile/scm-pretty-print.c (ppscm_print_children): Use
4152         gdb::unique_xmalloc_ptr instead of cleanups.
4153         (gdbscm_apply_val_pretty_printer): Remove cleanups.
4154         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
4155         gdb::unique_xmalloc_ptr.
4156         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
4157         Adjust to use gdb::unique_xmalloc_ptr.
4158         * guile/scm-utils.c (extract_arg): Adjust.
4159         * guile/scm-value.c (gdbscm_value_field): Adjust to use
4160         gdb::unique_xmalloc_ptr instead of a cleanup.
4161
4162 2018-07-19  Tom Tromey  <tom@tromey.com>
4163
4164         * utils.c (do_value_free_to_mark)
4165         (make_cleanup_value_free_to_mark): Remove.
4166         * utils.h (make_cleanup_value_free_to_mark): Remove.
4167
4168 2018-07-19  Pedro Alves  <palves@redhat.com>
4169
4170         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
4171         forwarding reference.
4172
4173 2018-07-18  Pedro Alves  <palves@redhat.com>
4174
4175         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
4176         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
4177         cleanup.
4178
4179 2018-07-18  Pedro Alves  <palves@redhat.com>
4180
4181         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
4182         exceptions.
4183         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
4184         (gdbscm_wrap): New.
4185         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
4186         directly instead of a cleanup.
4187         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
4188         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
4189         (vlscm_binop_gdbthrow): New, factored out from ...
4190         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
4191         (vlscm_rich_compare): Use gdbscm_wrap.
4192         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
4193         instead of a cleanup.
4194         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
4195         cleanup.
4196         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
4197         Use xfree directly instead of a cleanup.
4198         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
4199         Adjust to use gdbscm_wrap and scoped_value_mark.
4200         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
4201         (gdbscm_value_address, gdbscm_value_dereference)
4202         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
4203         scoped_value_mark.
4204         (gdbscm_value_dynamic_type): Use scoped_value_mark.
4205         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
4206         scoped_value_mark.
4207         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
4208         gdbscm_wrap and scoped_value_mark.
4209         (gdbscm_value_to_string): Use xfree directly instead of a
4210         cleanup.  Move 'buffer' unique_ptr to TRY scope.
4211         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
4212         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
4213         scoped_value_mark.
4214         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
4215         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
4216         scoped_value_mark.
4217         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
4218         gdbscm_wrap.
4219
4220 2018-07-18  Tom de Vries  <tdevries@suse.de>
4221
4222         * findvar.c (default_read_var_value): Also resolve dynamic type for
4223         LOC_OPTIMIZED_OUT vars.
4224
4225 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
4226
4227         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
4228         decoding.
4229
4230 2018-07-17  Tom Tromey  <tom@tromey.com>
4231
4232         * guile/scm-param.c (pascm_set_func, pascm_show_func)
4233         (compute_enum_list, pascm_set_param_value_x)
4234         (gdbscm_parameter_value): Update.
4235         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
4236         (gdbscm_scm_to_host_string): Update.
4237         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
4238         Update.
4239         * guile/scm-cmd.c (cmdscm_add_completion): Update.
4240         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
4241         * guile/scm-string.c (gdbscm_scm_to_string): Return
4242         unique_xmalloc_ptr.
4243         (gdbscm_scm_to_host_string): Likewise.
4244
4245 2018-07-17  Tom Tromey  <tom@tromey.com>
4246
4247         * guile/guile.c (gdbscm_eval_from_control_command): Update.
4248         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
4249         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
4250         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
4251         unique_xmalloc_ptr.
4252
4253 2018-07-17  Tom Tromey  <tom@tromey.com>
4254
4255         * guile/scm-param.c (pascm_signal_setshow_error): Update.
4256         * guile/guile-internal.h (gdbscm_exception_message_to_string):
4257         Update.
4258         * guile/scm-cmd.c (cmdscm_function): Update.
4259         * guile/scm-pretty-print.c
4260         (ppscm_print_exception_unless_memory_error): Update.
4261         * guile/scm-exception.c (gdbscm_exception_message_to_string):
4262         Return unique_xmalloc_ptr.
4263
4264 2018-07-17  Tom Tromey  <tom@tromey.com>
4265
4266         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
4267         Use string_printf.
4268
4269 2018-07-17  Jim Wilson  <jimw@sifive.com>
4270
4271         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
4272         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
4273         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
4274         unecessary braces after EF_RISCV_RVC test.  Delete call to
4275         set_gdbarch_decr_pc_after_break.
4276
4277         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
4278         RISCV_LAST_FP_REGNUM + 1.
4279         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
4280
4281 2018-07-17  Tom Tromey  <tom@tromey.com>
4282
4283         * configure.ac: Remove --disable-gdbcli.
4284         * configure: Rebuild.
4285         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
4286         (SUBDIR_CLI_CFLAGS): Remove.
4287         (SFILES): Use SUBDIR_CLI_SRCS.
4288         (COMMON_OBS): Use SUBDIR_CLI_OBS.
4289
4290 2018-07-17  Tom Tromey  <tom@tromey.com>
4291
4292         PR gdb/18624:
4293         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
4294
4295 2018-07-16  Jim Wilson  <jimw@sifive.com>
4296
4297         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
4298
4299 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
4300
4301         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
4302         variable.
4303         (libunwind_frame_sniffer): Likewise.
4304         (libunwind_frame_prev_register): Likewise.
4305         (libunwind_sigtramp_frame_sniffer): Likewise.
4306         * ia64-tdep.c (ia64_access_reg): Likewise.
4307         (ia64_access_rse_reg): Likewise.
4308         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
4309         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
4310
4311 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
4312
4313         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
4314
4315 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
4316
4317         * remote-sim.c (gdbsim_target::close,
4318         gdbsim_target::mourn_inferior): Remove unused variables.
4319
4320 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
4321
4322         * ia64-tdep.c (ktab_buf): New global.
4323         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
4324         (get_kernel_table): Adjust.
4325
4326 2018-07-16  Tom Tromey  <tom@tromey.com>
4327
4328         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
4329         * dwarf2read.c (using_directives, new_symbol): Use
4330         outermost_context_p.
4331         * dbxread.c (process_one_symbol): Use outermost_context_p.
4332         * coffread.c (coff_symtab_read): Use outermost_context_p.
4333
4334 2018-07-16  Tom Tromey  <tom@tromey.com>
4335
4336         * dwarf2read.c (using_directives, read_func_scope)
4337         (read_lexical_block_scope): Update.
4338         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
4339         * buildsym.h (local_using_directives, global_using_directives):
4340         Don't declare.
4341         (get_local_using_directives, set_local_using_directives)
4342         (get_global_using_directives): Declare.
4343         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
4344         m_global_using_directives>: New members.
4345         (finish_block_internal, prepare_for_building)
4346         (reset_symtab_globals, end_symtab_get_static_block)
4347         (push_context): Update.
4348         (get_local_using_directives, set_local_using_directives)
4349         (get_global_using_directives): New functions.
4350         (buildsym_init): Update.
4351
4352 2018-07-16  Tom Tromey  <tom@tromey.com>
4353
4354         * xcoffread.c (xcoff_initial_scan): Don't call
4355         free_pending_blocks.
4356         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
4357         * buildsym.h (class scoped_free_pendings): Add constructor.
4358         (free_pending_blocks): Don't declare.
4359         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
4360         (free_pending_blocks): Now static.
4361
4362 2018-07-16  Tom Tromey  <tom@tromey.com>
4363
4364         * buildsym.h (push_subfile, pop_subfile): Update declarations.
4365         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
4366         member.
4367         (struct subfile_stack): Remove.
4368         (subfile_stack): Remove.
4369         (push_subfile, pop_subfile, buildsym_init): Update.
4370
4371 2018-07-16  Tom Tromey  <tom@tromey.com>
4372
4373         * buildsym.c (push_subfile): Use gdb_assert.
4374         (pop_subfile): Use gdb_assert.
4375
4376 2018-07-16  Tom Tromey  <tom@tromey.com>
4377
4378         * buildsym.h (merge_symbol_lists): Remove.
4379         * buildsym.c (merge_symbol_lists): Remove.
4380
4381 2018-07-16  Tom Tromey  <tom@tromey.com>
4382
4383         * stabsread.c (scan_file_globals): Update comment.
4384         * stabsread.h (scan_file_globals): Move from buildsym.h.
4385         * buildsym.h (scan_file_globals): Move to stabsread.h.
4386
4387 2018-07-16  Tom Tromey  <tom@tromey.com>
4388
4389         * xcoffread.c (xcoff_new_init): Update.
4390         * mipsread.c (mipscoff_new_init): Update.
4391         * mdebugread.c (mdebug_build_psymtabs): Update.
4392         * elfread.c (elf_new_init): Update.
4393         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
4394         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
4395         * buildsym.h (buildsym_new_init): Don't declare.
4396         * buildsym.c (buildsym_new_init): Remove.
4397
4398 2018-07-16  Tom Tromey  <tom@tromey.com>
4399
4400         * stabsread.h (within_function): Move from buildsym.h.
4401         * stabsread.c (start_stabs): Clear within_function.
4402         * coffread.c (coff_start_symtab): Clear within_function.
4403         * buildsym.h (within_function): Move to stabsread.h.
4404         * buildsym.c (prepare_for_building): Update.
4405
4406 2018-07-16  Tom Tromey  <tom@tromey.com>
4407
4408         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
4409         * dwarf2read.c (dwarf2_start_symtab): Don't set
4410         processing_gcc_compilation.
4411         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
4412
4413 2018-07-16  Tom Tromey  <tom@tromey.com>
4414
4415         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
4416         (next_symbol_text_func): Move from buildsym.h.
4417         * stabsread.c (hashname): Move from buildsym.c.
4418         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
4419         (next_symbol_text_func, hashname): Move to stabsread.h.
4420         * buildsym.c: Don't include bcache.h
4421         (hashname): Move to stasbread.c.
4422
4423 2018-07-16  Tom Tromey  <tom@tromey.com>
4424
4425         * buildsym.h (context_stack_size): Don't declare.
4426         * buildsym.c (context_stack_size): New global.
4427
4428 2018-07-16  Tom Tromey  <tom@tromey.com>
4429
4430         * dbxread.c (processing_acc_compilation): New global.
4431         * buildsym.h (processing_acc_compilation): Don't declare.
4432
4433 2018-07-16  Tom Tromey  <tom@tromey.com>
4434
4435         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
4436         * dbxread.c (read_ofile_symtab): Update.
4437         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
4438         * buildsym.h (last_source_start_addr): Remove.
4439         (set_last_source_start_addr, get_last_source_start_addr):
4440         Declare.
4441         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
4442         parameter.
4443         (struct buildsym_compunit) <m_last_source_start_addr>: New
4444         member.
4445         (prepare_for_building): Remove start_addr parameter.
4446         (start_symtab, restart_symtab, end_symtab_get_static_block)
4447         (end_symtab_with_blockvector): Update.
4448         (set_last_source_start_addr, get_last_source_start_addr): New
4449         functions.
4450
4451 2018-07-16  Tom Tromey  <tom@tromey.com>
4452
4453         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
4454         member.
4455         (have_line_numbers): Remove.
4456         (record_line, prepare_for_building, end_symtab_get_static_block)
4457         (augment_type_symtab): Update.
4458
4459 2018-07-16  Tom Tromey  <tom@tromey.com>
4460
4461         * buildsym.c (~buildsym_compunit): Free the macro table.
4462         (struct buildsym_compunit) <get_macro_table, release_macros>: New
4463         methods.
4464         <m_pending_macros>: New member.
4465         (pending_macros): Remove.
4466         (~scoped_free_pendings, get_macro_table, prepare_for_building)
4467         (reset_symtab_globals, end_symtab_get_static_block)
4468         (end_symtab_with_blockvector, augment_type_symtab)
4469         (buildsym_init): Update.
4470
4471 2018-07-16  Tom Tromey  <tom@tromey.com>
4472
4473         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
4474         parameter.
4475         (buildsym_compunit::set_last_source_file): New method.
4476         <m_last_source_file>: New member.
4477         (prepare_for_building): Remove "name" parameter.
4478         (start_symtab, restart_symtab, reset_symtab_globals): Update.
4479         (last_source_file): Remove.
4480         (set_last_source_file, get_last_source_file): Update.
4481
4482 2018-07-16  Tom Tromey  <tom@tromey.com>
4483
4484         * buildsym.c (prepare_for_building): Add assert.
4485
4486 2018-07-16  Tom Tromey  <tom@tromey.com>
4487
4488         * buildsym.c (~buildsym_compunit): Update.
4489         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
4490         (start_subfile, patch_subfile_names)
4491         (end_symtab_with_blockvector): Update.
4492
4493 2018-07-16  Tom Tromey  <tom@tromey.com>
4494
4495         * buildsym.c (struct buildsym_compunit): Add constructor,
4496         destructor, initializers.
4497         (start_buildsym_compunit): Remove.
4498         (free_buildsym_compunit): Use "delete".
4499         (start_symtab, restart_symtab): Use "new".
4500
4501 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
4502
4503         * symfile.c (set_objfile_default_section_offset): Remove struct
4504         keyword.
4505
4506 2018-07-14  Stafford Horne  <shorne@gmail.com>
4507
4508         * (Responsible Maintainers): Add myself as or1k maintainer.
4509
4510 2018-07-13  Tom Tromey  <tom@tromey.com>
4511
4512         * symfile.c (set_objfile_default_section_offset): Use extra braces
4513         around initializer.
4514
4515 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
4516
4517         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
4518         non-branching basr.
4519
4520 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4521
4522         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4523         unittests/cli-utils-selftests.c
4524         * unittests/cli-utils-selftests.c: New file.
4525
4526 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4527
4528         * NEWS: Mention new commands. Mention change to 'thread apply'.
4529
4530 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4531
4532         * thread.c (thr_try_catch_cmd): New function.
4533         (thread_apply_all_command): Handle qcs flags.
4534         (thread_apply_command): Handle qcs flags.
4535         (taas_command): New function.
4536         (tfaas_command): New function.
4537         (_initialize_thread): Update to setup the new commands 'taas
4538         and 'tfaas'. Change doc string for 'thread apply'.
4539
4540 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4541
4542         * stack.c: (trailing_outermost_frame): New function, mostly
4543         extracted from backtrace_command_1.
4544         (leading_innermost_frame): New function.
4545         (backtrace_command_1): Update to call trailing_outermost_frame.
4546         (frame_apply_command_count): New function.
4547         (frame_apply_level_command): New function.
4548         (frame_apply_all_command): New function.
4549         (frame_apply_command): New function.
4550         (faas_command): New function.
4551         (frame_cmd_list): New variable.
4552         (_initialize_stack): Update to setup the new commands 'frame apply'
4553         and 'faas'.
4554
4555 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4556
4557         * cli-utils.c (number_or_range_parser::get_number): Only handle
4558         numbers or convenience var as numbers.
4559         (parse_flags): New function.
4560         (parse_flags_qcs): New function.
4561         (number_or_range_parser::finished): Ensure parsing end is detected
4562         before end of string.
4563         * cli-utils.h (parse_flags): New function.
4564         (parse_flags_qcs): New function.
4565         (number_or_range_parser): Remove m_finished bool.
4566         (number_or_range_parser::skip_range): Set m_in_range to false.
4567
4568 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
4569
4570         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
4571         on Windows.
4572
4573 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4574             Jan Kratochvil  <jan.kratochvil@redhat.com>
4575             Paul Fertser  <fercerpav@gmail.com>
4576             Tsutomu Seki  <sekiriki@gmail.com>
4577             Pedro Alves  <palves@redhat.com>
4578
4579         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4580         'unittests/parse-connection-spec-selftests.c'.
4581         (COMMON_SFILES): Add 'common/netstuff.c'.
4582         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
4583         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
4584         * common/netstuff.c: New file.
4585         * common/netstuff.h: New file.
4586         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
4587         (wait_for_connect): Update comment.  New parameter
4588         'gdb::optional<int> sock' instead of 'struct serial *scb'.
4589         Use 'sock' directly instead of 'scb->fd'.
4590         (try_connect): New function, with code from 'net_open'.
4591         (net_open): Rewrite main loop to deal with multiple
4592         sockets/addresses.  Handle IPv6-style hostnames; implement
4593         support for IPv6 connections.
4594         * unittests/parse-connection-spec-selftests.c: New file.
4595
4596 2018-07-11  Pedro Alves  <palves@redhat.com>
4597
4598         PR gdb/23377
4599         * remote.c (remote_target::remote_detach_pid): Call
4600         set_current_process.
4601
4602 2018-07-11  Pedro Alves  <palves@redhat.com>
4603
4604         * h8300-tdep.c (h8300_gdbarch_init): Remove
4605         set_gdbarch_ecoff_reg_to_regnum calls.
4606
4607 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4608
4609         PR c++/23373
4610         * c-typeprint.c (c_type_print_base_struct_union): Don't print
4611         offsets/sizes for static members of a class/struct.
4612
4613 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
4614
4615         * target-descriptions.c (tdesc_register_bitsize): Rename.
4616         * target-descriptions.h (tdesc_register_bitsize): Likewise.
4617         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
4618         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
4619
4620 2018-07-10  Tom Tromey  <tom@tromey.com>
4621
4622         * breakpoint.c (moribund_locations): Now static and a
4623         std::vector.
4624         (breakpoint_init_inferior, moribund_breakpoint_here_p)
4625         (build_bpstat_chain, update_global_location_list)
4626         (breakpoint_retire_moribund): Update.
4627         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
4628         VEC.
4629
4630 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4631
4632         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
4633         (riscv_register_reggroup_p): Use new function, remove unneeded
4634         parenthesis.
4635         (riscv_push_dummy_call): Extend assert to compare against xlen or
4636         flen based on register type.
4637
4638 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4639
4640         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
4641
4642 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
4643
4644         * remote.c (show_hardware_watchpoint_limit): New function.
4645         (show_hardware_watchpoint_length_limit): New function.
4646         (show_hardware_breakpoint_limit): New function.
4647         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
4648         where appropriate, update help text.
4649
4650 2018-07-09  Tom Tromey  <tom@tromey.com>
4651
4652         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
4653         (CLIBS): Don't mention NAT_CLIBS.
4654
4655 2018-07-09  Tom Tromey  <tom@tromey.com>
4656
4657         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
4658         (LIBGDB_OBS, clean mostlyclean): Update.
4659         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
4660
4661 2018-07-09  Tom Tromey  <tom@tromey.com>
4662
4663         * Makefile.in (%.c: %.y): Use ECHO_YACC.
4664         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
4665         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
4666
4667 2018-07-09  Tom Tromey  <tom@tromey.com>
4668
4669         * Makefile.in (ALLDEPFILES): Remove exec.c.
4670         (COMMON_OBS): Remove exec.o.
4671         (COMMON_SFILES): Add exec.c.
4672
4673 2018-07-09  Tom Tromey  <tom@tromey.com>
4674
4675         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
4676
4677 2018-07-09  Tom Tromey  <tom@tromey.com>
4678
4679         * Makefile.in (clean mostlyclean): Remove stamp-version.
4680         (version.c): Depend on stamp-version.
4681         (stamp-version): New rule, from version.c rule.
4682
4683 2018-07-09  Tom Tromey  <tom@tromey.com>
4684
4685         * Makefile.in (init.c): Depend on stamp-init.
4686         (stamp-init): New rule, from init.c rule.
4687         (clean mostlyclean): Remove stamp-init.
4688
4689 2018-07-09  Tom Tromey  <tom@tromey.com>
4690
4691         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
4692         SUBDIR_GCC_COMPILE_SRCS.
4693
4694 2018-07-09  Tom Tromey  <tom@tromey.com>
4695
4696         * Makefile.in (init.c): Remove some unused sed rules.
4697
4698 2018-07-09  Tom Tromey  <tom@tromey.com>
4699
4700         * Makefile.in (TSOBS): Remove.
4701         (INIT_FILES): Update.
4702         (LIBGDB_OBS): Update.
4703         (COMMON_SFILES): Add inflow.c.
4704         (SFILES): Remove inflow.c.
4705
4706 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
4707
4708         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
4709
4710 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
4711
4712         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
4713         get_saveloc_name, is_signal_frame_name, step_name,
4714         init_remote_name, create_addr_space_name,
4715         destroy_addr_space_name, search_unwind_table_name,
4716         find_dyn_list_name): Constify.
4717
4718 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
4719
4720         * darwin-nat.c (darwin_pthread_kill): New function.
4721         (darwin_resume_thread): Use darwin_pthread_kill.
4722
4723 2018-07-05  Tom de Vries  <tdevries@suse.de>
4724
4725         * macroexp.c (macro_buffer) <operator=>: New member function.
4726
4727 2018-07-04  Tom Tromey  <tom@tromey.com>
4728
4729         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
4730
4731 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
4732
4733         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
4734         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
4735         * maint.c: Likewise.
4736         * top.c: Likewise.
4737
4738 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4739
4740         * NEWS: Create a new section for the next release branch.
4741         Rename the section of the current branch, now that it has
4742         been cut.
4743
4744 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4745
4746         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
4747         * version.in: Bump version to 8.2.50.DATE-git.
4748
4749 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
4750             Pedro Alves  <palves@redhat.com>
4751
4752         * linux-nat.c (linux_init_ptrace): Rename to ...
4753         (linux_init_ptrace_procfs): ... this.  Call
4754         linux_proc_init_warnings.
4755         (linux_nat_target::post_attach)
4756         (linux_nat_target::post_startup_inferior): Adjust.
4757         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
4758         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
4759
4760 2018-07-04  Tom de Vries  <tdevries@suse.de>
4761
4762         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
4763         check ...
4764         (read_comp_unit_head): ... here.
4765
4766 2018-07-03  Tom Tromey  <tom@tromey.com>
4767
4768         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
4769         (stop_tracing, tstatus_command)
4770         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
4771         (print_one_static_tracepoint_marker): Update.
4772         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
4773         std::vector.
4774         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
4775         VEC.
4776         (all_tracepoints, static_tracepoints_here): Return std::vector.
4777
4778 2018-07-03  Tom Tromey  <tom@tromey.com>
4779
4780         * common/ptid.c (ptid_equal): Remove.
4781         * common/ptid.h (ptid_equal): Don't declare.
4782         * ada-tasks.c: Update.
4783         * breakpoint.c: Update.
4784         * common/agent.c: Update.
4785         * corelow.c: Update.
4786         * darwin-nat-info.c: Update.
4787         * darwin-nat.c: Update.
4788         * dcache.c: Update.
4789         * dtrace-probe.c: Update.
4790         * dummy-frame.c: Update.
4791         * fbsd-nat.c: Update.
4792         * frame.c: Update.
4793         * gdbthread.h: Update.
4794         * gnu-nat.c: Update.
4795         * go32-nat.c: Update.
4796         * inf-loop.c: Update.
4797         * inf-ptrace.c: Update.
4798         * infcall.c: Update.
4799         * infcmd.c: Update.
4800         * inflow.c: Update.
4801         * infrun.c: Update.
4802         * linux-fork.c: Update.
4803         * linux-nat.c: Update.
4804         * linux-thread-db.c: Update.
4805         * mi/mi-cmd-var.c: Update.
4806         * mi/mi-interp.c: Update.
4807         * mi/mi-main.c: Update.
4808         * nto-procfs.c: Update.
4809         * ppc-linux-tdep.c: Update.
4810         * procfs.c: Update.
4811         * python/py-inferior.c: Update.
4812         * python/py-record-btrace.c: Update.
4813         * python/py-record.c: Update.
4814         * ravenscar-thread.c: Update.
4815         * regcache.c: Update.
4816         * remote-sim.c: Update.
4817         * remote.c: Update.
4818         * sol-thread.c: Update.
4819         * solib.c: Update.
4820         * target.c: Update.
4821         * tui/tui-stack.c: Update.
4822         * varobj.c: Update.
4823         * windows-nat.c: Update.
4824         * windows-tdep.c: Update.
4825
4826 2018-07-03  Tom Tromey  <tom@tromey.com>
4827
4828         * common/ptid.c (ptid_match): Remove.
4829         * common/ptid.h (ptid_match): Don't declare.
4830         * fbsd-nat.c: Update.
4831         * infcmd.c: Update.
4832         * infrun.c: Update.
4833         * linux-nat.c: Update.
4834         * record-btrace.c: Update.
4835         * regcache.c: Update.
4836         * remote.c: Update.
4837
4838 2018-07-03  Tom Tromey  <tom@tromey.com>
4839
4840         * common/ptid.c (ptid_tid_p): Remove.
4841         * common/ptid.h (ptid_tid_p): Don't declare.
4842         * sol-thread.c: Update.
4843
4844 2018-07-03  Tom Tromey  <tom@tromey.com>
4845
4846         * common/ptid.c (ptid_lwp_p): Remove.
4847         * common/ptid.h (ptid_lwp_p): Don't declare.
4848         * fbsd-nat.c: Update.
4849         * linux-nat.c: Update.
4850         * nat/linux-procfs.c: Update.
4851         * nat/x86-linux-dregs.c: Update.
4852         * sol-thread.c: Update.
4853
4854 2018-07-03  Tom Tromey  <tom@tromey.com>
4855
4856         * common/ptid.c (ptid_is_pid): Remove.
4857         * common/ptid.h (ptid_is_pid): Don't declare.
4858         * infrun.c: Update.
4859         * linux-nat.c: Update.
4860         * mi/mi-interp.c: Update.
4861         * remote.c: Update.
4862         * thread.c: Update.
4863
4864 2018-07-03  Tom Tromey  <tom@tromey.com>
4865
4866         * common/ptid.c (ptid_get_tid): Remove.
4867         * common/ptid.h (ptid_get_tid): Don't declare.
4868         * ada-tasks.c: Update.
4869         * aix-thread.c: Update.
4870         * bsd-uthread.c: Update.
4871         * darwin-nat.c: Update.
4872         * fbsd-nat.c: Update.
4873         * i386-darwin-nat.c: Update.
4874         * infrun.c: Update.
4875         * linux-tdep.c: Update.
4876         * nto-procfs.c: Update.
4877         * ppc-ravenscar-thread.c: Update.
4878         * python/py-infthread.c: Update.
4879         * ravenscar-thread.c: Update.
4880         * sol-thread.c: Update.
4881         * sparc-ravenscar-thread.c: Update.
4882         * windows-nat.c: Update.
4883
4884 2018-07-03  Tom Tromey  <tom@tromey.com>
4885
4886         * common/ptid.c (ptid_get_lwp): Remove.
4887         * common/ptid.h (ptid_get_lwp): Don't declare.
4888         * aarch64-linux-nat.c: Update.
4889         * ada-tasks.c: Update.
4890         * aix-thread.c: Update.
4891         * amd64-linux-nat.c: Update.
4892         * arm-linux-nat.c: Update.
4893         * corelow.c: Update.
4894         * fbsd-nat.c: Update.
4895         * fbsd-tdep.c: Update.
4896         * gnu-nat.c: Update.
4897         * i386-cygwin-tdep.c: Update.
4898         * i386-gnu-nat.c: Update.
4899         * i386-linux-nat.c: Update.
4900         * ia64-linux-nat.c: Update.
4901         * inf-ptrace.c: Update.
4902         * infrun.c: Update.
4903         * linux-fork.c: Update.
4904         * linux-nat.c: Update.
4905         * linux-tdep.c: Update.
4906         * linux-thread-db.c: Update.
4907         * mips-linux-nat.c: Update.
4908         * nat/aarch64-linux-hw-point.c: Update.
4909         * nat/aarch64-linux.c: Update.
4910         * nat/linux-btrace.c: Update.
4911         * nat/linux-osdata.c: Update.
4912         * nat/linux-procfs.c: Update.
4913         * nat/x86-linux-dregs.c: Update.
4914         * obsd-nat.c: Update.
4915         * ppc-fbsd-nat.c: Update.
4916         * ppc-linux-nat.c: Update.
4917         * procfs.c: Update.
4918         * python/py-infthread.c: Update.
4919         * ravenscar-thread.c: Update.
4920         * remote.c: Update.
4921         * s390-linux-nat.c: Update.
4922         * sol-thread.c: Update.
4923         * sol2-tdep.c: Update.
4924         * spu-linux-nat.c: Update.
4925         * x86-linux-nat.c: Update.
4926         * xtensa-linux-nat.c: Update.
4927
4928 2018-07-03  Tom Tromey  <tom@tromey.com>
4929
4930         * common/ptid.c (ptid_get_pid): Remove.
4931         * common/ptid.h (ptid_get_pid): Don't declare.
4932         * aarch64-linux-nat.c: Update.
4933         * ada-lang.c: Update.
4934         * aix-thread.c: Update.
4935         * alpha-bsd-nat.c: Update.
4936         * amd64-fbsd-nat.c: Update.
4937         * amd64-linux-nat.c: Update.
4938         * arm-linux-nat.c: Update.
4939         * arm-nbsd-nat.c: Update.
4940         * auxv.c: Update.
4941         * break-catch-syscall.c: Update.
4942         * breakpoint.c: Update.
4943         * bsd-uthread.c: Update.
4944         * corelow.c: Update.
4945         * ctf.c: Update.
4946         * darwin-nat.c: Update.
4947         * fbsd-nat.c: Update.
4948         * fbsd-tdep.c: Update.
4949         * gcore.c: Update.
4950         * gnu-nat.c: Update.
4951         * hppa-nbsd-nat.c: Update.
4952         * hppa-obsd-nat.c: Update.
4953         * i386-fbsd-nat.c: Update.
4954         * ia64-linux-nat.c: Update.
4955         * inf-ptrace.c: Update.
4956         * infcmd.c: Update.
4957         * inferior.c: Update.
4958         * inferior.h: Update.
4959         * inflow.c: Update.
4960         * infrun.c: Update.
4961         * linux-fork.c: Update.
4962         * linux-nat.c: Update.
4963         * linux-tdep.c: Update.
4964         * linux-thread-db.c: Update.
4965         * m68k-bsd-nat.c: Update.
4966         * mi/mi-interp.c: Update.
4967         * mi/mi-main.c: Update.
4968         * mips-linux-nat.c: Update.
4969         * mips-nbsd-nat.c: Update.
4970         * mips64-obsd-nat.c: Update.
4971         * nat/aarch64-linux-hw-point.c: Update.
4972         * nat/aarch64-linux.c: Update.
4973         * nat/linux-btrace.c: Update.
4974         * nat/linux-osdata.c: Update.
4975         * nat/linux-procfs.c: Update.
4976         * nat/x86-linux-dregs.c: Update.
4977         * nto-procfs.c: Update.
4978         * obsd-nat.c: Update.
4979         * ppc-linux-nat.c: Update.
4980         * ppc-nbsd-nat.c: Update.
4981         * ppc-obsd-nat.c: Update.
4982         * proc-service.c: Update.
4983         * procfs.c: Update.
4984         * python/py-inferior.c: Update.
4985         * python/py-infthread.c: Update.
4986         * ravenscar-thread.c: Update.
4987         * record.c: Update.
4988         * remote-sim.c: Update.
4989         * remote.c: Update.
4990         * rs6000-nat.c: Update.
4991         * s390-linux-nat.c: Update.
4992         * sh-nbsd-nat.c: Update.
4993         * sol-thread.c: Update.
4994         * sparc-nat.c: Update.
4995         * sparc64-tdep.c: Update.
4996         * spu-linux-nat.c: Update.
4997         * spu-tdep.c: Update.
4998         * target-debug.h: Update.
4999         * target.c: Update.
5000         * thread.c: Update.
5001         * tid-parse.c: Update.
5002         * tracefile-tfile.c: Update.
5003         * vax-bsd-nat.c: Update.
5004         * windows-nat.c: Update.
5005         * x86-linux-nat.c: Update.
5006         * x86-nat.c: Update.
5007
5008 2018-07-03  Tom Tromey  <tom@tromey.com>
5009
5010         * common/ptid.c (pid_to_ptid): Remove.
5011         * common/ptid.h (pid_to_ptid): Don't declare.
5012         * aix-thread.c: Update.
5013         * arm-linux-nat.c: Update.
5014         * common/ptid.c: Update.
5015         * common/ptid.h: Update.
5016         * corelow.c: Update.
5017         * ctf.c: Update.
5018         * darwin-nat.c: Update.
5019         * fbsd-nat.c: Update.
5020         * fork-child.c: Update.
5021         * gnu-nat.c: Update.
5022         * go32-nat.c: Update.
5023         * inf-ptrace.c: Update.
5024         * infcmd.c: Update.
5025         * inferior.c: Update.
5026         * infrun.c: Update.
5027         * linux-fork.c: Update.
5028         * linux-nat.c: Update.
5029         * nat/aarch64-linux-hw-point.c: Update.
5030         * nat/fork-inferior.c: Update.
5031         * nat/x86-linux-dregs.c: Update.
5032         * nto-procfs.c: Update.
5033         * obsd-nat.c: Update.
5034         * procfs.c: Update.
5035         * progspace.c: Update.
5036         * remote.c: Update.
5037         * rs6000-nat.c: Update.
5038         * s390-linux-nat.c: Update.
5039         * sol-thread.c: Update.
5040         * spu-linux-nat.c: Update.
5041         * target.c: Update.
5042         * top.c: Update.
5043         * tracefile-tfile.c: Update.
5044         * windows-nat.c: Update.
5045
5046 2018-07-03  Tom Tromey  <tom@tromey.com>
5047
5048         * common/ptid.h (ptid_build): Don't declare.
5049         * common/ptid.c (ptid_build): Remove.
5050         * aix-thread.c: Update.
5051         * bsd-kvm.c: Update.
5052         * bsd-uthread.c: Update.
5053         * common/agent.c: Update.
5054         * common/ptid.c: Update.
5055         * common/ptid.h: Update.
5056         * corelow.c: Update.
5057         * darwin-nat.c: Update.
5058         * fbsd-nat.c: Update.
5059         * gnu-nat.c: Update.
5060         * linux-fork.c: Update.
5061         * linux-nat.c: Update.
5062         * linux-thread-db.c: Update.
5063         * nat/linux-osdata.c: Update.
5064         * nat/linux-procfs.c: Update.
5065         * nto-procfs.c: Update.
5066         * obsd-nat.c: Update.
5067         * proc-service.c: Update.
5068         * procfs.c: Update.
5069         * ravenscar-thread.c: Update.
5070         * remote-sim.c: Update.
5071         * remote.c: Update.
5072         * sol-thread.c: Update.
5073         * target.c: Update.
5074         * windows-nat.c: Update.
5075
5076 2018-07-03  Tom Tromey  <tom@tromey.com>
5077
5078         * infrun.c (follow_exec): Use exit_inferior_silent.
5079         * inferior.c (exit_inferior_num_silent): Remove.
5080         * inferior.h (exit_inferior_num_silent): Don't declare.
5081
5082 2018-07-03  Tom Tromey  <tom@tromey.com>
5083
5084         PR cli/23340:
5085         * darwin-nat.c (darwin_attach_pid): Reset inferior and
5086         inferior_ptid on error.
5087
5088 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
5089             Simon Marchi  <simon.marchi@polymtl.ca>
5090
5091         PR tdep/8282
5092         * disasm.h (gdb_disassembler): Add
5093         `m_disassembler_options_holder'. member
5094         * disasm.c (get_all_disassembler_options): New function.
5095         (gdb_disassembler::gdb_disassembler): Use it.
5096         (gdb_buffered_insn_length_init_dis): Likewise.
5097         (gdb_buffered_insn_length): Adjust accordingly.
5098         (set_disassembler_options): Handle options with arguments.
5099         (show_disassembler_options_sfunc): Likewise.  Add a leading new
5100         line if showing options with descriptions.
5101         (disassembler_options_completer): Adapt to using the
5102         `disasm_options_and_args_t' structure.
5103         * mips-tdep.c (mips_disassembler_options): New variable.
5104         (mips_disassembler_options_o32): Likewise.
5105         (mips_disassembler_options_n32): Likewise.
5106         (mips_disassembler_options_n64): Likewise.
5107         (gdb_print_insn_mips): Don't set `disassembler_options'.
5108         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
5109         functions.
5110         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
5111         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
5112         `gdbarch_disassembler_options_implicit' and
5113         `gdbarch_valid_disassembler_options'.
5114         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
5115         `disasm_options_and_args_t' structure.
5116         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
5117         method.
5118         (valid_disassembler_options): Switch from `disasm_options_t' to
5119         the `disasm_options_and_args_t' structure.
5120         * NEWS: Document `set disassembler-options' support for the MIPS
5121         target.
5122         * gdbarch.h: Regenerate.
5123         * gdbarch.c: Regenerate.
5124
5125 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5126
5127         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
5128
5129 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
5130
5131         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
5132         parameter in call to amd64_target_description.
5133         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
5134         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
5135         (amd64fbsd_init_abi): Likewise.
5136         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
5137         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
5138         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
5139         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
5140
5141 2018-06-29  Pedro Alves  <palves@redhat.com>
5142
5143         * gdb/amd64-tdep.h (amd64_create_target_description): Add
5144         "segments" parameter.
5145         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
5146         (_initialize_amd64_tdep): Update call to
5147         amd64_create_target_description.
5148         (amd64_target_description): Add "segments" parameter.  Adjust
5149         the implementation to use it.
5150         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
5151         call to amd64_create_target_description.
5152         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
5153         * gdb/arch/amd64.h (amd64_create_target_description): Add
5154         "segments" register.
5155         * gdb/arch/amd64.c (amd64_create_target_description): Add
5156         "segments" parameter.  Call create_feature_i386_64bit_segments
5157         only if SEGMENTS is true.
5158         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
5159         call to amd64_create_target_description.
5160
5161 2018-06-29  Pedro Alves  <palves@redhat.com>
5162
5163         * thread.c (thread_target_id_str): New, factored out from ...
5164         (print_thread_info_1): ... here.  Use it to compute the max
5165         "Target Id" column width.
5166
5167 2018-06-29  Pedro Alves  <palves@redhat.com>
5168
5169         * remote.c (remote_target::extra_thread_info): Delete
5170         'display_buf' and 'n' locals.  from the cache, regardless of
5171         packet mechanims is in use.  Use cache for qThreadExtra and qP
5172         methods too.
5173
5174 2018-06-29  Pedro Alves  <palves@redhat.com>
5175
5176         * blockframe.c (find_pc_sect_containing_function): New function.
5177         * breakpoint.c (print_breakpoint_location): Don't call
5178         find_pc_sect_function.
5179         * linespec.c (create_sals_line_offset): Record the location's
5180         symbol in the sal.
5181         * linespec.c (convert_address_location_to_sals): Fill in sal's
5182         symbol with find_pc_sect_containing_function.
5183         * symtab.c (find_function_start_sal): Rename to ...
5184         (find_function_start_sal_1): ... this.
5185         (find_function_start_sal): Reimplement as wrapper around
5186         find_function_start_sal_1, and use
5187         find_pc_sect_containing_function to fill in the sal's symbol.
5188         (find_function_start_sal(symbol*, bool)): Adjust.
5189         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
5190         comments.
5191         (find_pc_sect_containing_function): Declare.
5192
5193 2018-06-29  Pedro Alves  <palves@redhat.com>
5194
5195         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
5196         true if the the location has no symbol.
5197
5198 2018-06-28  Tom Tromey  <tom@tromey.com>
5199
5200         * NEWS: Mention --enable-codesign.
5201         * silent-rules.mk (ECHO_SIGN): New variable.
5202         * configure.ac: Add --enable-codesign.
5203         * configure: Rebuild.
5204         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
5205         (gdb$(EXEEXT)): Optionally invoke codesign.
5206
5207 2018-06-28  Pedro Alves  <palves@redhat.com>
5208
5209         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
5210         comments.
5211         (switch_to_thread_no_regs): Adjust comment.
5212         * infcmd.c (stop_pc): Delete.
5213         (post_create_inferior, info_program_command): Replace references
5214         to stop_pc with references to thread_info->suspend.stop_pc.
5215         * inferior.h (stop_pc): Delete declaration.
5216         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
5217         (handle_inferior_event_1, handle_signal_stop)
5218         (process_event_stop_test, keep_going_stepped_thread)
5219         (handle_step_into_function, handle_step_into_function_backward)
5220         (print_stop_location): Replace references to stop_pc with
5221         references to thread_info->suspend.stop_pc.
5222         (struct infcall_suspend_state) <stop_pc>: Delete field.
5223         (save_infcall_suspend_state, restore_infcall_suspend_state):
5224         Remove references to inf_stat->stop_pc.
5225         * linux-fork.c (fork_load_infrun_state): Likewise.
5226         * record-btrace.c (record_btrace_set_replay): Likewise.
5227         * record-full.c (record_full_goto_entry): Likewise.
5228         * remote.c (print_one_stopped_thread): Likewise.
5229         * target.c (target_resume): Extend comment.
5230         * thread.c (set_executing_thread): New.
5231         (set_executing): Use it.
5232         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
5233         Remove references to stop_pc.
5234
5235 2018-06-28  Pedro Alves  <palves@redhat.com>
5236
5237         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
5238         Moving fetching stop_pc until after ecs->event_thread is refreshed.
5239
5240 2018-06-28  Tom Tromey  <tom@tromey.com>
5241
5242         * coffread.c (coff_symfile_finish): Update.
5243         * xcoffread.c (xcoff_symfile_finish): Update.
5244         * elfread.c (elf_symfile_finish): Update.
5245         * symfile.h (dwarf2_free_objfile): Don't declare.
5246         * dwarf2read.c (_initialize_dwarf2_read): Use
5247         register_objfile_data_with_cleanup.
5248         (dwarf2_free_objfile): Now static.  Change signature.
5249
5250 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5251
5252         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
5253         option "-o" to add-symbol-file-load to add an offset to each
5254         section's load address.
5255         * symfile.c (set_objfile_default_section_offset): New function.
5256
5257 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5258
5259         * symfile.c (add_symbol_file_command): Make sure that sections
5260         with the same name are sorted in the same order.
5261
5262 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5263
5264         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
5265         require the second argument.  If omitted, load sections at the
5266         addresses specified in the file.
5267
5268 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5269
5270         * symfile.c (symbol_file_command, symbol_file_add_main_1)
5271         (_initialize_symfile): Add option "-o" to symbol-file to add an
5272         offset to each section of the symbol file.
5273
5274 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5275
5276         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
5277
5278 2018-06-27  Tom Tromey  <tom@tromey.com>
5279
5280         * stack.c (_initialize_stack): Update "func" help text.
5281
5282 2018-06-27  Tom Tromey  <tom@tromey.com>
5283
5284         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
5285         std::vector.
5286         (unwind_infopy_str, pyuw_create_unwind_info)
5287         (unwind_infopy_add_saved_register, pyuw_sniffer)
5288         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
5289         Update.
5290         (struct saved_reg): Add constructor.
5291         <value>: Now a gdbpy_ref<>.
5292
5293 2018-06-27  Tom Tromey  <tom@tromey.com>
5294
5295         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
5296
5297 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5298
5299         * gdb-gdb.py.in: Format using autopep8.
5300
5301 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5302
5303         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
5304         (type_lookup_function): Recognize CORE_ADDR values.
5305
5306 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5307
5308         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
5309         print tag_name.
5310
5311 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5312
5313         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
5314         <__lt__>: Add.
5315
5316 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5317
5318         * gdb-gdb.py: Move to...
5319         * gdb-gdb.py.in: ... here.
5320         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
5321         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
5322         dependencies.
5323         (distclean): Remove gdb-gdb.py when cleaning.
5324         (gdb-gdb.py, gdb-gdb.gdb): New rules.
5325         * configure: Re-generate.
5326
5327 2018-06-27  Pedro Alves  <palves@redhat.com>
5328
5329         * proc-service.c (get_ps_regcache): New.
5330         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
5331         (ps_lsetfpregs): Use it.
5332
5333 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
5334
5335         PR gdb/21695
5336         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
5337         (dwarf_decode_lines_1): Adjust.
5338
5339 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5340
5341         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
5342         override.
5343         <info_proc>: Likewise.
5344
5345 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
5346
5347         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
5348         to windows_fetch_one_register, and only handle the case of
5349         fetching one register.  Move the code that reloads the context
5350         and iterates over all registers if R is negative to...
5351         (windows_nat_target::fetch_registers): ... here.
5352         (do_windows_store_inferior_registers): Rename to
5353         windows_store_one_register, and only handle the case of storing
5354         one register.  Move the code that handles the case where r is
5355         negative to...
5356         (windows_nat_target::store_registers) ... here.
5357
5358 2018-06-26  Tom Tromey  <tom@tromey.com>
5359
5360         PR rust/22574:
5361         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
5362         * rust-lang.c (rust_print_struct_def): Add podata parameter.
5363         Update.
5364         (rust_internal_print_type): Add podata parameter.
5365         (rust_print_type): Update.
5366
5367 2018-06-26  Tom Tromey  <tom@tromey.com>
5368
5369         * typeprint.h (struct print_offset_data) <update, finish,
5370         maybe_print_hole>: New methods.
5371         <indentation>: New constant.
5372         * typeprint.c (print_offset_data::indentation): Define.
5373         (print_offset_data::maybe_print_hole, print_offset_data::update)
5374         (print_offset_data::finish): Move from c-typeprint.c and rename.
5375         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
5376         (print_spaces_filtered_with_print_options): Update.
5377         (c_print_type_union_field_offset, maybe_print_hole)
5378         (c_print_type_struct_field_offset): Move to typeprint.c and
5379         rename.
5380         (c_type_print_base_struct_union): Update.
5381
5382 2018-06-25  Pedro Alves  <palves@redhat.com>
5383
5384         * gdbthread.h (thread_info_ref, delete_thread)
5385         (delete_thread_silent, first_thread_of_inferior)
5386         (any_thread_of_inferior, switch_to_thread)
5387         (enable_thread_stack_temporaries)
5388         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5389         (get_last_thread_stack_temporary)
5390         (value_in_thread_stack_temporaries, can_access_registers_thread):
5391         Spell out "struct thread_info" instead of just "thread_info".
5392         * inferior.h (notice_new_inferior): Likewise.
5393
5394 2018-06-25  Pedro Alves  <palves@redhat.com>
5395
5396         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5397         pass thread_info pointer to delete_thread.
5398         (windows_nat_target::detach): Pass inferior pointer to
5399         detach_inferior.
5400         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
5401         delete_thread.
5402         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
5403         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
5404         and pass a thread_info pointer to delete_thread.
5405         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
5406         pass thread_info pointer to delete_thread.
5407         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
5408         delete_thread_silent call.
5409         * procfs.c (procfs_target::detach): Pass inferior pointer to
5410         detach_inferior.
5411         (procfs_target::wait): Pass thread_info pointer to delete_thread.
5412         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
5413         delete_thread_silent call.
5414         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5415         pass thread_info pointer to delete_thread.
5416         (windows_nat_target::detach): Pass inferior pointer to
5417         delete_inferior.
5418
5419 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5420
5421         * regcache.c (readable_regcache::read_part): Fix asserts.
5422         (reg_buffer::raw_collect_part): New function.
5423         (regcache::write_part): Fix asserts.
5424         (reg_buffer::raw_supply_part): New function.
5425         (regcache::transfer_regset_register): New helper function.
5426         (regcache::transfer_regset): Call new functions.
5427         (regcache_supply_regset): Use gdb_byte*.
5428         (regcache::supply_regset): Likewise.
5429         (regcache_collect_regset): Likewise.
5430         (regcache::collect_regset): Likewise.
5431         * regcache.h (reg_buffer::raw_collect_part): New declaration.
5432         (reg_buffer::raw_supply_part): Likewise.
5433         (regcache::transfer_regset_register): Likewise.
5434         (regcache::transfer_regset): Use gdb_byte*.
5435
5436 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5437
5438         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
5439
5440 2018-06-21  Pedro Alves  <palves@redhat.com>
5441
5442         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
5443         instead of a ptid_t.  All callers adjusted.
5444         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
5445         adjusted.
5446         (print_ada_task_info, display_current_task_id, task_command_1):
5447         Adjust.
5448         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
5449         inferior_thread.
5450         (breakpoint_kind): Adjust.
5451         (remove_breakpoints_pid): Rename to ...
5452         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
5453         pointer.  All callers adjusted.
5454         (bpstat_clear_actions): Use inferior_thread.
5455         (get_bpstat_thread): New.
5456         (bpstat_do_actions): Use it.
5457         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
5458         to take a thread_info pointer.  All callers adjusted.
5459         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
5460         (breakpoint_re_set_thread): Use inferior_thread.
5461         * breakpoint.h (struct inferior): Forward declare.
5462         (bpstat_stop_status): Update.
5463         (remove_breakpoints_pid): Delete.
5464         (remove_breakpoints_inf): New.
5465         * bsd-uthread.c (bsd_uthread_target::wait)
5466         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
5467         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
5468         (maint_btrace_packet_history_cmd)
5469         (maint_btrace_clear_packet_history_cmd): Adjust.
5470         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
5471         inferior_thread.
5472         * cli/cli-interp.c: Include "inferior.h".
5473         * common/refcounted-object.h (struct
5474         refcounted_object_ref_policy): New.
5475         * compile/compile-object-load.c: Include gdbthread.h.
5476         (store_regs): Use inferior_thread.
5477         * corelow.c (core_target::close): Use current_inferior.
5478         (core_target_open): Adjust to use first_thread_of_inferior and use
5479         the current inferior.
5480         * ctf.c (ctf_target::close): Adjust to use current_inferior.
5481         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
5482         <thread>: ... this new field.  All references adjusted.
5483         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
5484         Take a thread_info pointer instead of a ptid_t.
5485         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
5486         (dummy_frame_discard, register_dummy_frame_dtor): Take a
5487         thread_info pointer instead of a ptid_t.
5488         * elfread.c: Include "inferior.h".
5489         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
5490         Use inferior_thread.
5491         * eval.c (evaluate_subexp): Likewise.
5492         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
5493         inferior_thread.
5494         * gdb_proc_service.h (struct thread_info): Forward declare.
5495         (struct ps_prochandle) <ptid>: Delete, replaced by ...
5496         <thread>: ... this new field.  All references adjusted.
5497         * gdbarch.h, gdbarch.c: Regenerate.
5498         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
5499         'thread' parameter.  All implementations and callers adjusted.
5500         * gdbthread.h (thread_info) <set_running>: New method.
5501         (delete_thread, delete_thread_silent): Take a thread_info pointer
5502         instead of a ptid.
5503         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
5504         (first_thread_of_process): Delete, replaced by ...
5505         (first_thread_of_inferior): ... this new function.  All callers
5506         adjusted.
5507         (any_live_thread_of_process): Delete, replaced by ...
5508         (any_live_thread_of_inferior): ... this new function.  All callers
5509         adjusted.
5510         (switch_to_thread, switch_to_no_thread): Declare.
5511         (is_executing): Delete.
5512         (enable_thread_stack_temporaries): Update comment.
5513         <enable_thread_stack_temporaries>: Take a thread_info pointer
5514         instead of a ptid_t.  Incref the thread.
5515         <~enable_thread_stack_temporaries>: Decref the thread.
5516         <m_ptid>: Delete
5517         <m_thr>: New.
5518         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5519         (get_last_thread_stack_temporary)
5520         (value_in_thread_stack_temporaries, can_access_registers_thread):
5521         Take a thread_info pointer instead of a ptid_t.  All callers
5522         adjusted.
5523         * infcall.c (get_call_return_value): Use inferior_thread.
5524         (run_inferior_call): Work with thread pointers instead of ptid_t.
5525         (call_function_by_hand_dummy): Work with thread pointers instead
5526         of ptid_t.  Use thread_info_ref.
5527         * infcmd.c (proceed_thread_callback): Access thread's state
5528         directly.
5529         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
5530         access thread's state directly.
5531         (continue_command): Use inferior_thread.
5532         (info_program_command): Use find_thread_ptid and access thread
5533         state directly.
5534         (proceed_after_attach_callback): Use thread state directly.
5535         (notice_new_inferior): Take a thread_info pointer instead of a
5536         ptid_t.  All callers adjusted.
5537         (exit_inferior): Take an inferior pointer instead of a pid.  All
5538         callers adjusted.
5539         (exit_inferior_silent): New.
5540         (detach_inferior): Delete.
5541         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
5542         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
5543         (detach_inferior_command, kill_inferior_command): Use
5544         find_inferior_id instead of valid_gdb_inferior_id and
5545         gdb_inferior_id_to_pid.
5546         (inferior_command): Use inferior and thread pointers.
5547         * inferior.h (struct thread_info): Forward declare.
5548         (notice_new_inferior): Take a thread_info pointer instead of a
5549         ptid_t.  All callers adjusted.
5550         (detach_inferior): Delete declaration.
5551         (exit_inferior, exit_inferior_silent): Take an inferior pointer
5552         instead of a pid.  All callers adjusted.
5553         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
5554         (valid_gdb_inferior_id): Delete.
5555         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
5556         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
5557         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
5558         ...
5559         <inf>: ... this new field.
5560         <step_ptid>: Delete, replaced by ...
5561         <step_thread>: ... this new field.
5562         (get_displaced_stepping_state): Take an inferior pointer instead
5563         of a pid.  All callers adjusted.
5564         (displaced_step_in_progress_any_inferior): Adjust.
5565         (displaced_step_in_progress_thread): Take a thread pointer instead
5566         of a ptid_t.  All callers adjusted.
5567         (displaced_step_in_progress, add_displaced_stepping_state): Take
5568         an inferior pointer instead of a pid.  All callers adjusted.
5569         (get_displaced_step_closure_by_addr): Adjust.
5570         (remove_displaced_stepping_state): Take an inferior pointer
5571         instead of a pid.  All callers adjusted.
5572         (displaced_step_prepare_throw, displaced_step_prepare)
5573         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
5574         All callers adjusted.
5575         (start_step_over): Adjust.
5576         (infrun_thread_ptid_changed): Remove bit updating ptids in the
5577         displaced step queue.
5578         (do_target_resume): Adjust.
5579         (fetch_inferior_event): Use inferior_thread.
5580         (context_switch, get_inferior_stop_soon): Take an
5581         execution_control_state pointer instead of a ptid_t.  All callers
5582         adjusted.
5583         (switch_to_thread_cleanup): Delete.
5584         (stop_all_threads): Use scoped_restore_current_thread.
5585         * inline-frame.c: Include "gdbthread.h".
5586         (inline_state) <inline_state>: Take a thread pointer instead of a
5587         ptid_t.  All callers adjusted.
5588         <ptid>: Delete, replaced by ...
5589         <thread>: ... this new field.
5590         (find_inline_frame_state): Take a thread pointer instead of a
5591         ptid_t.  All callers adjusted.
5592         (skip_inline_frames, step_into_inline_frame)
5593         (inline_skipped_frames, inline_skipped_symbol): Take a thread
5594         pointer instead of a ptid_t.  All callers adjusted.
5595         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
5596         (inline_skipped_frames, inline_skipped_symbol): Likewise.
5597         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
5598         pointers directly.
5599         * linux-nat.c (get_detach_signal): Likewise.
5600         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
5601         (thread_db_notice_clone): Adjust.
5602         (thread_db_find_new_threads_silently)
5603         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
5604         a thread pointer instead of a ptid_t.  All callers adjusted.
5605         * mi/mi-cmd-var.c: Include "inferior.h".
5606         (mi_cmd_var_update_iter): Update to use thread pointers.
5607         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
5608         inferior directly.
5609         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
5610         out to ...
5611         (mi_output_running): ... this new function.
5612         (mi_on_resume_1): Adjust to use it.
5613         (mi_user_selected_context_changed): Adjust to use inferior_thread.
5614         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
5615         directly.
5616         (interrupt_thread_callback): : Adjust to use thread and inferior
5617         pointers.
5618         * proc-service.c: Include "gdbthread.h".
5619         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
5620         * progspace-and-thread.c: Include "inferior.h".
5621         * progspace.c: Include "inferior.h".
5622         * python/py-exitedevent.c (create_exited_event_object): Adjust to
5623         hold a reference to an inferior_object.
5624         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
5625         inferior_thread.
5626         * python/py-inferior.c (struct inferior_object): Give the type a
5627         tag name instead of a typedef.
5628         (python_on_normal_stop): No need to check if the current thread is
5629         listed.
5630         (inferior_to_inferior_object): Change return type to
5631         inferior_object.  All callers adjusted.
5632         (find_thread_object): Delete, bits factored out to ...
5633         (thread_to_thread_object): ... this new function.
5634         * python/py-infthread.c (create_thread_object): Use
5635         inferior_to_inferior_object.
5636         (thpy_is_stopped): Use thread pointer directly.
5637         (gdbpy_selected_thread): Use inferior_thread.
5638         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
5639         field, replaced with ...
5640         <thread>: ... this new field.  All users adjusted.
5641         (btpy_insn_or_gap_new): Drop const.
5642         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
5643         callers adjusted.
5644         * python/py-record.c: Include "gdbthread.h".
5645         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5646         a ptid_t.  All callers adjusted.
5647         (gdbpy_current_recording): Use inferior_thread.
5648         * python/py-record.h (recpy_record_object) <ptid>: Delete
5649         field, replaced with ...
5650         <thread>: ... this new field.  All users adjusted.
5651         (recpy_element_object) <ptid>: Delete
5652         field, replaced with ...
5653         <thread>: ... this new field.  All users adjusted.
5654         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5655         a ptid_t.  All callers adjusted.
5656         * python/py-threadevent.c: Include "gdbthread.h".
5657         (get_event_thread): Use thread_to_thread_object.
5658         * python/python-internal.h (struct inferior_object): Forward
5659         declare.
5660         (find_thread_object, find_inferior_object): Delete declarations.
5661         (thread_to_thread_object, inferior_to_inferior_object): New
5662         declarations.
5663         * record-btrace.c: Include "inferior.h".
5664         (require_btrace_thread): Use inferior_thread.
5665         (record_btrace_frame_sniffer)
5666         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
5667         (get_thread_current_frame): Use scoped_restore_current_thread and
5668         switch_to_thread.
5669         (get_thread_current_frame): Use thread pointer directly.
5670         (record_btrace_replay_at_breakpoint): Use thread's inferior
5671         pointer directly.
5672         * record-full.c: Include "inferior.h".
5673         * regcache.c: Include "gdbthread.h".
5674         (get_thread_arch_regcache): Use the inferior's address space
5675         directly.
5676         (get_thread_regcache, registers_changed_thread): New.
5677         * regcache.h (get_thread_regcache(thread_info *thread)): New
5678         overload.
5679         (registers_changed_thread): New.
5680         (remote_target) <remote_detach_1>: Swap order of parameters.
5681         (remote_add_thread): <remote_add_thread>: Return the new thread.
5682         (get_remote_thread_info(ptid_t)): New overload.
5683         (remote_target::remote_notice_new_inferior): Use thread pointers
5684         directly.
5685         (remote_target::process_initial_stop_replies): Use
5686         thread_info::set_running.
5687         (remote_target::remote_detach_1, remote_target::detach)
5688         (extended_remote_target::detach): Adjust.
5689         * stack.c (frame_show_address): Use inferior_thread.
5690         * target-debug.h (target_debug_print_thread_info_pp): New.
5691         * target-delegates.c: Regenerate.
5692         * target.c (default_thread_address_space): Delete.
5693         (memory_xfer_partial_1): Use current_inferior.
5694         (target_detach): Use current_inferior.
5695         (target_thread_address_space): Delete.
5696         (generic_mourn_inferior): Use current_inferior.
5697         * target.h (struct target_ops) <thread_address_space>: Delete.
5698         (target_thread_address_space): Delete.
5699         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
5700         pointers directly.
5701         (delete_thread_1, delete_thread, delete_thread_silent): Take a
5702         thread pointer instead of a ptid_t.  Adjust all callers.
5703         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
5704         (first_thread_of_process): Delete, replaced by ...
5705         (first_thread_of_inferior): ... this new function.  All callers
5706         adjusted.
5707         (any_thread_of_process): Rename to ...
5708         (any_thread_of_inferior): ... this, and take an inferior pointer.
5709         (any_live_thread_of_process): Rename to ...
5710         (any_live_thread_of_inferior): ... this, and take an inferior
5711         pointer.
5712         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5713         (value_in_thread_stack_temporaries)
5714         (get_last_thread_stack_temporary): Take a thread pointer instead
5715         of a ptid_t.  Adjust all callers.
5716         (thread_info::set_running): New.
5717         (validate_registers_access): Use inferior_thread.
5718         (can_access_registers_ptid): Rename to ...
5719         (can_access_registers_thread): ... this, and take a thread
5720         pointer.
5721         (print_thread_info_1): Adjust to compare thread pointers instead
5722         of ptids.
5723         (switch_to_no_thread, switch_to_thread): Make extern.
5724         (scoped_restore_current_thread::~scoped_restore_current_thread):
5725         Use m_thread pointer directly.
5726         (scoped_restore_current_thread::scoped_restore_current_thread):
5727         Use inferior_thread.
5728         (thread_command): Use thread pointer directly.
5729         (thread_num_make_value_helper): Use inferior_thread.
5730         * top.c (execute_command): Use inferior_thread.
5731         * tui/tui-interp.c: Include "inferior.h".
5732         * varobj.c (varobj_create): Use inferior_thread.
5733         (value_of_root_1): Use find_thread_global_id instead of
5734         global_thread_id_to_ptid.
5735
5736 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
5737
5738         * regcache.c (readable_regcache::read_part): Avoid memcpy when
5739         possible.
5740         (regcache::write_part): Likewise.
5741         (readable_regcache::cooked_read_part): Update comment.
5742         (readable_regcache::cooked_write_part): Likewise.
5743         * regcache.h: (readable_regcache::read_part): Likewise.
5744         (regcache::write_part): Likewise.
5745
5746 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
5747             Dirk Schubert  <dirk.schubert@arm.com>
5748
5749         * aarch64-linux-nat.c (post_attach): New.
5750         (aarch64_linux_nat_target::post_attach): Override post_attach to
5751         record the number of hardware debug registers.
5752
5753 2018-06-20  Tom Tromey  <tom@tromey.com>
5754
5755         * python/py-param.c (add_setshow_generic): Make parameters const.
5756         (parmpy_init): Update.
5757
5758 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5759
5760         * regcache.h (regcache_cooked_read_ftype): Rename to...
5761         (register_read_ftype): ...this, change type to function_view.
5762         (class reg_buffer) <save>: Remove src parameter.
5763         (readonly_detached_regcache) <readonly_detached_regcache>: Make
5764         parameter non-const in first overload.  Remove src parameter in
5765         second overload.
5766         * regcache.c (do_cooked_read): Remove.
5767         (readonly_detached_regcache::readonly_detached_regcache): Make
5768         parameter non-const, adjust call to other constructor.
5769         (reg_buffer::save): Remove src parameter.
5770         * frame.c (do_frame_register_read): Remove.
5771         (frame_save_as_regcache): Use lambda function.
5772         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
5773         parameter to ppu2spu_data *.
5774         (ppu2spu_sniffer): Use lambda function.
5775
5776 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5777
5778         * record-full.c (record_full_target::insert_breakpoint): Remove
5779         "struct" keyword, add const.
5780
5781 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
5782
5783         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
5784         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
5785         * configure.ac: Remove AC_PREREQ, add missing quoting.
5786         * gnulib/configure.ac: Modernize usage of
5787         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
5788         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
5789         (AUTOMAKE_VERSION): Bump to 1.15.1.
5790         * configure: Re-generate.
5791         * config.in: Re-generate.
5792         * aclocal.m4: Re-generate.
5793         * gnulib/aclocal.m4: Re-generate.
5794         * gnulib/config.in: Re-generate.
5795         * gnulib/configure: Re-generate.
5796         * gnulib/import/Makefile.in: Re-generate.
5797
5798 2018-06-19  Pedro Alves  <palves@redhat.com>
5799
5800         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
5801         (lookup_minimal_symbol_by_pc_section): ... here with
5802         gdb_assert_not_reached added.
5803
5804 2018-06-19  Pedro Alves  <palves@redhat.com>
5805
5806         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
5807         parameter with a block parameter.  Compare location's block symbol
5808         with the frame's block instead of addresses.
5809         (skip_inline_frames): Pass the current block instead of the
5810         frame's address.  Break out as soon as we determine the frame
5811         should not be skipped.
5812
5813 2018-06-18  Tom Tromey  <tom@tromey.com>
5814
5815         * solib-aix.c (solib_aix_get_section_offsets): Return
5816         unique_xmalloc_ptr.
5817         (solib_aix_solib_create_inferior_hook): Update.
5818
5819 2018-06-18  Tom Tromey  <tom@tromey.com>
5820
5821         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
5822
5823 2018-06-18  Tom Tromey  <tom@tromey.com>
5824
5825         * solib-frv.c (frv_relocate_main_executable): Use
5826         unique_xmalloc_ptr.
5827         * solib-dsbt.c (dsbt_relocate_main_executable): Use
5828         unique_xmalloc_ptr.
5829
5830 2018-06-18  Tom Tromey  <tom@tromey.com>
5831
5832         * objfiles.h (inhibit_section_map_updates): Update.
5833         (resume_section_map_updates, resume_section_map_updates_cleanup):
5834         Remove.
5835         * solib-svr4.c (svr4_handle_solib_event): Update.
5836         * objfiles.c (inhibit_section_map_updates): Return
5837         scoped_restore_tmpl<int>.
5838         (resume_section_map_updates, resume_section_map_updates_cleanup):
5839         Remove.
5840
5841 2018-06-18  Tom Tromey  <tom@tromey.com>
5842
5843         * valprint.h (read_string): Update.
5844         * valprint.c (read_string): Change type of "buffer".
5845         (val_print_string): Update.
5846         * python/py-value.c (valpy_string): Update.
5847         * language.h (struct language_defn) <la_get_string>: Change
5848         type of "buffer".
5849         (default_get_string, c_get_string): Update.
5850         * language.c (default_get_string): Change type of "buffer".
5851         * guile/scm-value.c (gdbscm_value_to_string): Update.
5852         * c-lang.c (c_get_string): Change type of "buffer".
5853
5854 2018-06-18  Tom Tromey  <tom@tromey.com>
5855
5856         * ser-mingw.c (struct pipe_state_destroyer): New.
5857         (pipe_state_up): New typedef.
5858         (cleanup_pipe_state): Remove.
5859         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
5860
5861 2018-06-18  Tom Tromey  <tom@tromey.com>
5862
5863         * rust-lang.h (rust_yyerror): Don't declare.
5864         * rust-lang.c (rust_language_defn): Update.
5865         * rust-exp.y (yyerror): Now static.
5866         * parse.c (parse_exp_in_context_1): Update.
5867         * p-lang.h (p_yyerror): Don't declare.
5868         * p-lang.c (p_language_defn): Update.
5869         * p-exp.y (yyerror): Now static.
5870         * opencl-lang.c (opencl_language_defn): Update.
5871         * objc-lang.c (objc_language_defn): Update.
5872         * m2-lang.h (m2_yyerror): Don't declare.
5873         * m2-lang.c (m2_language_defn): Update.
5874         * m2-exp.y (yyerror): Now static.
5875         * language.h (struct language_defn) <la_error>: Remove.
5876         * language.c (unk_lang_error): Remove.
5877         (unknown_language_defn, auto_language_defn): Remove.
5878         * go-lang.h (go_yyerror): Don't declare.
5879         * go-lang.c (go_language_defn): Update.
5880         * go-exp.y (yyerror): Now static.
5881         * f-lang.h (f_yyerror): Don't declare.
5882         * f-lang.c (f_language_defn): Update.
5883         * f-exp.y (yyerror): Now static.
5884         * d-lang.h (d_yyerror): Don't declare.
5885         * d-lang.c (d_language_defn): Update.
5886         * d-exp.y (yyerror): Now static.
5887         * c-lang.h (c_yyerror): Don't declare.
5888         * c-lang.c (c_language_defn, cplus_language_defn)
5889         (asm_language_defn, minimal_language_defn): Update.
5890         * c-exp.y (yyerror): Now static.
5891         * ada-lang.h (ada_yyerror): Don't declare.
5892         * ada-lang.c (ada_language_defn): Update.
5893         * ada-exp.y (yyerror): Now static.
5894
5895 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5896
5897         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
5898         (store_sveregs_to_thread): Likewise.
5899         (aarch64_linux_fetch_inferior_registers): Check for SVE.
5900         (aarch64_linux_store_inferior_registers): Likewise.
5901         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
5902         function.
5903         (aarch64_sve_regs_copy_to_regcache): Likewise.
5904         (aarch64_sve_regs_copy_from_regcache): Likewise.
5905         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
5906         declaration.
5907         (aarch64_sve_regs_copy_to_regcache): Likewise.
5908         (aarch64_sve_regs_copy_from_regcache): Likewise.
5909         (sve_context): Structure from Linux headers.
5910         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
5911         (SVE_SIG_ZREG_SIZE): Likewise.
5912         (SVE_SIG_PREG_SIZE): Likewise.
5913         (SVE_SIG_FFR_SIZE): Likewise.
5914         (SVE_SIG_REGS_OFFSET): Likewise.
5915         (SVE_SIG_ZREGS_OFFSET): Likewise.
5916         (SVE_SIG_ZREG_OFFSET): Likewise.
5917         (SVE_SIG_ZREGS_SIZE): Likewise.
5918         (SVE_SIG_PREGS_OFFSET): Likewise.
5919         (SVE_SIG_PREG_OFFSET): Likewise.
5920         (SVE_SIG_PREGS_SIZE): Likewise.
5921         (SVE_SIG_FFR_OFFSET): Likewise.
5922         (SVE_SIG_REGS_SIZE): Likewise.
5923         (SVE_SIG_CONTEXT_SIZE): Likewise.
5924         (SVE_PT_REGS_MASK): Likewise.
5925         (SVE_PT_REGS_FPSIMD): Likewise.
5926         (SVE_PT_REGS_SVE): Likewise.
5927         (SVE_PT_VL_INHERIT): Likewise.
5928         (SVE_PT_VL_ONEXEC): Likewise.
5929         (SVE_PT_REGS_OFFSET): Likewise.
5930         (SVE_PT_FPSIMD_OFFSET): Likewise.
5931         (SVE_PT_FPSIMD_SIZE): Likewise.
5932         (SVE_PT_SVE_ZREG_SIZE): Likewise.
5933         (SVE_PT_SVE_PREG_SIZE): Likewise.
5934         (SVE_PT_SVE_FFR_SIZE): Likewise.
5935         (SVE_PT_SVE_FPSR_SIZE): Likewise.
5936         (SVE_PT_SVE_FPCR_SIZE): Likewise.
5937         (__SVE_SIG_TO_PT): Likewise.
5938         (SVE_PT_SVE_OFFSET): Likewise.
5939         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
5940         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
5941         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
5942         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
5943         (SVE_PT_SVE_PREG_OFFSET): Likewise.
5944         (SVE_PT_SVE_PREGS_SIZE): Likewise.
5945         (SVE_PT_SVE_FFR_OFFSET): Likewise.
5946         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
5947         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
5948         (SVE_PT_SVE_SIZE): Likewise.
5949         (SVE_PT_SIZE): Likewise.
5950         (HAS_SVE_STATE): New define.
5951
5952 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5953
5954         * nat/aarch64-sve-linux-sigcontext.h: New file.
5955         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
5956         new files.
5957         (SVE_VQ_MIN): Likewise.
5958         (SVE_VQ_MAX): Likewise.
5959         (SVE_VL_MIN): Likewise.
5960         (SVE_VL_MAX): Likewise.
5961         (SVE_NUM_ZREGS): Likewise.
5962         (SVE_NUM_PREGS): Likewise.
5963         (sve_vl_valid): Likewise.
5964         (struct user_sve_header): Likewise.
5965
5966 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
5967             Richard Bunt <Richard.Bunt@arm.com>
5968
5969         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
5970         was requested by GDB.
5971
5972 2018-06-15  Tom de Vries  <tdevries@suse.de>
5973
5974         * MAINTAINERS (Write After Approval): Add Tom de Vries.
5975
5976 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
5977
5978         * gnulib/update-gnulib.sh: Print expected versions of
5979         autoconf/aclocal.
5980
5981 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
5982
5983         * arch-utils.c (default_type_align): Use type_length_units.
5984         * gdbtypes.c (type_align): Use type_length_units.
5985
5986 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
5987
5988         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
5989         of 'define' command.
5990
5991 2018-06-14  Tom de Vries  <tdevries@suse.de>
5992
5993         PR cli/22573
5994         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
5995         get_no_prettyformat_print_options.
5996
5997 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
5998
5999         * sparc-nat.h: Include target.h.
6000         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
6001         <fetch_registers>: Remove this argument in function call.
6002         <store_registers>: Remove this argument in function call, remove
6003         extra semicolon.
6004         <low_forget_process>: Call sparc64_forget_process instead of
6005         sparc_forget_process.
6006
6007 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6008
6009         * procfs.c (_initialize_procfs): Use add_inf_child_target.
6010         (procfs_target::make_corefile_notes): Adjust to new
6011         target_read_alloc return type.
6012
6013 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6014             Stephen Roberts  <stephen.roberts@arm.com>
6015
6016         PR gdb/22882
6017         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
6018         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
6019         Move should_notify_stop local into more inner scope.
6020
6021 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6022             Stephen Roberts  <stephen.roberts@arm.com>
6023
6024         PR gdb/22882
6025         * infrun.c (resume_1): Add call to mark_async_event_handler.
6026
6027 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6028
6029         * infrun.c (do_target_wait): Change old version of $pc printed.
6030
6031 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
6032
6033         * dwarf2read.c (read_index_from_section): Rename to...
6034         (read_gdb_index_from_section): ... this, update all callers.
6035         (dwarf2_read_index): Rename to...
6036         (dwarf2_read_gdb_index): ... this, update all callers.
6037
6038 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
6039
6040         * gdb/hppa-linux-nat.c
6041         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
6042         hppa_linux_nat_target::fetch_registers.
6043
6044 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6045
6046         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
6047         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
6048         (AARCH64_DWARF_SVE_FFR): Likewise.
6049         (AARCH64_DWARF_SVE_P0): Likewise.
6050         (AARCH64_DWARF_SVE_Z0): Likewise.
6051
6052 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6053
6054         * common/common-regcache.h (raw_compare): New function.
6055         * regcache.c (regcache::raw_compare): Likewise.
6056         * regcache.h (regcache::raw_compare): New declaration.
6057
6058 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6059
6060         * common/common-regcache.h (reg_buffer_common): New structure.
6061         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
6062         (reg_buffer::raw_supply): Likewise.
6063         (reg_buffer::raw_supply_integer): Likewise.
6064         (reg_buffer::raw_supply_zeroed): Likewise.
6065         (reg_buffer::raw_collect): Likewise.
6066         (reg_buffer::raw_collect_integer): Likewise.
6067         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
6068         (reg_buffer::raw_supply): Likewise.
6069         (reg_buffer::raw_supply_integer): Likewise.
6070         (reg_buffer::raw_supply_zeroed): Likewise.
6071         (reg_buffer::raw_collect): Likewise.
6072         (reg_buffer::raw_collect_integer): Likewise.
6073
6074 2018-06-10  Tom Tromey  <tom@tromey.com>
6075
6076         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
6077         (class remote_state) <stop_reply_queue>: Now std::vector.
6078         (remote_state::~remote_state)
6079         (remote_target::stop_reply_queue_length): Update.
6080         (struct queue_iter_param, remove_child_of_pending_fork)
6081         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
6082         (check_pending_event_prevents_wildcard_vcont_callback)
6083         (remove_stop_reply_for_inferior)
6084         (remove_stop_reply_of_remote_state)
6085         (remote_notif_remove_once_on_match)
6086         (stop_reply_match_ptid_and_ws)
6087         (remote_kill_child_of_pending_fork): Remove.
6088         (remote_target::remove_new_fork_children)
6089         (remote_target::check_pending_events_prevent_wildcard_vcont)
6090         (remote_target::discard_pending_stop_replies)
6091         (remote_target::discard_pending_stop_replies_in_queue)
6092         (remote_target::remote_notif_remove_queued_reply)
6093         (remote_target::queued_stop_reply)
6094         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
6095         (remote_target::wait, remote_target::kill_new_fork_children)
6096         (remote_target::async): Update.
6097
6098 2018-06-10  Tom Tromey  <tom@tromey.com>
6099
6100         * record-full.c (record_full_arch_list_cleanups): Remove.
6101         (record_full_message): Use try/catch.
6102         (record_full_wait_cleanups): Remove.
6103         (record_full_wait_1): Use try/catch.
6104         (record_full_restore): Likewise.
6105
6106 2018-06-10  Tom Tromey  <tom@tromey.com>
6107
6108         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
6109         declare VEC.  Add constructor.
6110         <in_target_beneath>: Now bool.
6111         (record_full_breakpoints): Now a std::vector, static.
6112         (record_full_sync_record_breakpoints)
6113         (record_full_init_record_breakpoints)
6114         (record_full_target::insert_breakpoint)
6115         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
6116
6117 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
6118
6119         * dwarf2read.c (process_cu_includes): Remove struct keyword.
6120         * serial.c (serial_interface_lookup): Remove struct keyword.
6121
6122 2018-06-10  Tom Tromey  <tom@tromey.com>
6123
6124         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
6125         method.
6126         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
6127         a method.
6128         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
6129         method.
6130         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
6131         "beneath" as a method.
6132         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
6133         Use "beneath" as a method.
6134
6135 2018-06-10  Tom Tromey  <tom@tromey.com>
6136
6137         * tracefile.c (struct trace_file_writer_deleter): New.
6138         <operator()>: Rename from trace_file_writer_xfree.
6139         (trace_file_writer_up): New typedef.
6140         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
6141
6142 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
6143
6144         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
6145         <m_registers, m_register_status>: Change type to
6146         std::unique_ptr.
6147         * regcache.c (reg_buffer::reg_buffer): Use new instead of
6148         XCNEWVEC.
6149
6150 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
6151
6152         * common/common-regcache.h (enum register_status): Add
6153         underlying type "signed char".
6154         * regcache.h (reg_buffer) <m_register_status>: Change type to
6155         register_status *.
6156         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
6157         register_status instead of signed char.
6158         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
6159         (reg_buffer::get_register_status): Remove cast.
6160         (readable_regcache::raw_read): Remove cast.
6161         (readable_regcache::cooked_read): Remove cast.
6162
6163 2018-06-09  Tom Tromey  <tom@tromey.com>
6164
6165         * source.c (reverse_search_command, forward_search_command): Use
6166         scoped_fd.
6167
6168 2018-06-09  Tom Tromey  <tom@tromey.com>
6169
6170         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
6171         (serial_ops_list): Now static, std::vector.
6172         (serial_interface_lookup, serial_add_interface): Update.
6173
6174 2018-06-09  Tom Tromey  <tom@tromey.com>
6175
6176         * dwarf2read.c (process_cu_includes): Update.
6177         (process_full_comp_unit): Update.
6178         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
6179         std::vector.
6180
6181 2018-06-08  Paul Koning  <paul_koning@dell.com>
6182
6183         PR gdb/23252
6184
6185         * python/python.c (do_start_initialization):
6186         Avoid call to internal Python API.
6187         (init__gdb_module): New function.
6188
6189 2018-06-08  Gary Benson <gbenson@redhat.com>
6190
6191         * linux-thread-db.c (valprint.h): New include.
6192         (struct check_thread_db_info): New structure.
6193         (check_thread_db_on_load, tdb_testinfo): New static globals.
6194         (check_thread_db, check_thread_db_callback): New functions.
6195         (try_thread_db_load_1): Run integrity checks if requested.
6196         (maintenance_check_libthread_db): New function.
6197         (_initialize_thread_db): Register "maint check libthread-db"
6198         and "maint set/show check-libthread-db".
6199         * NEWS: Mention the above new commands.
6200
6201 2018-06-08  Tom Tromey  <tom@tromey.com>
6202
6203         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
6204         now a method.
6205
6206 2018-06-08  Tom Tromey  <tom@tromey.com>
6207
6208         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
6209
6210 2018-06-08  Tom Tromey  <tom@tromey.com>
6211
6212         * common/btrace-common.h (struct btrace_data): Add constructor,
6213         destructor, move assignment operator.
6214         <empty, clear, fini>: New methods.
6215         <format>: Initialize.
6216         (btrace_data_init, btrace_data_fini, btrace_data_clear)
6217         (btrace_data_empty): Don't declare.
6218         * common/btrace-common.c (btrace_data_init): Remove.
6219         (btrace_data::fini): Rename from btrace_data_fini.
6220         (btrace_data::empty): Rename from btrace_data_empty.
6221         (btrace_data::clear): Rename from btrace_data_clear.  Return
6222         bool.
6223         * btrace.h (make_cleanup_btrace_data): Don't declare.
6224         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
6225         (parse_xml_btrace): Update.
6226         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
6227         (maint_btrace_clear_packet_history_cmd): Update.
6228
6229 2018-06-07  Pedro Alves  <palves@redhat.com>
6230
6231         * target.h (target_ops) <beneath>: Now a method.  All references
6232         updated.
6233         (class target_stack): New.
6234         * target.c (g_target_stack): New.
6235         (g_current_top_target): Delete.
6236         (current_top_target): Get the top target out of g_target_stack.
6237         (target_stack::push, target_stack::unpush): New.
6238         (push_target, unpush_target): Reimplement.
6239         (target_is_pushed): Reimplement in terms of g_target_stack.
6240         (target_ops::beneath, target_stack::find_beneath): New.
6241
6242 2018-06-07  Pedro Alves  <palves@redhat.com>
6243
6244         * target.h (find_target_beneath): Delete declaration.
6245         * target.c (find_target_beneath): Delete definition.
6246         * aix-thread.c: All callers of find_target_beneath adjusted to
6247         call target_ops::beneath instead.
6248         * bsd-uthread.c: Likewise.
6249         * linux-thread-db.c: Likewise.
6250         * ravenscar-thread.c: Likewise.
6251         * sol-thread.c: Likewise.
6252         * spu-multiarch.c: Likewise.
6253
6254 2018-06-07  Pedro Alves  <palves@redhat.com>
6255
6256         * target.h (target_ops) <beneath>: Now a method.  All references
6257         updated.
6258         (target_ops) <m_beneath>: New.
6259         * target.c (target_ops::beneath): New.
6260         * corelow.c: Adjust all references to target_ops::beneath.
6261         * linux-thread-db.c: Likewise.
6262         * make-target-delegates: Likewise.
6263         * record-btrace.c: Likewise.
6264         * record-full.c: Likewise.
6265         * remote.c: Likewise.
6266         * target.c: Likewise.
6267         * target-delegates.c: Regenerate.
6268
6269 2018-06-07  Pedro Alves  <palves@redhat.com>
6270
6271         * target.h (target_stack): Delete.
6272         (current_top_target): Declare function.
6273         * target.c (target_stack): Delete.
6274         (g_current_top_target): New.
6275         (current_top_target): New function.
6276         * auxv.c: Use current_top_target instead of target_stack
6277         throughout.
6278         * avr-tdep.c: Likewise.
6279         * breakpoint.c: Likewise.
6280         * corefile.c: Likewise.
6281         * elfread.c: Likewise.
6282         * eval.c: Likewise.
6283         * exceptions.c: Likewise.
6284         * frame.c: Likewise.
6285         * gdbarch-selftests.c: Likewise.
6286         * gnu-v3-abi.c: Likewise.
6287         * ia64-tdep.c: Likewise.
6288         * ia64-vms-tdep.c: Likewise.
6289         * infcall.c: Likewise.
6290         * infcmd.c: Likewise.
6291         * infrun.c: Likewise.
6292         * linespec.c: Likewise.
6293         * linux-tdep.c: Likewise.
6294         * minsyms.c: Likewise.
6295         * ppc-linux-nat.c: Likewise.
6296         * ppc-linux-tdep.c: Likewise.
6297         * procfs.c: Likewise.
6298         * regcache.c: Likewise.
6299         * remote.c: Likewise.
6300         * rs6000-tdep.c: Likewise.
6301         * s390-linux-nat.c: Likewise.
6302         * s390-tdep.c: Likewise.
6303         * solib-aix.c: Likewise.
6304         * solib-darwin.c: Likewise.
6305         * solib-dsbt.c: Likewise.
6306         * solib-spu.c: Likewise.
6307         * solib-svr4.c: Likewise.
6308         * solib-target.c: Likewise.
6309         * sparc-tdep.c: Likewise.
6310         * sparc64-tdep.c: Likewise.
6311         * spu-tdep.c: Likewise.
6312         * symfile.c: Likewise.
6313         * symtab.c: Likewise.
6314         * target-descriptions.c: Likewise.
6315         * target-memory.c: Likewise.
6316         * target.c: Likewise.
6317         * target.h: Likewise.
6318         * tracefile-tfile.c: Likewise.
6319         * tracepoint.c: Likewise.
6320         * valops.c: Likewise.
6321         * valprint.c: Likewise.
6322         * value.c: Likewise.
6323         * windows-tdep.c: Likewise.
6324         * mi/mi-main.c: Likewise.
6325
6326 2018-06-07  Tom Tromey  <tom@tromey.com>
6327
6328         * valprint.h (build_address_symbolic): Declare.
6329         * printcmd.c (print_address_symbolic): Update.
6330         (build_address_symbolic): Change "name" and "filename" to
6331         std::string.
6332         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
6333         Update.
6334         * defs.h (build_address_symbolic): Remove declaration.
6335
6336 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
6337
6338         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
6339         (aarch64_vnv_type): Add function.
6340         (aarch64_pseudo_register_name): Add V regs for SVE.
6341         (aarch64_pseudo_register_type): Likewise.
6342         (aarch64_pseudo_register_reggroup_p): Likewise.
6343         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
6344         (aarch64_pseudo_read_value): Add V regs for SVE.
6345         (aarch64_pseudo_write_2): Use V0 offset for SVE
6346         (aarch64_pseudo_write): Add V regs for SVE.
6347         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
6348
6349 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
6350
6351         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
6352         (sve_vl_from_vq): Likewise.
6353
6354 2018-06-05  Tom Tromey  <tom@tromey.com>
6355
6356         * cli/cli-cmds.c (show_version): Update.
6357         * top.c (print_gdb_version): Add "interactive" parameter.
6358         Update.
6359         * main.c (captured_main_1): Update.
6360         * top.h (print_gdb_version): Add "interactive" parameter and a
6361         comment.
6362
6363 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
6364
6365         * common/enum-flags.h: Add trailing semicolon to example in
6366         comment.
6367
6368 2018-06-05  Tom Tromey  <tom@tromey.com>
6369
6370         PR cli/12326:
6371         * NEWS: Add entry about pager.
6372         * utils.c (pagination_disabled_for_command): New global.
6373         (prompt_for_continue): Allow "c" response to prompt.
6374         (reinitialize_more_filter): Clear
6375         pagination_disabled_for_command.
6376         (fputs_maybe_filtered): Check pagination_disabled_for_command.
6377
6378 2018-06-04  Tom Tromey  <tom@tromey.com>
6379
6380         * ada-lang.h (ada_lookup_symbol_list): Update.
6381         * ada-lang.c (resolve_subexp): Update.
6382         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
6383         parameter.
6384         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
6385         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
6386         results parameter to std::vector.
6387         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
6388         Update.
6389         * ada-exp.y (block_lookup): Update.
6390         (select_possible_type_sym): Change type of syms.  Remove nsyms
6391         parameter.
6392         (write_var_or_type, write_name_assoc): Update.
6393
6394 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
6395
6396         * windows-nat.c (windows_nat_target::xfer_partial): Return
6397         TARGET_XFER_E_IO if we need to delegate to the target beneath
6398         but BENEATH is NULL.
6399
6400 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
6401
6402         * Makefile.in (config.status): Add configure.nat as a
6403         dependency.
6404
6405 2018-06-04  Tom Tromey  <tom@tromey.com>
6406
6407         * cp-name-parser.y (cpname_state): Add method declarations.
6408         (HANDLE_QUAL): Update.
6409         (cpname_state::d_grab, cpname_state::fill_comp)
6410         (cpname_state::make_operator, cpname_state::make_dtor)
6411         (cpname_state::make_builtin_type, cpname_state::make_name)
6412         (cpname_state::d_qualify, cpname_state::d_int_type)
6413         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
6414         (%union): Move earlier.
6415
6416 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6417
6418         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
6419
6420 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6421
6422         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
6423         (aarch64_pseudo_write_1): Likewise.
6424         (aarch64_pseudo_read_value): Use helper.
6425         (aarch64_pseudo_write): Likewise.
6426
6427 2018-06-04  Pedro Alves  <palves@redhat.com>
6428
6429         * darwin-nat.c (darwin_ops): Delete.
6430         (darwin_attach_pid): Use get_native_target.
6431
6432 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6433
6434         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
6435         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
6436
6437 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6438
6439         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
6440         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
6441         (aarch64_gdbarch_init): Check for SVE.
6442         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
6443
6444 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6445
6446         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
6447         * aarch64-tdep.h (aarch64_read_description): Likewise.
6448         * arch/aarch64.c (aarch64_create_target_description): Likewise.
6449         * arch/aarch64.h (aarch64_create_target_description): Likewise.
6450         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
6451         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
6452         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
6453
6454 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
6455
6456         * value.c (value_fetch_lazy_bitfield): New.
6457         (value_fetch_lazy_memory): New.
6458         (value_fetch_lazy_register): New.
6459         (value_fetch_lazy): Factor out to smaller functions.
6460
6461 2018-06-01  Tom Tromey  <tom@tromey.com>
6462
6463         * cp-name-parser.y (backslashable, represented): Now const.
6464
6465 2018-06-01  Tom Tromey  <tom@tromey.com>
6466
6467         * cp-name-parser.y: Include parser-defs.h.
6468         (parser_fprintf): Remove declaration.
6469
6470 2018-06-01  Tom Tromey  <tom@tromey.com>
6471
6472         * cp-name-parser.y: Use %pure-parser, %lex-param, and
6473         %parse-param.
6474         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
6475         (global_result): Remove globals.
6476         (struct cpname_state): New.
6477         (yyparse): Don't declare.
6478         (yylex, yyerror): Move declarations after %union.
6479         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
6480         (make_name): Add state parameter.
6481         Update all callers.
6482         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
6483         parameter.
6484         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
6485         Update.
6486         (yylex): Add lvalp, state parameters.
6487         (yyerror): Add state parameter.
6488         (cp_demangled_name_to_comp): Update.
6489
6490 2018-06-01  Tom Tromey  <tom@tromey.com>
6491
6492         * cp-name-parser.y (parser_fprintf): Declare.
6493         (GDB_YY_REMAP_PREFIX): Define.
6494         Include yy-remap.h.  Don't redefine yy* identifiers.
6495
6496 2018-06-01  Tom Tromey  <tom@tromey.com>
6497
6498         * python/py-type.c (typy_legacy_template_argument): Update.
6499         * cp-support.h (cp_demangled_name_to_comp): Update.
6500         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
6501         parameter to be a "std::string *".
6502         (main): Update.
6503
6504 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
6505
6506         * ada-lex.l: Include "diagnostics.h" instead of
6507         "common/diagnostics.h".
6508         * unittests/environ-selftests.c: Likewise.
6509         * common/diagnostics.h: Moved to ../include.
6510
6511 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
6512
6513         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
6514         to language_mode_manual while calling breakpoint_re_set_one.
6515
6516 2018-06-01  Tom Tromey  <tom@tromey.com>
6517
6518         * valops.c (value_cast_structs, destructor_name_p): Update.
6519         * symtab.c (gdb_mangle_name): Update.
6520         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
6521         Update.
6522         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
6523         (pascal_object_print_value_fields, pascal_object_print_value):
6524         Update.
6525         * p-typeprint.c (pascal_type_print_derivation_info): Update.
6526         * linespec.c (find_methods): Update.
6527         * gdbtypes.h (type_name_no_tag): Remove.
6528         (type_name_or_error): Rename from type_name_no_tag_or_error.
6529         * gdbtypes.c (type_name_no_tag): Remove.
6530         (type_name_or_error): Rename from type_name_no_tag_or_error.
6531         (lookup_struct_elt_type, check_typedef): Update.
6532         * expprint.c (print_subexp_standard): Update.
6533         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
6534         * d-namespace.c (d_lookup_nested_symbol): Update.
6535         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
6536         (cp_print_class_member): Update.
6537         * cp-namespace.c (cp_lookup_nested_symbol): Update.
6538         * completer.c (add_struct_fields): Update.
6539         * c-typeprint.c (cp_type_print_derivation_info)
6540         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
6541         Update.
6542         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
6543         (ada_prefer_type, ada_is_exception_sym): Update.
6544
6545 2018-06-01  Tom Tromey  <tom@tromey.com>
6546
6547         * valops.c (enum_constant_from_type, value_namespace_elt)
6548         (value_maybe_namespace_elt): Update.
6549         * valarith.c (find_size_for_pointer_math): Update.
6550         * target-descriptions.c (make_gdb_type): Update.
6551         * symmisc.c (print_symbol): Update.
6552         * stabsread.c (define_symbol, read_type)
6553         (complain_about_struct_wipeout, add_undefined_type)
6554         (cleanup_undefined_types_1): Update.
6555         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
6556         (rust_range_type_p, val_print_struct, rust_print_struct_def)
6557         (rust_internal_print_type, rust_composite_type)
6558         (rust_evaluate_funcall, rust_evaluate_subexp)
6559         (rust_inclusive_range_type_p): Update.
6560         * python/py-type.c (typy_get_tag): Update.
6561         * p-typeprint.c (pascal_type_print_base): Update.
6562         * mdebugread.c (parse_symbol, parse_type): Update.
6563         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
6564         Update.
6565         * guile/scm-type.c (gdbscm_type_tag): Update.
6566         * go-lang.c (sixg_string_p): Update.
6567         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
6568         Update.
6569         * gdbtypes.h (struct main_type) <tag_name>: Remove.
6570         (TYPE_TAG_NAME): Remove.
6571         * gdbtypes.c (type_name_no_tag): Simplify.
6572         (check_typedef, check_types_equal, recursive_dump_type)
6573         (copy_type_recursive, arch_composite_type): Update.
6574         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
6575         in summary mode when needed.
6576         * eval.c (evaluate_funcall): Update.
6577         * dwarf2read.c (fixup_go_packaging, read_structure_type)
6578         (process_structure_scope, read_enumeration_type)
6579         (read_namespace_type, read_module_type, determine_prefix): Update.
6580         * cp-support.c (inspect_type): Update.
6581         * coffread.c (process_coff_symbol, decode_base_type): Update.
6582         * c-varobj.c (c_is_path_expr_parent): Update.
6583         * c-typeprint.c (c_type_print_base_struct_union): Update.
6584         (c_type_print_base_1): Update.  Print struct/class/union/enum in
6585         summary when using C language.
6586         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
6587         (gen_maybe_namespace_elt): Update.
6588         * ada-lang.c (ada_type_name): Simplify.
6589         (empty_record, ada_template_to_fixed_record_type_1)
6590         (template_to_static_fixed_type)
6591         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
6592
6593 2018-06-01  Tom Tromey  <tom@tromey.com>
6594
6595         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
6596         c_print_type.
6597         * c-typeprint.c (c_print_type_1): Add "language" parameter.
6598         (c_print_type): Update.
6599         (c_print_type): New overload.
6600         (c_type_print_varspec_prefix, c_type_print_args)
6601         (c_type_print_varspec_suffix, c_print_type_no_offsets)
6602         (c_type_print_base_struct_union, c_type_print_base_1)
6603         (cp_type_print_method_args): Add "language" parameter.
6604         (c_type_print_base): Update.
6605         * c-lang.h (c_print_type): Add new overload.
6606
6607 2018-06-01  Tom Tromey  <tom@tromey.com>
6608
6609         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
6610         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
6611
6612 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
6613
6614         * aarch64-tdep.c (aarch64_sve_register_names): New const
6615         var.
6616         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
6617         (AARCH64_SVE_Z_REGS_NUM): New define.
6618         (AARCH64_SVE_P_REGS_NUM): Likewise.
6619         (AARCH64_SVE_NUM_REGS): Likewise.
6620
6621 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
6622
6623         * nat/linux-ptrace.h [__alpha__]
6624         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
6625         definitions.
6626
6627 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
6628
6629         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
6630         the endianness selected.
6631         * NEWS: Document `set endian auto' mode operation update.
6632
6633 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6634
6635         * Makefile.in: Add new header.
6636         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
6637         (sve_vl_from_vg): Likewise.
6638         (sve_vq_from_vl): Likewise.
6639         (sve_vl_from_vq): Likewise.
6640         (sve_vq_from_vg): Likewise.
6641         (sve_vg_from_vq): Likewise.
6642         * configure.nat: Add new c file.
6643         * nat/aarch64-sve-linux-ptrace.c: New file.
6644         * nat/aarch64-sve-linux-ptrace.h: New file.
6645
6646 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6647
6648         * aarch64-linux-nat.c (aarch64_linux_read_description):
6649         Add parmeter zero.
6650         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
6651         Likewise.
6652         * aarch64-tdep.c (tdesc_aarch64_list): Add.
6653         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
6654         (aarch64_gdbarch_init): Add parmeter zero.
6655         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
6656         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
6657         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
6658         parmeter.
6659         * doc/gdb.texinfo: Describe SVE feature
6660         * features/aarch64-sve.c: New file.
6661
6662 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
6663
6664         PR gdb/23210
6665         * gdbarch.sh (significant_addr_bit): Default to zero when
6666         not set by target architecture.
6667         * gdbarch.c: Re-generated.
6668         * utils.c (address_significant): Update.
6669
6670 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
6671
6672         * stack.c (func_command): Remove trailing newline in call to error.
6673
6674 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6675
6676         * regcache.h (regcache_raw_collect): Remove, update callers to
6677         use regcache::raw_collect.
6678         * regcache.c (regcache_raw_collect): Remove.
6679
6680 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6681
6682         * regcache.h (regcache_raw_supply): Remove, update callers to
6683         use detached_regcache::raw_supply.
6684         * regcache.c (regcache_raw_supply): Remove.
6685
6686 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6687
6688         * regcache.h (regcache_cooked_write_part): Remove, update
6689         callers to use regcache::cooked_write_part.
6690         * regcache.c (regcache_cooked_write_part): Remove.
6691
6692 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6693
6694         * regcache.h (regcache_cooked_read_part): Remove, update callers
6695         to use readable_regcache::cooked_read_part.
6696         * regcache.c (regcache_cooked_read_part): Remove.
6697
6698 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6699
6700         * regcache.h (regcache_cooked_read_value): Remove, update
6701         callers to use readable_regcache::cooked_read_value.
6702         * regcache.c (regcache_cooked_read_value): Remove.
6703
6704 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6705
6706         * regcache.h (regcache_cooked_write): Remove, update callers to
6707         use regcache::cooked_write.
6708         * regcache.c (regcache_cooked_write): Remove.
6709
6710 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6711
6712         * regcache.h (regcache_invalidate): Remove, update callers to
6713         use detached_regcache::invalidate instead.
6714         * regcache.c (regcache_invalidate): Remove.
6715
6716 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6717
6718         * regcache.h (regcache_raw_write_part): Remove, update callers
6719         to use regcache::raw_write_part instead.
6720         * regcache.c (regcache_raw_write_part): Remove.
6721
6722 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6723
6724         * regcache.h (regcache_raw_read_part): Remove, update callers to
6725         use readable_regcache::raw_read_part instead.
6726         * regcache.c (regcache_raw_read_part): Remove.
6727
6728 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6729
6730         * regcache.h (regcache_cooked_read): Remove, update callers to
6731         use readable_regcache::cooked_read instead.
6732         * regcache.c (regcache_cooked_read): Remove.
6733
6734 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6735
6736         * regcache.h (regcache_raw_write): Remove, update callers to use
6737         regcache::raw_write instead.
6738         * regcache.c (regcache_raw_write): Remove.
6739
6740 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6741
6742         * regcache.h (regcache_raw_read): Remove, update callers to use
6743         readable_regcache::raw_read instead.
6744         * regcache.c (regcache_raw_read): Remove.
6745
6746 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6747
6748         * regcache.h (regcache_raw_update): Remove, update callers to
6749         use readable_regcache::raw_update instead.
6750         * regcache.c (regcache_raw_update): Remove.
6751
6752 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6753
6754         * regcache.h (regcache_register_status): Remove, update callers
6755         to use reg_buffer::get_register_status directly instead.
6756         * regcache.c (regcache_register_status): Remove.
6757
6758 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6759
6760         * regcache.h (regcache_get_ptid): Remove, update all callers to
6761         call regcache::ptid instead.
6762         * regcache.c (regcache_get_ptid): Remove.
6763
6764 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6765
6766         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
6767
6768 2018-05-30  Pedro Alves  <palves@redhat.com>
6769
6770         * common/common-exceptions.h (exception_rethrow): Use
6771         ATTRIBUTE_NORETURN.
6772
6773 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
6774
6775         * breakpoint.c (print_solib_event, check_status_catch_solib):
6776         Remove struct keyword in range-based for loops.
6777         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
6778         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
6779         Likewise.
6780         * linespec.c (find_superclass_methods, search_minsyms_for_name):
6781         Likewise.
6782         * symfile.c (addr_info_make_relative): Likewise.
6783         * thread.c (value_in_thread_stack_temporaries): Likewise.
6784
6785 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
6786
6787         PR gdb/16841
6788         * valops.c (value_struct_elt_for_reference): Call check_typedef on
6789         aggregate type to get its real type before accessing it.
6790
6791 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
6792
6793         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
6794         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
6795         * coff-pe-read.c (add_pe_forwarded_sym): Replace
6796         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
6797         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
6798         * jit.c (jit_breakpoint_re_set_internal): Likewise.
6799         * printcmd.c (info_address_command): Likewise.
6800
6801 2018-05-29  Tom Tromey  <tom@tromey.com>
6802
6803         * windows-nat.c (handle_exception): Update fall-through comment.
6804
6805 2018-05-29  Tom Tromey  <tom@tromey.com>
6806
6807         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
6808         (struct program_space) <added_solibs>: Now a std::vector.
6809         * breakpoint.c (print_solib_event): Update.
6810         (check_status_catch_solib): Update.
6811         * progspace.c (clear_program_space_solib_cache): Update.
6812         * solib.c (update_solib_list): Update.
6813
6814 2018-05-29  Tom Tromey  <tom@tromey.com>
6815
6816         * python/py-type.c (typy_richcompare): Update.
6817         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
6818         * gdbtypes.h (types_deeply_equal): Return bool.
6819         (types_equal): Likewise.
6820         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
6821         declare VEC.
6822         (check_types_equal): Change worklist to std::vector.  Return
6823         bool.
6824         (struct type_equality_entry): Add constructor.
6825         (compare_maybe_null_strings): Return bool.
6826         (check_types_worklist): Return bool.  Change worklist to
6827         std::vector.
6828         (types_deeply_equal): Use std::vector.
6829         (types_equal): Return bool.
6830         (compare_maybe_null_strings): Simplify.
6831
6832 2018-05-29  Tom Tromey  <tom@tromey.com>
6833
6834         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
6835
6836 2018-05-29  Tom Tromey  <tom@tromey.com>
6837
6838         * objc-lang.h: Don't include cp-support.h.
6839         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
6840         declare VEC.
6841
6842 2018-05-27  Tom Tromey  <tom@tromey.com>
6843
6844         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
6845
6846 2018-05-25  Tom Tromey  <tom@tromey.com>
6847
6848         * value.c (value::location): Initialize.
6849
6850 2018-05-25  Tom Tromey  <tom@tromey.com>
6851
6852         * dbxread.c (init_bincl_list): Remove.
6853         (bincl_list): Now a std::vector.
6854         (bincls_allocated, next_bincl): Remove.
6855         (free_bincl_list, do_free_bincl_list_cleanup)
6856         (make_cleanup_free_bincl_list): Remove.
6857         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
6858         unique_xmalloc_ptr.
6859         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
6860         (struct header_file_location): Add constructor.
6861         (add_bincl_to_list): Remove.
6862
6863 2018-05-25  Tom Tromey  <tom@tromey.com>
6864
6865         * tui/tui.c (tui_enable): Update.
6866         * mi/mi-interp.c (mi_interp::init): Update.
6867         * interps.h (class interp) <name>: New method.
6868         <m_name>: Rename from name.
6869         (~scoped_restore_interp): Update.
6870         * interps.c (interp::interp): Update.
6871         (interp_add, interp_set, interp_lookup_existing)
6872         (current_interp_named_p): Update.
6873
6874 2018-05-25  Tom Tromey  <tom@tromey.com>
6875
6876         * interps.c (interp_name): Remove.
6877         * mi/mi-interp.c (mi_interp::init): Update.
6878         * interps.h (interp_name): Remove.
6879         (~scoped_restore_interp): Update.
6880         * tui/tui.c (tui_enable): Update.
6881
6882 2018-05-25  Tom Tromey  <tom@tromey.com>
6883
6884         * utils.c (fputs_maybe_filtered): Update.
6885         * linespec.c (decode_line_full): Update.
6886         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
6887         (mi_print_breakpoint_for_event, mi_solib_loaded)
6888         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
6889         (mi_user_selected_context_changed): Update.
6890         * mi/mi-main.c (mi_execute_command): Update.
6891         * cli/cli-script.c (execute_control_command): Update.
6892         * python/python.c (execute_gdb_command): Update.
6893         * solib.c (info_sharedlibrary_command): Update.
6894         * interps.c (interp_ui_out): Remove.
6895         * interps.h (interp_ui_out): Remove.
6896
6897 2018-05-25  Tom Tromey  <tom@tromey.com>
6898
6899         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
6900         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
6901         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
6902
6903 2018-05-25  Tom Tromey  <tom@tromey.com>
6904
6905         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
6906         * interps.c (interp_exec): Use scoped_restore.
6907
6908 2018-05-25  Tom Tromey  <tom@tromey.com>
6909
6910         * remote.c (remote_target::remote_file_get): Use
6911         gdb::byte_vector.
6912         (remote_target::remote_file_put): Likewise.
6913
6914 2018-05-25  Tom Tromey  <tom@tromey.com>
6915
6916         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
6917         a std::string.
6918         (get_pe_section_index, add_pe_exported_sym): Update.
6919         (read_pe_exported_syms): Use gdb::def_vector.
6920
6921 2018-05-25  Tom Tromey  <tom@tromey.com>
6922
6923         * frame.c (remove_prev_frame): Remove.
6924         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
6925
6926 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
6927
6928         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
6929         Remove prototypes.
6930         * mips-linux-nat.c (supply_fpregset): Always call
6931         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
6932         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
6933         `mips_fill_fpregset'.
6934         * mips-linux-tdep.c (mips_supply_fpregset)
6935         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
6936         (mips_fill_fpregset_wrapper): Remove functions.
6937         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
6938         (mips_linux_fpregset): Remove variable.
6939         (mips_linux_iterate_over_regset_sections): Use
6940         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
6941         (mips_linux_o32_sigframe_init): Remove comment.
6942
6943 2018-05-25  Pedro Alves  <palves@redhat.com>
6944
6945         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
6946         (struct readahead_cache, struct packet_reg, struct
6947         remote_arch_state, class remote_state): Move higher up in the
6948         file.
6949         (remote_target::m_remote_state): Now an object instead of a pointer.
6950         (remote_target::get_remote_state): Adjust.
6951
6952 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6953
6954         * stack.c (select_and_print_frame): Delete.
6955         (struct function_bounds): Move struct within function.
6956         (func_command): Most content moved into new function
6957         find_frame_for_function, use new function, print result, add
6958         function comment.
6959         (find_frame_for_function): New function, now returns a result.
6960
6961 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6962
6963         * stack.c (iterate_over_block_arg_vars): Fix comment.
6964         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
6965
6966 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
6967
6968         PR gdb/23203
6969         * frame.c
6970         (scoped_restore_selected_frame::scoped_restore_selected_frame):
6971         Define.
6972         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
6973         Define.
6974         * frame.h (class scoped_restore_selected_frame): New class.
6975         * stack.c (print_frame_local_vars): Remove catching and rethrowing
6976         of any exception, use scoped_restore_selected_frame to restore the
6977         frame instead.
6978
6979 2018-05-24  Pedro Alves  <palves@redhat.com>
6980
6981         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
6982         override.
6983
6984 2018-05-23  Tom Tromey  <tom@tromey.com>
6985
6986         * complaints.c (struct complaints): Remove.
6987         (symfile_complaint_book): Remove.
6988         (series): New global.
6989         (complaint_internal): Update.
6990         (clear_complaints): Update.
6991
6992 2018-05-23  Tom Tromey  <tom@tromey.com>
6993
6994         * complaints.c (counters): New global.
6995         (struct complain): Remove.
6996         (struct complaints) <root>: Remove.
6997         (complaint_sentinel): Remove.
6998         (symfile_complaint_book): Update.
6999         (find_complaint) Remove.
7000         (complaint_internal, clear_complaints): Update.
7001
7002 2018-05-23  Tom Tromey  <tom@tromey.com>
7003
7004         * complaints.c (struct complain) <file, line>: Remove.
7005         (find_complaint): Remove file, line parameters.
7006         (complaint_internal): Update.
7007
7008 2018-05-23  Tom Tromey  <tom@tromey.com>
7009
7010         * complaints.c (vcomplaint): Remove.
7011         (complaint_internal) Merge in contents of vcomplaint.
7012
7013 2018-05-23  Tom Tromey  <tom@tromey.com>
7014
7015         * complaints.c (struct complaints) <explanation>: Remove.
7016         (symfile_explanations): Remove.
7017         (symfile_complaint_book): Update.
7018         (vcomplaint): Update.
7019         (struct explanation): Remove.
7020
7021 2018-05-23  Tom Tromey  <tom@tromey.com>
7022
7023         * complaints.c (symfile_complaints): Remove.
7024         (complaint_internal): Remove "complaints" parameter.
7025         (clear_complaints, vcomplaint): Remove "c" parameter.
7026         (get_complaints): Remove.
7027         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
7028         (dwarf2_debug_line_missing_file_complaint)
7029         (dwarf2_debug_line_missing_end_sequence_complaint)
7030         (dwarf2_complex_location_expr_complaint)
7031         (dwarf2_const_value_length_mismatch_complaint)
7032         (dwarf2_section_buffer_overflow_complaint)
7033         (dwarf2_macro_malformed_definition_complaint)
7034         (dwarf2_invalid_attrib_class_complaint)
7035         (create_addrmap_from_index, dw2_symtab_iter_next)
7036         (dw2_expand_marked_cus)
7037         (dw2_debug_names_iterator::find_vec_in_debug_names)
7038         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
7039         (create_debug_type_hash_table, init_cutu_and_read_dies)
7040         (partial_die_parent_scope, add_partial_enumeration)
7041         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
7042         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
7043         (read_import_statement, read_file_scope, create_dwo_cu_reader)
7044         (create_cus_hash_table, create_dwp_hash_table)
7045         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
7046         (dwarf2_rnglists_process, dwarf2_ranges_process)
7047         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
7048         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
7049         (handle_struct_member_die, process_structure_scope)
7050         (read_array_type, read_common_block, read_module_type)
7051         (read_tag_pointer_type, read_typedef, read_base_type)
7052         (read_subrange_type, load_partial_dies, partial_die_info::read)
7053         (partial_die_info::read, partial_die_info::read)
7054         (partial_die_info::read, read_checked_initial_length_and_offset)
7055         (dwarf2_string_attr, read_formatted_entries)
7056         (dwarf_decode_line_header)
7057         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
7058         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
7059         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
7060         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
7061         (get_signatured_type, get_DW_AT_signature_type)
7062         (decode_locdesc, file_file_name, consume_improper_spaces)
7063         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
7064         (dwarf_decode_macro_bytes, dwarf_decode_macros)
7065         (dwarf2_symbol_mark_computed, set_die_type)
7066         (read_attribute_value): Update.
7067         * stap-probe.c (handle_stap_probe, get_stap_base_address):
7068         Update.
7069         * dbxread.c (unknown_symtype_complaint)
7070         (lbrac_mismatch_complaint, repeated_header_complaint)
7071         (set_namestring, function_outside_compilation_unit_complaint)
7072         (read_dbx_symtab, process_one_symbol): Update.
7073         * gdbtypes.c (stub_noname_complaint): Update.
7074         * windows-nat.c (handle_unload_dll): Update.
7075         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
7076         (decode_base_type): Update.
7077         * xcoffread.c (bf_notfound_complaint, ef_complaint)
7078         (eb_complaint, record_include_begin, record_include_end)
7079         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
7080         (process_xcoff_symbol, read_symbol)
7081         (function_outside_compilation_unit_complaint)
7082         (scan_xcoff_symtab): Update.
7083         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
7084         * buildsym.c (finish_block_internal, make_blockvector)
7085         (end_symtab_get_static_block, augment_type_symtab): Update.
7086         * dtrace-probe.c (dtrace_process_dof)
7087         (dtrace_static_probe_ops::get_probes): Update.
7088         * complaints.h (struct complaint): Don't declare.
7089         (symfile_complaints): Remove.
7090         (complaint_internal): Remove "complaints" parameter.
7091         (complaint): Likewise.
7092         (clear_complaints): Likewise.
7093         * symfile.c (syms_from_objfile_1, finish_new_objfile)
7094         (reread_symbols): Update.
7095         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
7096         (dwarf2_frame_cache, decode_frame_entry): Update.
7097         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
7098         * objc-lang.c (lookup_objc_class, lookup_child_selector)
7099         (info_selectors_command): Update.
7100         * macrotab.c (macro_include, check_for_redefinition)
7101         (macro_undef): Update.
7102         * objfiles.c (filter_overlapping_sections): Update.
7103         * stabsread.c (invalid_cpp_abbrev_complaint)
7104         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
7105         (define_symbol, error_type, read_type, rs6000_builtin_type)
7106         (stabs_method_name_from_physname, read_member_functions)
7107         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
7108         (attach_fields_to_type, complain_about_struct_wipeout)
7109         (read_range_type, read_args, common_block_start)
7110         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
7111         Update.
7112         * mdebugread.c (index_complaint, unknown_ext_complaint)
7113         (basic_type_complaint, bad_tag_guess_complaint)
7114         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
7115         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
7116         (parse_procedure, parse_lines)
7117         (function_outside_compilation_unit_complaint)
7118         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
7119         (bad_tag_guess_complaint, reg_value_complaint): Update.
7120         * cp-support.c (demangled_name_complaint): Update.
7121         * macroscope.c (sal_macro_scope): Update.
7122         * dwarf-index-write.c (class debug_names): Update.
7123
7124 2018-05-23  Tom Tromey  <tom@tromey.com>
7125
7126         * complaints.c (clear_complaints): Remove "noisy" parameter.
7127         * complaints.h (clear_complaints): Update.
7128         * symfile.c (syms_from_objfile_1, finish_new_objfile)
7129         (reread_symbols): Update.
7130
7131 2018-05-23  Tom Tromey  <tom@tromey.com>
7132
7133         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
7134         SUBSEQUENT_MESSAGE.
7135         (vcomplaint, clear_complaints): Update.
7136         (symfile_explanations): Remove some messages.
7137
7138 2018-05-23  Tom Tromey  <tom@tromey.com>
7139
7140         * complaints.c (internal_complaint): Remove.
7141         * complaints.h (internal_complaint): Remove.
7142
7143 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7144
7145         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
7146
7147 2018-05-22  Pedro Alves  <palves@redhat.com>
7148
7149         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
7150         (remote_fileio_badfd, remote_fileio_return_errno)
7151         (remote_fileio_return_success, remote_fileio_func_open)
7152         (remote_fileio_func_open, remote_fileio_func_close)
7153         (remote_fileio_func_read, remote_fileio_func_write)
7154         (remote_fileio_func_lseek, remote_fileio_func_rename)
7155         (remote_fileio_func_unlink, remote_fileio_func_stat)
7156         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
7157         (remote_fileio_func_isatty, remote_fileio_func_system): Add
7158         remote_target parameter.
7159         (remote_fio_func_map) <func>: Add remote_target parameter.
7160         (do_remote_fileio_request, remote_fileio_request):
7161         * remote-fileio.h (remote_fileio_request):
7162         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
7163         remote_target parameter.
7164         (remote_notif_process, handle_notification): Adjust to pass down
7165         the remote.
7166         (remote_notif_state_allocate): Add remote_target parameter.  Save
7167         it.
7168         * remote-notif.h (struct remote_target): Forward declare.
7169         (struct notif_client) <parse, ack, can_get_pending_events>: Add
7170         remote_target parameter.
7171         (struct remote_notif_state) <remote>: New field.
7172         (remote_notif_ack, remote_notif_parse): Add remote_target
7173         parameter.
7174         (remote_notif_state_allocate, remote_notif_state_allocate): Add
7175         remote_target parameter.
7176         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
7177         (threads_listing_context, rmt_thread_action, protocol_feature)
7178         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
7179         (packet_result, struct threads_listing_context, remote_state):
7180         Move definitions and declarations higher up.
7181         (remote_target) <~remote_target>: Declare.
7182         (remote_download_command_source, remote_file_put, remote_file_get)
7183         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
7184         (remote_hostio_pread_vFile, remote_hostio_send_command)
7185         (remote_hostio_set_filesystem, remote_hostio_open)
7186         (remote_hostio_close, remote_hostio_unlink, remote_state)
7187         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
7188         (get_memory_write_packet_size, get_memory_read_packet_size)
7189         (append_pending_thread_resumptions, remote_detach_1)
7190         (append_resumption, remote_resume_with_vcont)
7191         (add_current_inferior_and_thread, wait_ns, wait_as)
7192         (process_stop_reply, remote_notice_new_inferior)
7193         (process_initial_stop_replies, remote_add_thread)
7194         (btrace_sync_conf, remote_btrace_maybe_reopen)
7195         (remove_new_fork_children, kill_new_fork_children)
7196         (discard_pending_stop_replies, stop_reply_queue_length)
7197         (check_pending_events_prevent_wildcard_vcont)
7198         (discard_pending_stop_replies_in_queue, stop_reply)
7199         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
7200         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
7201         (remote_interrupt_as, remote_interrupt_ns)
7202         (remote_get_noisy_reply, remote_query_attached)
7203         (remote_add_inferior, remote_current_thread, get_current_thread)
7204         (set_thread, set_general_thread, set_continue_thread)
7205         (set_general_process, write_ptid)
7206         (remote_unpack_thread_info_response, remote_get_threadinfo)
7207         (parse_threadlist_response, remote_get_threadlist)
7208         (remote_threadlist_iterator, remote_get_threads_with_ql)
7209         (remote_get_threads_with_qxfer)
7210         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
7211         (get_offsets, remote_check_symbols, remote_supported_packet)
7212         (remote_query_supported, remote_packet_size)
7213         (remote_serial_quit_handler, remote_detach_pid)
7214         (remote_vcont_probe, remote_resume_with_hc)
7215         (send_interrupt_sequence, interrupt_query)
7216         (remote_notif_get_pending_events, fetch_register_using_p)
7217         (send_g_packet, process_g_packet, fetch_registers_using_g)
7218         (store_register_using_P, store_registers_using_G)
7219         (set_remote_traceframe, check_binary_download)
7220         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
7221         (remote_xfer_live_readonly_partial, remote_read_bytes)
7222         (remote_send_printf, remote_flash_write, readchar)
7223         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
7224         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
7225         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
7226         (extended_remote_disable_randomization, extended_remote_run)
7227         (send_environment_packet, extended_remote_environment_support)
7228         (extended_remote_set_inferior_cwd, remote_write_qxfer)
7229         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
7230         (packet_command): Now methods of ...
7231         (remote_target): ... this class.
7232         (m_remote_state) <remote_target>: New field.
7233         (struct remote_state) <stop_reply_queue,
7234         remote_async_inferior_event_token, wait_forever_enabled_p>: New
7235         fields.
7236         (remote_state::remote_state): Allocate stop_reply_queue.
7237         (remote_state): Delete global.
7238         (get_remote_state_raw): Delete.
7239         (remote_target::get_remote_state): Allocate m_remote_state on
7240         demand.
7241         (get_current_remote_target): New.
7242         (remote_ops, extended_remote_ops): Delete.
7243         (wait_forever_enabled_p, remote_async_inferior_event_token):
7244         Delete, moved to struct remote_state.
7245         (remote_target::close): Delete self.  Destruction bits split to
7246         ...
7247         (remote_target::~remote_target): ... this.
7248         (show_memory_packet_size): Adjust to use
7249         get_current_remote_target.
7250         (struct protocol_feature) <func>: Add remote_target parameter.
7251         All callers adjusted.
7252         (curr_quit_handler_target): New.
7253         (remote_serial_quit_handler): Reimplement.
7254         (remote_target::open_1): Adjust to use get_current_remote_target.
7255         Heap-allocate remote_target/extended_remote_target instances.
7256         (vcont_builder::vcont_builder): Add remote_target parameter, and
7257         save it in m_remote.  All callers adjusted.
7258         (vcont_builder::m_remote): New field.
7259         (vcont_builder::restart, vcont_builder::flush)
7260         (vcont_builder::push_action): Use it.
7261         (remote_target::commit_resume): Use it.
7262         (struct queue_iter_param) <remote>: New field.
7263         (remote_target::remove_new_fork_children): Fill in 'remote' field.
7264         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
7265         (check_pending_event_prevents_wildcard_vcont_callback)
7266         (remote_target::check_pending_events_prevent_wildcard_vcont)
7267         (remote_target::discard_pending_stop_replies)
7268         (remote_target::discard_pending_stop_replies_in_queue)
7269         (remote_target::remote_notif_remove_queued_reply): Fill in
7270         'remote' field.
7271         (remote_notif_get_pending_events): New.
7272         (remote_target::readchar, remote_target::remote_serial_write):
7273         Save/restore curr_quit_handler_target.
7274         (putpkt): New.
7275         (kill_new_fork_children): Fill in 'remote' field.
7276         (packet_command): Use get_current_remote_target, defer to
7277         remote_target method of same name.
7278         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
7279         parameter, and save it in m_remote.  All callers adjusted.
7280         (scoped_remote_fd::release): Use m_remote.
7281         (scoped_remote_fd::m_remote): New field.
7282         (remote_file_put, remote_file_get, remote_file_delete): Use
7283         get_current_remote_target, defer to remote_target method of same
7284         name.
7285         (remote_btrace_reset): Add remote_state paremeter.  Update all
7286         callers.
7287         (remote_async_inferior_event_handler). Pass down 'data'.
7288         (remote_new_objfile): Use get_current_remote_target.
7289         (remote_target::vcont_r_supported): New.
7290         (set_range_stepping): Use get_current_remote_target and
7291         remote_target::vcont_r_supported.
7292         (_initialize_remote): Don't allocate 'remote_state' and
7293         'stop_reply_queue' globals.
7294         * remote.h (struct remote_target): Forward declare.
7295         (getpkt, putpkt, remote_notif_get_pending_events): Add
7296         'remote_target' parameter.
7297
7298 2018-05-22  Pedro Alves  <palves@redhat.com>
7299
7300         * remote.c (vcont_builder): Now a class.  Make all data members
7301         private.
7302         (vcont_builder) <vcont_builder, restart, flush, push_action>:
7303         Declare methods.
7304         (vcont_builder_restart): Rename to ...
7305         (vcont_builder::restart): ... this.
7306         (vcont_builder_flush): Rename to ...
7307         (vcont_builder::flush): ... this.
7308         (vcont_builder_push_action): Rename to ...
7309         (vcont_builder::push_action): ... this.
7310         (remote_target::commit_resume): Adjust.
7311
7312 2018-05-22  Pedro Alves  <palves@redhat.com>
7313
7314         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
7315         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
7316         (get_fixed_memory_packet_size): New.
7317         (get_memory_packet_size): Use it.
7318         (set_memory_packet_size): Don't override the config size with
7319         DEFAULT_MAX_MEMORY_PACKET_SIZE.
7320         (show_memory_packet_size): Use get_fixed_memory_packet_size.
7321         Don't refer to get_memory_packet_size if not connected to a remote
7322         target.  Show "(default)" if configured size is 0.
7323
7324 2018-05-22  Pedro Alves  <palves@redhat.com>
7325
7326         * remote.c (remote_target::mourn_inferior): Move
7327         discard_pending_stop_replies call here from ...
7328         (_initialize_remote): ... here.
7329
7330 2018-05-22  Pedro Alves  <palves@redhat.com>
7331
7332         * remote.c (compare_section_command): Remove set_general_process
7333         call.
7334
7335 2018-05-22  Pedro Alves  <palves@redhat.com>
7336
7337         * remote.c (struct packet_reg, struct remote_arch_state):
7338         Move higher up in the file.
7339         (remote_state) <m_arch_states>: Store remote_arch_state values
7340         instead of remote_arch_state pointers.
7341         (remote_state::get_remote_arch_state): Adjust.
7342
7343 2018-05-22  Pedro Alves  <palves@redhat.com>
7344
7345         * remote.c: Include <unordered_map>.
7346         (remote_state): Now a class.
7347         (remote_state) <get_remote_arch_state>: Declare method.
7348         <get_remote_arch_state>: New field.
7349         (remote_arch_state) <remote_arch_state>: Declare ctor.
7350         <regs>: Now a unique_ptr.
7351         (remote_gdbarch_data_handle): Delete.
7352         (get_remote_arch_state): Delete.
7353         (remote_state::get_remote_arch_state): New.
7354         (get_remote_state): Adjust to call remote_state's
7355         get_remote_arch_state method.
7356         (init_remote_state): Delete, bits factored out to ...
7357         (remote_arch_state::remote_arch_state): ... this new method.
7358         (get_remote_packet_size, get_memory_packet_size)
7359         (process_g_packet, remote_target::fetch_registers)
7360         (remote_target::prepare_to_store, store_registers_using_G)
7361         (remote_target::store_registers, remote_target::get_trace_status):
7362         Adjust to call remote_state's method.
7363         (_initialize_remote): Remove reference to
7364         remote_gdbarch_data_handle.
7365
7366 2018-05-22  Pedro Alves  <palves@redhat.com>
7367
7368         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
7369         pread>: New method declarations.
7370         (remote_target::open_1): Adjust.
7371         (readahead_cache_invalidate): Rename to ...
7372         (readahead_cache::invalidate): ... this, and adjust to be a class
7373         method.
7374         (readahead_cache_invalidate_fd): Rename to ...
7375         (readahead_cache::invalidate_fd): ... this, and adjust to be a
7376         class method.
7377         (remote_hostio_pwrite): Adjust.
7378         (remote_hostio_pread_from_cache): Rename to ...
7379         (readahead_cache::pread): ... this, and adjust to be a class
7380         method.
7381         (remote_hostio_close): Adjust.
7382
7383 2018-05-22  Pedro Alves  <palves@redhat.com>
7384
7385         * remote.c (remote_hostio_close_cleanup): Delete.
7386         (class scoped_remote_fd): New.
7387         (remote_file_put, remote_file_get): Use it.
7388
7389 2018-05-22  Pedro Alves  <palves@redhat.com>
7390
7391         (struct vCont_action_support): Use bool and initialize all fields.
7392         (struct readahead_cache): Initialize all fields.
7393         (remote_state): Use bool and initialize all fields.
7394         (remote_state::remote_state, remote_state::~remote_state): New.
7395         (new_remote_state): Delete.
7396         (_initialize_remote): Use new to allocate remote_state.
7397
7398 2018-05-22  Pedro Alves  <palves@redhat.com>
7399             張俊芝  <zjz@zjz.name>
7400
7401         PR gdb/22973
7402         * c-exp.y: Include "c-support.h".
7403         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
7404         of tolower.  Use c_ident_is_alpha to scan names.
7405         * c-lang.c: Include "c-support.h".
7406         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
7407         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
7408         * c-support.h: New file, with bits factored out from ...
7409         * cp-name-parser.y: ... this file.
7410         Include "c-support.h".
7411         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
7412         c-support.h and renamed.
7413         (symbol_end, yylex): Adjust.
7414
7415 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7416
7417         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
7418         parameter type to CORE_ADDR.
7419         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
7420         parameter type in declaration to CORE_ADDR.
7421         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
7422         target_auxv_search to get AT_HWCAP and use the result to get the
7423         target description.
7424         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
7425         to CORE_ADDR. Remove the cast of the return value to unsigned
7426         long. Fix error predicate of target_auxv_search.
7427         (ppc_linux_nat_target::read_description): Change the type of the
7428         hwcap variable to CORE_ADDR.
7429
7430 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7431
7432         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
7433         if the size of fpscr is larger than 32 bits.
7434
7435 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7436
7437         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
7438         (ppc32_linux_vsxregmap): New global.
7439         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
7440         regcache_supply_regset, and regcache_collect_regset.
7441         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
7442         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
7443         (fetch_vsx_register, store_vsx_register): Remove.
7444         (fetch_vsx_registers): Add regno parameter. Get regset using
7445         ppc_linux_vsxregset. Use regset to supply registers.
7446         (store_vsx_registers): Add regno parameter. Get regset using
7447         ppc_linux_vsxregset. Use regset to collect registers.
7448         (fetch_register): Call fetch_vsx_registers instead of
7449         fetch_vsx_register.
7450         (store_register): Call store_vsx_registers instead of
7451         store_vsx_register.
7452         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
7453         new regno parameter.
7454         (store_ppc_registers): Call store_vsx_registers with -1 for the
7455         new regno parameter.
7456         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
7457         (ppc_collect_vsxregset): Remove.
7458
7459 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7460
7461         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
7462         offset fields.
7463         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
7464         for vector register offset fields.
7465         (ppc64_fbsd_reg_offsets): Likewise.
7466         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7467         to vector register offset fields.
7468         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7469         to vector register offset fields.
7470         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
7471         vector register offset fields.
7472         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
7473         initializers for vector register offset fields.
7474         (rs6000_aix64_reg_offsets): Likewise.
7475         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
7476         (ppc_supply_vrregset): Remove.
7477         (ppc_collect_vrregset): Remove.
7478         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
7479         (ppc_linux_vrregset) : New function.
7480         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
7481         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
7482         (ppc32_linux_vrregset): Remove.
7483         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
7484         and use result instead of ppc32_linux_vrregset.
7485         (ppc32_linux_reg_offsets): Remove initializers for vector register
7486         offset fields.
7487         (ppc64_linux_reg_offsets): Likewise.
7488         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
7489         * ppc-linux-nat.c: Include regset.h.
7490         (gdb_vrregset_t): Adjust comment to account for little-endian
7491         mode.
7492         (supply_vrregset, fill_vrregset): Remove.
7493         (fetch_altivec_register, store_altivec_register): Remove.
7494         (fetch_altivec_registers): Add regno parameter. Get regset using
7495         ppc_linux_vrregset. Use regset to supply registers.
7496         (store_altivec_registers): Add regno parameter. Get regset using
7497         ppc_linux_vrregset. Use regset to collect registers.
7498         (fetch_register): Call fetch_altivec_registers instead of
7499         fetch_altivec_register.
7500         (store_register): Call store_altivec_registers instead of
7501         store_altivec_register.
7502         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
7503         the new regno parameter.
7504         (store_ppc_registers): Call store_altivec_registers with -1 for
7505         the new regno parameter.
7506
7507 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7508
7509         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
7510         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
7511         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
7512         (gdb_vrregset_t): Change array type size to
7513         PPC_LINUX_SIZEOF_VRREGSET.
7514         (gdb_vsxregset_t): Change array type size to
7515         PPC_LINUX_SIZEOF_VSXREGSET.
7516         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
7517         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
7518         PPC_LINUX_SIZEOF_VSXREGSET.
7519
7520 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7521
7522         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
7523         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
7524         nat/ppc-linux.c.
7525         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
7526         ppc_linux_target_wordsize with tid.
7527         (ppc_linux_nat_target::read_description): Call ppc_linux_target
7528         wordsize with tid.
7529         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
7530         (ppc64_64bit_inferior_p): Add static and inline specifiers.
7531         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
7532         tid parameter. Remove static specifier.
7533         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
7534         (ppc_linux_target_wordsize): New declaration.
7535
7536 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7537
7538         * arch/ppc-linux-common.c: New file.
7539         * arch/ppc-linux-common.h: New file.
7540         * arch/ppc-linux-tdesc.h: New file.
7541         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
7542         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
7543         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
7544         arch/ppc-linux-tdesc.h.
7545         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
7546         arch/ppc-linux-tdesc.h.
7547         (ppc_linux_nat_target::read_description): Remove target
7548         description matching code. Fill a ppc_linux_features struct and
7549         call ppc_linux_match_description with it. Move comment about ISA
7550         2.05 to ppc-linux-common.c.
7551         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
7552         arch/ppc-linux-tdesc.h.
7553         (ppc_linux_core_read_description): Remove target description
7554         matching code. Fill a ppc_linux_features struct and call
7555         ppc_linux_match_description with it.
7556         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
7557         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
7558         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
7559         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
7560         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
7561         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
7562         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
7563         (tdesc_powerpc_e500l): Remove.
7564
7565 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
7566
7567         * ada-lang.c (catch_assert_command): Pass empty string instead
7568         of NULL for excep_string argument.
7569
7570 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7571
7572         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
7573         the width of the requested register exceeds the width of the
7574         `ptrace' data type.
7575
7576 2018-05-21  Tom Tromey  <tom@tromey.com>
7577
7578         * printcmd.c (output_command): Remove.
7579         (output_command_const): Rename to output_command.
7580         * valprint.h (output_command): Rename from output_command_const.
7581         * tracepoint.c (trace_dump_actions): Call output_command.
7582
7583 2018-05-21  Tom Tromey  <tom@tromey.com>
7584
7585         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7586         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
7587         * ada-lang.h (create_ada_exception_catchpoint): Update.
7588         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
7589         std::string.
7590         (create_excep_cond_exprs, ~ada_catchpoint)
7591         (should_stop_exception, print_one_exception)
7592         (print_mention_exception, print_recreate_exception): Update.
7593         (ada_get_next_arg): Remove.
7594         (catch_ada_exception_command_split): Use std::string.  Change type
7595         of "excep_string", "cond_string".
7596         (catch_ada_exception_command): Update.
7597         (create_ada_exception_catchpoint): Change type of excep_string.
7598         (ada_exception_sal): Remove excep_string parameter.
7599         (~ada_catchpoint): Remove.
7600
7601 2018-05-21  Tom Tromey  <tom@tromey.com>
7602
7603         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
7604         cleanup.
7605
7606 2018-05-21  Tom Tromey  <tom@tromey.com>
7607
7608         * ada-lang.c (ada_exception_message_1, ada_exception_message):
7609         Return unique_xmalloc_ptr.
7610         (print_it_exception): Update.
7611
7612 2018-05-21  Tom Tromey  <tom@tromey.com>
7613
7614         * tracepoint.c (trace_dump_actions): Use std::string.
7615
7616 2018-05-21  Tom Tromey  <tom@tromey.com>
7617
7618         * symfile.c (reread_symbols): Use std::string for original_name.
7619
7620 2018-05-21  Tom Tromey  <tom@tromey.com>
7621
7622         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
7623         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
7624         constructor.
7625
7626 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
7627
7628         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
7629         instance to...
7630         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
7631         * objfiles.c (get_objfile_bfd_data): Allocate
7632         objfile_per_bfd_storage with obstack_new when allocating on
7633         obstack.
7634
7635 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7636
7637         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
7638         OBSTACK_ZALLOC.
7639         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
7640         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
7641         * mdebugread.c (mdebug_build_psymtabs): Likewise.
7642         (add_pending): Likewise.
7643         (parse_symbol): Likewise.
7644         (parse_partial_symbols): Likewise.
7645         (psymtab_to_symtab_1): Likewise.
7646         (new_psymtab): Likewise.
7647         (elfmdebug_build_psymtabs): Likewise.
7648         * minsyms.c (terminate_minimal_symbol_table): Likewise.
7649         * objfiles.c (get_objfile_bfd_data): Likewise.
7650         (objfile_register_static_link): Likewise.
7651         * psymtab.c (allocate_psymtab): Likewise.
7652         * stabsread.c (read_member_functions): Likewise.
7653         * xcoffread.c (xcoff_end_psymtab): Likewise.
7654
7655 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7656
7657         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
7658         compiler supports std::is_trivially_constructible.
7659         * common/poison.h: Include obstack.h.
7660         (IsMallocable): Define to is_trivially_constructible if the
7661         compiler supports it, define to true_type otherwise.
7662         (xobnew): New.
7663         (XOBNEW): Redefine.
7664         (xobnewvec): New.
7665         (XOBNEWVEC): Redefine.
7666         * gdb_obstack.h (obstack_zalloc): New.
7667         (OBSTACK_ZALLOC): Redefine.
7668         (obstack_calloc): New.
7669         (OBSTACK_CALLOC): Redefine.
7670         (obstack_new): New.
7671         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
7672         (gdbarch_obstack): New declaration in gdbarch.h, definition in
7673         gdbarch.c.
7674         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
7675         obstack_calloc/obstack_zalloc.
7676         (gdbarch_obstack_zalloc): Remove.
7677         * target-descriptions.c (tdesc_data_init): Use obstack_new.
7678
7679 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7680
7681         * stack.c (backtrace_command_1): Remove useless variable int i.
7682
7683 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7684
7685         * stack.c (print_frame_info): Fix comment.
7686
7687 2018-05-18  Tom Tromey  <tom@tromey.com>
7688
7689         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
7690         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
7691         (~dwarf2_per_objfile): Update
7692         (dwarf2_get_dwz_file): Use new.
7693         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
7694         unique_ptr.
7695
7696 2018-05-18  Tom Tromey  <tom@tromey.com>
7697
7698         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
7699         unique_ptr.
7700         * dwarf2read.c (struct dwp_file): Add constructor and
7701         initializers.
7702         (open_and_init_dwp_file): Return a unique_ptr.
7703         (dwarf2_per_objfile, create_dwp_hash_table)
7704         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
7705         (lookup_dwo_unit_in_dwp): Update.
7706         (open_and_init_dwp_file, get_dwp_file): Update.
7707
7708 2018-05-18  Tom Tromey  <tom@tromey.com>
7709
7710         * dwarf2read.c (dwarf2_per_objfile): Update.
7711         (struct mapped_index): Add initializers.
7712         (dwarf2_read_index): Use new.
7713         (dw2_symtab_iter_init): Update.
7714         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
7715         unique_ptr.
7716
7717 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7718
7719         * dwarf2read.c (mapped_index) <total_size>: Remove.
7720
7721 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7722
7723         * unittests/format_pieces-selftests.c (test_format_specifier):
7724         Add ARI comments.
7725
7726 2018-05-18  Tom Tromey  <tom@tromey.com>
7727
7728         * c-typeprint.c (maybe_print_hole): New function.
7729         (c_print_type_struct_field_offset): Update.
7730         (c_type_print_base_struct_union): Call maybe_print_hole.
7731
7732 2018-05-17  Keith Seitz  <keiths@redhat.com>
7733
7734         * breakpoint.c (build_bpstat_chain): New function, moved from
7735         bpstat_stop_status.
7736         (bpstat_stop_status): Add optional parameter, `stop_chain'.
7737         If no stop chain is passed, call build_bpstat_chain to build it.
7738         * breakpoint.h (build_bpstat_chain): Declare.
7739         (bpstat_stop_status): Move documentation here from breakpoint.c.
7740         * infrun.c (handle_signal_stop): Before eliding inlined frames,
7741         build the stop chain and pass it to skip_inline_frames.
7742         Pass this stop chain to bpstat_stop_status.
7743         * inline-frame.c: Include breakpoint.h.
7744         (stopped_by_user_bp_inline_frame): New function.
7745         (skip_inline_frames): Add parameter `stop_chain'.
7746         Move documention to inline-frame.h.
7747         If non-NULL, use stopped_by_user_bp_inline_frame to determine
7748         whether the frame should be elided.
7749         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
7750         Add moved documentation and update for new parameter.
7751
7752 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7753
7754         PR cli/14975
7755         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7756         unittests/format_pieces-selftests.c.
7757         * common/format.h (format_piece) <operator==>: New.
7758         (format_pieces) <operator[]>: Remove.
7759         * common/format.c (format_pieces::format_pieces): Handle \e.
7760         * unittests/format_pieces-selftests.c: New.
7761
7762 2018-05-17  Tom Tromey  <tom@tromey.com>
7763
7764         PR symtab/23010:
7765         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
7766         (dw2_instantiate_symtab): Add skip_partial parameter.
7767         (dw2_find_last_source_symtab, dw2_map_expand_apply)
7768         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
7769         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
7770         (dw2_expand_symtabs_matching_one)
7771         (dw2_find_pc_sect_compunit_symtab)
7772         (dw2_debug_names_lookup_symbol)
7773         (dw2_debug_names_expand_symtabs_for_function): Update.
7774         (init_cutu_and_read_dies): Add skip_partial parameter.
7775         (process_psymtab_comp_unit, build_type_psymtabs_1)
7776         (process_skeletonless_type_unit, load_partial_comp_unit)
7777         (psymtab_to_symtab_1): Update.
7778         (load_full_comp_unit): Add skip_partial parameter.
7779         (process_imported_unit_die, dwarf2_read_addr_index)
7780         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
7781         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
7782         (read_signatured_type): Update.
7783
7784 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7785
7786         * value.c (release_value): Remove unused variable.
7787         (record_latest_value): Likewise.
7788         (access_value_history): Likewise.
7789         (preserve_values): Likewise.
7790
7791 2018-05-17  Tom Tromey  <tom@tromey.com>
7792
7793         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
7794         Initialize.
7795
7796 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
7797
7798         PR gdb/22286
7799         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
7800         Also handle registers whose width is not a multiple of
7801         PTRACE_TYPE_RET.
7802         (linux_nat_trad_target::store_register): Likewise.
7803
7804 2018-05-16  Tom Tromey  <tom@tromey.com>
7805
7806         * gdbcore.h (core_bfd): Redefine.
7807         * corelow.c (core_target::close): Update.
7808         (core_target_open): Update.
7809         * progspace.h (struct program_space) <cbfd>: Now a
7810         gdb_bfd_ref_ptr.
7811
7812 2018-05-16  Tom Tromey  <tom@tromey.com>
7813
7814         PR cli/19551:
7815         * symfile-add-flags.h (enum symfile_add_flags)
7816         <SYMFILE_NOT_FILENAME>: New constant.
7817         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
7818         objfile name from BFD.
7819         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
7820         * minidebug.c (find_separate_debug_file_in_section): Put
7821         ".gnu_debugdata" into BFD's file name.
7822
7823 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
7824
7825         * regcache.c (regcache_read_ftype, regcache_write_ftype):
7826         Remove.
7827
7828 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
7829
7830         PR binutils/21446
7831         * aarch64-tdep.c (aarch64_analyze_prologue,
7832         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
7833         Indicate not interested in errors.
7834
7835 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7836
7837         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
7838         Supply the MIPS_ZERO_REGNUM register.
7839
7840 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7841
7842         * mips-tdep.c (mask_address_var): Make variable static.
7843
7844 2018-05-14  Tom Tromey  <tom@tromey.com>
7845
7846         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
7847
7848 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
7849
7850         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
7851         FXSAVE_ADDR for the mxcsr register.
7852
7853 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
7854
7855         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
7856
7857 2018-05-11  Pedro Alves  <palves@redhat.com>
7858
7859         * corelow.c (core_target) <core_target>: No longer inline.
7860         Initialize m_core_gdbarch, m_core_vec and build the section table
7861         here.
7862         <~core_target>: New.
7863         <core_gdbarch, get_core_register_section>: New methods.
7864         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
7865         factored out from ...
7866         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
7867         (core_ops): Delete.
7868         (sniff_core_bfd): Add gdbarch parameter.
7869         (core_close): Delete, merged into ...
7870         (core_target::close): ... here.  Delete self.
7871         (core_close_cleanup): Delete.
7872         (core_target_open): Allocate a core_target on the heap.  Use a
7873         unique_ptr instead of a cleanup.  Bits moved into the core_target
7874         ctor.  Adjust to use core_target methods instead of globals.
7875         (get_core_register_section): Rename to ...
7876         (core_target::get_core_register_section): ... this and adjust.
7877         (struct get_core_registers_cb_data): New.
7878         (get_core_registers_cb): Use it.  Use bool.
7879         (core_target::fetch_registers, core_target::files_info)
7880         (core_target::xfer_partial, core_target::read_description)
7881         (core_target::pid_to, core_target::thread_name): Adjust to
7882         reference class fields instead of globals.
7883         * target.h (struct target_ops_deleter, target_ops_up): New.
7884
7885 2018-05-11  Pedro Alves  <palves@redhat.com>
7886
7887         * corefile.c (core_file_command): Move to corelow.c.
7888         * corelow.c (the_core_target): Delete.
7889         (core_file_command): Moved from corefile.c.  Check exec_bfd
7890         instead of the_core_target.  Use target_detach instead of calling
7891         into the_core_target directly.
7892         (maybe_say_no_core_file_now): New.
7893         (core_target::detach): Use it.
7894         (_initialize_corelow): Remove references to the_core_target.
7895         * gdbcore.h (the_core_target): Delete.
7896
7897 2018-05-11  Tom Tromey  <tromey@redhat.com>
7898             Pedro Alves  <palves@redhat.com>
7899
7900         * corefile.c (core_bfd): Remove.
7901         * gdbcore.h (core_bfd): Now a macro.
7902         * progspace.h (struct program_space) <cbfd>: New field.
7903
7904 2018-05-11  Tom Tromey  <tom@tromey.com>
7905
7906         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
7907         gdb::def_vector.
7908
7909 2018-05-10  Tom Tromey  <tom@tromey.com>
7910
7911         * configure: Rebuild.
7912         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
7913
7914 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
7915
7916         PR server/23158:
7917         * regformats/regdat.sh: Adjust script, following the addition
7918         of the new expedite_regs parameter to init_target_desc.
7919
7920 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
7921     
7922         PR gdb/23127
7923         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
7924         set_gdbarch_significant_addr_bit.
7925         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
7926         set_gdbarch_significant_addr_bit.
7927         * utils.c (address_significant): Update to sign extend addr.
7928
7929 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
7930
7931         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
7932         (xtensa_linux_init_abi): Limit tdep->num_regs by
7933         tdep->num_nopriv_regs.
7934         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
7935         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
7936         not initialized.
7937
7938 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
7939
7940         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
7941
7942 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
7943
7944         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
7945         (I387_MXCSR_INIT_VAL): New constant.
7946         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
7947         buffer if it was supplied by the inferior.
7948         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
7949         (i387_xsave_get_clear_bv): New function.
7950         (i387_supply_xsave): Only read x87 control registers from the
7951         xsave buffer if the feature is enabled, and the state will have
7952         been written, otherwise, provide a suitable default.
7953         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
7954         including x87 control registers.  Update control registers if they
7955         have changed from the default value, and mark features as enabled
7956         as required.
7957         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
7958
7959 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
7960
7961         * spu-tdep.c (info_spu_event_command): Fix output formatting.
7962
7963 2018-05-07  Tom Tromey  <tom@tromey.com>
7964
7965         * configure: Rebuild.
7966         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
7967
7968 2018-05-07  Tom Tromey  <tom@tromey.com>
7969
7970         PR tdep/20362:
7971         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
7972         bit.  Use correct value for VDIV.
7973
7974 2018-05-04  Tom Tromey  <tom@tromey.com>
7975
7976         * configure: Rebuild.
7977         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
7978
7979 2018-05-04  Tom Tromey  <tom@tromey.com>
7980
7981         * linux-record.c (record_linux_system_call) <case
7982         RECORD_SYS_RECVFROM>: Add "break".
7983
7984 2018-05-04  Tom Tromey  <tom@tromey.com>
7985
7986         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
7987         Add missing "break".
7988         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
7989         Add missing "break".
7990
7991 2018-05-04  Tom Tromey  <tom@tromey.com>
7992
7993         * rs6000-tdep.c (ppc_process_record_op4)
7994         (ppc_process_record_op63): Add fall-through comment.
7995
7996 2018-05-04  Tom Tromey  <tom@tromey.com>
7997
7998         * i386-tdep.c (i386_process_record): Add fall-through comment.
7999
8000 2018-05-04  Tom Tromey  <tom@tromey.com>
8001
8002         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
8003         comment.
8004
8005 2018-05-04  Tom Tromey  <tom@tromey.com>
8006
8007         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
8008         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
8009         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
8010         comment.
8011         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
8012         comment.
8013         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
8014         comment.
8015
8016 2018-05-04  Tom Tromey  <tom@tromey.com>
8017
8018         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
8019
8020 2018-05-04  Tom Tromey  <tom@tromey.com>
8021
8022         * s390-tdep.c (s390_process_record): Fix fall-through comments.
8023         * xcoffread.c (scan_xcoff_symtab): Move comment later.
8024         * symfile.c (section_is_mapped): Fix fall-through comment.
8025         * stabsread.c (define_symbol, read_member_functions): Fix
8026         fall-through comment.
8027         * s390-linux-tdep.c (s390_process_record): Fix fall-through
8028         comment.
8029         * remote.c (remote_wait_as): Fix fall-through comment.
8030         * p-exp.y (yylex): Fix fall-through comment.
8031         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
8032         comment.
8033         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
8034         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
8035         * jv-exp.y (yylex): Fix fall-through comment.
8036         * go-exp.y (lex_one_token): Fix fall-through comment.
8037         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
8038         fall-through comment.
8039         * f-exp.y (yylex): Fix fall-through comment.
8040         * dwarf2read.c (process_die): Fix fall-through comments.
8041         * dbxread.c (process_one_symbol): Fix fall-through comment.
8042         * d-exp.y (lex_one_token): Fix fall-through comment.
8043         * cp-name-parser.y (yylex): Fix fall-through comment.
8044         * coffread.c (coff_symtab_read): Fix fall-through comment.
8045         * c-exp.y (lex_one_token): Fix fall-through comment.
8046         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
8047         comment.
8048         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
8049         comment.
8050
8051 2018-05-04  Tom Tromey  <tom@tromey.com>
8052
8053         PR python/22730:
8054         * NEWS: Mention gdb.execute change.
8055         * gdbcmd.h (execute_control_command): Don't declare.
8056         * python/python.c (execute_gdb_command): Use read_command_lines_1,
8057         execute_control_commands, execute_control_commands_to_string.
8058         * cli/cli-script.h (execute_control_commands)
8059         (execute_control_commands_to_string): Declare.
8060         (execute_control_command): Add from_tty parameter.
8061         * cli/cli-script.c (execute_control_commands)
8062         (execute_control_commands_to_string): New functions.
8063         (execute_user_command): Use execute_control_commands.
8064         (execute_control_command_1): Add "from_tty" parameter.  Update.
8065         (execute_control_command): Likewise.
8066
8067 2018-05-04  Tom Tromey  <tom@tromey.com>
8068
8069         PR python/22731:
8070         * NEWS: Mention that breakpoint commands are writable.
8071         * python/py-breakpoint.c (bppy_set_commands): New function.
8072         (breakpoint_object_getset) <"commands">: Use it.
8073
8074 2018-05-04  Tom Tromey  <tom@tromey.com>
8075
8076         * tracepoint.c (actions_command): Update.
8077         * mi/mi-cmd-break.c (mi_command_line_array)
8078         (mi_command_line_array_cnt, mi_command_line_array_ptr)
8079         (mi_read_next_line): Remove.
8080         (mi_cmd_break_commands): Update.
8081         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
8082         function_view.
8083         * cli/cli-script.c (get_command_line): Update.
8084         (process_next_line): Use function_view.  Constify.
8085         (recurse_read_control_structure, read_command_lines)
8086         (read_command_lines_1): Change argument types to function_view.
8087         (do_define_command, document_command): Update.
8088         * breakpoint.h (check_tracepoint_command): Don't declare.
8089         * breakpoint.c (check_tracepoint_command): Remove.
8090         (commands_command_1, create_tracepoint_from_upload): Update.
8091
8092 2018-05-04  Tom Tromey  <tom@tromey.com>
8093
8094         PR gdb/11750:
8095         * cli/cli-script.h (enum command_control_type) <define_control>:
8096         New constant.
8097         * cli/cli-script.c (multi_line_command_p): Handle define_control.
8098         (build_command_line, execute_control_command_1)
8099         (process_next_line): Likewise.
8100         (do_define_command): New function, extracted from define_command.
8101         (define_command): Use it.
8102
8103 2018-05-04  Tom Tromey  <tom@tromey.com>
8104
8105         * tracepoint.c (actions_command): Update.
8106         * cli/cli-script.h (read_command_lines): Update.
8107         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
8108         (MAX_TMPBUF): Remove define.
8109         (define_command): Use string_printf.
8110         (document_command): Likewise.
8111         * breakpoint.c (commands_command_1): Update.
8112
8113 2018-05-04  Tom Tromey  <tom@tromey.com>
8114
8115         * top.c (execute_command): Update.
8116         * cli/cli-script.h (print_command_lines): Now varargs.
8117         * cli/cli-script.c (print_command_lines): Now varargs.
8118         (execute_control_command_1) <case while_control, case if_control>:
8119         Update.
8120
8121 2018-05-04  Tom Tromey  <tom@tromey.com>
8122
8123         * tracepoint.c (all_tracepoint_actions): Rename from
8124         all_tracepoint_actions_and_cleanup.  Change return type.
8125         (actions_command, encode_actions_1, encode_actions)
8126         (trace_dump_actions, tdump_command): Update.
8127         * remote.c (remote_download_command_source): Update.
8128         * python/python.c (gdbpy_eval_from_control_command)
8129         (python_command, python_interactive_command): Update.
8130         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
8131         * guile/guile.c (guile_command)
8132         (gdbscm_eval_from_control_command, guile_command): Update.
8133         * compile/compile.c (compile_code_command)
8134         (compile_print_command, compile_to_object): Update.
8135         * cli/cli-script.h (struct command_lines_deleter): New.
8136         (counted_command_line): New typedef.
8137         (struct command_line): Add constructor, destructor.
8138         <body_list>: Remove.
8139         <body_list_0, body_list_1>: New members.
8140         (command_line_up): Remove typedef.
8141         (read_command_lines, read_command_lines_1, get_command_line):
8142         Update.
8143         (copy_command_lines): Don't declare.
8144         * cli/cli-script.c (build_command_line): Use "new".
8145         (get_command_line): Return counted_command_line.
8146         (print_command_lines, execute_user_command)
8147         (execute_control_command_1, while_command, if_command): Update.
8148         (realloc_body_list): Remove.
8149         (process_next_line, recurse_read_control_structure): Update.
8150         (read_command_lines, read_command_lines_1): Return counted_command_line.
8151         (free_command_lines): Use "delete".
8152         (copy_command_lines): Remove.
8153         (define_command, document_command, show_user_1): Update.
8154         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
8155         a counted_command_line.
8156         * breakpoint.h (counted_command_line): Remove typedef.
8157         (breakpoint_set_commands): Update.
8158         * breakpoint.c (check_no_tracepoint_commands)
8159         (validate_commands_for_breakpoint): Update.
8160         (breakpoint_set_commands): Change commands to be a
8161         counted_command_line.
8162         (commands_command_1, update_dprintf_command_list)
8163         (create_tracepoint_from_upload): Update.
8164
8165 2018-05-04  Tom Tromey  <tom@tromey.com>
8166
8167         * cli/cli-decode.h (cmd_list_element): New constructor.
8168         (~cmd_list_element): New destructor.
8169         (struct cmd_list_element): Add initializers.
8170         * cli/cli-decode.c (do_add_cmd): Use "new".
8171         (delete_cmd): Use "delete".
8172
8173 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
8174             Pedro Alves <palves@redhat.com>
8175
8176         PR breakpoints/19806 and support for PR external/20207.
8177         * NEWS: Mention Aarch64 watchpoint improvements.
8178         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
8179         watchpoints and PR external/20207 watchpoints.
8180         * nat/aarch64-linux-hw-point.c
8181         (kernel_supports_any_contiguous_range): New.
8182         (aarch64_watchpoint_offset): New.
8183         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
8184         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
8185         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
8186         (aarch64_align_watchpoint): New parameters aligned_offset_p and
8187         next_addr_orig_p.  Support PR external/20207 watchpoints.
8188         (aarch64_downgrade_regs): New.
8189         (aarch64_dr_state_insert_one_point): New parameters offset and
8190         addr_orig.
8191         (aarch64_dr_state_remove_one_point): Likewise.
8192         (aarch64_handle_breakpoint): Update caller.
8193         (aarch64_handle_aligned_watchpoint): Likewise.
8194         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
8195         aligned_offset.
8196         (aarch64_linux_set_debug_regs): Remove const from state.  Call
8197         aarch64_downgrade_regs.
8198         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
8199         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
8200         (DR_CONTROL_MASK): ... this.
8201         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
8202         (unsigned int aarch64_watchpoint_offset): New prototype.
8203         (aarch64_linux_set_debug_regs): Remove const from state.
8204         * utils.c (align_up, align_down): Move to ...
8205         * common/common-utils.c (align_up, align_down): ... here.
8206         * utils.h (align_up, align_down): Move to ...
8207         * common/common-utils.h (align_up, align_down): ... here.
8208
8209 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
8210
8211         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
8212         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
8213         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
8214         Re-implement to match the ABI as summarized in GCC's
8215         gcc/config/sparc/sparc.c.  All callers updated.
8216         (sparc32_store_arguments): Remove assertion.
8217
8218 2018-05-04  Tom Tromey  <tom@tromey.com>
8219
8220         * printcmd.c: Don't include tui.h.
8221         (decode_format): Use skip_spaces.
8222
8223 2018-05-04  Tom Tromey  <tom@tromey.com>
8224
8225         PR gdb/22619:
8226         * printcmd.c (last_count): New global.
8227         (x_command): Use saved count when repeating.
8228
8229 2018-05-04  Tom Tromey  <tom@tromey.com>
8230
8231         * nto-procfs.c (do_closedir_cleanup): Remove.
8232         (procfs_pidlist): Use gdb_dir_up.
8233         * procfs.c (do_closedir_cleanup): Remove.
8234         (proc_update_threads): Use gdb_dir_up.
8235         * common/filestuff.h (struct gdb_dir_deleter): New.
8236         (gdb_dir_up): New typedef.
8237
8238 2018-05-04  Tom Tromey  <tom@tromey.com>
8239
8240         * ada-lang.c (print_mention_exception): Use std::string.
8241
8242 2018-05-04  Tom Tromey  <tom@tromey.com>
8243
8244         * ada-lang.c (create_excep_cond_exprs): Update.
8245         (ada_exception_catchpoint_cond_string): Use std::string.
8246
8247 2018-05-04  Tom Tromey  <tom@tromey.com>
8248
8249         * ada-lang.c (xget_renaming_scope): Return std::string.
8250         (old_renaming_is_invisible): Update.
8251
8252 2018-05-04  Tom Tromey  <tom@tromey.com>
8253
8254         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
8255         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
8256
8257 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
8258
8259         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
8260
8261 2018-05-04  Tom Tromey  <tom@tromey.com>
8262
8263         * remote.c (remote_query_supported_append): Change type.
8264         (remote_check_symbols): Update.
8265
8266 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
8267
8268         PR gdb/11420
8269         * configure.ac: Prepend libpython.
8270         * python/python-config.py: Likewise.
8271         * configure: Regenerate.
8272
8273 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
8274
8275         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
8276
8277 2018-05-03  Pedro Alves  <palves@redhat.com>
8278
8279         * s390-linux-nat.c
8280         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
8281         override.  Write 'true' instead of '1'.
8282         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
8283         declaration.
8284
8285 2018-05-02  Pedro Alves  <palves@redhat.com>
8286
8287         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
8288         add_inf_child_target.
8289         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
8290         add_inf_child_target.
8291         * aix-thread.c (aix_thread_target_info): New.
8292         (aix_thread_target) <shortname, longname, doc>: Delete.
8293         <info>: New.
8294         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
8295         add_inf_child_target.
8296         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
8297         add_inf_child_target.
8298         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
8299         add_inf_child_target.
8300         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
8301         add_inf_child_target.
8302         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
8303         add_inf_child_target.
8304         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
8305         add_inf_child_target.
8306         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
8307         add_inf_child_target.
8308         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
8309         add_inf_child_target.
8310         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
8311         add_inf_child_target.
8312         * bfd-target.c (target_bfd_target_info): New.
8313         (target_bfd) <shortname, longname, doc>: Delete.
8314         <info>: New.
8315         * bsd-kvm.c (bsd_kvm_target_info): New.
8316         (bsd_kvm_target) <shortname, longname, doc>: Delete.
8317         <info>: New.
8318         (bsd_kvm_target::open): Rename to ...
8319         (bsd_kvm_target_open): ... this.  Adjust.
8320         * bsd-uthread.c (bsd_uthread_target_info): New.
8321         (bsd_uthread_target) <shortname, longname, doc>: Delete.
8322         <info>: New.
8323         * corefile.c (core_file_command): Adjust.
8324         * corelow.c (core_target_info): New.
8325         (core_target) <shortname, longname, doc>: Delete.
8326         <info>: New.
8327         (core_target::open): Rename to ...
8328         (core_target_open): ... this.  Adjust.
8329         * ctf.c (ctf_target_info): New.
8330         (ctf_target) <shortname, longname, doc>: Delete.
8331         <info>: New.
8332         (ctf_target::open): Rename to ...
8333         (ctf_target_open): ... this.
8334         (_initialize_ctf): Adjust.
8335         * exec.c (exec_target_info): New.
8336         (exec_target) <shortname, longname, doc>: Delete.
8337         <info>: New.
8338         (exec_target::open): Rename to ...
8339         (exec_target_open): ... this.
8340         * gdbcore.h (core_target_open): Declare.
8341         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
8342         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
8343         add_inf_child_target.
8344         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
8345         add_inf_child_target.
8346         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
8347         add_inf_child_target.
8348         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
8349         add_inf_child_target.
8350         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
8351         add_inf_child_target.
8352         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
8353         add_inf_child_target.
8354         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
8355         add_inf_child_target.
8356         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
8357         add_inf_child_target.
8358         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
8359         add_inf_child_target.
8360         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
8361         add_inf_child_target.
8362         * inf-child.c (inf_child_target_info): New.
8363         (inf_child_target::info): New.
8364         (inf_child_open_target): Remove 'target' parameter.  Use
8365         get_native_target instead.
8366         (inf_child_target::open): Delete.
8367         (add_inf_child_target): New.
8368         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
8369         Delete.
8370         <info>: New.
8371         (add_inf_child_target): Declare.
8372         (inf_child_open_target): Declare.
8373         * linux-thread-db.c (thread_db_target_info): New.
8374         (thread_db_target) <shortname, longname, doc>: Delete.
8375         <info>: New.
8376         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
8377         add_inf_child_target.
8378         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
8379         add_inf_child_target.
8380         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
8381         add_inf_child_target.
8382         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
8383         add_inf_child_target.
8384         * make-target-delegates (print_class): Adjust.
8385         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
8386         add_inf_child_target.
8387         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
8388         add_inf_child_target.
8389         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
8390         add_inf_child_target.
8391         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
8392         add_inf_child_target.
8393         * nto-procfs.c (nto_native_target_info): New.
8394         (nto_procfs_target_native) <shortname, longname, doc>:
8395         Delete.
8396         <info>: New.
8397         (nto_procfs_target_info): New.
8398         (nto_procfs_target_procfs) <shortname, longname, doc>:
8399         Delete.
8400         <info>: New.
8401         (init_procfs_targets): Adjust.
8402         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
8403         add_inf_child_target.
8404         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
8405         add_inf_child_target.
8406         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
8407         add_inf_child_target.
8408         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
8409         add_inf_child_target.
8410         * ravenscar-thread.c (ravenscar_target_info): New.
8411         (ravenscar_thread_target) <shortname, longname, doc>:
8412         Delete.
8413         <info>: New.
8414         * record-btrace.c (record_btrace_target_info):
8415         (record_btrace_target) <shortname, longname, doc>: Delete.
8416         <info>: New.
8417         (record_btrace_target::open): Rename to ...
8418         (record_btrace_target_open): ... this.  Adjust.
8419         * record-full.c (record_longname, record_doc): New.
8420         (record_full_base_target) <shortname, longname, doc>: Delete.
8421         <info>: New.
8422         (record_full_target_info): New.
8423         (record_full_target): <shortname>: Delete.
8424         <info>: New.
8425         (record_full_core_open_1, record_full_open_1): Update comments.
8426         (record_full_base_target::open): Rename to ...
8427         (record_full_open): ... this.
8428         (cmd_record_full_restore): Update.
8429         (_initialize_record_full): Update.
8430         * remote-sim.c (remote_sim_target_info): New.
8431         (gdbsim_target) <shortname, longname, doc>: Delete.
8432         <info>: New.
8433         (gdbsim_target::open): Rename to ...
8434         (gdbsim_target_open): ... this.
8435         (_initialize_remote_sim): Adjust.
8436         * remote.c (remote_doc): New.
8437         (remote_target_info): New.
8438         (remote_target) <shortname, longname, doc>: Delete.
8439         <info>: New.
8440         (extended_remote_target_info): New.
8441         (extended_remote_target) <shortname, longname, doc>: Delete.
8442         <info>: New.
8443         (remote_target::open_1): Make static.  Adjust.
8444         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
8445         * s390-linux-nat.c (_initialize_s390_nat): Use
8446         add_inf_child_target.
8447         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
8448         add_inf_child_target.
8449         * sol-thread.c (thread_db_target_info): New.
8450         (sol_thread_target) <shortname, longname, doc>: Delete.
8451         <info>: New.
8452         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
8453         add_inf_child_target.
8454         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
8455         add_inf_child_target.
8456         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
8457         add_inf_child_target.
8458         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
8459         add_inf_child_target.
8460         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
8461         add_inf_child_target.
8462         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
8463         add_inf_child_target.
8464         * spu-linux-nat.c (_initialize_spu_nat): Use
8465         add_inf_child_target.
8466         * spu-multiarch.c (spu_multiarch_target_info): New.
8467         (spu_multiarch_target) <shortname, longname, doc>: Delete.
8468         <info>: New.
8469         * target-delegates.c: Regenerate.
8470         * target.c: Include <unordered_map>.
8471         (target_ops_p): Delete.
8472         (DEF_VEC_P(target_ops_p)): Delete.
8473         (target_factories): New.
8474         (test_target_info): New.
8475         (test_target_ops::info): New.
8476         (open_target): Adjust to use target_factories.
8477         (add_target_with_completer): Rename to ...
8478         (add_target): ... this.  Change prototype.  Register target_info
8479         and open callback in target_factories.  Register target_info in
8480         command context instead of target_ops.
8481         (add_target): Delete old implementation.
8482         (add_deprecated_target_alias): Change prototype.  Adjust.
8483         (the_native_target): New.
8484         (set_native_target, get_native_target): New.
8485         (find_default_run_target): Use the_native_target.
8486         (find_attach_target, find_run_target): Simplify.
8487         (target_ops::open): Delete.
8488         (dummy_target_info): New.
8489         (dummy_target::shortname, dummy_target::longname)
8490         (dummy_target::doc): Delete.
8491         (dummy_target::info): New.
8492         (debug_target::shortname, debug_target::longname)
8493         (debug_target::doc): Delete.
8494         (debug_target::info): New.
8495         * target.h (struct target_info): New.
8496         (target_ops::~target_ops): Add comment.
8497         (target_ops::info): New.
8498         (target_ops::shortname, target_ops::longname, target_ops::doc): No
8499         longer virtual.  Implement in terms of target_info.
8500         (set_native_target, get_native_target): Declare.
8501         (target_open_ftype): New.
8502         (add_target, add_target_with_completer)
8503         (add_deprecated_target_alias): Change prototype.
8504         (test_target) <shortname, longname, doc>: Delete.
8505         <info>: New.
8506         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
8507         add_inf_child_target.
8508         * tracefile-tfile.c (tfile_target_info): New.
8509         (tfile_target) <shortname, longname, doc>: Delete.
8510         <info>: New.
8511         (tfile_target::open): Rename to ...
8512         (tfile_target_open): ... this.
8513         (_initialize_tracefile_tfile): Adjust.
8514         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
8515         add_inf_child_target.
8516         * windows-nat.c (_initialize_windows_nat): Use
8517         add_inf_child_target.
8518         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
8519         add_inf_child_target.
8520
8521 2018-05-02  Pedro Alves  <palves@redhat.com>
8522
8523         * linux-nat.h (linux_nat_target) <low_new_thread,
8524         low_delete_thread, low_new_fork, low_forget_process,
8525         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
8526         New virtual methods.
8527         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8528         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
8529         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
8530         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8531         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
8532         Delete.
8533         * linux-fork.c (delete_fork): Adjust to call low method.
8534         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
8535         (linux_nat_new_fork, linux_nat_forget_process_hook)
8536         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
8537         (linux_nat_status_is_event):
8538         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
8539         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
8540         to call low method.
8541         (sigtrap_is_event): Rename to ...
8542         (linux_nat_target::low_status_is_event): ... this.
8543         (linux_nat_set_status_is_event): Delete.
8544         (save_stop_reason, linux_nat_wait_1)
8545         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
8546         low methods.
8547         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8548         (linux_nat_set_new_fork, linux_nat_set_forget_process)
8549         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8550         (linux_nat_set_prepare_to_resume): Delete.
8551         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
8552         low virtual methods.
8553         * amd64-linux-nat.c: Likewise.
8554         * arm-linux-nat.c: Likewise.
8555         * i386-linux-nat.c: Likewise.
8556         * ia64-linux-nat.c: Likewise.
8557         * mips-linux-nat.c: Likewise.
8558         * ppc-linux-nat.c: Likewise.
8559         * s390-linux-nat.c: Likewise.
8560         * sparc64-linux-nat.c: Likewise.
8561         * x86-linux-nat.c: Likewise.
8562         * x86-linux-nat.h: Include "nat/x86-linux.h".
8563         (x86_linux_nat_target) <low_new_fork, low_forget_process,
8564         low_prepare_to_resume, low_new_thread, low_delete_thread>:
8565         Override methods.
8566
8567 2018-05-02  Pedro Alves  <palves@redhat.com>
8568
8569         * target.h (target_ops)
8570         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
8571         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
8572         stopped_by_watchpoint, have_continuable_watchpoint,
8573         stopped_data_address, watchpoint_addr_within_range,
8574         can_accel_watchpoint_condition, can_run, thread_alive,
8575         has_all_memory, has_memory, has_stack, has_registers,
8576         has_execution, can_async_p, is_async_p, supports_non_stop,
8577         always_non_stop_p, can_execute_reverse, supports_multi_process,
8578         supports_enable_disable_tracepoint,
8579         supports_disable_randomization, supports_string_tracing,
8580         supports_evaluation_of_breakpoint_conditions,
8581         can_run_breakpoint_commands, filesystem_is_local,
8582         can_download_tracepoint, get_trace_state_variable_value,
8583         set_trace_notes, get_tib_address, use_agent, can_use_agent,
8584         record_is_replaying, record_will_replay,
8585         augmented_libraries_svr4_read>: Adjust to return bool.
8586         * aarch64-linux-nat.c: All implementations adjusted.
8587         * aix-thread.c: All implementations adjusted.
8588         * arm-linux-nat.c: All implementations adjusted.
8589         * breakpoint.c: All implementations adjusted.
8590         * bsd-kvm.c: All implementations adjusted.
8591         * bsd-uthread.c: All implementations adjusted.
8592         * corelow.c: All implementations adjusted.
8593         * ctf.c: All implementations adjusted.
8594         * darwin-nat.c: All implementations adjusted.
8595         * darwin-nat.h: All implementations adjusted.
8596         * exec.c: All implementations adjusted.
8597         * fbsd-nat.c: All implementations adjusted.
8598         * fbsd-nat.h: All implementations adjusted.
8599         * gnu-nat.c: All implementations adjusted.
8600         * gnu-nat.h: All implementations adjusted.
8601         * go32-nat.c: All implementations adjusted.
8602         * ia64-linux-nat.c: All implementations adjusted.
8603         * inf-child.c: All implementations adjusted.
8604         * inf-child.h: All implementations adjusted.
8605         * inf-ptrace.c: All implementations adjusted.
8606         * inf-ptrace.h: All implementations adjusted.
8607         * linux-nat.c: All implementations adjusted.
8608         * linux-nat.h: All implementations adjusted.
8609         * mips-linux-nat.c: All implementations adjusted.
8610         * nto-procfs.c: All implementations adjusted.
8611         * ppc-linux-nat.c: All implementations adjusted.
8612         * procfs.c: All implementations adjusted.
8613         * ravenscar-thread.c: All implementations adjusted.
8614         * record-btrace.c: All implementations adjusted.
8615         * record-full.c: All implementations adjusted.
8616         * remote-sim.c: All implementations adjusted.
8617         * remote.c: All implementations adjusted.
8618         * s390-linux-nat.c: All implementations adjusted.
8619         * sol-thread.c: All implementations adjusted.
8620         * spu-multiarch.c: All implementations adjusted.
8621         * target-delegates.c: All implementations adjusted.
8622         * target.c: All implementations adjusted.
8623         * target.h: All implementations adjusted.
8624         * tracefile-tfile.c: All implementations adjusted.
8625         * tracefile.c: All implementations adjusted.
8626         * tracefile.h: All implementations adjusted.
8627         * windows-nat.c: All implementations adjusted.
8628         * x86-linux-nat.h: All implementations adjusted.
8629         * x86-nat.h: All implementations adjusted.
8630
8631 2018-05-02  Pedro Alves  <palves@redhat.com>
8632
8633         * make-target-delegates (scan_target_h): Don't trim lines here.
8634         Replace sequences of tabs and/or whitespace with a single
8635         whitespace.
8636         (top level, parsing methods): Trim each line before processing it
8637         here.
8638
8639 2018-05-02  Pedro Alves  <palves@redhat.com>
8640             John Baldwin  <jhb@freebsd.org>
8641
8642         * target.h (enum strata) <debug_stratum>: New.
8643         (struct target_ops) <all delegation methods>: Replace by C++
8644         virtual methods, and drop "to_" prefix.  All references updated
8645         throughout.
8646         <to_shortname, to_longname, to_doc, to_data,
8647         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
8648         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
8649         virtual methods.  All references updated throughout.
8650         <can_attach, supports_terminal_ours, can_create_inferior,
8651         get_thread_control_capabilities, attach_no_wait>: New
8652         virtual methods.
8653         <insert_breakpoint, remove_breakpoint>: Now
8654         TARGET_DEFAULT_NORETURN methods.
8655         <info_proc>: Now returns bool.
8656         <to_magic>: Delete.
8657         (OPS_MAGIC): Delete.
8658         (current_target): Delete.  All references replaced by references
8659         to ...
8660         (target_stack): ... this.  New.
8661         (target_shortname, target_longname): Adjust.
8662         (target_can_run): Now a function declaration.
8663         (default_child_has_all_memory, default_child_has_memory)
8664         (default_child_has_stack, default_child_has_registers)
8665         (default_child_has_execution): Remove target_ops parameter.
8666         (complete_target_initialization): Delete.
8667         (memory_breakpoint_target): New template class.
8668         (test_target_ops): Refactor as a C++ class with virtual methods.
8669         * make-target-delegates (NAME_PART): Tighten.
8670         (POINTER_PART, CP_SYMBOL): New.
8671         (SIMPLE_RETURN_PART): Reimplement.
8672         (VEC_RETURN_PART): Expect less.
8673         (RETURN_PART, VIRTUAL_PART): New.
8674         (METHOD): Adjust to C++ virtual methods.
8675         (scan_target_h): Remove reference to C99.
8676         (dname): Output "target_ops::" prefix.
8677         (write_function_header): Adjust to output a C++ class method.
8678         (write_declaration): New.
8679         (write_delegator): Adjust to output a C++ class method.
8680         (tdname): Output "dummy_target::" prefix.
8681         (write_tdefault, write_debugmethod): Adjust to output a C++ class
8682         method.
8683         (tdefault_names, debug_names): Delete.
8684         (return_types, tdefaults, styles, argtypes_array): New.
8685         (top level): All methods are delegators.
8686         (print_class): New.
8687         (top level): Print dummy_target and debug_target classes.
8688         * target-delegates.c: Regenerate.
8689         * target-debug.h (target_debug_print_enum_info_proc_what)
8690         (target_debug_print_thread_control_capabilities)
8691         (target_debug_print_thread_info_p): New.
8692         * target.c (dummy_target): Delete.
8693         (the_dummy_target, the_debug_target): New.
8694         (target_stack): Now extern.
8695         (set_targetdebug): Push/unpush debug target.
8696         (default_child_has_all_memory, default_child_has_memory)
8697         (default_child_has_stack, default_child_has_registers)
8698         (default_child_has_execution): Remove target_ops parameter.
8699         (complete_target_initialization): Delete.
8700         (add_target_with_completer): No longer call
8701         complete_target_initialization.
8702         (target_supports_terminal_ours): Use regular delegation.
8703         (update_current_target): Delete.
8704         (push_target): No longer check magic number.  Don't call
8705         update_current_target.
8706         (unpush_target): Don't call update_current_target.
8707         (target_is_pushed): No longer check magic number.
8708         (target_require_runnable): Skip for all stratums over
8709         process_stratum.
8710         (target_ops::info_proc): New.
8711         (target_info_proc): Use find_target_at and
8712         find_default_run_target.
8713         (target_supports_disable_randomization): Use regular delegation.
8714         (target_get_osdata): Use find_target_at.
8715         (target_ops::open, target_ops::close, target_ops::can_attach)
8716         (target_ops::attach, target_ops::can_create_inferior)
8717         (target_ops::create_inferior, target_ops::can_run)
8718         (target_can_run): New.
8719         (default_fileio_target): Use regular delegation.
8720         (target_ops::fileio_open, target_ops::fileio_pwrite)
8721         (target_ops::fileio_pread, target_ops::fileio_fstat)
8722         (target_ops::fileio_close, target_ops::fileio_unlink)
8723         (target_ops::fileio_readlink): New.
8724         (target_fileio_open_1, target_fileio_unlink)
8725         (target_fileio_readlink): Always call the target method.  Handle
8726         FILEIO_ENOSYS.
8727         (return_zero, return_zero_has_execution): Delete.
8728         (init_dummy_target): Delete.
8729         (dummy_target::dummy_target, dummy_target::shortname)
8730         (dummy_target::longname, dummy_target::doc)
8731         (debug_target::debug_target, debug_target::shortname)
8732         (debug_target::longname, debug_target::doc): New.
8733         (target_supports_delete_record): Use regular delegation.
8734         (setup_target_debug): Delete.
8735         (maintenance_print_target_stack): Skip debug_stratum.
8736         (initialize_targets): Instantiate the_dummy_target and
8737         the_debug_target.
8738         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
8739         use target_stack.
8740         (target_auxv_search, fprint_target_auxv): Adjust.
8741         (info_auxv_command): Adjust to use target_stack.
8742         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
8743         * exceptions.c (print_flush): Handle a NULL target_stack.
8744         * regcache.c (target_ops_no_register): Refactor as class with
8745         virtual methods.
8746
8747         * exec.c (exec_target): New class.
8748         (exec_ops): Now an exec_target.
8749         (exec_open, exec_close_1, exec_get_section_table)
8750         (exec_xfer_partial, exec_files_info, exec_has_memory)
8751         (exec_make_note_section): Refactor as exec_target methods.
8752         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
8753         Delete.
8754         (exec_target::find_memory_regions): New.
8755         (_initialize_exec): Don't call init_exec_ops.
8756         * gdbcore.h (exec_file_clear): Delete.
8757
8758         * corefile.c (core_target): Delete.
8759         (core_file_command): Adjust.
8760         * corelow.c (core_target): New class.
8761         (the_core_target): New.
8762         (core_close): Remove target_ops parameter.
8763         (core_close_cleanup): Adjust.
8764         (core_target::close): New.
8765         (core_open, core_detach, get_core_registers, core_files_info)
8766         (core_xfer_partial, core_thread_alive, core_read_description)
8767         (core_pid_to_str, core_thread_name, core_has_memory)
8768         (core_has_stack, core_has_registers, core_info_proc): Rework as
8769         core_target methods.
8770         (ignore, core_remove_breakpoint, init_core_ops): Delete.
8771         (_initialize_corelow): Initialize the_core_target.
8772         * gdbcore.h (core_target): Delete.
8773         (the_core_target): New.
8774
8775         * ctf.c: (ctf_target): New class.
8776         (ctf_ops): Now a ctf_target.
8777         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
8778         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
8779         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
8780         methods.
8781         (init_ctf_ops): Delete.
8782         (_initialize_ctf): Don't call it.
8783         * tracefile-tfile.c (tfile_target): New class.
8784         (tfile_ops): Now a tfile_target.
8785         (tfile_open, tfile_close, tfile_files_info)
8786         (tfile_get_tracepoint_status, tfile_trace_find)
8787         (tfile_fetch_registers, tfile_xfer_partial)
8788         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
8789         Refactor as tfile_target methods.
8790         (tfile_xfer_partial_features): Remove target_ops parameter.
8791         (init_tfile_ops): Delete.
8792         (_initialize_tracefile_tfile): Don't call it.
8793         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
8794         (tracefile_has_stack, tracefile_has_registers)
8795         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
8796         tracefile_target methods.
8797         (init_tracefile_ops): Delete.
8798         (tracefile_target::tracefile_target): New.
8799         * tracefile.h: Include "target.h".
8800         (tracefile_target): New class.
8801         (init_tracefile_ops): Delete.
8802
8803         * spu-multiarch.c (spu_multiarch_target): New class.
8804         (spu_ops): Now a spu_multiarch_target.
8805         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
8806         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
8807         (spu_search_memory, spu_mourn_inferior): Refactor as
8808         spu_multiarch_target methods.
8809         (init_spu_ops): Delete.
8810         (_initialize_spu_multiarch): Remove references to init_spu_ops,
8811         complete_target_initialization.
8812
8813         * ravenscar-thread.c (ravenscar_thread_target): New class.
8814         (ravenscar_ops): Now a ravenscar_thread_target.
8815         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
8816         (ravenscar_thread_alive, ravenscar_pid_to_str)
8817         (ravenscar_fetch_registers, ravenscar_store_registers)
8818         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
8819         (ravenscar_stopped_by_hw_breakpoint)
8820         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
8821         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
8822         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
8823         methods.
8824         (init_ravenscar_thread_ops): Delete.
8825         (_initialize_ravenscar): Remove references to
8826         init_ravenscar_thread_ops and complete_target_initialization.
8827
8828         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
8829         (bsd_uthread_target): New class.
8830         (bsd_uthread_ops): Now a bsd_uthread_target.
8831         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
8832         (bsd_uthread_close, bsd_uthread_mourn_inferior)
8833         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
8834         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
8835         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
8836         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
8837         (bsd_uthread_target): Delete function.
8838         (_initialize_bsd_uthread): Remove reference to
8839         complete_target_initialization.
8840
8841         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
8842         (target_bfd): ... this new class.
8843         (target_bfd_xfer_partial, target_bfd_get_section_table)
8844         (target_bfd_close): Refactor as target_bfd methods.
8845         (target_bfd::~target_bfd): New.
8846         (target_bfd_reopen): Adjust.
8847         (target_bfd::close): New.
8848
8849         * record-btrace.c (record_btrace_target): New class.
8850         (record_btrace_ops): Now a record_btrace_target.
8851         (record_btrace_open, record_btrace_stop_recording)
8852         (record_btrace_disconnect, record_btrace_close)
8853         (record_btrace_async, record_btrace_info)
8854         (record_btrace_insn_history, record_btrace_insn_history_range)
8855         (record_btrace_insn_history_from, record_btrace_call_history)
8856         (record_btrace_call_history_range)
8857         (record_btrace_call_history_from, record_btrace_record_method)
8858         (record_btrace_is_replaying, record_btrace_will_replay)
8859         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
8860         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
8861         (record_btrace_store_registers, record_btrace_prepare_to_store)
8862         (record_btrace_to_get_unwinder)
8863         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
8864         (record_btrace_commit_resume, record_btrace_wait)
8865         (record_btrace_stop, record_btrace_can_execute_reverse)
8866         (record_btrace_stopped_by_sw_breakpoint)
8867         (record_btrace_supports_stopped_by_sw_breakpoint)
8868         (record_btrace_stopped_by_hw_breakpoint)
8869         (record_btrace_supports_stopped_by_hw_breakpoint)
8870         (record_btrace_update_thread_list, record_btrace_thread_alive)
8871         (record_btrace_goto_begin, record_btrace_goto_end)
8872         (record_btrace_goto, record_btrace_stop_replaying_all)
8873         (record_btrace_execution_direction)
8874         (record_btrace_prepare_to_generate_core)
8875         (record_btrace_done_generating_core): Refactor as
8876         record_btrace_target methods.
8877         (init_record_btrace_ops): Delete.
8878         (_initialize_record_btrace): Remove reference to
8879         init_record_btrace_ops.
8880         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
8881         the execution_direction global.
8882         (record_full_base_target, record_full_target)
8883         (record_full_core_target): New classes.
8884         (record_full_ops): Now a record_full_target.
8885         (record_full_core_ops): Now a record_full_core_target.
8886         (record_full_target::detach, record_full_target::disconnect)
8887         (record_full_core_target::disconnect)
8888         (record_full_target::mourn_inferior, record_full_target::kill):
8889         New.
8890         (record_full_open, record_full_close, record_full_async): Refactor
8891         as methods of the record_full_base_target class.
8892         (record_full_resume, record_full_commit_resume): Refactor
8893         as methods of the record_full_target class.
8894         (record_full_wait, record_full_stopped_by_watchpoint)
8895         (record_full_stopped_data_address)
8896         (record_full_stopped_by_sw_breakpoint)
8897         (record_full_supports_stopped_by_sw_breakpoint)
8898         (record_full_stopped_by_hw_breakpoint)
8899         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
8900         methods of the record_full_base_target class.
8901         (record_full_store_registers, record_full_xfer_partial)
8902         (record_full_insert_breakpoint, record_full_remove_breakpoint):
8903         Refactor as methods of the record_full_target class.
8904         (record_full_can_execute_reverse, record_full_get_bookmark)
8905         (record_full_goto_bookmark, record_full_execution_direction)
8906         (record_full_record_method, record_full_info, record_full_delete)
8907         (record_full_is_replaying, record_full_will_replay)
8908         (record_full_goto_begin, record_full_goto_end, record_full_goto)
8909         (record_full_stop_replaying): Refactor as methods of the
8910         record_full_base_target class.
8911         (record_full_core_resume, record_full_core_kill)
8912         (record_full_core_fetch_registers)
8913         (record_full_core_prepare_to_store)
8914         (record_full_core_store_registers, record_full_core_xfer_partial)
8915         (record_full_core_insert_breakpoint)
8916         (record_full_core_remove_breakpoint)
8917         (record_full_core_has_execution): Refactor
8918         as methods of the record_full_core_target class.
8919         (record_full_base_target::supports_delete_record): New.
8920         (init_record_full_ops): Delete.
8921         (init_record_full_core_ops): Delete.
8922         (record_full_save): Refactor as method of the
8923         record_full_base_target class.
8924         (_initialize_record_full): Remove references to
8925         init_record_full_ops and init_record_full_core_ops.
8926
8927         * remote.c (remote_target, extended_remote_target): New classes.
8928         (remote_ops): Now a remote_target.
8929         (extended_remote_ops): Now an extended_remote_target.
8930         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
8931         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
8932         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
8933         (remote_pass_signals, remote_set_syscall_catchpoint)
8934         (remote_program_signals, )
8935         (remote_thread_always_alive): Remove target_ops parameter.
8936         (remote_thread_alive, remote_thread_name)
8937         (remote_update_thread_list, remote_threads_extra_info)
8938         (remote_static_tracepoint_marker_at)
8939         (remote_static_tracepoint_markers_by_strid)
8940         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
8941         (remote_open): Refactor as methods of remote_target.
8942         (extended_remote_open, extended_remote_detach)
8943         (extended_remote_attach, extended_remote_post_attach):
8944         (extended_remote_supports_disable_randomization)
8945         (extended_remote_create_inferior): : Refactor as method of
8946         extended_remote_target.
8947         (remote_set_permissions, remote_open_1, remote_detach)
8948         (remote_follow_fork, remote_follow_exec, remote_disconnect)
8949         (remote_resume, remote_commit_resume, remote_stop)
8950         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
8951         (remote_terminal_ours, remote_wait, remote_fetch_registers)
8952         (remote_prepare_to_store, remote_store_registers)
8953         (remote_flash_erase, remote_flash_done, remote_files_info)
8954         (remote_kill, remote_mourn, remote_insert_breakpoint)
8955         (remote_remove_breakpoint, remote_insert_watchpoint)
8956         (remote_watchpoint_addr_within_range)
8957         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
8958         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
8959         (remote_supports_stopped_by_sw_breakpoint)
8960         (remote_stopped_by_hw_breakpoint)
8961         (remote_supports_stopped_by_hw_breakpoint)
8962         (remote_stopped_by_watchpoint, remote_stopped_data_address)
8963         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
8964         (remote_verify_memory): Refactor as methods of remote_target.
8965         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
8966         parameter.
8967         (remote_xfer_partial, remote_get_memory_xfer_limit)
8968         (remote_search_memory, remote_rcmd, remote_memory_map)
8969         (remote_pid_to_str, remote_get_thread_local_address)
8970         (remote_get_tib_address, remote_read_description): Refactor as
8971         methods of remote_target.
8972         (remote_target::fileio_open, remote_target::fileio_pwrite)
8973         (remote_target::fileio_pread, remote_target::fileio_close): New.
8974         (remote_hostio_readlink, remote_hostio_fstat)
8975         (remote_filesystem_is_local, remote_can_execute_reverse)
8976         (remote_supports_non_stop, remote_supports_disable_randomization)
8977         (remote_supports_multi_process, remote_supports_cond_breakpoints)
8978         (remote_supports_enable_disable_tracepoint)
8979         (remote_supports_string_tracing)
8980         (remote_can_run_breakpoint_commands, remote_trace_init)
8981         (remote_download_tracepoint, remote_can_download_tracepoint)
8982         (remote_download_trace_state_variable, remote_enable_tracepoint)
8983         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
8984         (remote_trace_start, remote_get_trace_status)
8985         (remote_get_tracepoint_status, remote_trace_stop)
8986         (remote_trace_find, remote_get_trace_state_variable_value)
8987         (remote_save_trace_data, remote_get_raw_trace_data)
8988         (remote_set_disconnected_tracing, remote_core_of_thread)
8989         (remote_set_circular_trace_buffer, remote_traceframe_info)
8990         (remote_get_min_fast_tracepoint_insn_len)
8991         (remote_set_trace_buffer_size, remote_set_trace_notes)
8992         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
8993         (remote_disable_btrace, remote_teardown_btrace)
8994         (remote_read_btrace, remote_btrace_conf)
8995         (remote_augmented_libraries_svr4_read, remote_load)
8996         (remote_pid_to_exec_file, remote_can_do_single_step)
8997         (remote_execution_direction, remote_thread_handle_to_thread_info):
8998         Refactor as methods of remote_target.
8999         (init_remote_ops, init_extended_remote_ops): Delete.
9000         (remote_can_async_p, remote_is_async_p, remote_async)
9001         (remote_thread_events, remote_upload_tracepoints)
9002         (remote_upload_trace_state_variables): Refactor as methods of
9003         remote_target.
9004         (_initialize_remote): Remove references to init_remote_ops and
9005         init_extended_remote_ops.
9006
9007         * remote-sim.c (gdbsim_target): New class.
9008         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
9009         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
9010         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
9011         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
9012         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
9013         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
9014         Refactor as methods of gdbsim_target.
9015         (gdbsim_ops): Now a gdbsim_target.
9016         (init_gdbsim_ops): Delete.
9017         (gdbsim_cntrl_c): Adjust.
9018         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
9019
9020         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
9021         (the_amd64_linux_nat_target): New.
9022         (amd64_linux_fetch_inferior_registers)
9023         (amd64_linux_store_inferior_registers): Refactor as methods of
9024         amd64_linux_nat_target.
9025         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
9026         * i386-linux-nat.c: Don't include "linux-nat.h".
9027         (i386_linux_nat_target): New class.
9028         (the_i386_linux_nat_target): New.
9029         (i386_linux_fetch_inferior_registers)
9030         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
9031         as methods of i386_linux_nat_target.
9032         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
9033         * inf-child.c (inf_child_ops): Delete.
9034         (inf_child_fetch_inferior_registers)
9035         (inf_child_store_inferior_registers): Delete.
9036         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
9037         methods of inf_child_target.
9038         (inf_child_target::supports_terminal_ours)
9039         (inf_child_target::terminal_init)
9040         (inf_child_target::terminal_inferior)
9041         (inf_child_target::terminal_ours_for_output)
9042         (inf_child_target::terminal_ours, inf_child_target::interrupt)
9043         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
9044         New.
9045         (inf_child_open, inf_child_disconnect, inf_child_close)
9046         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
9047         (inf_child_post_startup_inferior, inf_child_can_run)
9048         (inf_child_pid_to_exec_file): Refactor as methods of
9049         inf_child_target.
9050         (inf_child_follow_fork): Delete.
9051         (inf_child_target::can_create_inferior)
9052         (inf_child_target::can_attach): New.
9053         (inf_child_target::has_all_memory, inf_child_target::has_memory)
9054         (inf_child_target::has_stack, inf_child_target::has_registers)
9055         (inf_child_target::has_execution): New.
9056         (inf_child_fileio_open, inf_child_fileio_pwrite)
9057         (inf_child_fileio_pread, inf_child_fileio_fstat)
9058         (inf_child_fileio_close, inf_child_fileio_unlink)
9059         (inf_child_fileio_readlink, inf_child_use_agent)
9060         (inf_child_can_use_agent): Refactor as methods of
9061         inf_child_target.
9062         (return_zero, inf_child_target): Delete.
9063         (inf_child_target::inf_child_target): New.
9064         * inf-child.h: Include "target.h".
9065         (inf_child_target): Delete function prototype.
9066         (inf_child_target): New class.
9067         (inf_child_open_target, inf_child_mourn_inferior)
9068         (inf_child_maybe_unpush_target): Delete.
9069         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
9070         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
9071         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
9072         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
9073         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
9074         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
9075         (inf_ptrace_wait, inf_ptrace_xfer_partial)
9076         (inf_ptrace_thread_alive, inf_ptrace_files_info)
9077         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
9078         methods of inf_ptrace_target.
9079         (inf_ptrace_target): Delete function.
9080         * inf-ptrace.h: Include "inf-child.h".
9081         (inf_ptrace_target): Delete function declaration.
9082         (inf_ptrace_target): New class.
9083         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
9084         * linux-nat.c (linux_target): New.
9085         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
9086         (linux_nat_target::~linux_nat_target): New.
9087         (linux_child_post_attach, linux_child_post_startup_inferior)
9088         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
9089         (linux_child_remove_fork_catchpoint)
9090         (linux_child_insert_vfork_catchpoint)
9091         (linux_child_remove_vfork_catchpoint)
9092         (linux_child_insert_exec_catchpoint)
9093         (linux_child_remove_exec_catchpoint)
9094         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
9095         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
9096         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
9097         (linux_nat_stopped_data_address)
9098         (linux_nat_stopped_by_sw_breakpoint)
9099         (linux_nat_supports_stopped_by_sw_breakpoint)
9100         (linux_nat_stopped_by_hw_breakpoint)
9101         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
9102         (linux_nat_kill, linux_nat_mourn_inferior)
9103         (linux_nat_xfer_partial, linux_nat_thread_alive)
9104         (linux_nat_update_thread_list, linux_nat_pid_to_str)
9105         (linux_nat_thread_name, linux_child_pid_to_exec_file)
9106         (linux_child_static_tracepoint_markers_by_strid)
9107         (linux_nat_is_async_p, linux_nat_can_async_p)
9108         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
9109         (linux_nat_supports_multi_process)
9110         (linux_nat_supports_disable_randomization, linux_nat_async)
9111         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
9112         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
9113         (linux_nat_fileio_open, linux_nat_fileio_readlink)
9114         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
9115         methods of linux_nat_target.
9116         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
9117         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
9118         parameter.
9119         (check_stopped_by_watchpoint): Adjust.
9120         (linux_xfer_partial): Delete.
9121         (linux_target_install_ops, linux_target, linux_nat_add_target):
9122         Delete.
9123         (linux_nat_target::linux_nat_target): New.
9124         * linux-nat.h: Include "inf-ptrace.h".
9125         (linux_nat_target): New.
9126         (linux_target, linux_target_install_ops, linux_nat_add_target):
9127         Delete function declarations.
9128         (linux_target): Declare global.
9129         * linux-thread-db.c (thread_db_target): New.
9130         (thread_db_target::thread_db_target): New.
9131         (thread_db_ops): Delete.
9132         (the_thread_db_target): New.
9133         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
9134         (thread_db_update_thread_list, thread_db_pid_to_str)
9135         (thread_db_extra_thread_info)
9136         (thread_db_thread_handle_to_thread_info)
9137         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
9138         (thread_db_resume): Refactor as methods of thread_db_target.
9139         (init_thread_db_ops): Delete.
9140         (_initialize_thread_db): Remove reference to init_thread_db_ops.
9141         * x86-linux-nat.c: Don't include "linux-nat.h".
9142         (super_post_startup_inferior): Delete.
9143         (x86_linux_nat_target::~x86_linux_nat_target): New.
9144         (x86_linux_child_post_startup_inferior)
9145         (x86_linux_read_description, x86_linux_enable_btrace)
9146         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
9147         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
9148         methods of x86_linux_nat_target.
9149         (x86_linux_create_target): Delete.  Bits folded ...
9150         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
9151         pointer.
9152         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
9153         (x86_linux_nat_target): New class.
9154         (x86_linux_create_target): Delete.
9155         (x86_linux_add_target): Now takes a linux_nat_target pointer.
9156         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
9157         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
9158         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
9159         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
9160         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
9161         make extern.
9162         (x86_use_watchpoints): Delete.
9163         * x86-nat.h: Include "breakpoint.h" and "target.h".
9164         (x86_use_watchpoints): Delete.
9165         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
9166         (x86_stopped_by_watchpoint, x86_stopped_data_address)
9167         (x86_insert_watchpoint, x86_remove_watchpoint)
9168         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
9169         (x86_stopped_by_hw_breakpoint): New declarations.
9170         (x86_nat_target): New template class.
9171
9172         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
9173         (the_ppc_linux_nat_target): New.
9174         (ppc_linux_fetch_inferior_registers)
9175         (ppc_linux_can_use_hw_breakpoint)
9176         (ppc_linux_region_ok_for_hw_watchpoint)
9177         (ppc_linux_ranged_break_num_registers)
9178         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
9179         (ppc_linux_insert_mask_watchpoint)
9180         (ppc_linux_remove_mask_watchpoint)
9181         (ppc_linux_can_accel_watchpoint_condition)
9182         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
9183         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
9184         (ppc_linux_watchpoint_addr_within_range)
9185         (ppc_linux_masked_watch_num_registers)
9186         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
9187         (ppc_linux_read_description): Refactor as methods of
9188         ppc_linux_nat_target.
9189         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
9190
9191         * procfs.c (procfs_xfer_partial): Delete forward declaration.
9192         (procfs_target): New class.
9193         (the_procfs_target): New.
9194         (procfs_target): Delete function.
9195         (procfs_auxv_parse, procfs_attach, procfs_detach)
9196         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
9197         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
9198         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
9199         (procfs_create_inferior, procfs_update_thread_list)
9200         (procfs_thread_alive, procfs_pid_to_str)
9201         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
9202         (procfs_stopped_data_address, procfs_insert_watchpoint)
9203         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
9204         (proc_find_memory_regions, procfs_info_proc)
9205         (procfs_make_note_section): Refactor as methods of procfs_target.
9206         (_initialize_procfs): Adjust.
9207         * sol-thread.c (sol_thread_target): New class.
9208         (sol_thread_ops): Now a sol_thread_target.
9209         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
9210         (sol_thread_fetch_registers, sol_thread_store_registers)
9211         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
9212         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
9213         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
9214         (init_sol_thread_ops): Delete.
9215         (_initialize_sol_thread): Adjust.  Remove references to
9216         init_sol_thread_ops and complete_target_initialization.
9217
9218         * windows-nat.c (windows_nat_target): New class.
9219         (windows_fetch_inferior_registers)
9220         (windows_store_inferior_registers, windows_resume, windows_wait)
9221         (windows_attach, windows_detach, windows_pid_to_exec_file)
9222         (windows_files_info, windows_create_inferior)
9223         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
9224         (windows_close, windows_pid_to_str, windows_xfer_partial)
9225         (windows_get_tib_address, windows_get_ada_task_ptid)
9226         (windows_thread_name, windows_thread_alive): Refactor as
9227         windows_nat_target methods.
9228         (do_initial_windows_stuff): Adjust.
9229         (windows_target): Delete function.
9230         (_initialize_windows_nat): Adjust.
9231
9232         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
9233         (darwin_mourn_inferior, darwin_kill_inferior)
9234         (darwin_create_inferior, darwin_attach, darwin_detach)
9235         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
9236         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
9237         (darwin_supports_multi_process): Refactor as darwin_nat_target
9238         methods.
9239         (darwin_resume_to, darwin_files_info): Delete.
9240         (_initialize_darwin_inferior): Rename to ...
9241         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
9242         * darwin-nat.h: Include "inf-child.h".
9243         (darwin_nat_target): New class.
9244         (darwin_complete_target): Delete.
9245         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
9246         (darwin_target): New.
9247         (i386_darwin_fetch_inferior_registers)
9248         (i386_darwin_store_inferior_registers): Refactor as methods of
9249         darwin_nat_target.
9250         (darwin_complete_target): Delete, with ...
9251         (_initialize_i386_darwin_nat): ... bits factored out here.
9252
9253         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
9254         (the_alpha_linux_nat_target): New.
9255         (alpha_linux_register_u_offset): Refactor as
9256         alpha_linux_nat_target method.
9257         (_initialize_alpha_linux_nat): Adjust.
9258         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
9259         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
9260         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
9261         methods of linux_nat_trad_target.
9262         (linux_trad_target): Delete.
9263         * linux-nat-trad.h (linux_trad_target): Delete function.
9264         (linux_nat_trad_target): New class.
9265         * mips-linux-nat.c (mips_linux_nat_target): New class.
9266         (super_fetch_registers, super_store_registers, super_close):
9267         Delete.
9268         (the_mips_linux_nat_target): New.
9269         (mips64_linux_regsets_fetch_registers)
9270         (mips64_linux_regsets_store_registers)
9271         (mips64_linux_fetch_registers, mips64_linux_store_registers)
9272         (mips_linux_register_u_offset, mips_linux_read_description)
9273         (mips_linux_can_use_hw_breakpoint)
9274         (mips_linux_stopped_by_watchpoint)
9275         (mips_linux_stopped_data_address)
9276         (mips_linux_region_ok_for_hw_watchpoint)
9277         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
9278         (mips_linux_close): Refactor as methods of mips_linux_nat.
9279         (_initialize_mips_linux_nat): Adjust to C++ification.
9280
9281         * aix-thread.c (aix_thread_target): New class.
9282         (aix_thread_ops): Now an aix_thread_target.
9283         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
9284         (aix_thread_fetch_registers, aix_thread_store_registers)
9285         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
9286         (aix_thread_thread_alive, aix_thread_pid_to_str)
9287         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
9288         Refactor as methods of aix_thread_target.
9289         (init_aix_thread_ops): Delete.
9290         (_initialize_aix_thread): Remove references to init_aix_thread_ops
9291         and complete_target_initialization.
9292         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
9293         (rs6000_nat_target): New class.
9294         (the_rs6000_nat_target): New.
9295         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
9296         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
9297         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
9298         (super_create_inferior): Delete.
9299         (_initialize_rs6000_nat): Adjust to C++ification.
9300
9301         * arm-linux-nat.c (arm_linux_nat_target): New class.
9302         (the_arm_linux_nat_target): New.
9303         (arm_linux_fetch_inferior_registers)
9304         (arm_linux_store_inferior_registers, arm_linux_read_description)
9305         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
9306         (arm_linux_remove_hw_breakpoint)
9307         (arm_linux_region_ok_for_hw_watchpoint)
9308         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
9309         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
9310         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
9311         arm_linux_nat_target.
9312         (_initialize_arm_linux_nat): Adjust to C++ification.
9313
9314         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
9315         (the_aarch64_linux_nat_target): New.
9316         (aarch64_linux_fetch_inferior_registers)
9317         (aarch64_linux_store_inferior_registers)
9318         (aarch64_linux_child_post_startup_inferior)
9319         (aarch64_linux_read_description)
9320         (aarch64_linux_can_use_hw_breakpoint)
9321         (aarch64_linux_insert_hw_breakpoint)
9322         (aarch64_linux_remove_hw_breakpoint)
9323         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
9324         (aarch64_linux_region_ok_for_hw_watchpoint)
9325         (aarch64_linux_stopped_data_address)
9326         (aarch64_linux_stopped_by_watchpoint)
9327         (aarch64_linux_watchpoint_addr_within_range)
9328         (aarch64_linux_can_do_single_step): Refactor as methods of
9329         aarch64_linux_nat_target.
9330         (super_post_startup_inferior): Delete.
9331         (_initialize_aarch64_linux_nat): Adjust to C++ification.
9332
9333         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
9334         (the_hppa_linux_nat_target): New.
9335         (hppa_linux_fetch_inferior_registers)
9336         (hppa_linux_store_inferior_registers): Refactor as methods of
9337         hppa_linux_nat_target.
9338         (_initialize_hppa_linux_nat): Adjust to C++ification.
9339
9340         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
9341         (the_ia64_linux_nat_target): New.
9342         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
9343         (ia64_linux_stopped_data_address)
9344         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
9345         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
9346         ia64_linux_nat_target methods.
9347         (super_xfer_partial): Delete.
9348         (_initialize_ia64_linux_nat): Adjust to C++ification.
9349
9350         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
9351         (the_m32r_linux_nat_target): New.
9352         (m32r_linux_fetch_inferior_registers)
9353         (m32r_linux_store_inferior_registers): Refactor as
9354         m32r_linux_nat_target methods.
9355         (_initialize_m32r_linux_nat): Adjust to C++ification.
9356
9357         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
9358         (the_m68k_linux_nat_target): New.
9359         (m68k_linux_fetch_inferior_registers)
9360         (m68k_linux_store_inferior_registers): Refactor as
9361         m68k_linux_nat_target methods.
9362         (_initialize_m68k_linux_nat): Adjust to C++ification.
9363
9364         * s390-linux-nat.c (s390_linux_nat_target): New class.
9365         (the_s390_linux_nat_target): New.
9366         (s390_linux_fetch_inferior_registers)
9367         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
9368         (s390_insert_watchpoint, s390_remove_watchpoint)
9369         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
9370         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
9371         (s390_auxv_parse, s390_read_description): Refactor as methods of
9372         s390_linux_nat_target.
9373         (_initialize_s390_nat): Adjust to C++ification.
9374
9375         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
9376         (the_sparc_linux_nat_target): New.
9377         (_initialize_sparc_linux_nat): Adjust to C++ification.
9378         * sparc-nat.c (sparc_fetch_inferior_registers)
9379         (sparc_store_inferior_registers): Remove target_ops parameter.
9380         * sparc-nat.h (sparc_fetch_inferior_registers)
9381         (sparc_store_inferior_registers): Remove target_ops parameter.
9382         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
9383         (the_sparc64_linux_nat_target): New.
9384         (_initialize_sparc64_linux_nat): Adjust to C++ification.
9385
9386         * spu-linux-nat.c (spu_linux_nat_target): New class.
9387         (the_spu_linux_nat_target): New.
9388         (spu_child_post_startup_inferior, spu_child_post_attach)
9389         (spu_child_wait, spu_fetch_inferior_registers)
9390         (spu_store_inferior_registers, spu_xfer_partial)
9391         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
9392         methods.
9393         (_initialize_spu_nat): Adjust to C++ification.
9394
9395         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
9396         (the_tilegx_linux_nat_target): New.
9397         (fetch_inferior_registers, store_inferior_registers):
9398         Refactor as methods.
9399         (_initialize_tile_linux_nat): Adjust to C++ification.
9400
9401         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
9402         (the_xtensa_linux_nat_target): New.
9403         (xtensa_linux_fetch_inferior_registers)
9404         (xtensa_linux_store_inferior_registers): Refactor as
9405         xtensa_linux_nat_target methods.
9406         (_initialize_xtensa_linux_nat): Adjust to C++ification.
9407
9408         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
9409         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
9410         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
9411         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
9412         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
9413         (fbsd_stopped_by_sw_breakpoint)
9414         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
9415         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
9416         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
9417         (fbsd_post_startup_inferior, fbsd_post_attach)
9418         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
9419         (fbsd_set_syscall_catchpoint)
9420         (super_xfer_partial, super_resume, super_wait)
9421         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
9422         (fbsd_handle_debug_trap): Remove target_ops parameter.
9423         (fbsd_nat_add_target): Delete.
9424         * fbsd-nat.h: Include "inf-ptrace.h".
9425         (fbsd_nat_add_target): Delete.
9426         (USE_SIGTRAP_SIGINFO): Define.
9427         (fbsd_nat_target): New class.
9428
9429         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
9430         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
9431         (amd64bsd_target): Delete.
9432         * amd64-bsd-nat.h: New file.
9433         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
9434         "x86-bsd-nat.h".
9435         (amd64_fbsd_nat_target): New class.
9436         (the_amd64_fbsd_nat_target): New.
9437         (amd64fbsd_read_description): Refactor as method of
9438         amd64_fbsd_nat_target.
9439         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9440         (_initialize_amd64fbsd_nat): Adjust to C++ification.
9441         * amd64-nat.h (amd64bsd_target): Delete function declaration.
9442         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
9443         (i386bsd_store_inferior_registers): Remove target_ops parameter.
9444         (i386bsd_target): Delete.
9445         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
9446         (i386bsd_fetch_inferior_registers)
9447         (i386bsd_store_inferior_registers): Declare.
9448         (i386_bsd_nat_target): New class.
9449         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
9450         (the_i386_fbsd_nat_target): New.
9451         (i386fbsd_resume, i386fbsd_read_description): Refactor as
9452         i386_fbsd_nat_target methods.
9453         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9454         (_initialize_i386fbsd_nat): Adjust to C++ification.
9455         * x86-bsd-nat.c (super_mourn_inferior): Delete.
9456         (x86bsd_mourn_inferior, x86bsd_target): Delete.
9457         (_initialize_x86_bsd_nat): Adjust to C++ification.
9458         * x86-bsd-nat.h: Include "x86-nat.h".
9459         (x86bsd_target): Delete declaration.
9460         (x86bsd_nat_target): New class.
9461
9462         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
9463         (the_aarch64_fbsd_nat_target): New.
9464         (aarch64_fbsd_fetch_inferior_registers)
9465         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
9466         aarch64_fbsd_nat_target.
9467         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
9468         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
9469         (the_alpha_bsd_nat_target): New.
9470         (alphabsd_fetch_inferior_registers)
9471         (alphabsd_store_inferior_registers): Refactor as
9472         alpha_bsd_nat_target methods.
9473         (_initialize_alphabsd_nat): Refactor as methods of
9474         alpha_bsd_nat_target.
9475         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
9476         (the_amd64_nbsd_nat_target): New.
9477         (_initialize_amd64nbsd_nat): Adjust to C++ification.
9478         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
9479         (the_amd64_obsd_nat_target): New.
9480         (_initialize_amd64obsd_nat): Adjust to C++ification.
9481         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
9482         (the_arm_fbsd_nat_target): New.
9483         (arm_fbsd_fetch_inferior_registers)
9484         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
9485         (_initialize_arm_fbsd_nat): Refactor as methods of
9486         arm_fbsd_nat_target.
9487         (_initialize_arm_fbsd_nat): Adjust to C++ification.
9488         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
9489         (the_arm_netbsd_nat_target): New.
9490         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
9491         arm_netbsd_nat_target.
9492         (_initialize_arm_netbsd_nat): Adjust to C++ification.
9493         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
9494         (the_hppa_nbsd_nat_target): New.
9495         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
9496         hppa_nbsd_nat_target methods.
9497         (_initialize_hppanbsd_nat): Adjust to C++ification.
9498         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
9499         (the_hppa_obsd_nat_target): New.
9500         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
9501         methods of hppa_obsd_nat_target.
9502         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
9503         add_target.
9504         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
9505         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
9506         add_target.
9507         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
9508         (_initialize_i386obsd_nat): Use add_target.
9509         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
9510         (the_m68k_bsd_nat_target): New.
9511         (m68kbsd_fetch_inferior_registers)
9512         (m68kbsd_store_inferior_registers): Refactor as methods of
9513         m68k_bsd_nat_target.
9514         (_initialize_m68kbsd_nat): Adjust to C++ification.
9515         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
9516         (the_mips_fbsd_nat_target): New.
9517         (mips_fbsd_fetch_inferior_registers)
9518         (mips_fbsd_store_inferior_registers): Refactor as methods of
9519         mips_fbsd_nat_target.
9520         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
9521         add_target.
9522         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
9523         (the_mips_nbsd_nat_target): New.
9524         (mipsnbsd_fetch_inferior_registers)
9525         (mipsnbsd_store_inferior_registers): Refactor as methods of
9526         mips_nbsd_nat_target.
9527         (_initialize_mipsnbsd_nat): Adjust to C++ification.
9528         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
9529         (the_mips64_obsd_nat_target): New.
9530         (mips64obsd_fetch_inferior_registers)
9531         (mips64obsd_store_inferior_registers): Refactor as methods of
9532         mips64_obsd_nat_target.
9533         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
9534         add_target.
9535         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
9536         nbsd_nat_target.
9537         * nbsd-nat.h: Include "inf-ptrace.h".
9538         (nbsd_nat_target): New class.
9539         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
9540         (obsd_wait): Refactor as methods of obsd_nat_target.
9541         (obsd_add_target): Delete.
9542         * obsd-nat.h: Include "inf-ptrace.h".
9543         (obsd_nat_target): New class.
9544         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
9545         (the_ppc_fbsd_nat_target): New.
9546         (ppcfbsd_fetch_inferior_registers)
9547         (ppcfbsd_store_inferior_registers): Refactor as methods of
9548         ppc_fbsd_nat_target.
9549         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
9550         add_target.
9551         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
9552         (the_ppc_nbsd_nat_target): New.
9553         (ppcnbsd_fetch_inferior_registers)
9554         (ppcnbsd_store_inferior_registers): Refactor as methods of
9555         ppc_nbsd_nat_target.
9556         (_initialize_ppcnbsd_nat): Adjust to C++ification.
9557         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
9558         (the_ppc_obsd_nat_target): New.
9559         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
9560         methods of ppc_obsd_nat_target.
9561         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
9562         add_target.
9563         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
9564         (the_sh_nbsd_nat_target): New.
9565         (shnbsd_fetch_inferior_registers)
9566         (shnbsd_store_inferior_registers): Refactor as methods of
9567         sh_nbsd_nat_target.
9568         (_initialize_shnbsd_nat): Adjust to C++ification.
9569         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
9570         (inf_ptrace_xfer_partial): Delete.
9571         (sparc_xfer_partial, sparc_target): Delete.
9572         * sparc-nat.h (sparc_fetch_inferior_registers)
9573         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
9574         (sparc_target): Delete function declaration.
9575         (sparc_target): New template class.
9576         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
9577         (_initialize_sparcnbsd_nat): Adjust to C++ification.
9578         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
9579         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
9580         add_target.
9581         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
9582         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
9583         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
9584         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
9585         add_target.
9586         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
9587         (the_vax_bsd_nat_target): New.
9588         (vaxbsd_fetch_inferior_registers)
9589         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
9590         methods.
9591         (_initialize_vaxbsd_nat): Adjust to C++ification.
9592
9593         * bsd-kvm.c (bsd_kvm_target): New class.
9594         (bsd_kvm_ops): Now a bsd_kvm_target.
9595         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
9596         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
9597         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
9598         bsd_kvm_target.
9599         (bsd_kvm_return_one): Delete.
9600         (bsd_kvm_add_target): Adjust to C++ification.
9601
9602         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
9603         (nto_procfs_target_procfs): New classes.
9604         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
9605         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
9606         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
9607         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
9608         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
9609         (procfs_remove_hw_breakpoint, procfs_resume)
9610         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
9611         (procfs_kill_inferior, procfs_store_registers)
9612         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
9613         as methods of nto_procfs_target.
9614         (nto_procfs_ops): Now an nto_procfs_target_procfs.
9615         (nto_native_ops): Delete.
9616         (procfs_open, procfs_native_open): Delete.
9617         (nto_native_ops): Now an nto_procfs_target_native.
9618         (init_procfs_targets): Adjust to C++ification.
9619         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
9620         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
9621         Refactor as methods of nto_procfs_target.
9622
9623         * go32-nat.c (go32_nat_target): New class.
9624         (the_go32_nat_target): New.
9625         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
9626         (go32_store_registers, go32_xfer_partial, go32_files_info)
9627         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
9628         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
9629         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
9630         (go32_pid_to_str): Refactor as methods of go32_nat_target.
9631         (go32_target): Delete.
9632         (_initialize_go32_nat): Adjust to C++ification.
9633
9634         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
9635         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
9636         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
9637         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
9638         gnu_nat_target.
9639         (gnu_target): Delete.
9640         * gnu-nat.h (gnu_target): Delete.
9641         (gnu_nat_target): New class.
9642         * i386-gnu-nat.c (gnu_base_target): New.
9643         (i386_gnu_nat_target): New class.
9644         (the_i386_gnu_nat_target): New.
9645         (_initialize_i386gnu_nat): Adjust to C++ification.
9646
9647 2018-05-02  Pedro Alves  <palves@redhat.com>
9648
9649         * bfd-target.c (target_bfd_xclose): Rename to ...
9650         (target_bfd_close): ... this.
9651         (target_bfd_reopen): Adjust.
9652         * target.c (target_close): Remove references to to_xclose.
9653         * target.h (target_ops::to_xclose): Delete.
9654         (target_ops::to_close): Update comments.
9655
9656 2018-05-02  Pedro Alves  <palves@redhat.com>
9657
9658         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
9659         "linux-nat.h".
9660         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
9661         * inf-ptrace.c (inf_ptrace_register_u_offset)
9662         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
9663         (inf_ptrace_store_register, inf_ptrace_store_registers)
9664         (inf_ptrace_trad_target): Move to ...
9665         * linux-nat-trad.c: ... this new file.
9666         * linux-nat-trad.h: New file.
9667         * linux-nat.c (linux_target_install_ops): Make extern.
9668         (linux_trad_target): Delete.
9669         * linux-nat.h (linux_trad_target): Delete declaration.
9670         (linux_target_install_ops): Declare.
9671         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
9672         "linux-nat.h".
9673
9674 2018-05-02  Pedro Alves  <palves@redhat.com>
9675
9676         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9677         procfs_target/add_target here.
9678         * procfs.c (procfs_target): Make static.
9679         (_initialize_procfs): Call add_target here.
9680         * procfs.h (struct target_ops): Remove forward declaration.
9681         (procfs_target): Remove declaration.
9682         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
9683
9684 2018-05-02  Pedro Alves  <palves@redhat.com>
9685
9686         * procfs.c (procfs_stopped_by_watchpoint)
9687         (procfs_insert_watchpoint, procfs_remove_watchpoint)
9688         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
9689         Forward declare.
9690         (procfs_use_watchpoints): Delete, move contents...
9691         (procfs_target): ... here.
9692         * procfs.h (procfs_use_watchpoints): Delete declaration.
9693         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9694         procfs_use_watchpoints.
9695         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
9696         procfs_use_watchpoints.
9697
9698 2018-05-02  Tom Tromey  <tom@tromey.com>
9699
9700         PR python/20084:
9701         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
9702         and var_zuinteger_unlimited.
9703         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
9704         and PARAM_ZUINTEGER_UNLIMITED.
9705         (set_parameter_value): Handle var_zuinteger and
9706         var_zuinteger_unlimited.
9707         (add_setshow_generic): Likewise.
9708         (parmpy_init): Likewise.
9709
9710 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
9711
9712         PR rust/23124
9713         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
9714         pointer is not null before dereferencing it.
9715
9716 2018-04-30  Tom Tromey  <tom@tromey.com>
9717
9718         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
9719         is_mi_like_p.
9720
9721 2018-04-30  Tom Tromey  <tom@tromey.com>
9722
9723         * breakpoint.c (mention): Remove use of is_mi_like_p.
9724         (print_mention_ranged_breakpoint): Likewise.
9725         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
9726         of is_mi_like_p.
9727
9728 2018-04-30  Tom Tromey  <tom@tromey.com>
9729
9730         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
9731
9732 2018-04-30  Tom Tromey  <tom@tromey.com>
9733
9734         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
9735         (info_spu_event_command): Remove some uses of is_mi_like_p.
9736
9737 2018-04-30  Tom Tromey  <tom@tromey.com>
9738
9739         * python/py-framefilter.c (py_print_single_arg)
9740         (enumerate_locals, py_print_args, py_print_frame): Remove some
9741         uses of is_mi_like_p.
9742
9743 2018-04-30  Tom Tromey  <tom@tromey.com>
9744
9745         * ui-out.c: Update.
9746         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
9747         * ui-out.h (ui_out::is_mi_like_p): Now const.
9748         (ui_out::do_is_mi_like_p): Now const.
9749         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
9750
9751 2018-04-30  Tom Tromey  <tom@tromey.com>
9752
9753         * varobj.c (varobj_set_visualizer): Use new_reference.
9754         * python/python.c (gdbpy_decode_line): Use new_reference.
9755         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
9756         new_reference.
9757
9758 2018-04-30  Tom Tromey  <tom@tromey.com>
9759
9760         * varobj.c (install_new_value): Use new_reference.
9761         * value.h (value_incref): Return void.  Swap intro comment with
9762         value_decref.
9763         * value.c (set_value_parent): Use new_reference.
9764         (value_incref): Return void.  Update intro comment.
9765         (release_value): Use new_reference.
9766         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
9767
9768 2018-04-30  Tom Tromey  <tom@tromey.com>
9769
9770         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
9771         * gdb_bfd.h (new_bfd_ref): Remove.
9772         (gdb_bfd_open): Update comment.
9773         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
9774         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
9775         (gdb_bfd_fdopenr): Use new_reference.
9776         * exec.c (exec_file_attach): Use new_reference.
9777
9778 2018-04-30  Tom Tromey  <tom@tromey.com>
9779
9780         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
9781         method.
9782
9783 2018-04-30  Tom Tromey  <tom@tromey.com>
9784
9785         * jit.c (jit_read_code_entry): Use type_align.
9786         * i386-tdep.c (i386_gdbarch_init): Don't call
9787         set_gdbarch_long_long_align_bit.
9788         * gdbarch.sh: Remove long_long_align_bit.
9789         * gdbarch.c, gdbarch.h: Rebuild.
9790         * arc-tdep.c (arc_type_align): New function.
9791         (arc_gdbarch_init): Use arc_type_align.  Don't call
9792         set_gdbarch_long_long_align_bit.
9793
9794 2018-04-30  Tom Tromey  <tom@tromey.com>
9795
9796         * rust-lang.c (rust_type_alignment): Remove.
9797         (rust_composite_type): Use type_align.
9798
9799 2018-04-30  Tom Tromey  <tom@tromey.com>
9800
9801         * NEWS: Mention Type.align.
9802         * python/py-type.c (typy_get_alignof): New function.
9803         (type_object_getset): Add "alignof".
9804
9805 2018-04-30  Tom Tromey  <tom@tromey.com>
9806
9807         PR exp/17095:
9808         * NEWS: Update.
9809         * std-operator.def (UNOP_ALIGNOF): New operator.
9810         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
9811         New.
9812         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
9813         * c-lang.c (c_op_print_tab): Add alignof.
9814         * c-exp.y (ALIGNOF): New token.
9815         (exp): Add "ALIGNOF" production.
9816         (ident_tokens): Add _Alignof and alignof.
9817
9818 2018-04-30  Tom Tromey  <tom@tromey.com>
9819
9820         * i386-tdep.c (i386_type_align): New function.
9821         (i386_gdbarch_init): Update.
9822         * gdbarch.sh (type_align): New method.
9823         * gdbarch.c, gdbarch.h: Rebuild.
9824         * arch-utils.h (default_type_align): Declare.
9825         * arch-utils.c (default_type_align): New function.
9826         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
9827         (struct type) <align_log2>: New field.
9828         <instance_flags>: Now a bitfield.
9829         (TYPE_RAW_ALIGN): New macro.
9830         (type_align, type_raw_align, set_type_align): Declare.
9831         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
9832         functions.
9833         * dwarf2read.c (quirk_rust_enum): Set type alignment.
9834         (get_alignment, maybe_set_alignment): New functions.
9835         (read_structure_type, read_enumeration_type, read_array_type)
9836         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
9837         (read_subrange_type, read_base_type): Set type alignment.
9838
9839 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
9840
9841         * dwarf2read.c (read_index_from_section): Use bool.
9842
9843 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
9844
9845         PR gdb/22950
9846         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
9847         with #ifdef.
9848
9849 2018-04-29  John Reiser  <jreiser@BitWagon.com>
9850
9851         PR build/22873
9852         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
9853         last step, and do it atomically.
9854
9855 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
9856
9857         * compile/compile-c-types.c (convert_int, convert_float):
9858         Update for C FE v1.
9859
9860 2018-04-27  Tom Tromey  <tom@tromey.com>
9861
9862         PR rust/22545:
9863         * rust-lang.c (rust_inclusive_range_type_p): New function.
9864         (rust_range): Handle inclusive ranges.
9865         (rust_compute_range): Likewise.
9866         * rust-exp.y (struct rust_op) <inclusive>: New field.
9867         (DOTDOTEQ): New constant.
9868         (range_expr): Add "..=" productions.
9869         (operator_tokens): Add "..=" token.
9870         (ast_range): Add "inclusive" parameter.
9871         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
9872         ranges.
9873         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
9874         bounds values.
9875         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
9876         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
9877         Update comments.
9878         * expprint.c (print_subexp_standard): Handle new bounds values.
9879         (dump_subexp_body_standard): Likewise.
9880
9881 2018-04-27  Tom Tromey  <tom@tromey.com>
9882
9883         * configure: Rebuild.
9884         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
9885         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
9886         "OVERRIDE".
9887         (class symbol_needs_eval_context): Likewise.
9888         * dwarf2read.c (mock_mapped_index::symbol_name_count)
9889         (mock_mapped_index::symbol_name_at): Use "override".  Remove
9890         "virtual".
9891         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
9892         "override".
9893         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
9894         * aarch64-tdep.c (instruction_reader::read): Use "override".
9895         (instruction_reader_test::read): Likewise.
9896         * arm-tdep.c (instruction_reader::read): Use "override".
9897         (instruction_reader_thumb::read): Likewise.
9898
9899 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
9900
9901         PR remote/9665
9902         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
9903         instead of remote_send.
9904         (remote_send): Remove.
9905
9906 2018-04-26  Pedro Alves  <palves@redhat.com>
9907
9908         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
9909         find_function_start_sal instead of find_pc_line.
9910
9911 2018-04-26  Pedro Alves  <palves@redhat.com>
9912
9913         * breakpoint.c (set_breakpoint_location_function): Handle
9914         mst_data_gnu_ifunc.
9915         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
9916         * elfread.c (elf_symtab_read): Give data symbols with
9917         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
9918         (elf_rel_plt_read): Update comment.
9919         * linespec.c (convert_linespec_to_sals): Handle
9920         mst_data_gnu_ifunc.
9921         (minsym_found): Handle mst_data_gnu_ifunc.
9922         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
9923         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
9924         * parse.c (find_minsym_type_and_address): Handle
9925         mst_data_gnu_ifunc.
9926         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
9927         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
9928         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
9929         comment.
9930         <mst_data_gnu_ifunc>: New enumerator.
9931
9932 2018-04-26  Pedro Alves  <palves@redhat.com>
9933
9934         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
9935         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
9936         'want_trampoline' parameter by a lookup_msym_prefer parameter.
9937         Handle it.
9938         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
9939         (lookup_minimal_symbol_by_pc): Adjust.
9940         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
9941         (lookup_solib_trampoline_symbol_by_pc): Adjust.
9942         * minsyms.h (lookup_msym_prefer): New enum.
9943         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9944         parameter by a lookup_msym_prefer parameter.
9945
9946 2018-04-26  Pedro Alves  <palves@redhat.com>
9947
9948         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
9949         ends in "@plt" instead of looking at the symbol's section.
9950
9951 2018-04-26  Pedro Alves  <palves@redhat.com>
9952
9953         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
9954         all references.
9955         (find_pc_partial_function_gnu_ifunc): Rename to ...
9956         (find_pc_partial_function): ... this, and remove references to
9957         'is_gnu_ifunc_p'.
9958         (find_pc_partial_function): Delete old implementation.
9959         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
9960
9961 2018-04-26  Pedro Alves  <palves@redhat.com>
9962
9963         * linespec.c (struct bound_minimal_symbol_search_key): New.
9964         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
9965         skip first line if we found a GNU ifunc minimal symbol by name.
9966         (compare_msymbols): Change parameters to work with a destructured
9967         lhs minsym.
9968         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
9969         functions.
9970
9971 2018-04-26  Pedro Alves  <palves@redhat.com>
9972
9973         * breakpoint.c (set_breakpoint_location_function): Don't resolve
9974         ifunc targets here.  Instead, if we have an ifunc minsym, use its
9975         address/name.
9976         (add_location_to_breakpoint): Store the minsym and the objfile in
9977         the breakpoint location.
9978         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
9979         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
9980         Record the minsym in the sal.
9981         * symtab.h (symtab_and_line) <msymbol>: New field.
9982
9983 2018-04-26  Pedro Alves  <palves@redhat.com>
9984
9985         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
9986         unless we actually resolved the ifunc.
9987
9988 2018-04-26  Pedro Alves  <palves@redhat.com>
9989
9990         * c-exp.y (variable production): Prefer ifunc minsyms over
9991         regular function symbols.
9992         * symtab.c (find_gnu_ifunc): New function.
9993         * minsyms.h (lookup_msym_prefer): New enum.
9994         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
9995         parameter by a lookup_msym_prefer parameter.
9996         * symtab.h (find_gnu_ifunc): New declaration.
9997
9998 2018-04-26  Pedro Alves  <palves@redhat.com>
9999
10000         * blockframe.c (find_gnu_ifunc_target_type): New function.
10001         (find_function_type): New.
10002         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
10003         return a value with a memory address.
10004         (eval_call): For calls to GNU ifunc functions, try to find the
10005         type of the target function from the type that the resolver
10006         returns.
10007         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
10008         symbols.
10009         * infcall.c (find_function_return_type): Delete.
10010         (find_function_addr): Add 'function_type' parameter.  For calls to
10011         GNU ifunc functions, try to find the type of the target function
10012         from the type that the resolver returns, and return it via
10013         FUNCTION_TYPE.
10014         (call_function_by_hand_dummy): Adjust to use the function type
10015         returned by find_function_addr.
10016         (find_function_addr): Add 'function_type' parameter and move
10017         description here.
10018         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
10019         declarations.
10020
10021 2018-04-26  Pedro Alves  <palves@redhat.com>
10022
10023         * c-exp.y (variable production): Skip finding an alias for ifunc
10024         symbols.
10025
10026 2018-04-26  Pedro Alves  <palves@redhat.com>
10027
10028         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
10029
10030 2018-04-25  Pedro Alves  <palves@redhat.com>
10031
10032         * infcmd.c (kill_command): Print the pid as string, not the whole
10033         thread's ptid.  Add comment.  s/has been killed/killed/ in output
10034         message.
10035         * remote.c (remote_detach_1): Print the pid as string, not the
10036         whole thread's ptid.
10037
10038 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
10039             Sergio Durigan Junior  <sergiodj@redhat.com>
10040             Pedro Alves  <palves@redhat.com>
10041
10042         * infcmd.c (kill_command): Print message when inferior has
10043         been killed.
10044         * inferior.c (print_inferior_events): Remove 'static'.  Set as
10045         '1'.
10046         (add_inferior): Improve message printed when
10047         'print_inferior_events' is on.
10048         (exit_inferior): Remove message printed when
10049         'print_inferior_events' is on.
10050         (detach_inferior): Improve message printed when
10051         'print_inferior_events' is on.
10052         (initialize_inferiors): Use 'add_inferior_silent' to set
10053         'current_inferior_'.
10054         * inferior.h (print_inferior_events): Declare here as
10055         'extern'.
10056         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
10057         '[Detaching...]' messages when 'print_inferior_events' is on.
10058         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
10059         as prefix/suffix for messages.  Remove periods.  Fix erroneous
10060         'Detaching after fork from child...', replace it by '... from
10061         parent...'.
10062         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
10063         prefix/suffix when printing 'Detaching...' messages.  Print
10064         them when 'print_inferior_events' is on.
10065         * remote.c (remote_detach_1): Print message when detaching
10066         from inferior and '!is_fork_parent'.
10067
10068 2018-04-24  Tom Tromey  <tom@tromey.com>
10069
10070         * cli-out.h: Reindent.
10071
10072 2018-04-24  Tom Tromey  <tom@tromey.com>
10073
10074         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
10075         (cli_ui_out::do_field_string): Use fputs_filtered.
10076         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
10077
10078 2018-04-23  Tom Tromey  <tom@tromey.com>
10079
10080         * guile/scm-frame.c (gdbscm_frame_read_var): Use
10081         gdb::unique_xmalloc_ptr.
10082
10083 2018-04-23  Tom Tromey  <tom@tromey.com>
10084
10085         * configure: Rebuild.
10086
10087 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
10088
10089         PR gdb/23095
10090         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
10091         prepare_for_testing.  Set normal_bp to r_debug_state if target
10092         is bsd.
10093
10094 2018-04-21  Pedro Alves  <palves@redhat.com>
10095             Rajendra SY  <rajendra.sy@gmail.com>
10096
10097         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
10098         * remote.c (extended_remote_attach): In all-stop mode, mark the
10099         thread as executing.
10100
10101 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
10102
10103         * thread.c (thread_apply_all_command): Fix comment.
10104         (thread_command): Fix comment.
10105
10106 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
10107
10108         * common/tdesc.h (tdesc_create_feature): Remove xml filename
10109         parameter.
10110         * features/aarch64-core.c (create_feature_aarch64_core):
10111         Regenerate.
10112         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
10113         Likewise.
10114         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
10115         Likewise.
10116         * features/i386/32bit-avx512.c
10117         (create_feature_i386_32bit_avx512): Likewise.
10118         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
10119         Likewise.
10120         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
10121         Likewise.
10122         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
10123         Likewise.
10124         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
10125         Likewise.
10126         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
10127         Likewise.
10128         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
10129         Likewise.
10130         * features/i386/64bit-avx512.c
10131         (create_feature_i386_64bit_avx512): Likewise.
10132         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
10133         Likewise.
10134         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
10135         Likewise.
10136         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
10137         Likewise.
10138         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
10139         Likewise.
10140         * features/i386/64bit-segments.c
10141         (create_feature_i386_64bit_segments): Likewise.
10142         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
10143         Likewise.
10144         * features/i386/x32-core.c
10145         (create_feature_i386_x32_core): Likewise.
10146         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
10147         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
10148         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
10149         * target-descriptions.c: In generated code, don't pass xml
10150         filename.
10151
10152 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10153
10154         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
10155         (print_xml_feature::visit_post): Likewise.
10156         (print_xml_feature::visit): Likewise.
10157         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
10158         (print_xml_feature): Add new class.
10159         * regformats/regdat.sh: Null xmltarget on feature targets.
10160         * target-descriptions.c (struct target_desc): Add xmltarget.
10161         (maintenance_check_tdesc_xml_convert): Add unittest function.
10162         (tdesc_get_features_xml): Add function to get xml.
10163         (maintenance_check_xml_descriptions): Test xml generation.
10164         * xml-tdesc.c (string_read_description_xml): Add function.
10165         * xml-tdesc.h (string_read_description_xml): Add declaration.
10166
10167 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10168
10169         * features/Makefile: Add feature marker to targets with new style
10170         target descriptions.
10171         * regformats/aarch64.dat: Regenerate.
10172         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
10173         * regformats/i386/amd64-avx-linux.dat: Likewise.
10174         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
10175         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
10176         * regformats/i386/amd64-linux.dat: Likewise.
10177         * regformats/i386/amd64-mpx-linux.dat: Likewise.
10178         * regformats/i386/amd64.dat: Likewise.
10179         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
10180         * regformats/i386/i386-avx-linux.dat: Likewise.
10181         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
10182         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
10183         * regformats/i386/i386-linux.dat: Likewise.
10184         * regformats/i386/i386-mmx-linux.dat: Likewise.
10185         * regformats/i386/i386-mpx-linux.dat: Likewise.
10186         * regformats/i386/i386.dat: Likewise.
10187         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
10188         * regformats/i386/x32-avx-linux.dat: Likewise.
10189         * regformats/i386/x32-linux.dat: Likewise.
10190         * regformats/tic6x-c62x-linux.dat: Likewise.
10191         * regformats/tic6x-c64x-linux.dat: Likewise.
10192         * regformats/tic6x-c64xp-linux.dat: Likewise.
10193         * regformats/regdat.sh: Parse feature marker.
10194
10195 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10196
10197         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
10198         (tdesc_osabi_name): Likewise.
10199         * target-descriptions.c (tdesc_architecture_name): Add new
10200         function.
10201         (tdesc_osabi_name): Likewise.
10202
10203 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10204
10205         * common/tdesc.c (tdesc_predefined_type): Move to here.
10206         (tdesc_named_type): Likewise.
10207         (tdesc_create_vector): Likewise.
10208         (tdesc_create_struct): Likewise.
10209         (tdesc_set_struct_size): Likewise.
10210         (tdesc_create_union): Likewise.
10211         (tdesc_create_flags): Likewise.
10212         (tdesc_create_enum): Likewise.
10213         (tdesc_add_field): Likewise.
10214         (tdesc_add_typed_bitfield): Likewise.
10215         (tdesc_add_bitfield): Likewise.
10216         (tdesc_add_flag): Likewise.
10217         (tdesc_add_enum_value): Likewise.
10218         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
10219         (struct tdesc_type_vector): Likewise.
10220         (struct tdesc_type_field): Likewise.
10221         (struct tdesc_type_with_fields): Likewise.
10222         (tdesc_create_enum): Add declaration.
10223         (tdesc_add_typed_bitfield): Likewise.
10224         (tdesc_add_enum_value): Likewise.
10225         * target-descriptions.c (tdesc_type_field): Move from here.
10226         (tdesc_type_builtin): Likewise.
10227         (tdesc_type_vector): Likewise.
10228         (tdesc_type_with_fields): Likewise.
10229         (tdesc_predefined_types): Likewise.
10230         (tdesc_named_type): Likewise.
10231         (tdesc_create_vector): Likewise.
10232         (tdesc_create_struct): Likewise.
10233         (tdesc_set_struct_size): Likewise.
10234         (tdesc_create_union): Likewise.
10235         (tdesc_create_flags): Likewise.
10236         (tdesc_create_enum): Likewise.
10237         (tdesc_add_field): Likewise.
10238         (tdesc_add_typed_bitfield): Likewise.
10239         (tdesc_add_bitfield): Likewise.
10240         (tdesc_add_flag): Likewise.
10241         (tdesc_add_enum_value): Likewise.
10242         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
10243         (tdesc_add_typed_bitfield): Likewise.
10244         (tdesc_add_enum_value): Likewise.
10245
10246 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10247
10248         * common/tdesc.c (tdesc_feature::accept): Move to here.
10249         (tdesc_feature::operator==): Likewise.
10250         (tdesc_create_reg): Likewise.
10251         * common/tdesc.h (tdesc_type_kind): Likewise.
10252         (struct tdesc_type): Likewise.
10253         (struct tdesc_feature): Likewise.
10254         * regformats/regdat.sh: Create a feature.
10255         * target-descriptions.c (tdesc_type_kind): Move from here.
10256         (tdesc_type): Likewise.
10257         (tdesc_type_up): Likewise.
10258         (tdesc_feature): Likewise.
10259         (tdesc_create_reg): Likewise.
10260
10261 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10262
10263         * Makefile.in: Add arch/tdesc.c
10264         * common/tdesc.c: New file.
10265         * common/tdesc.h (tdesc_element_visitor): Move to here.
10266         (tdesc_element): Likewise.
10267         (tdesc_reg): Likewise.
10268         (tdesc_reg_up): Likewise.
10269         * regformats/regdef.h (reg): Add offset to constructors.
10270         * target-descriptions.c (tdesc_element_visitor): Move from here.
10271         (tdesc_element): Likewise.
10272         (tdesc_reg): Likewise.
10273         (tdesc_reg_up): Likewise.
10274
10275 2018-04-17  Tom Tromey  <tom@tromey.com>
10276
10277         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
10278         discriminant field.
10279
10280 2018-04-17  Tom Tromey  <tom@tromey.com>
10281
10282         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
10283
10284 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10285
10286         * symtab.c (print_symbol_info): Skip printing filename and line
10287         number when `last' is NULL.
10288         (symtab_symbol_info): Use empty string instead of NULL for first
10289         invocation of print_symbol_info.
10290         (rbreak_command): Pass NULL to `last' parameter of
10291         print_symbol_info.
10292
10293 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
10294
10295         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
10296         instead of nullptr.
10297
10298 2018-04-16  Pedro Alves  <palves@redhat.com>
10299
10300         * MAINTAINERS (sh): Remove.
10301         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
10302         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
10303         (ALLDEPFILES): Remove sh64-tdep.c.
10304         * NEWS: Mentions that support for SH-5/SH64 is removed.
10305         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
10306         (sh*-*-openbsd*): Ditto.
10307         (sh64-*-elf*): Remove.
10308         (sh*): Remove.
10309         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
10310         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
10311         * sh-tdep.c: No longer include "sh64-tdep.h".
10312         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
10313         * sh64-tdep.c, sh64-tdep.h: Remove files.
10314
10315 2018-04-16  Pedro Alves  <palves@redhat.com>
10316
10317         * MAINTAINERS: Remove m88k.
10318         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
10319         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
10320         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
10321         * NEWS: Mention that support for m88k was removed.
10322         * configure.host (m88*-*-*): Remove support.
10323         * configure.nat (m88k-*-*): Remove support.
10324         * configure.tgt (m88*-*-openbsd*): Remove.
10325         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
10326
10327 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
10328
10329         * configure.tgt (x86_tobjs): New variable.
10330         (amd64_tobjs, i386_tobjs): Use it.
10331
10332 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10333
10334         * symtab.c (print_symbol_info): Precede the symbol definition by
10335         the line number when available.
10336         * NEWS: Advertise this enhancement.
10337
10338 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10339
10340         * NEWS (New options): announce set/show record btrace cpu.
10341         * btrace.c: Include record-btrace.h.
10342         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
10343         the vendor is unknown.
10344         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
10345         Maybe overwrite the btrace configuration's cpu.
10346         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
10347         (btrace_fetch): Add cpu parameter.  Update callers.
10348         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
10349         Maybe overwrite the btrace configuration's cpu.  Skip enabling
10350         errata workarounds if the vendor is unknown.
10351         * python/py-record-btrace.c: Include record-btrace.h.
10352         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
10353         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
10354         * record-btrace.c (record_btrace_cpu_state_kind): New.
10355         (record_btrace_cpu): New.
10356         (set_record_btrace_cpu_cmdlist): New.
10357         (record_btrace_get_cpu): New.
10358         (require_btrace_thread, record_btrace_info)
10359         (record_btrace_resume_thread): Call record_btrace_get_cpu.
10360         (cmd_set_record_btrace_cpu_none): New.
10361         (cmd_set_record_btrace_cpu_auto): New.
10362         (cmd_set_record_btrace_cpu): New.
10363         (cmd_show_record_btrace_cpu): New.
10364         (_initialize_record_btrace): Initialize set/show record btrace cpu
10365         commands.
10366         * record-btrace.h (record_btrace_get_cpu): New.
10367
10368 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10369
10370         * record.c (set_record_command): Fix typo in message.
10371
10372 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10373
10374         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
10375
10376 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10377
10378         * infrun.c (process_event_stop_test): Call
10379         gdbarch_in_indirect_branch_thunk.
10380         * gdbarch.sh (in_indirect_branch_thunk): New.
10381         * gdbarch.c: Regenerated.
10382         * gdbarch.h: Regenerated.
10383         * x86-tdep.h: New.
10384         * x86-tdep.c: New.
10385         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
10386         (HFILES_NO_SRCDIR): Add x86-tdep.h.
10387         (ALLDEPFILES): Add x86-tdep.c.
10388         * arch-utils.h (default_in_indirect_branch_thunk): New.
10389         * arch-utils.c (default_in_indirect_branch_thunk): New.
10390         * i386-tdep: Include x86-tdep.h.
10391         (i386_in_indirect_branch_thunk): New.
10392         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
10393         function.
10394         * amd64-tdep: Include x86-tdep.h.
10395         (amd64_in_indirect_branch_thunk): New.
10396         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
10397
10398 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
10399
10400         PR gdb/23053
10401         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
10402         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
10403         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
10404         regression.
10405
10406 2018-04-12  Tom Tromey  <tom@tromey.com>
10407
10408         * rust-lang.c (rust_print_struct_def): Remove univariant code.
10409         (rust_evaluate_subexp): Likewise.
10410
10411 2018-04-12  Pedro Alves  <palves@redhat.com>
10412
10413         * procfs.c (procfs_detach): Make forward declaration's prototype
10414         match definition's protototype.
10415         (proc_get_LDT_entry): Remove stale do_cleanups call.
10416
10417 2018-04-12  Pedro Alves  <palves@redhat.com>
10418
10419         * target.h (target_ops::to_has_exited): Delete.
10420         (target_has_exited): Delete.
10421         * target-delegates.c: Regenerate.
10422
10423 2018-04-11  Pedro Alves  <palves@redhat.com>
10424
10425         * target.c (fileio_fh_t::t): Add comment.
10426         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10427         (target_fileio_close): Handle a NULL target.
10428         (invalidate_fileio_fh): New.
10429         (target_close): Call it.
10430         * remote.c (remote_hostio_send_command): No longer check whether
10431         remote_desc is open.
10432
10433 2018-04-11  Pedro Alves  <palves@redhat.com>
10434
10435         * target.c (fileio_fh_t): Make it a named struct instead of a
10436         typedef.
10437         (fileio_fh_t::is_closed): New method.
10438         (DEF_VEC_O (fileio_fh_t)): Remove.
10439         (fileio_fhandles): Now a std::vector.
10440         (is_closed_fileio_fh): Delete.
10441         (acquire_fileio_fd): Adjust.  Rename parameters.
10442         (release_fileio_fd): Adjust.
10443         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
10444         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10445         (target_fileio_close): Adjust.
10446
10447 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
10448
10449         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
10450         index.
10451
10452 2018-04-10  Pedro Alves  <palves@redhat.com>
10453
10454         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
10455         (scoped_finish_thread_state): New class.
10456         * infcmd.c (run_command_1): Use it instead of finish_thread_state
10457         cleanup.
10458         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
10459         (fetch_inferior_event, normal_stop): Likewise.
10460         * thread.c (finish_thread_state_cleanup): Delete.
10461
10462 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10463             Pedro Alves  <palves@redhat.com>
10464
10465         * value.c: Include "selftest.h" and "common/array-view.h".
10466         (struct range) <operator ==>: New.
10467         (test_ranges_contain): New.
10468         (check_ranges_vector): New.
10469         (test_insert_into_bit_range_vector): New.
10470         (_initialize_values): Register selftests.
10471         * common/array-view.h (operator==, operator!=): New.
10472
10473 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10474
10475         * common/gdb_vecs.h (unordered_remove): Add overload that takes
10476         an iterator.
10477         * inline-frame.c: Include <algorithm>.
10478         (struct inline_state): Add constructor.
10479         (inline_state_s): Remove.
10480         (DEF_VEC_O(inline_state_s)): Remove.
10481         (inline_states): Change type to std::vector.
10482         (find_inline_frame_state): Adjust to std::vector.
10483         (allocate_inline_frame_state): Remove.
10484         (clear_inline_frame_state): Adjust to std::vector.
10485         (skip_inline_frames): Adjust to std::vector.
10486
10487 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10488
10489         * tracepoint.h (struct trace_state_variable): Add constructor.
10490         <name>: Change type to std::string.
10491         * tracepoint.c (tsv_s): Remove.
10492         (DEF_VEC_O(tsv_s)): Remove.
10493         (tvariables): Change to std::vector.
10494         (create_trace_state_variable): Adjust to std::vector.
10495         (find_trace_state_variable): Likewise.
10496         (find_trace_state_variable_by_number): Likewise.
10497         (delete_trace_state_variable): Likewise.
10498         (trace_variable_command): Adjust to std::string.
10499         (delete_trace_variable_command): Likewise.
10500         (tvariables_info_1): Adjust to std::vector.
10501         (save_trace_state_variables): Likewise.
10502         (start_tracing): Likewise.
10503         (merge_uploaded_trace_state_variables): Adjust to std::vector
10504         and std::string.
10505         * target.h (struct target_ops)
10506         <to_download_trace_state_variable>: Pass reference to
10507         trace_state_variable.
10508         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
10509         * target-delegates.c: Re-generate.
10510         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
10511         (mi_tsv_deleted): Likewise.
10512         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
10513         * remote.c (remote_download_trace_state_variable): Change
10514         pointer to reference and adjust.
10515         * make-target-delegates (parse_argtypes): Handle references.
10516         (write_function_header): Likewise.
10517         (munge_type): Likewise.
10518
10519 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10520
10521         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10522         string_view-selftests.c.
10523         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
10524         testsuite.
10525         * unittests/basic_string_view/cons/char/1.cc: Likewise.
10526         * unittests/basic_string_view/cons/char/2.cc: Likewise.
10527         * unittests/basic_string_view/cons/char/3.cc: Likewise.
10528         * unittests/basic_string_view/element_access/char/1.cc:
10529         Likewise.
10530         * unittests/basic_string_view/element_access/char/empty.cc:
10531         Likewise.
10532         * unittests/basic_string_view/element_access/char/front_back.cc:
10533         Likewise.
10534         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
10535         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
10536         Likewise.
10537         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
10538         Likewise.
10539         * unittests/basic_string_view/modifiers/swap/char/1.cc:
10540         Likewise.
10541         * unittests/basic_string_view/operations/compare/char/1.cc:
10542         Likewise.
10543         * unittests/basic_string_view/operations/compare/char/13650.cc:
10544         Likewise.
10545         * unittests/basic_string_view/operations/copy/char/1.cc:
10546         Likewise.
10547         * unittests/basic_string_view/operations/data/char/1.cc:
10548         Likewise.
10549         * unittests/basic_string_view/operations/find/char/1.cc:
10550         Likewise.
10551         * unittests/basic_string_view/operations/find/char/2.cc:
10552         Likewise.
10553         * unittests/basic_string_view/operations/find/char/3.cc:
10554         Likewise.
10555         * unittests/basic_string_view/operations/find/char/4.cc:
10556         Likewise.
10557         * unittests/basic_string_view/operations/rfind/char/1.cc:
10558         Likewise.
10559         * unittests/basic_string_view/operations/rfind/char/2.cc:
10560         Likewise.
10561         * unittests/basic_string_view/operations/rfind/char/3.cc:
10562         Likewise.
10563         * unittests/basic_string_view/operations/substr/char/1.cc:
10564         Likewise.
10565         * unittests/basic_string_view/operators/char/2.cc: Likewise.
10566         * unittests/string_view-selftests.c: New file.
10567
10568 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10569
10570         * unittests/basic_string_view/capacity/1.cc: New file.
10571         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
10572         * unittests/basic_string_view/cons/char/1.cc: New file.
10573         * unittests/basic_string_view/cons/char/2.cc: New file.
10574         * unittests/basic_string_view/cons/char/3.cc: New file.
10575         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
10576         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
10577         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
10578         * unittests/basic_string_view/element_access/char/1.cc: New file.
10579         * unittests/basic_string_view/element_access/char/2.cc: New file.
10580         * unittests/basic_string_view/element_access/char/empty.cc: New file.
10581         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
10582         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
10583         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
10584         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
10585         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
10586         * unittests/basic_string_view/include.cc: New file.
10587         * unittests/basic_string_view/inserters/char/1.cc: New file.
10588         * unittests/basic_string_view/inserters/char/2.cc: New file.
10589         * unittests/basic_string_view/inserters/char/3.cc: New file.
10590         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
10591         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
10592         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
10593         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
10594         * unittests/basic_string_view/literals/types.cc: New file.
10595         * unittests/basic_string_view/literals/values.cc: New file.
10596         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
10597         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
10598         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
10599         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
10600         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
10601         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
10602         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
10603         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
10604         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
10605         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
10606         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
10607         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
10608         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
10609         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
10610         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
10611         * unittests/basic_string_view/operations/data/char/1.cc: New file.
10612         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
10613         * unittests/basic_string_view/operations/find/char/1.cc: New file.
10614         * unittests/basic_string_view/operations/find/char/2.cc: New file.
10615         * unittests/basic_string_view/operations/find/char/3.cc: New file.
10616         * unittests/basic_string_view/operations/find/char/4.cc: New file.
10617         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
10618         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
10619         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
10620         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
10621         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
10622         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
10623         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
10624         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
10625         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
10626         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
10627         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
10628         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
10629         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
10630         * unittests/basic_string_view/operators/char/2.cc: New file.
10631         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
10632         * unittests/basic_string_view/range_access/char/1.cc: New file.
10633         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
10634         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
10635         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
10636         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
10637         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
10638         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
10639         * unittests/basic_string_view/requirements/typedefs.cc: New file.
10640         * unittests/basic_string_view/typedefs.cc: New file.
10641         * unittests/basic_string_view/types/1.cc: New file.
10642
10643 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10644
10645         * common/gdb_string_view.h: Remove libstdc++ implementation
10646         details, adjust to gdb reality.
10647         * common/gdb_string_view.tcc: Likewise.
10648         * cli/cli-script.c (struct string_view): Remove.
10649         (user_args) <m_args>: Change element type to gdb::string_view.
10650         (user_args::insert_args): Adjust.
10651
10652 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10653
10654         * common/gdb_string_view.h: New file.
10655         * common/gdb_string_view.tcc: New file.
10656
10657 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10658
10659         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
10660         * configure: Re-generate.
10661
10662 2018-04-09  Pedro Alves  <palves@redhat.com>
10663
10664         * gdbarch.sh: Include "observable.h" instead of "observer.h".
10665         (set_target_gdbarch): Call
10666         gdb::observers::architecture_changed.notify instead of
10667         observer_notify_architecture_changed.
10668
10669 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10670
10671         * tracepoint.c (struct current_traceframe_cleanup): Remove.
10672         (do_restore_current_traceframe_cleanup): Remove.
10673         (restore_current_traceframe_cleanup_dtor): Remove.
10674         (make_cleanup_restore_current_traceframe): Remove.
10675         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
10676         New.
10677         * tracepoint.h (struct scoped_restore_current_traceframe): New.
10678         * infrun.c (fetch_inferior_event): Use
10679         scoped_restore_current_traceframe.
10680
10681 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10682
10683         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
10684         Remove.
10685         <n_allocated_type_units>: Remove.
10686         <all_type_units>: Change to std::vector.
10687         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10688         to std::vector change.
10689         (dwarf2_per_objfile::get_cutu): Likewise.
10690         (dwarf2_per_objfile::get_tu): Likewise.
10691         (create_signatured_type_table_from_index): Likewise.
10692         (create_signatured_type_table_from_debug_names): Likewise.
10693         (dw2_symtab_iter_next): Likewise.
10694         (dw2_print_stats): Likewise.
10695         (dw2_expand_all_symtabs): Likewise.
10696         (dw2_expand_marked_cus): Likewise.
10697         (dw2_debug_names_iterator::next): Likewise.
10698         (dwarf2_initialize_objfile): Likewise.
10699         (add_signatured_type_cu_to_table): Likewise.
10700         (create_all_type_units): Likewise.
10701         (add_type_unit): Likewise.
10702         (struct tu_abbrev_offset): Add constructor.
10703         (build_type_psymtabs_1): Adjust to std::vector change.
10704         (print_tu_stats): Likewise.
10705         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10706         (write_debug_names): Likewise.
10707
10708 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10709
10710         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
10711         Make an std::vector.
10712         <n_comp_units>: Remove.
10713         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10714         to std::vector change.
10715         (dwarf2_per_objfile::get_cutu): Likewise.
10716         (dwarf2_per_objfile::get_cu): Likewise.
10717         (create_cus_from_index): Likewise.
10718         (create_addrmap_from_index): Likewise.
10719         (create_addrmap_from_aranges): Likewise.
10720         (dwarf2_read_index): Likewise.
10721         (dw2_find_last_source_symtab): Likewise.
10722         (dw2_map_symtabs_matching_filename): Likewise.
10723         (dw2_symtab_iter_next): Likewise.
10724         (dw2_print_stats): Likewise.
10725         (dw2_expand_all_symtabs): Likewise.
10726         (dw2_expand_symtabs_with_fullname): Likewise.
10727         (dw2_expand_marked_cus): Likewise.
10728         (dw2_map_symbol_filenames): Likewise.
10729         (create_cus_from_debug_names): Likewise.
10730         (dwarf2_read_debug_names): Likewise.
10731         (dw2_debug_names_iterator::next): Likewise.
10732         (dwarf2_initialize_objfile): Likewise.
10733         (set_partial_user): Likewise.
10734         (dwarf2_build_psymtabs_hard): Likewise.
10735         (read_comp_units_from_section): Remove arguments, adjust to
10736         std::vector change.
10737         (create_all_comp_units): Adjust to std::vector and
10738         read_comp_units_from_section changes.
10739         (dwarf2_find_containing_comp_unit): Adjust to std::vector
10740         change.
10741         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10742         (psyms_seen_size): Likewise.
10743         (write_gdbindex): Likewise.
10744         (write_debug_names): Likewise.
10745
10746 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10747
10748         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
10749         with dwarf2_per_objfile.
10750         (create_cus_from_index): Likewise.
10751         (create_signatured_type_table_from_index): Likewise.
10752         (dwarf2_read_index): Likewise.
10753         (dwarf2_initialize_objfile): Likewise.
10754         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
10755         per_cu rather than get_dwarf2_per_objfile.
10756
10757 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10758
10759         * dwarf2read.h (struct signatured_type): Forward declare.
10760         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
10761         New methods.
10762         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
10763         (dw2_get_cutu): ...this.
10764         (dwarf2_per_objfile::get_cu): Rename from...
10765         (dw2_get_cu): ...this.
10766         (dwarf2_per_objfile::get_tu): New.
10767         (create_addrmap_from_index): Adjust.
10768         (create_addrmap_from_aranges): Adjust.
10769         (dw2_find_last_source_symtab): Adjust.
10770         (dw2_map_symtabs_matching_filename): Adjust.
10771         (dw2_symtab_iter_next): Adjust.
10772         (dw2_print_stats): Adjust.
10773         (dw2_expand_all_symtabs): Adjust.
10774         (dw2_expand_symtabs_with_fullname): Adjust.
10775         (dw2_expand_marked_cus): Adjust.
10776         (dw_expand_symtabs_matching_file_matcher): Adjust.
10777         (dw2_map_symbol_filenames): Adjust.
10778         (dw2_debug_names_iterator::next): Adjust.
10779         (dwarf2_initialize_objfile): Adjust.
10780         (set_partial_user): Adjust.
10781         (dwarf2_build_psymtabs_hard): Adjust.
10782
10783 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10784
10785         * dwarf2read.c (create_signatured_type_table_from_debug_names):
10786         Remove unused variables.
10787         (dw2_map_symtabs_matching_filename): Likewise.
10788         (dwarf2_record_block_ranges): Likewise.
10789         (dwarf2_read_addr_index): Likewise.
10790         (follow_die_offset): Likewise.
10791
10792 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10793
10794         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
10795         to symbol_file_add_main.
10796
10797 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10798
10799         PR mi/22299
10800         * mi/mi-console.c (do_fputc_async_safe): New.
10801         (mi_console_file::write_async_safe): New.
10802         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
10803         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
10804         New.
10805         * ui-file.c (ui_file::putstrn): Adjust call to
10806         fputstrn_unfiltered.
10807         * utils.c (printchar): Replace do_fputs and do_fprintf
10808         parameters by do_fputc.
10809         (fputstr_filtered): Adjust call to printchar.
10810         (fputstr_unfiltered): Likewise.
10811         (fputstrn_filtered): Likewise.
10812         (fputstrn_unfiltered): Add do_fputc parameter, pass to
10813         printchar.
10814         * utils.h (do_fputc_ftype): New typedef.
10815         (fputstrn_unfiltered): Add do_fputc parameter.
10816
10817 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10818
10819         * regformats/i386/i386-avx.dat: Remove.
10820
10821 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10822
10823         PR gdb/22979
10824         * amd64-tdep.c (amd64_none_init_abi): New function.
10825         (amd64_x32_none_init_abi): New function.
10826         (_initialize_amd64_tdep): Register handlers for x86-64 and
10827         x64_32 with GDB_OSABI_NONE.
10828         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
10829         GDB_OSABI_NONE osabi.
10830
10831 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10832
10833         PR gdb/22980
10834         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
10835         GDB_OSABI_NONE.
10836         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
10837         * osabi.c (gdb_osabi_names): Add "unknown" entry.
10838
10839 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10840
10841         * common/byte-vector.h (char_vector): New type.
10842         * target.h (target_read_alloc): Return
10843         gdb::optional<byte_vector>.
10844         (target_read_stralloc): Return gdb::optional<char_vector>.
10845         (target_get_osdata): Return gdb::optional<char_vector>.
10846         * target.c (target_read_alloc_1): Templatize.  Replacement
10847         manual memory management with vector.
10848         (target_read_alloc): Change return type, adjust.
10849         (target_read_stralloc): Change return type, adjust.
10850         (target_get_osdata): Change return type, adjust.
10851         * auxv.c (struct auxv_info) <length>: Remove.
10852         <data>: Change type to gdb::optional<byte_vector>.
10853         (auxv_inferior_data_cleanup): Free auxv_info with delete.
10854         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
10855         (target_auxv_search): Adjust.
10856         (fprint_target_auxv): Adjust.
10857         * avr-tdep.c (avr_io_reg_read_command): Adjust.
10858         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
10859         (linux_make_corefile_notes): Adjust.
10860         * osdata.c (get_osdata): Adjust.
10861         * remote.c (remote_get_threads_with_qxfer): Adjust.
10862         (remote_memory_map): Adjust.
10863         (remote_traceframe_info): Adjust.
10864         (btrace_read_config): Adjust.
10865         (remote_read_btrace): Adjust.
10866         (remote_pid_to_exec_file): Adjust.
10867         * solib-aix.c (solib_aix_get_library_list): Adjust.
10868         * solib-dsbt.c (decode_loadmap): Don't free buf.
10869         (dsbt_get_initial_loadmaps): Adjust.
10870         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
10871         * solib-target.c (solib_target_current_sos): Adjust.
10872         * tracepoint.c (sdata_make_value): Adjust.
10873         * xml-support.c (xinclude_start_include): Adjust.
10874         (xml_fetch_content_from_file): Adjust.
10875         * xml-support.h (xml_fetch_another): Change return type.
10876         (xml_fetch_content_from_file): Change return type.
10877         * xml-syscall.c (xml_init_syscalls_info): Adjust.
10878         * xml-tdesc.c (file_read_description_xml): Adjust.
10879         (fetch_available_features_from_target): Change return type.
10880         (target_fetch_description_xml): Adjust.
10881         (target_read_description_xml): Adjust.
10882
10883 2018-04-06  Tom Tromey  <tom@tromey.com>
10884
10885         * value.c (~value): Update.
10886         (struct value) <contents>: Now unique_xmalloc_ptr.
10887         (value_contents_bits_eq, allocate_value_contents)
10888         (value_contents_raw, value_contents_all_raw)
10889         (value_contents_for_printing, value_contents_for_printing_const)
10890         (set_value_enclosing_type): Update.
10891
10892 2018-04-06  Tom Tromey  <tom@tromey.com>
10893
10894         * value.c (range_s): Remove typedef, VEC.
10895         (struct range): Add operator<.
10896         (range_lessthan): Remove.
10897         (ranges_contain): Change type.
10898         (~value): Update.
10899         (struct value) <unavailable, optimized_out>: Now std::vector.
10900         (value_entirely_available)
10901         (value_entirely_covered_by_range_vector)
10902         (value_entirely_unavailable, value_entirely_optimized_out):
10903         Update.
10904         (insert_into_bit_range_vector): Change argument type.
10905         (find_first_range_overlap): Likewise.
10906         (struct ranges_and_idx, value_contents_bits_eq)
10907         (require_not_optimized_out, require_available): Update.
10908         (ranges_copy_adjusted): Change argument types.
10909         (value_optimized_out, value_copy, value_fetch_lazy): Update.
10910
10911 2018-04-06  Tom Tromey  <tom@tromey.com>
10912
10913         * value.c (~value): Update.
10914         (struct value) <parent>: Now a value_ref_ptr.
10915         (value_parent, set_value_parent, value_address, value_copy):
10916         Update.
10917
10918 2018-04-06  Tom Tromey  <tom@tromey.com>
10919
10920         * value.c (struct value): Add constructor, destructor, and member
10921         initializers.
10922         (allocate_value_lazy, value_decref): Update.
10923
10924 2018-04-06  Tom Tromey  <tom@tromey.com>
10925
10926         * value.c (struct value) <released, next>: Remove.
10927         (all_values): Now a std::vector.
10928         (allocate_value_lazy): Update.
10929         (value_next): Remove.
10930         (value_mark, value_free_to_mark, release_value)
10931         (value_release_to_mark): Update.
10932
10933 2018-04-06  Tom Tromey  <tom@tromey.com>
10934
10935         * value.h (fetch_subexp_value, value_release_to_mark): Update.
10936         (free_value_chain): Remove.
10937         * value.c (free_value_chain): Remove.
10938         (value_release_to_mark): Return a std::vector.
10939         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
10940         std::vector.
10941         (check_condition): Update.
10942         * eval.c (fetch_subexp_value): Change "val_chain" to a
10943         std::vector.
10944         * breakpoint.c (update_watchpoint): Update.
10945         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
10946
10947 2018-04-06  Tom Tromey  <tom@tromey.com>
10948
10949         * value.h (free_all_values): Remove.
10950         * value.c (free_all_values): Remove.
10951
10952 2018-04-06  Tom Tromey  <tom@tromey.com>
10953
10954         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
10955         (value_history_chain, value_history_count): Remove.
10956         (value_history): New global.
10957         (record_latest_value, access_value_history, show_values)
10958         (preserve_values): Update.
10959
10960 2018-04-06  Tom Tromey  <tom@tromey.com>
10961
10962         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
10963         * varobj.c (varobj_set_display_format, varobj_set_value)
10964         (install_default_visualizer, construct_visualizer)
10965         (install_new_value, ~varobj, varobj_get_value_type)
10966         (my_value_of_variable, varobj_editable_p): Update.
10967         * c-varobj.c (c_describe_child, c_value_of_variable)
10968         (cplus_number_of_children, cplus_describe_child): Update.
10969         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
10970         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
10971         (ada_value_of_variable, ada_value_is_changeable_p): Update.
10972
10973 2018-04-06  Tom Tromey  <tom@tromey.com>
10974
10975         * printcmd.c (last_examine_address): Change type to
10976         value_ref_ptr.
10977         (do_examine, x_command): Update.
10978
10979 2018-04-06  Tom Tromey  <tom@tromey.com>
10980
10981         * value.c (release_value): Update.
10982         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
10983         (struct bpstats) <val>: Now a value_ref_ptr.
10984         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
10985         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
10986         (~watchpoint, print_it_watchpoint, watch_command_1)
10987         (invalidate_bp_value_on_memory_change): Update.
10988
10989 2018-04-06  Tom Tromey  <tom@tromey.com>
10990
10991         * varobj.c (varobj_clear_saved_item)
10992         (update_dynamic_varobj_children, install_new_value, ~varobj):
10993         Update.
10994         * value.h (value_incref): Move declaration earlier.
10995         (value_decref): Rename from value_free.
10996         (struct value_ref_policy): New.
10997         (value_ref_ptr): New typedef.
10998         (struct value_deleter): Remove.
10999         (gdb_value_up): Remove typedef.
11000         (release_value): Change return type.
11001         (release_value_or_incref): Remove.
11002         * value.c (set_value_parent): Update.
11003         (value_incref): Change return type.
11004         (value_decref): Rename from value_free.
11005         (value_free_to_mark, free_all_values, free_value_chain): Update.
11006         (release_value): Return value_ref_ptr.
11007         (release_value_or_incref): Remove.
11008         (record_latest_value, set_internalvar, clear_internalvar):
11009         Update.
11010         * stack.c (info_frame_command): Don't call value_free.
11011         * python/py-value.c (valpy_dealloc, valpy_new)
11012         (value_to_value_object): Update.
11013         * printcmd.c (do_examine): Update.
11014         * opencl-lang.c (lval_func_free_closure): Update.
11015         * mi/mi-main.c (register_changed_p): Don't call value_free.
11016         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
11017         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
11018         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
11019         value_free.
11020         * guile/scm-value.c (vlscm_free_value_smob)
11021         (vlscm_scm_from_value): Update.
11022         * frame.c (frame_register_unwind, frame_unwind_register_signed)
11023         (frame_unwind_register_unsigned, get_frame_register_bytes)
11024         (put_frame_register_bytes): Don't call value_free.
11025         * findvar.c (address_from_register): Don't call value_free.
11026         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
11027         * dwarf2loc.c (entry_data_value_free_closure)
11028         (value_of_dwarf_reg_entry, free_pieced_value_closure)
11029         (dwarf2_evaluate_loc_desc_full): Update.
11030         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
11031         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
11032         (~watchpoint, watch_command_1)
11033         (invalidate_bp_value_on_memory_change): Update.
11034         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
11035
11036 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
11037
11038         PR gdb/23022
11039         * warning.m4: Add -Wno-error=deprecated-register.
11040         * configure: Re-generate.
11041
11042 2018-04-05  Tom Tromey  <tom@tromey.com>
11043
11044         * linespec.h: Remove include of "vec.h".
11045
11046 2018-04-05  Tom Tromey  <tom@tromey.com>
11047
11048         * linespec.c (typep): Remove typedef.
11049         (find_methods, find_superclass_methods): Take a std::vector.
11050         (find_method): Use std::vector.
11051
11052 2018-04-05  Tom Tromey  <tom@tromey.com>
11053
11054         * utils.c (compare_strings): Remove.
11055         * utils.h (compare_strings): Remove.
11056         * objc-lang.h (find_imps): Update.
11057         * objc-lang.c (find_methods): Take a std::vector.
11058         (uniquify_strings, find_imps): Likewise.
11059         * linespec.c (find_methods): Take a std::vector.
11060         (decode_objc): Use std::vector.
11061         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
11062         a std::vector.
11063         (find_method, find_function_symbols): Use std::vector.
11064
11065 2018-04-05  Tom Tromey  <tom@tromey.com>
11066
11067         * completer.c (completion_tracker::completion_tracker): Remove
11068         cast.
11069         (completion_tracker::discard_completions): Likewise.
11070         * breakpoint.c (ambiguous_names_p): Remove cast.
11071         * ada-lang.c (_initialize_ada_language): Remove cast.
11072         * utils.h (streq): Update.
11073         (streq_hash): Add new declaration.
11074         * utils.c (streq): Return bool.
11075         (streq_hash): New function.
11076
11077 2018-04-05  Tom Tromey  <tom@tromey.com>
11078
11079         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
11080         Remove a string copy.
11081
11082 2018-04-05  Tom Tromey  <tom@tromey.com>
11083
11084         * linespec.c (filter_results): Use std::vector.
11085         (decode_line_2, decode_line_full): Update.
11086
11087 2018-04-05  Tom Tromey  <tom@tromey.com>
11088
11089         * linespec.c (canonical_to_fullform): Return std::string.
11090         (filter_results): Update.
11091         (struct decode_line_2_item): Add constructor.
11092         <fullform, displayform>: Now std::string.
11093         (decode_line_2_compare_items): Now a std::sort comparator.
11094         (decode_line_2): Update.
11095
11096 2018-04-05  Tom Tromey  <tom@tromey.com>
11097
11098         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
11099         (unexpected_linespec_error): Update.
11100         (linespec_parse_basic, parse_linespec): Update.
11101
11102 2018-04-05  Tom Tromey  <tom@tromey.com>
11103
11104         * linespec.c (linespec_parse_basic): Reindent.
11105
11106 2018-04-05  Tom Tromey  <tom@tromey.com>
11107
11108         * minsyms.h (iterate_over_minimal_symbols): Update.
11109         * minsyms.c (iterate_over_minimal_symbols): Take a
11110         gdb::function_view.
11111         * linespec.c (struct collect_minsyms): Remove.
11112         (compare_msyms): Now a std::sort comparator.
11113         (add_minsym): Add parameters.
11114         (search_minsyms_for_name): Update.  Use std::vector.
11115
11116 2018-04-03  Tom Tromey  <tom@tromey.com>
11117
11118         * mipsread.c (read_alphacoff_dynamic_symtab): Use
11119         gdb::byte_vector.
11120
11121 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
11122
11123         * MAINTAINERS (Write After Approval): Add Weimin Pan.
11124
11125 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
11126
11127         PR gdb/16959
11128         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
11129         printing static type.
11130
11131 2018-04-01  Tom Tromey  <tom@tromey.com>
11132
11133         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
11134         (rs6000_xfer_shared_libraries): Update.
11135
11136 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
11137
11138         * common/gdb_vecs.h (char_ptr): Remove.
11139         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
11140
11141 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
11142
11143         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
11144         with std::vector.
11145         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
11146
11147 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
11148
11149         * tracepoint.h (struct uploaded_tp): Initialize fields.
11150         <actions, step_actions, cmd_strings>: Change type to
11151         std::vector<char *>.
11152         * tracepoint.c (get_uploaded_tp): Allocate with new.
11153         (free_uploaded_tps): Free with delete.
11154         (parse_tracepoint_definition): Adjust to std::vector change.
11155         * breakpoint.c (read_uploaded_action): Likewise.
11156         (create_tracepoint_from_upload): Likewise.
11157         * ctf.c (ctf_write_uploaded_tp): Likewise.
11158         (SET_ARRAY_FIELD): Likewise.
11159         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
11160
11161 2018-03-30  Tom Tromey  <tom@tromey.com>
11162
11163         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
11164         std::unique_ptr.
11165         (svr4_keep_data_in_core): Update.
11166         (svr4_read_so_list): Update.
11167
11168 2018-03-30  Tom Tromey  <tom@tromey.com>
11169
11170         * windows-nat.c (handle_output_debug_string, handle_exception):
11171         Update.
11172         * target.h (target_read_string): Update.
11173         * target.c (target_read_string): Change "string" to
11174         unique_xmalloc_ptr.
11175         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
11176         Update.
11177         * solib-frv.c (frv_current_sos): Update.
11178         * solib-dsbt.c (dsbt_current_sos): Update.
11179         * solib-darwin.c (darwin_current_sos): Update.
11180         * linux-thread-db.c (inferior_has_bug): Update.
11181         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
11182         Update.  Remove alloca.
11183         * ada-lang.c (ada_main_name): Update.
11184
11185 2018-03-30  Tom Tromey  <tom@tromey.com>
11186
11187         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
11188         (struct dwo_file_deleter): New.
11189         (dwo_file_up): New typedef.
11190         (open_and_init_dwo_file): Use dwo_file_up.
11191         (free_dwo_file_cleanup): Remove.
11192
11193 2018-03-30  Tom Tromey  <tom@tromey.com>
11194
11195         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
11196         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
11197
11198 2018-03-30  Tom Tromey  <tom@tromey.com>
11199
11200         * dwarf2read.c (class free_cached_comp_units): New class.
11201         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
11202         (free_cached_comp_units): Remove function.
11203
11204 2018-03-30  Tom Tromey  <tom@tromey.com>
11205
11206         * utils.h (make_cleanup_unpush_target): Remove.
11207         * inf-ptrace.c (struct target_unpusher): New.
11208         (target_unpush_up) New typedef.
11209         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
11210         target_unpush_up.
11211         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
11212
11213 2018-03-27  Tom Tromey  <tom@tromey.com>
11214
11215         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
11216
11217 2018-03-27  Pedro Alves  <palves@redhat.com>
11218             Tom Tromey  <tom@tromey.com>
11219
11220         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
11221         destructor.  Now a class.
11222         (gdb_readline_wrapper_cleanup): Remove function.
11223         (gdb_readline_wrapper): Remove cleanups.
11224
11225 2018-03-27  Tom Tromey  <tom@tromey.com>
11226
11227         * typeprint.h (struct type_print_options) <local_typedefs,
11228         global_typedefs>: Remove "struct" keyword.
11229         (class typedef_hash_table): New class.
11230         (recursively_update_typedef_hash, add_template_parameters)
11231         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
11232         (find_typedef_in_hash): Don't declare.
11233         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
11234         (typedef_hash_table::recursively_update): Rename from
11235         recursively_update_typedef_hash.  Now a member.
11236         (typedef_hash_table::add_template_parameters): Rename from
11237         add_template_parameters.  Now a member.
11238         (typedef_hash_table::typedef_hash_table): Now a constructor;
11239         rename from create_typedef_hash.
11240         (typedef_hash_table::~typedef_hash_table): Now a destructor;
11241         rename from free_typedef_hash.
11242         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
11243         (do_free_global_table): Remove.
11244         (typedef_hash_table::typedef_hash_table): New constructor; renamed
11245         from copy_type_recursive.
11246         (create_global_typedef_table): Remove.
11247         (typedef_hash_table::find_global_typedef): Now a member of
11248         typedef_hash_table.
11249         (typedef_hash_table::find_typedef): Rename from
11250         find_typedef_in_hash; now a member.
11251         (whatis_exp): Update.
11252         * extension.h (struct ext_lang_type_printers): Add constructor and
11253         destructor.
11254         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
11255         declare.
11256         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
11257         Now a constructor; rename from start_ext_lang_type_printers.
11258         (ext_lang_type_printers): Now a destructor; rename from
11259         free_ext_lang_type_printers.
11260         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
11261         Update.
11262         (c_type_print_base_struct_union): Update.  Remove cleanups.
11263
11264 2018-03-27  Tom Tromey  <tom@tromey.com>
11265
11266         * dwarf-index-write.c: Include <cmath>.
11267
11268 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
11269
11270         * NEWS: Add entry describing new "set|show varsize-limit" command.
11271         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
11272         command.
11273         * printcmd.c (_initialize_printcmd): Add "set var" alias of
11274         "set variable".
11275
11276 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
11277
11278         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
11279         dwarf-index-write.c
11280         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
11281         * dwarf-index-common.c: New file.
11282         * dwarf-index-common.h: New file.
11283         * dwarf-index-write.c: New file.
11284         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
11285         (struct dwarf2_section_info): Move from here.
11286         (dwarf2_section_info_def): Likewise.
11287         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
11288         (offset_type): Likewise.
11289         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
11290         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
11291         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
11292         (byte_swap): Likewise.
11293         (MAYBE_SWAP): Likewise.
11294         (dwarf2_per_cu_ptr): Likewise.
11295         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
11296         (struct tu_stats): Likewise.
11297         (struct dwarf2_per_objfile): Likewise.
11298         (struct dwarf2_per_cu_data): Likewise.
11299         (struct signatured_type): Likewise.
11300         (sig_type_ptr): Likewise.
11301         (DEF_VEC_P (sig_type_ptr)): Likewise.
11302         (INDEX4_SUFFIX): Likewise.
11303         (INDEX5_SUFFIX): Likewise.
11304         (DEBUG_STR_SUFFIX): Likewise.
11305         (dwarf2_read_section): Make non-static.
11306         (mapped_index_string_hash): Move from here.
11307         (dwarf5_djb_hash): Likewise.
11308         (file_write): Likewise.
11309         (class data_buf): Likewise.
11310         (struct symtab_index_entry): Likewise.
11311         (struct mapped_symtab): Likewise.
11312         (find_slot): Likewise.
11313         (hash_expand): Likewise.
11314         (add_index_entry): Likewise.
11315         (uniquify_cu_indices): Likewise.
11316         (class c_str_view): Likewise.
11317         (class c_str_view_hasher): Likewise.
11318         (class vector_hasher): Likewise.
11319         (write_hash_table): Likewise.
11320         (psym_index_map): Likewise.
11321         (struct addrmap_index_data): Likewise.
11322         (add_address_entry): Likewise.
11323         (add_address_entry_worker): Likewise.
11324         (write_address_map): Likewise.
11325         (symbol_kind): Likewise.
11326         (write_psymbols): Likewise.
11327         (struct signatured_type_index_data): Likewise.
11328         (write_one_signatured_type): Likewise.
11329         (recursively_count_psymbols): Likewise.
11330         (recursively_write_psymbols): Likewise.
11331         (class debug_names): Likewise.
11332         (check_dwarf64_offsets): Likewise.
11333         (psyms_seen_size): Likewise.
11334         (write_gdbindex): Likewise.
11335         (write_debug_names): Likewise.
11336         (assert_file_size): Likewise.
11337         (write_psymtabs_to_index): Likewise.
11338         (save_gdb_index_command): Likewise.
11339         (_initialize_dwarf2_read): Don't register the "save gdb-index"
11340         command.
11341         * dwarf2read.h: New file.
11342
11343 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
11344
11345         PR gdb/22670
11346         * dwarf2read.c (dwarf2_physname): Do not return the demangled
11347         symbol name if the CU's language stores symbol names in linkage
11348         format.
11349         * language.h (struct language_defn)
11350         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
11351         all instances of this struct.
11352
11353 2018-03-26  Tom Tromey  <tom@tromey.com>
11354
11355         * stack.c (backtrace_command_1): Remove verbose code.
11356
11357 2018-03-26  Tom Tromey  <tom@tromey.com>
11358
11359         * python/py-framefilter.c (py_print_type): Don't catch
11360         exceptions.  Return void.
11361         (py_print_value): Likewise.
11362         (py_print_single_arg): Likewise.
11363         (enumerate_args): Don't catch exceptions.
11364         (py_print_args): Likewise.
11365         (py_print_frame): Likewise.
11366         (gdbpy_apply_frame_filter): Catch exceptions here.
11367
11368 2018-03-26  Tom Tromey  <tom@tromey.com>
11369
11370         * stack.c (_initialize_stack): Remove trailing newlines from help
11371         text.  Add "Usage" line to "backtrace" help.
11372
11373 2018-03-26  Tom Tromey  <tom@tromey.com>
11374
11375         PR python/16486:
11376         * python/py-framefilter.c (py_print_args): Call wrap_hint.
11377
11378 2018-03-26  Tom Tromey  <tom@tromey.com>
11379
11380         * python/py-framefilter.c (py_print_single_arg): Return
11381         EXT_LANG_BT_ERROR from catch.
11382
11383 2018-03-26  Tom Tromey  <tom@tromey.com>
11384
11385         PR backtrace/15584:
11386         * stack.c (backtrace_command_1): Move some code into no-filters
11387         "if".
11388
11389 2018-03-26  Tom Tromey  <tom@tromey.com>
11390
11391         * python/py-framefilter.c (throw_quit_or_print_exception): New
11392         function.
11393         (gdbpy_apply_frame_filter): Use it.
11394
11395 2018-03-26  Tom Tromey  <tom@tromey.com>
11396
11397         PR cli/17716:
11398         * python/py-framefilter.c (py_print_type, py_print_value)
11399         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
11400         RETURN_MASK_ERROR.
11401
11402 2018-03-26  Tom Tromey  <tom@tromey.com>
11403
11404         * python/py-framefilter.c (enumerate_args): Use
11405         gdb::unique_xmalloc_ptr.
11406
11407 2018-03-26  Tom Tromey  <tom@tromey.com>
11408
11409         * python/py-framefilter.c (py_print_frame): Return
11410         EXT_LANG_BT_OK.
11411         (gdbpy_apply_frame_filter): Update comment.
11412         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
11413         Remove.
11414         <EXT_LANG_BT_NO_FILTERS>: Change value.
11415
11416 2018-03-26  Tom Tromey  <tom@tromey.com>
11417
11418         PR backtrace/15582:
11419         * stack.c (backtrace_command): Parse "hide" argument.
11420         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
11421         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
11422         constant.
11423
11424 2018-03-26  Tom Tromey  <tom@tromey.com>
11425
11426         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
11427         add "flags".
11428         (backtrace_command): Remove "fulltrace", add "flags".
11429
11430 2018-03-26  Tom Tromey  <tom@tromey.com>
11431
11432         * stack.c (backtrace_command): Rewrite command line parsing.
11433
11434 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11435
11436         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
11437
11438 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11439
11440         * filename-seen-cache.h: Add include guard.
11441
11442 2018-03-26  Keith Seitz  <keiths@redhat.com>
11443
11444         * symfile.c (place_section): Remove "struct" from section_addr_info
11445         in comment.
11446         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
11447         "struct" keyword from section_addr_info.
11448
11449 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
11450
11451         * regformats/regdef.h (reg): Add constructors.
11452
11453 2018-03-25  Pedro Alves  <palves@redhat.com>
11454
11455         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
11456         if then/else bodies in var_func_name extraction.
11457
11458 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
11459
11460         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
11461         lookup_minimal_symbol() to find symbol entry.
11462         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
11463
11464 2018-03-23  Keith Seitz  <keiths@redhat.com>
11465
11466         PR c++/22968
11467         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
11468         nested type definitions for C++, too.
11469
11470 2018-03-23  Tom Tromey  <tom@tromey.com>
11471
11472         * machoread.c (struct oso_el): Add a constructor.  Don't define as
11473         a typedef.
11474         (macho_register_oso): Remove.
11475         (macho_symtab_read): Take a std::vector.
11476         (oso_el_compare_name): Now a std::sort comparator.
11477         (macho_symfile_read_all_oso): Take a std::vector.
11478         (macho_symfile_read): Use std::vector.  Remove cleanups.
11479
11480 2018-03-22  Tom Tromey  <tom@tromey.com>
11481
11482         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
11483         (record_full_goto_bookmark): Use std::string.
11484
11485 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11486
11487         PR tdep/18295
11488         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
11489         a single mask.
11490
11491 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11492
11493         * rs6000-tdep.c (store_insn_p): New function.
11494         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
11495         and cr_reg to their unshifted values. Use store_insn_p to
11496         match LR saves using either R1 or fdata->alloca_reg. Use
11497         store_insn_p to match CR saves. Set alloca_reg_offset
11498         when alloca_reg and framep are set. Remove lr_reg shift
11499         when assigning to fdata->lr_register.
11500
11501 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11502
11503         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
11504         command line args instead of emitting a warning.
11505
11506 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11507
11508         * tracepoint.h (struct static_tracepoint_marker): Initialize
11509         fields, define default constructor, move constructor and move
11510         assignment, disable the rest.
11511         <str_id, extra>: Make std::string.
11512         (release_static_tracepoint_marker): Remove.
11513         (free_current_marker): Remove.
11514         * tracepoint.c (free_current_marker): Remove.
11515         (parse_static_tracepoint_marker_definition): Adjust to
11516         std::string, use new hex2str overload.
11517         (release_static_tracepoint_marker): Remove.
11518         (print_one_static_tracepoint_marker): Get marker by reference
11519         and adjust to std::string.
11520         (info_static_tracepoint_markers_command): Adjust to std::vector
11521         changes
11522         * target.h (static_tracepoint_marker_p): Remove typedef.
11523         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
11524         (struct target_ops) <to_static_tracepoint_marker_at>: Return
11525         bool.
11526         <to_static_tracepoint_markers_by_strid>: Return std::vector.
11527         * target-debug.h
11528         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
11529         (target_debug_print_std_vector_static_tracepoint_marker): New.
11530         (target_debug_print_struct_static_tracepoint_marker_p): Rename
11531         to...
11532         (target_debug_print_static_tracepoint_marker_p): ... this.
11533         * target-delegates.c: Re-generate.
11534         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
11535         Make std::string.
11536         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
11537         (decode_static_tracepoint_spec): Adjust to std::vector.
11538         (tracepoint_print_one_detail): Adjust to std::string.
11539         (strace_marker_decode_location): Adjust to std::string.
11540         (update_static_tracepoint): Adjust to std::string, remove call
11541         to release_static_tracepoint_marker.
11542         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
11543         Adjust to std::vector.
11544         * remote.c (remote_static_tracepoint_marker_at): Return bool.
11545         (remote_static_tracepoint_markers_by_strid): Adjust to
11546         std::vector.
11547         * common/rsp-low.h (hex2str): New overload with explicit count
11548         of bytes.
11549         * common/rsp-low.c (hex2str): New overload with explicit count
11550         of bytes.
11551         * unittests/rsp-low-selftests.c (test_hex2str): New function.
11552         (_initialize_rsp_low_selftests): Add test_hex2str test.
11553         * unittests/tracepoint-selftests.c
11554         (test_parse_static_tracepoint_marker_definition): Adjust to
11555         std::string.
11556
11557 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11558
11559         * tracepoint.c (parse_static_tracepoint_marker_definition):
11560         Consider case where the definition is followed by more
11561         definitions.
11562         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11563         tracepoint-selftests.c.
11564         * unittests/tracepoint-selftests.c: New.
11565
11566 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11567
11568         * MAINTAINERS (Write After Approval): Add Pedro Franco de
11569         Carvalho.
11570
11571 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11572
11573         * symtab.c (find_pc_sect_line): fixed indentation.
11574
11575 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11576
11577         * symtab.c (find_pc_sect_line): now uses binary search.
11578
11579 2018-03-19  Tom Tromey  <tom@tromey.com>
11580
11581         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
11582         "IDENT" production.
11583
11584 2018-03-19  Pedro Alves  <palves@redhat.com>
11585             Tom Tromey  <tom@tromey.com>
11586
11587         * unittests/observable-selftests.c: New file.
11588         * common/observable.h: New file.
11589         * observable.h: New file.
11590         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
11591         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
11592         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
11593         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
11594         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
11595         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
11596         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
11597         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
11598         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
11599         python/py-breakpoint.c, python/py-finishbreakpoint.c,
11600         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
11601         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
11602         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
11603         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
11604         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
11605         tui/tui-interp.c, valops.c: Update all users.
11606         * tui/tui-hooks.c (tui_bp_created_observer)
11607         (tui_bp_deleted_observer, tui_bp_modified_observer)
11608         (tui_inferior_exit_observer, tui_before_prompt_observer)
11609         (tui_normal_stop_observer, tui_register_changed_observer):
11610         Remove.
11611         (tui_observers_token): New global.
11612         (attach_or_detach, tui_attach_detach_observers): New functions.
11613         (tui_install_hooks, tui_remove_hooks): Use
11614         tui_attach_detach_observers.
11615         * record-btrace.c (record_btrace_thread_observer): Remove.
11616         (record_btrace_thread_observer_token): New global.
11617         * observer.sh: Remove.
11618         * observer.c: Rename to observable.c.
11619         * observable.c (namespace gdb_observers): Define new objects.
11620         (observer_debug): Move into gdb_observers namespace.
11621         (struct observer, struct observer_list, xalloc_observer_list_node)
11622         (xfree_observer_list_node, generic_observer_attach)
11623         (generic_observer_detach, generic_observer_notify): Remove.
11624         (_initialize_observer): Update.
11625         Don't include observer.inc.
11626         * Makefile.in (generated_files): Remove observer.h, observer.inc.
11627         (clean mostlyclean): Likewise.
11628         (observer.h, observer.inc): Remove targets.
11629         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
11630         (COMMON_SFILES): Use observable.c, not observer.c.
11631         * .gitignore: Remove observer.h.
11632
11633 2018-03-18  Tom Tromey  <tom@tromey.com>
11634
11635         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
11636         gdb::def_vector.
11637         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
11638
11639 2018-03-17  Tom Tromey  <tom@tromey.com>
11640
11641         * auto-load.c (auto_load_objfile_script_1): Use std::string.
11642
11643 2018-03-17  Tom Tromey  <tom@tromey.com>
11644
11645         * target.c (class scoped_target_fd): New.
11646         (target_fileio_close_cleanup): Remove.
11647         (target_fileio_read_alloc_1): Use scoped_target_fd.
11648
11649 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
11650
11651         * silent-rules.mk: New.
11652         * Makefile.in: Include silent-rules.mk
11653         (srcdir, VPATH, top_srcdir): Move up.
11654         (COMPILE): Add ECHO_CXX.
11655         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
11656         (init.c): Add ECHO_INIT_C.
11657         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
11658         (version.c): Add ECHO_GEN.
11659         (printcmd.o): Add ECHO_CXX.
11660         (target-float.o): Add ECHO_CXX.
11661         (ada-exp.o): Add ECHO_CXX.
11662         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
11663         (insight$(EXEEXT)): Add ECHO_CXXLD.
11664         * gnulib/configure.ac: Add AM_SILENT_RULES.
11665         * gnulib/aclocal.m4: Re-generate.
11666         * gnulib/configure: Re-generate.
11667         * gnulib/import/Makefile.in: Re-generate.
11668
11669 2018-03-16  Tom Tromey  <tom@tromey.com>
11670
11671         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
11672         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
11673         * utils.c (do_free_section_addr_info)
11674         (make_cleanup_free_section_addr_info): Remove.
11675         * symfile.h (struct other_sections): Add constructor.
11676         (struct section_addr_info): Remove.
11677         (section_addr_info): New typedef.
11678         (struct sym_fns) <sym_offsets>: Change type of parameter.
11679         (build_section_addr_info_from_objfile)
11680         (relative_addr_info_to_section_offsets, addr_info_make_relative)
11681         (default_symfile_offsets, symbol_file_add)
11682         (symbol_file_add_from_bfd)
11683         (build_section_addr_info_from_section_table): Update.
11684         (alloc_section_addr_info, free_section_addr_info): Don't declare.
11685         * symfile.c (alloc_section_addr_info): Remove.
11686         (build_section_addr_info_from_section_table): Change return type.
11687         Update.
11688         (build_section_addr_info_from_bfd)
11689         (build_section_addr_info_from_objfile): Likewise.
11690         (free_section_addr_info): Remove.
11691         (relative_addr_info_to_section_offsets): Change type of "addrs".
11692         (addrs_section_compar): Now a std::sort comparator.
11693         (addrs_section_sort): Change return type.
11694         (addr_info_make_relative): Change type of "addrs".  Update.
11695         (default_symfile_offsets, syms_from_objfile_1)
11696         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
11697         (symbol_file_add_separate): Update.
11698         (symbol_file_add): Change type of "addrs".  Update.
11699         (add_symbol_file_command): Update.  Remove cleanups.
11700         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
11701         cleanups.
11702         * symfile-debug.c (debug_sym_offsets): Change type of "info".
11703         * solib.c (solib_read_symbols): Update.
11704         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
11705         * machoread.c (macho_symfile_offsets): Update.
11706         * jit.c (jit_bfd_try_read_symtab): Update.
11707
11708 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
11709
11710         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11711         unittests/utils-selftests.c.
11712         * unittests/utils-selftests.c: New file.
11713
11714 2018-03-14  Tom Tromey  <tom@tromey.com>
11715
11716         PR cli/14977:
11717         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
11718         for NULL.
11719
11720 2018-03-14  Tom Tromey  <tom@tromey.com>
11721
11722         PR cli/19918:
11723         * printcmd.c (printf_pointer): Allow "-" in format.
11724
11725 2018-03-14  Tom Tromey  <tom@tromey.com>
11726
11727         * printcmd.c (_initialize_printcmd): Add usage to printf.
11728
11729 2018-03-14  Yao Qi  <qiyao@sourceware.org>
11730
11731         * MAINTAINERS: Update my email address.
11732
11733 2018-03-13  Tom Tromey  <tom@tromey.com>
11734
11735         * machoread.c (macho_check_dsym): Change filenamep to a
11736         std::string*.
11737         (macho_symfile_read): Update.
11738         * symfile.c (load_command): Use std::string.
11739
11740 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11741
11742         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
11743         to error message string.
11744         (riscv_register_name): Use xsnprintf instead of sprintf.
11745         (riscv_insn::fetch_instruction): Use gdb_assert instead of
11746         internal_error.
11747         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
11748         error.
11749         (riscv_push_dummy_call): Likewise.
11750
11751 2018-03-12  Tom Tromey  <tom@tromey.com>
11752
11753         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
11754         Use gdb::byte_vector.
11755         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
11756
11757 2018-03-12  Yao Qi  <yao.qi@linaro.org>
11758
11759         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
11760         parameter type to readable_regcache.
11761         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
11762         the declaration.
11763
11764 2018-03-11  Tom Tromey  <tom@tromey.com>
11765
11766         * dwarf2read.c (struct nextfield): Add initializers.
11767         (struct nextfnfield): Remove.
11768         (struct fnfieldlist): Add initializers.  Remove "length" and
11769         "head", use std::vector.
11770         (struct decl_field_list): Remove.
11771         (struct field_info): Add initializers.
11772         <fields, baseclasses>: Now std::vector.
11773         <nbaseclasses, nfnfields, typedef_field_list_count,
11774         nested_types_list_count>: Remove.
11775         (dwarf2_add_field, dwarf2_add_type_defn)
11776         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
11777         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
11778         (process_structure_scope): Update.
11779
11780 2018-03-11  Tom Tromey  <tom@tromey.com>
11781
11782         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
11783         for use by std::sort.
11784         (build_type_psymtabs_1): Use std::vector.
11785
11786 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
11787
11788         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
11789         and LIBMPFR in the printed configuration.
11790
11791 2018-03-08  Tom Tromey  <tom@tromey.com>
11792
11793         * source.c (get_filename_and_charpos): Use scoped_fd.
11794         * nto-procfs.c (procfs_open_1): Use scoped_fd.
11795         (procfs_pidlist): Likewise.
11796         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
11797         (iterate_over_mappings): Likewise.
11798
11799 2018-03-08  Tom Tromey  <tom@tromey.com>
11800
11801         * infcall.c (struct call_return_meta_info)
11802         <stack_temporaries_enabled>: Remove.
11803         (get_call_return_value, call_function_by_hand_dummy): Update.
11804         * thread.c (disable_thread_stack_temporaries): Remove.
11805         (enable_thread_stack_temporaries): Remove.
11806         (thread_stack_temporaries_enabled_p): Return bool.
11807         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
11808         (get_last_thread_stack_temporary): Update.
11809         * eval.c (evaluate_subexp): Update.
11810         * gdbthread.h (class enable_thread_stack_temporaries): Now a
11811         class, not a function.
11812         (value_ptr, value_vec): Remove typedefs.
11813         (class thread_info) <stack_temporaries_enabled>: Now bool.
11814         <stack_temporaries>: Now a std::vector.
11815         (thread_stack_temporaries_enabled_p)
11816         (value_in_thread_stack_temporaries): Return bool.
11817
11818 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
11819
11820         * remote.c (putpkt_binary): Fix omitted bytes reporting.
11821         (getpkt_or_notif_sane_1): Likewise.
11822
11823 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11824
11825         * build-id.c (build_id_to_debug_bfd): Use std::string.
11826
11827 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11828
11829         * build-id.c (find_separate_debug_file_by_buildid): Return
11830         std::string.
11831         * build-id.h (find_separate_debug_file_by_buildid): Return
11832         std::string.
11833         * coffread.c (coff_symfile_read): Adjust to std::string.
11834         * elfread.c (elf_symfile_read): Adjust to std::string.
11835         * symfile.c (separate_debug_file_exists): Change parameter to
11836         std::string.
11837         (find_separate_debug_file): Return std::string.
11838         (find_separate_debug_file_by_debuglink): Return std::string.
11839         * symfile.h (find_separate_debug_file_by_debuglink): Return
11840         std::string.
11841
11842 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11843
11844         * common/xml-utils.c (xml_escape_text): Move code to...
11845         (xml_escape_text_append): ... this new function.
11846         * common/xml-utils.h (xml_escape_text_append): New declaration.
11847         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
11848         New function.
11849         (_initialize_xml_utils): register test_xml_escape_text_append as
11850         a selftest.
11851
11852 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
11853
11854         * defs.h: Remove MAX_REGISTER_SIZE.
11855         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
11856         asserts.
11857         * python/py-unwind.c (pyuw_sniffer): Likewise.
11858
11859 2018-03-07  Tom Tromey  <tom@tromey.com>
11860
11861         * linux-tdep.c (linux_info_proc): Update.
11862         * target.h (struct target_ops) <to_fileio_readlink>: Return
11863         optional<string>.
11864         (target_fileio_readlink): Return optional<string>.
11865         * remote.c (remote_hostio_readlink): Return optional<string>.
11866         * inf-child.c (inf_child_fileio_readlink): Return
11867         optional<string>.
11868         * target.c (target_fileio_readlink): Return optional<string>.
11869
11870 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
11871
11872         * regcache.c (cooked_read_test): Add riscv to the list of
11873         architectures that have a save_reggroup.
11874
11875 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11876
11877         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
11878         value is not a dynamic class object.
11879
11880 2018-03-06  Tom Tromey  <tom@tromey.com>
11881
11882         * rust-exp.y: Formatting fixes.
11883
11884 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11885
11886         * riscv-tdep.c (riscv_register_name): Remove target description
11887         support.
11888         (riscv_gdbarch_init): Remove target description check.
11889
11890 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11891
11892         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
11893         comment.
11894         * riscv-tdep.h: Likewise.
11895
11896 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11897
11898         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
11899         (riscv_pseudo_register_write): Delete.
11900         (riscv_gdbarch_init): Remove all use of pseudo registers.
11901
11902 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11903
11904         * record-btrace.c (btrace_print_lines): Replace cleanup
11905         parameter with RAII equivalents.
11906         (btrace_insn_history): Replace cleanup with RAII equivalents.
11907         * ui-out.h (make_cleanup_ui_out_list_begin_end,
11908         make_cleanup_ui_out_tuple_begin_end): Remove.
11909         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
11910         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
11911         make_cleanup_ui_out_list_begin_end): Remove.
11912
11913 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11914
11915         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
11916         parameter types to std::vector.  Use bool.
11917         (record_btrace_wait): Replace VEC(tp_t) with
11918         std::vector<thread_info *>.
11919         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
11920
11921 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
11922
11923         * record-btrace.c (record_btrace_disable_callback): Remove.
11924         (struct scoped_btrace_disable): New.
11925         (record_btrace_open): Use scoped_btrace_disable.
11926
11927 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11928
11929         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
11930         reading values from registers.
11931
11932 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11933
11934         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
11935         where appropriate.
11936
11937 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11938
11939         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
11940         change parameter type.  Use GDB's print functions, and use
11941         core_addr_to_string where appropriate.
11942         (riscv_push_dummy_call): Use core_addr_to_string where
11943         appropriate, update call to riscv_print_arg_location, and reindent
11944         a few lines.
11945         (riscv_return_value): Update call to riscv_print_arg_location.
11946
11947 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11948             Tim Newsome <tim@sifive.com>
11949             Albert Ou <a0u@eecs.berkeley.edu>
11950             Darius Rad <darius@bluespec.com>
11951
11952         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
11953         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
11954         (ALLDEPFILES): Add riscv-tdep.c
11955         * configure.tgt: Add riscv support.
11956         * riscv-tdep.c: New file.
11957         * riscv-tdep.h: New file.
11958         * NEWS: Mention new target.
11959         * MAINTAINERS: Add entry for riscv.
11960
11961 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11962
11963         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
11964         fields within aggregates.
11965
11966 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
11967
11968         * record-btrace.c (btrace_print_lines): Change type of flags to
11969         gdb_disassembly_flags.
11970
11971 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11972
11973         * fbsd-nat.c: Include "inf-ptrace.h".
11974         (USE_SIGTRAP_SIGINFO): Conditionally define.
11975         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
11976         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
11977         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
11978         function.
11979         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
11980         Likewise.
11981         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
11982         Likewise.
11983         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
11984         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
11985         "supports_stopped_by_hw_breakpoint" target methods.
11986
11987 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11988
11989         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
11990         * fbsd-nat.c (debug_fbsd_nat): New variable.
11991         (show_fbsd_nat_debug): New function.
11992         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
11993         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
11994
11995 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
11996
11997         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
11998         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
11999         prototype.
12000         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
12001         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
12002         method.
12003
12004 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12005
12006         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
12007         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
12008
12009 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12010
12011         * charset.c (struct charset_vector): New.
12012         (charsets): Change type to charset_vector.
12013         (find_charset_names): Adjust.
12014         (add_one): Adjust.
12015         (_initialize_charset): Adjust.
12016
12017 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12018
12019         * progspace.h (struct program_space) <deleted_solibs>: Change
12020         type to std::vector<std::string>.
12021         * progspace.c (clear_program_space_solib_cache): Adjust.
12022         * breakpoint.c (print_solib_event): Adjust.
12023         (check_status_catch_solib): Adjust.
12024         * solib.c (update_solib_list): Adjust.
12025         * ui-out.h (class ui_out) <field_string>: New overload.
12026         * ui-out.c (ui_out::field_string): New overload.
12027
12028 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12029
12030         * progspace.h (struct program_space): Add constructor and
12031         destructor, initialize fields.
12032         (add_program_space): Remove.
12033         * progspace.c (add_program_space): Rename to...
12034         (program_space::program_space): ... this.
12035         (release_program_space): Rename to...
12036         (program_space::~program_space): ... this.
12037         (delete_program_space): Use delete to delete program_space.
12038         (initialize_progspace): Use new to allocate program_space.
12039         * inferior.c (add_inferior_with_spaces): Likewise.
12040         (clone_inferior_command): Likewise.
12041         * infrun.c (follow_fork_inferior): Likewise.
12042         (handle_vfork_child_exec_or_exit): Likewise.
12043
12044 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12045
12046         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
12047         (delim_string_to_char_ptr_vec): Return std::vector of
12048         gdb::unique_xmalloc_ptr.
12049         (dirnames_to_char_ptr_vec_append): Take std::vector of
12050         gdb::unique_xmalloc_ptr.
12051         (dirnames_to_char_ptr_vec): Return std::vector of
12052         gdb::unique_xmalloc_ptr.
12053         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
12054         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
12055         (delim_string_to_char_ptr_vec): Return an std::vector of
12056         gdb::unique_xmalloc_ptr, adjust the code.
12057         (dirnames_to_char_ptr_vec_append): Take an std::vector of
12058         gdb::unique_xmalloc_ptr, adjust the code.
12059         (dirnames_to_char_ptr_vec): Return an std::vector of
12060         gdb::unique_xmalloc_ptr, adjust the code.
12061         * auto-load.c (auto_load_safe_path_vec): Change type to
12062         std::vector of gdb::unique_xmalloc_ptr.
12063         (auto_load_expand_dir_vars): Return an std::vector of
12064         gdb::unique_xmalloc_ptr, adjust the code.
12065         (auto_load_safe_path_vec_update): Adjust.
12066         (filename_is_in_auto_load_safe_path_vec): Adjust.
12067         (auto_load_objfile_script_1): Adjust.
12068         * build-id.c (build_id_to_debug_bfd): Adjust.
12069         * linux-thread-db.c (thread_db_load_search): Adjust.
12070         * source.c (add_path): Adjust.
12071         (openp): Adjust.
12072         * symfile.c (find_separate_debug_file): Adjust.
12073         * utils.c (do_free_char_ptr_vec): Remove.
12074         (make_cleanup_free_char_ptr_vec): Remove.
12075
12076 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
12077
12078         PR gdb/22907
12079         * common/pathstuff.c: Conditionally include "<windows.h>".
12080
12081 2018-03-01  Georg Sauthoff  <mail@georg.so>
12082
12083         PR gdb/22888
12084         * gcore.in: Quote variables and switch interpreter to bash.
12085
12086 2018-03-01  Tom Tromey  <tom@tromey.com>
12087
12088         * dwarf2read.c (alloc_discriminant_info): Fix default_index
12089         assertion.  Add assertion for discriminant_index.
12090         (quirk_rust_enum): Use correct base type name in univariant case.
12091
12092 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
12093
12094         * record.c (get_call_history_modifiers): Return a
12095         record_print_flags.
12096         (cmd_record_call_history): Adjust.
12097         * record-btrace.c (record_btrace_call_history): Adjust.
12098         (record_btrace_call_history_range): Adjust.
12099         (record_btrace_call_history_from): Adjust.
12100         * target-debug.h (target_debug_print_record_print_flags): New.
12101         * target-delegates.c: Re-generate.
12102         * target.c (target_call_history): Change flags type.
12103         (target_call_history_from): Likewise.
12104         (target_call_history_range): Likewise.
12105         * target.h (struct target_ops) <target_call_history>: Likewise.
12106         (target_call_history_from): Likewise.
12107         (target_call_history_range): Likewise.
12108
12109 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
12110             Simon Marchi  <simon.marchi@polymtl.ca>
12111
12112         * common/common-utils.c: Include "sys/stat.h".
12113         (is_regular_file): Move here from "source.c"; change return
12114         type to "bool".
12115         * common/common-utils.h (is_regular_file): New prototype.
12116         * common/pathstuff.c (contains_dir_separator): New function.
12117         * common/pathstuff.h (contains_dir_separator): New prototype.
12118         * source.c: Don't include "sys/stat.h".
12119         (is_regular_file): Move to "common/common-utils.c".
12120
12121 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
12122
12123         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
12124         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
12125         * auto-load.c: Include "common/pathstuff.h".
12126         * common/common-def.h (current_directory): Move here.
12127         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
12128         function.
12129         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
12130         prototype.
12131         * common/pathstuff.c: New file.
12132         * common/pathstuff.h: New file.
12133         * compile/compile.c: Include "common/pathstuff.h".
12134         * defs.h (current_directory): Move to "common/common-defs.h".
12135         * dwarf2read.c: Include "common/pathstuff.h".
12136         * exec.c: Likewise.
12137         * guile/scm-safe-call.c: Likewise.
12138         * linux-thread-db.c: Likewise.
12139         * main.c: Likewise.
12140         * nto-tdep.c: Likewise.
12141         * objfiles.c: Likewise.
12142         * source.c: Likewise.
12143         * symtab.c: Likewise.
12144         * utils.c: Include "common/pathstuff.h".
12145         (gdb_realpath): Move to "common/pathstuff.c".
12146         (gdb_realpath_keepfile): Likewise.
12147         (gdb_abspath): Likewise.
12148         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
12149         (gdb_realpath_keepfile): Likewise.
12150         (gdb_abspath): Likewise.
12151
12152 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
12153
12154         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
12155         wildcard process pid for super_resume for kernels with a
12156         specific bug.
12157
12158 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
12159
12160         * compile/compile.c (get_args): Add additional comments
12161         explaining function.
12162
12163 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
12164             Tom Tromey  <tom@tromey.com>
12165
12166         * target.h (memory_write_request_s): Remove typedef.  Don't define
12167         VEC.
12168         (target_write_memory_blocks): Change argument to std::vector.
12169         (struct memory_write_request): Add constructor.
12170         * target-memory.c (compare_block_starting_address): Return bool.
12171         Change argument types.
12172         (claim_memory): Change arguments to use std::vector.
12173         (split_regular_and_flash_blocks, blocks_to_erase)
12174         (compute_garbled_blocks): Likewise.
12175         (cleanup_request_data, cleanup_write_requests_vector): Remove.
12176         (target_write_memory_blocks): Change argument to std::vector.
12177         * symfile.c (struct load_section_data): Add constructor and
12178         destructor.  Use std::vector for "requests".
12179         (struct load_progress_data): Add initializers.
12180         (load_section_callback): Update.  Use "new".
12181         (clear_memory_write_data): Remove.
12182         (generic_load): Update.
12183
12184 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
12185
12186         * arch/aarch64.h: Use common/tdesc.h.
12187
12188 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
12189
12190         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
12191         architecture with a 64-bit ABI.
12192
12193 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
12194
12195         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
12196         ahead of target description loading.
12197
12198 2018-02-26  Tom Tromey  <tom@tromey.com>
12199
12200         * stack.c (backtrace_command_1): Update.
12201         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
12202         of "flags".
12203         * python/py-framefilter.c (py_print_frame)
12204         (gdbpy_apply_frame_filter): Change type of "flags".
12205         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
12206         of "flags".
12207         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
12208         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
12209         * extension.h (enum frame_filter_flag): Rename from
12210         frame_filter_flags.
12211         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
12212         (apply_ext_lang_frame_filter): Change type of "flags".
12213         * extension.c (apply_ext_lang_frame_filter): Change type of
12214         "flags".
12215         * extension-priv.h (struct extension_language_ops)
12216         <apply_frame_filter>: Change type of "flags".
12217
12218 2018-02-26  Tom Tromey  <tom@tromey.com>
12219
12220         PR python/16497:
12221         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
12222         off-by-one in py_end computation.
12223         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
12224         PRINT_MORE_FRAMES.
12225         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
12226         constant.
12227
12228 2018-02-26  Tom Tromey  <tom@tromey.com>
12229
12230         * dwarf2read.c (struct variant_field): New.
12231         (struct nextfield) <variant>: New field.
12232         (dwarf2_add_field): Handle DW_TAG_variant_part.
12233         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
12234         discriminated union.
12235         (read_structure_type): Handle DW_TAG_variant_part.
12236         (handle_struct_member_die): New function, extracted from
12237         process_structure_scope.  Handle DW_TAG_variant.
12238         (process_structure_scope): Handle discriminated unions.  Call
12239         handle_struct_member_die.
12240
12241 2018-02-26  Tom Tromey  <tom@tromey.com>
12242
12243         * rust-lang.h (rust_last_path_segment): Declare.
12244         * rust-lang.c (rust_last_path_segment): Now public.  Change
12245         contract.
12246         (struct disr_info): Remove.
12247         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
12248         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
12249         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
12250         (rust_enum_p, rust_enum_variant): New function.
12251         (rust_underscore_fields): Remove "offset" parameter.
12252         (rust_print_enum): New function.
12253         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
12254         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
12255         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
12256         enums.
12257         (rust_internal_print_type): New function, from rust_print_type.
12258         Remove enum code.
12259         (rust_print_type): Call rust_internal_print_type.
12260         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
12261         Update enum handling.
12262         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
12263         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
12264         (rust_union_quirks): New functions.
12265         (process_full_comp_unit, process_full_type_unit): Call
12266         rust_union_quirks.
12267         (process_structure_scope): Update rust_unions if necessary.
12268
12269 2018-02-26  Tom Tromey  <tom@tromey.com>
12270
12271         * value.h (value_union_variant): Declare.
12272         * valops.c (value_union_variant): New function.
12273         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
12274         (struct discriminant_info): New.
12275         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
12276         enumerator.
12277         (struct main_type) <flag_discriminated_union>: New field.
12278
12279 2018-02-26  Tom Tromey  <tom@tromey.com>
12280
12281         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12282         unittests/unpack-selftests.c.
12283         * unittests/unpack-selftests.c: New file.
12284         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
12285
12286 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12287
12288         * dwarf2read.c (struct partial_die_info) <read>: New method.
12289         (read_partial_die): Remove the declaration.
12290         (load_partial_dies): Update.
12291         (partial_die_info::partial_die_info):
12292         (read_partial_die): Change it to partial_die_info::read.
12293
12294 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12295
12296         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
12297         (fixup_partial_die): Remove declaration.
12298         (scan_partial_symbols): Update.
12299         (partial_die_parent_scope): Likewise.
12300         (partial_die_full_name): Likewise.
12301         (fixup_partial_die): Change it to partial_die_info::fixup.
12302
12303 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12304
12305         * dwarf2read.c (read_partial_die): Update the declaration.
12306         (load_partial_dies): Caller update.
12307         (read_partial_die): Remove one argument abbrev_len.
12308
12309 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12310
12311         * dwarf2read.c (struct partial_die_info): Add ctor, delete
12312         assignment operator.
12313         (load_partial_dies): Use ctor and copy ctor.
12314         (read_partial_die): Update.
12315         (dwarf2_cu::find_partial_die): Use ctor.
12316
12317 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12318
12319         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
12320         (find_partial_die_in_comp_unit): Change it to
12321         dwarf2_cu::find_partial_die.
12322         (find_partial_die): Update.
12323
12324 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12325
12326         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
12327         is NULL.
12328
12329 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12330
12331         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
12332
12333 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
12334
12335         * arch/amd64.h: Use common/tdesc.h.
12336         * arch/i386.c: Likewise.
12337         * arch/i386.h: Likewise.
12338         * arch/tic6x.c: Likewise.
12339         * arch/tdesc.h: Move file from here...
12340         * common/tdesc.h: ...to here.
12341         * features/aarch64-core.c: Regenerate.
12342         * features/aarch64-fpu.c: Regenerate.
12343         * features/i386/32bit-avx.c: Regenerate.
12344         * features/i386/32bit-avx512.c: Regenerate.
12345         * features/i386/32bit-core.c: Regenerate.
12346         * features/i386/32bit-linux.c: Regenerate.
12347         * features/i386/32bit-mpx.c: Regenerate.
12348         * features/i386/32bit-pkeys.c: Regenerate.
12349         * features/i386/32bit-sse.c: Regenerate.
12350         * features/i386/64bit-avx.c: Regenerate.
12351         * features/i386/64bit-avx512.c: Regenerate.
12352         * features/i386/64bit-core.c: Regenerate.
12353         * features/i386/64bit-linux.c: Regenerate.
12354         * features/i386/64bit-mpx.c: Regenerate.
12355         * features/i386/64bit-pkeys.c: Regenerate.
12356         * features/i386/64bit-segments.c: Regenerate.
12357         * features/i386/64bit-sse.c: Regenerate.
12358         * features/i386/x32-core.c: Regenerate.
12359         * features/tic6x-c6xp.c: Regenerate.
12360         * features/tic6x-core.c: Regenerate.
12361         * features/tic6x-gp.c: Regenerate.
12362         * target-descriptions.c: Use common/tdesc.h.
12363         * target-descriptions.h: Likewise.
12364
12365 2018-02-24  Tom Tromey  <tom@tromey.com>
12366
12367         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
12368         (try_thread_db_load_from_dir, thread_db_load_search): Use
12369         std::string.
12370         (info_auto_load_libthread_db_compare): Return bool.  Change
12371         argument types.
12372         (info_auto_load_libthread_db): Use std::vector, std::string.
12373         Remove cleanups.
12374
12375 2018-02-24  Tom Tromey  <tom@tromey.com>
12376
12377         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
12378         std::string.
12379         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
12380         std::string*.
12381         * gdbarch.c: Rebuild.
12382         * gdbarch.h: Rebuild.
12383         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
12384         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
12385         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
12386         std::string*.
12387
12388 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
12389
12390         * gdbtypes.h (sect_offset): Change type to uint64_t.
12391         (sect_offset_str): New function.
12392         * dwarf2read.c (create_addrmap_from_aranges): Use
12393         sect_offset_str.
12394         (error_check_comp_unit_head): Likewise.
12395         (create_debug_type_hash_table): Likewise.
12396         (read_cutu_die_from_dwo): Likewise.
12397         (init_cutu_and_read_dies): Likewise.
12398         (init_cutu_and_read_dies_no_follow): Likewise.
12399         (process_psymtab_comp_unit_reader): Likewise.
12400         (partial_die_parent_scope): Likewise.
12401         (peek_die_abbrev): Likewise.
12402         (process_queue): Likewise.
12403         (dwarf2_physname): Likewise.
12404         (read_namespace_alias): Likewise.
12405         (read_import_statement): Likewise.
12406         (create_dwo_cu_reader): Likewise.
12407         (create_cus_hash_table): Likewise.
12408         (lookup_dwo_cutu): Likewise.
12409         (inherit_abstract_dies): Likewise.
12410         (read_func_scope): Likewise.
12411         (read_call_site_scope): Likewise.
12412         (dwarf2_add_member_fn): Likewise.
12413         (read_common_block): Likewise.
12414         (read_module_type): Likewise.
12415         (read_typedef): Likewise.
12416         (read_subrange_type): Likewise.
12417         (load_partial_dies): Likewise.
12418         (read_partial_die): Likewise.
12419         (find_partial_die): Likewise.
12420         (read_str_index): Likewise.
12421         (dwarf2_string_attr): Likewise.
12422         (build_error_marker_type): Likewise.
12423         (lookup_die_type): Likewise.
12424         (dump_die_shallow): Likewise.
12425         (follow_die_ref): Likewise.
12426         (dwarf2_fetch_die_loc_sect_off): Likewise.
12427         (dwarf2_fetch_constant_bytes): Likewise.
12428         (follow_die_sig): Likewise.
12429         (get_signatured_type): Likewise.
12430         (get_DW_AT_signature_type): Likewise.
12431         (dwarf2_find_containing_comp_unit): Likewise.
12432         (set_die_type): Likewise.
12433
12434 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
12435
12436         * arch/aarch64.c: Include "common-defs.h".
12437         * arch/amd64.c: Likewise.
12438         * arch/i386.c: Likewise.
12439
12440 2018-02-21  Tom Tromey  <tom@tromey.com>
12441
12442         * value.h: (extract_field_op): Update.
12443         * eval.c (extract_field_op): Return a const char *.
12444         * expression.h (parse_expression_for_completion): Update.
12445         * completer.c (complete_expression): Update.
12446         (add_struct_fields): Make fieldname const.
12447         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
12448         (mark_completion_tag, parse_exp_in_context_1): Update.
12449         (parse_expression_for_completion): Change "name" to
12450         unique_xmalloc_ptr*.
12451
12452 2018-02-21  Tom Tromey  <tom@tromey.com>
12453
12454         * infcall.c (call_function_by_hand_dummy): Use std::vector.
12455
12456 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12457
12458         * avr-tdep.c (avr_read_pc): Change parameter type to
12459         readable_regcache.
12460         * gdbarch.sh (read_pc): Likewise.
12461         * gdbarch.c: Re-generated.
12462         * gdbarch.h: Re-generated.
12463         * hppa-tdep.c (hppa_read_pc): Change parameter type to
12464         readable_regcache.
12465         * ia64-tdep.c (ia64_read_pc): Likewise.
12466         * mips-tdep.c (mips_read_pc): Likewise.
12467         * spu-tdep.c (spu_read_pc): Likewise.
12468
12469 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12470
12471         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
12472         * regcache-dump.c: New file.
12473         * regcache.c: Move register_dump to regcache-dump.c.
12474         (maintenance_print_registers): Likewise.
12475         (maintenance_print_raw_registers): Likewise.
12476         (maintenance_print_cooked_registers): Likewise.
12477         (maintenance_print_register_groups): Likewise.
12478         (maintenance_print_remote_registers): Likewise.
12479         (_initialize_regcache): Likewise.
12480         * regcache.h (register_dump): Moved from regcache.c.
12481
12482 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12483
12484         * regcache.c (regcache::regcache): Update.
12485         (regcache::invalidate): Move it to detached_regcache::invalidate.
12486         (get_thread_arch_aspace_regcache): Update.
12487         (regcache::raw_update): Update.
12488         (regcache::cooked_read): Remove some code.
12489         (regcache::cooked_read_value): Likewise.
12490         (regcache::raw_write): Remove assert on m_readonly_p.
12491         (regcache::raw_supply_integer): Move it to
12492         detached_regcache::raw_supply_integer.
12493         (regcache::raw_supply_zeroed): Likewise.
12494         * regcache.h (detached_regcache) <raw_supply_integer>: New
12495         declaration.
12496         <raw_supply_zeroed, invalidate>: Likewise.
12497         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
12498         <invalidate>: Likewise.
12499         <m_readonly_p>: Removed.
12500
12501 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12502
12503         * infcmd.c (get_return_value): Let stop_regs point to
12504         get_current_regcache.
12505         * regcache.c (regcache::regcache): Remove.
12506         (register_dump_reg_buffer): New class.
12507         (regcache_print): Adjust.
12508         * regcache.h (regcache): Remove constructors.
12509
12510 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12511
12512         * regcache.c (class register_dump): New class.
12513         (register_dump_regcache, register_dump_none): New class.
12514         (register_dump_remote, register_dump_groups): New class.
12515         (regcache_print): Update.
12516         * regcache.h (regcache_dump_what): Move it to regcache.c.
12517         (regcache) <dump>: Remove.
12518
12519 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12520
12521         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
12522          reg_buffer_rw *.
12523         (jit_unwind_reg_set_impl): Call raw_supply.
12524         (jit_frame_sniffer): Use reg_buffer_rw.
12525         * record-full.c (record_full_core_regbuf): Change its type.
12526         (record_full_core_open_1): Use reg_buffer_rw.
12527         (record_full_close): Likewise.
12528         (record_full_core_fetch_registers): Use regcache->raw_supply.
12529         (record_full_core_store_registers): Likewise.
12530         * regcache.c (regcache::get_register_status): Move it to
12531         reg_buffer.
12532         (regcache_raw_set_cached_value): Remove.
12533         (regcache::raw_set_cached_value): Remove.
12534         (regcache::raw_write): Call raw_supply.
12535         (regcache::raw_supply): Move it to reg_buffer_rw.
12536         * regcache.h (regcache_raw_set_cached_value): Remove.
12537         (reg_buffer_rw): New class.
12538
12539 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12540
12541         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
12542         readonly_detached_regcache.
12543         (dummy_frame_prev_register): Use regcache->cooked_read.
12544         * frame.c (frame_save_as_regcache): Change return type.
12545         (frame_pop): Update.
12546         * frame.h (frame_save_as_regcache): Update declaration.
12547         * inferior.h (get_infcall_suspend_state_regcache): Update
12548         declaration.
12549         * infrun.c (infcall_suspend_state) <registers>: use
12550         readonly_detached_regcache.
12551         (save_infcall_suspend_state): Don't use regcache_dup.
12552         (get_infcall_suspend_state_regcache): Change return type.
12553         * linux-fork.c (struct fork_info) <savedregs>: Change to
12554         readonly_detached_regcache.
12555         <pc>: New field.
12556         (fork_save_infrun_state): Don't use regcache_dup.
12557         (info_checkpoints_command): Adjust.
12558         * mi/mi-main.c (register_changed_p): Update declaration.
12559         (mi_cmd_data_list_changed_registers): Use
12560         readonly_detached_regcache.
12561         (register_changed_p): Change parameter type to
12562         readonly_detached_regcache.
12563         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
12564         readonly_detached_regcache.
12565         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
12566         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
12567         New.
12568         (regcache::save): Move it to reg_buffer.
12569         (regcache::restore): Change parameter type.
12570         (regcache_dup): Remove.
12571         * regcache.h (reg_buffer) <save>: New method.
12572         (readonly_detached_regcache): New class.
12573         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
12574         readonly_detached_regcache.
12575         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
12576
12577 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12578
12579         * frame.c (frame_save_as_regcache): Use regcache method save.
12580         (frame_pop): Use regcache method restore.
12581         * infrun.c (restore_infcall_suspend_state): Likewise.
12582         * linux-fork.c (fork_load_infrun_state): Likewise.
12583         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
12584         save.
12585         * regcache.c (regcache_save): Remove.
12586         (regcache::restore): More asserts.
12587         (regcache_cpy): Remove.
12588         * regcache.h (regcache_save): Remove the declaration.
12589         (regcache::restore): Move from private to public.
12590         Remove the friend declaration of regcache_cpy.
12591         (regcache_cpy): Remove declaration.
12592
12593 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12594
12595         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
12596         parameter type to 'readable_regcache *'.
12597         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12598         * arm-tdep.c (arm_neon_quad_read): Likewise.
12599         (arm_pseudo_read): Likewise.
12600         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12601         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12602         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12603         * gdbarch.c: Re-generated.
12604         * gdbarch.h: Re-generated.
12605         * gdbarch.sh (pseudo_register_read): Change parameter type to
12606         'readable_regcache *'.
12607         (pseudo_register_read_value): Likewise.
12608         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
12609         (h8300_pseudo_register_read): Likewise.
12610         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
12611         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12612         (i386_pseudo_register_read_into_value): Likewise.
12613         (i386_pseudo_register_read_value): Likewise.
12614         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
12615         declaration.
12616         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
12617         * m32c-tdep.c (m32c_raw_read): Likewise.
12618         (m32c_read_flg): Likewise.
12619         (m32c_banked_register): Likewise.
12620         (m32c_banked_read): Likewise.
12621         (m32c_sb_read): Likewise.
12622         (m32c_part_read): Likewise.
12623         (m32c_cat_read): Likewise.
12624         (m32c_r3r2r1r0_read): Likewise.
12625         (m32c_pseudo_register_read): Likewise.
12626         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12627         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12628         (mep_pseudo_cr64_read): Likewise.
12629         (mep_pseudo_register_read): Likewise.
12630         * mips-tdep.c (mips_pseudo_register_read): Likewise.
12631         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12632         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12633         * regcache.c (regcache::raw_read): Move it to readable_regcache.
12634         (regcache::cooked_read): Likewise.
12635         (regcache::cooked_read_value): Likewise.
12636         (regcache_cooked_read_signed):
12637         (regcache::cooked_read): Likewise.
12638         * regcache.h (readable_regcache): New class.
12639         (regcache): Inherit readable_regcache.  Move some methods to
12640         readable_regcache.
12641         * rl78-tdep.c (rl78_pseudo_register_read): Change
12642         parameter type to 'readable_regcache *'.
12643         * rs6000-tdep.c (do_regcache_raw_read): Remove.
12644         (e500_pseudo_register_read): Change parameter type to
12645         'readable_regcache *'.
12646         (dfp_pseudo_register_read): Likewise.
12647         (vsx_pseudo_register_read): Likewise.
12648         (efpr_pseudo_register_read): Likewise.
12649         * s390-tdep.c (s390_pseudo_register_read): Likewise.
12650         * sh-tdep.c (sh_pseudo_register_read): Likewise.
12651         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
12652         (sh64_pseudo_register_read): Likewise.
12653         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
12654         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12655         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
12656         (spu_pseudo_register_read): Likewise.
12657         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12658         (xtensa_pseudo_register_read): Likewise.
12659
12660 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12661
12662         * regcache.c (regcache::regcache): Call reg_buffer ctor.
12663         (regcache::arch): Move it to reg_buffer::arch.
12664         (regcache::register_buffer): Likewise.
12665         (regcache::assert_regnum): Likewise.
12666         (regcache::num_raw_registers): Likewise.
12667         * regcache.h (reg_buffer): New class.
12668         (regcache): Inherit reg_buffer.
12669
12670 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
12671
12672         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
12673         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
12674
12675 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
12676
12677         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
12678
12679 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
12680
12681         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
12682         (SFILES): Remove common/*.c files.
12683         (COMMON_OBS): Remove some *.o files built from common/*.c files.
12684         * common/common.host: Add common reference.
12685         * configure.ac: Likewise.
12686         * configure: Regenerate.
12687
12688 2018-02-16  Yao Qi  <yao.qi@linaro.org>
12689
12690         * block.c (block_namespace_info): Inherit allocate_on_obstack.
12691         (block_initialize_namespace): Use new.
12692         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
12693         (dwarf2_free_objfile): Use delete.
12694         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
12695         (copy_type_recursive): Use new.
12696         * gdb_obstack.h (allocate_on_obstack): New.
12697
12698 2018-02-15  Yao Qi  <yao.qi@linaro.org>
12699
12700         PR gdb/22849
12701         * inferior.c (exit_inferior_1): Reset inf->control.
12702
12703 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
12704
12705         * ada-lang.c (ada_to_fixed_value_create): Delete advance
12706         declaration.
12707
12708 2018-02-14  Pedro Alves  <palves@redhat.com>
12709
12710         * frame-unwind.c (frame_unwind_try_unwinder): Always call
12711         frame_cleanup_after_sniffer on exception.
12712
12713 2018-02-14  Tom Tromey  <tom@tromey.com>
12714
12715         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
12716         const.
12717         (solib_bfd_open): Make pathname const.
12718         * solib.c (solib_bfd_open): Make pathname const.
12719         * solib-spu.c (spu_bfd_fopen): Make name const.
12720         (spu_bfd_open): Make pathname const.
12721         * solib-darwin.c (darwin_bfd_open): Make pathname const.
12722         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
12723
12724 2018-02-14  Tom Tromey  <tom@tromey.com>
12725
12726         * symfile.c (symfile_bfd_open): Update.
12727         * source.h (openp, source_full_path_of, find_and_open_source):
12728         Change argument type to unique_xmalloc_ptr.
12729         * source.c (openp): Take a unique_xmalloc_ptr.
12730         (source_full_path_of, find_and_open_source): Likewise.
12731         (open_source_file, symtab_to_fullname): Update.
12732         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
12733         unique_xmalloc_ptr.
12734         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
12735         (exec_file_find): Update.
12736         * psymtab.c (psymtab_to_fullname): Update.
12737         * nto-tdep.h (nto_find_and_open_solib): Update.
12738         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
12739         unique_xmalloc_ptr.
12740         * exec.c (exec_file_attach): Update.
12741         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
12742         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
12743
12744 2018-02-14  Tom Tromey  <tom@tromey.com>
12745
12746         * solib.c: Include source.h.
12747         * nto-tdep.c: Include source.h.
12748         * mi/mi-cmd-env.c: Include source.h.
12749         * infcmd.c: Include source.h.
12750         * exec.c: Include source.h.
12751         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
12752         (add_path, directory_switch, source_path, init_source_path): Move
12753         declarations...
12754         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
12755         (add_path, directory_switch, source_path, init_source_path):
12756         ...here.
12757
12758 2018-02-14  Tom Tromey  <tom@tromey.com>
12759
12760         * solist.h (exec_file_find, solib_find): Return
12761         unique_xmalloc_ptr.
12762         (solib_bfd_fopen): Take a const char *.
12763         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
12764         (exec_file_find, solib_find): Likewise.
12765         (solib_bfd_fopen): Do not take ownership of "pathname".
12766         (solib_bfd_open): Use unique_xmalloc_ptr.
12767         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
12768         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
12769         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
12770         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
12771
12772 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
12773
12774         * ada-lang.c (name_match_type_from_name): Remove reference to
12775         ada_name_for_lookup in function's documentation.
12776         * ada-lang.h (ada_name_for_lookup): Delete declaration.
12777
12778 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12779
12780         * defs.h (enum openp_flags): New enum.
12781         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
12782         Move to enum openp_flags.
12783         (openp_flags): New enum flags.
12784         (openp): Change parameter type to openp_flags.
12785         * source.c (openp): Change parameter type to openp_flags.
12786         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
12787         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
12788
12789 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12790
12791         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
12792         per-command.
12793
12794 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
12795
12796         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
12797         into...
12798         (class dwarf2_queue_guard): ...the destructor of this new class.
12799         (dw2_do_instantiate_symtab): Create instance of the new class
12800         dwarf2_queue_guard, remove cleanup.
12801
12802 2018-02-09  Tom Tromey  <tom@tromey.com>
12803
12804         * source.c (find_source_lines): Don't reference past the end of
12805         the vector.
12806
12807 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12808
12809         * remote.c (remote_btrace_maybe_reopen): Change error message.
12810         * btrace.c (btrace_enable): Likewise.
12811         (parse_xml_btrace): Likewise.
12812         (parse_xml_btrace_conf): Likewise.
12813
12814 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12815
12816         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
12817         (linux_enable_pt, linux_enable_bts): Call
12818         diagnose_perf_event_open_fail.
12819
12820 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12821
12822         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
12823         Remove parameter and change return type.  Update callers.  Move it.
12824         (linux_enable_bts, linux_enable_pt): Improve error message.
12825         (linux_enable_pt): Remove zero buffer size check.
12826         (linux_enable_btrace): Improve error messages.  Remove NULL return
12827         check.
12828
12829 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12830
12831         * btrace.c (btrace_enable): Remove target_supports_btrace call.
12832         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
12833         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
12834         (linux_supports_pt, linux_supports_btrace): Remove.
12835         (linux_enable_bts): Call cpu_supports_bts.
12836         * nat/linux-btrace.h (linux_supports_btrace): Remove.
12837         * remote.c (remote_supports_btrace): Remove.
12838         (init_remote_ops): Remove remote_supports_btrace.
12839         * target-delegates.c: Regenerated.
12840         * target.c (target_supports_btrace): Remove.
12841         * target.h (target_ops) <to_supports_btrace>: Remove
12842         (target_supports_btrace): Remove.
12843         * x86-linux-nat.c (x86_linux_create_target): Remove
12844         linux_supports_btrace.
12845
12846 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12847
12848         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
12849         btrace failed.
12850         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
12851         exception and use message in own exception.
12852
12853 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12854
12855         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
12856         (perf_event_pt_event_type): Use gdb_file_up.
12857         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
12858         scoped_fd, and scoped_mmap.
12859
12860 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12861
12862         * common/scoped_mmap.h: New.
12863         * unittests/scoped_mmap-selftest.c: New.
12864         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12865         unittests/scoped_mmap-selftest.c.
12866
12867 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12868
12869         * common/scoped_fd.h: New.
12870         * unittests/scoped_fd-selftest.c: New.
12871         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12872         unittests/scoped_fd-selftest.c.
12873
12874 2018-02-09  Tom Tromey  <tom@tromey.com>
12875
12876         * auto-load.c (auto_load_section_scripts): Use
12877         gdb::unique_xmalloc_ptr.
12878
12879 2018-02-09  Tom Tromey  <tom@tromey.com>
12880
12881         * auto-load.c (execute_script_contents): Use std::string.
12882
12883 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
12884
12885         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
12886         Python function, rather than a new command.
12887
12888 2018-02-08  Tom Tromey  <tom@tromey.com>
12889
12890         * solib.c (solib_find_1): Use std::string.
12891         (solib_bfd_fopen): Use unique_xmalloc_ptr.
12892
12893 2018-02-08  Tom Tromey  <tom@tromey.com>
12894
12895         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
12896
12897 2018-02-08  Tom Tromey  <tom@tromey.com>
12898
12899         * source.c (find_source_lines): Use gdb::def_vector.
12900
12901 2018-02-08  Tom Tromey  <tom@tromey.com>
12902
12903         * macrocmd.c (struct temporary_macro_definition): New.
12904         (macro_define_command): Use temporary_macro_definition.  Remove
12905         cleanups.
12906         (free_macro_definition_ptr): Remove.
12907
12908 2018-02-08  Tom Tromey  <tom@tromey.com>
12909
12910         * macroexp.c (maybe_expand): Use std::string.
12911
12912 2018-02-08  Tom Tromey  <tom@tromey.com>
12913
12914         * macroexp.c (struct macro_buffer): Add initializers for some
12915         members.
12916         (init_buffer, init_shared_buffer, free_buffer)
12917         (free_buffer_return_text): Remove.
12918         (macro_buffer): New constructors.
12919         (~macro_buffer): New destructor.
12920         (macro_buffer::set_shared): New method.
12921         (macro_buffer::resize_buffer, macro_buffer::appendc)
12922         (macro_buffer::appendmem): Now methods, not free functions.
12923         (set_token, append_tokens_without_splicing, stringify)
12924         (macro_stringify): Update.
12925         (gather_arguments): Change return type.  Remove argc_p argument,
12926         add args_ptr argument.  Use std::vector.
12927         (substitute_args): Remove argc argument.  Accept std::vector.
12928         (expand): Update.  Use std::vector.
12929         (scan, macro_expand, macro_expand_next): Update.
12930
12931 2018-02-08  Tom Tromey  <tom@tromey.com>
12932
12933         * symtab.c (default_collect_symbol_completion_matches_break_on):
12934         Use unique_xmalloc_ptr.
12935         * macroscope.h: (sal_macro_scope, user_macro_scope)
12936         (default_macro_scope): Return unique_xmalloc_ptr.
12937         * macroscope.c (sal_macro_scope, user_macro_scope)
12938         (default_macro_scope): Return unique_xmalloc_ptr.
12939         * macroexp.h (macro_expand, macro_expand_once): Return
12940         unique_xmalloc_ptr.
12941         * macroexp.c (macro_expand, macro_expand_once): Return
12942         unique_xmalloc_ptr.
12943         * macrocmd.c (macro_expand_command, macro_expand_once_command)
12944         (info_macro_command, info_macros_command): Use
12945         unique_xmalloc_ptr.
12946         * compile/compile-c-support.c (write_macro_definitions): Use
12947         unique_xmalloc_ptr.
12948         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
12949
12950 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
12951
12952         * value.c (value_static_field): Assign field type instead of
12953         containing type when returning an optimized out value.
12954
12955 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12956
12957         * ft32-tdep.c (ft32_read_pc): Remove.
12958         (ft32_write_pc): Remove.
12959         (ft32_gdbarch_init): Update.
12960         * m32r-tdep.c (m32r_read_pc): Remove.
12961         (m32r_gdbarch_init): Update.
12962         * mep-tdep.c (mep_read_pc): Remove.
12963         (mep_gdbarch_init): Update.
12964         * microblaze-tdep.c (microblaze_write_pc): Remove.
12965         (microblaze_gdbarch_init): Update.
12966         * mn10300-tdep.c (mn10300_read_pc): Remove.
12967         (mn10300_write_pc): Remove.
12968         (mn10300_gdbarch_init): Update.
12969         * moxie-tdep.c (moxie_read_pc): Remove.
12970         (moxie_write_pc): Remove.
12971         (moxie_gdbarch_init): Update.
12972
12973 2018-02-06  Yao Qi  <yao.qi@linaro.org>
12974
12975         * expprint.c (print_subexp_standard): Handle
12976         OP_F77_UNDETERMINED_ARGLIST.
12977         (dump_subexp_body_standard): Likewise.
12978
12979 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
12980
12981         * target-descriptions.c (tdesc_element_visitor) Add empty
12982         implementations.
12983         (tdesc_type): Move make_gdb_type from here.
12984         (tdesc_type_builtin): Likewise.
12985         (tdesc_type_vector): Likewise.
12986         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
12987         (make_gdb_type_struct): Move from tdesc_type_with_fields.
12988         (make_gdb_type_union): Likewise.
12989         (make_gdb_type_flags): Likewise.
12990         (make_gdb_type_enum): Likewise.
12991         (make_gdb_type): New function.
12992         (tdesc_register_type): Use static make_gdb_type.
12993
12994 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
12995
12996         * infcmd.c (default_print_one_register_info): Align natural-format
12997         column values consistently one under another.
12998         (pad_to_column): New function.
12999
13000 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
13001
13002         * dwarf2read.c (dwarf2_physname): Move commment.
13003
13004 2018-02-01  Leszek Swirski  <leszeks@google.com>
13005
13006         * varobj.c (varobj_formatted_print_options): Allow recursive
13007         pretty printing if pretty printing is enabled.
13008
13009 2018-02-01  Leszek Swirski  <leszeks@google.com>
13010
13011         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
13012         names after a structop as a filename.
13013
13014 2018-02-01  Yao Qi  <yao.qi@linaro.org>
13015
13016         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
13017         (arm_record_coproc_data_proc): Likewise.
13018
13019 2018-02-01  Yao Qi  <yao.qi@linaro.org>
13020
13021         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
13022
13023 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
13024
13025         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
13026         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
13027
13028 2018-01-31  Pedro Alves  <palves@redhat.com>
13029
13030         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
13031         * inflow.c (child_terminal_save_inferior): Wrap reference to
13032         tcgetpgrp in HAVE_TERMIOS_H.
13033         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
13034         _WIN32.
13035         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
13036         always iterate over all inferiors.
13037         (gdbsim_cntrl_c): Adjust.
13038         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
13039
13040 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
13041
13042         * gdbtypes.c (lookup_array_range_type): Make sure the array's
13043         index type is objfile-owned if the element type is as well.
13044
13045 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
13046
13047         GDB 8.1 released.
13048
13049 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13050
13051         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
13052         "features/s390x-linux64.c".
13053         (_initialize_s390_linux_tdep): Remove initialization of tdescs
13054         s390_linux32 and s390x_linux64.
13055         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
13056         default tdesc.
13057         * s390-tdep.c: Include "features/s390-linux32.c" and
13058         "features/s390x-linux64.c".
13059         (s390_tdesc_valid): Add check for tdesc_has_registers.
13060         (s390_gdbarch_init): Make sure there is always a valid tdesc.
13061         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
13062         tdesc_s390x_linux64.
13063         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
13064         tdesc_s390x_linux64 to...
13065         * s390-tdep.h: ...here.
13066
13067 2018-01-30  Pedro Alves  <palves@redhat.com>
13068
13069         PR gdb/13211
13070         * config.in, configure: Regenerate.
13071         * configure.ac: Check for getpgid.
13072         * go32-nat.c (go32_pass_ctrlc): New.
13073         (go32_target): Install it.
13074         * inf-child.c (inf_child_target): Install
13075         child_terminal_save_inferior, child_pass_ctrlc and
13076         child_interrupt.
13077         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
13078         (inf_ptrace_target): No longer install it.
13079         * infcmd.c (interrupt_target_1): Adjust.
13080         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
13081         (child_interrupt): Declare.
13082         (inferior::terminal_state): New.
13083         * inflow.c (struct terminal_info): Update comments.
13084         (inferior_process_group): Delete.
13085         (terminal_is_ours): Delete.
13086         (gdb_tty_state): New.
13087         (child_terminal_init): Adjust.
13088         (is_gdb_terminal, sharing_input_terminal_1)
13089         (sharing_input_terminal): New functions.
13090         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
13091         Set the process's actual process group in the foreground if
13092         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
13093         mark terminal as the inferior's if not sharing GDB's terminal.
13094         Don't check attach_flag.
13095         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
13096         pass down a target_terminal_state.
13097         (child_terminal_save_inferior): New, factored out from ...
13098         (child_terminal_ours_1): ... this.  Handle
13099         target_terminal_state::is_ours_for_output.
13100         (child_interrupt, child_pass_ctrlc): New.
13101         (inflow_inferior_exit): Clear the inferior's terminal_state.
13102         (copy_terminal_info): Copy the inferior's terminal state.
13103         (_initialize_inflow): Remove reference to terminal_is_ours.
13104         * inflow.h (inferior_process_group): Delete.
13105         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
13106         * procfs.c (procfs_target): Don't install procfs_interrupt.
13107         (procfs_interrupt): Delete.
13108         * remote.c (remote_serial_quit_handler): Adjust.
13109         (remote_interrupt): Remove ptid parameter.  Adjust.
13110         * target-delegates.c: Regenerate.
13111         * target.c: Include "terminal.h".
13112         (target_terminal::terminal_state): Rename to ...
13113         (target_terminal::m_terminal_state): ... this.
13114         (target_terminal::init): Adjust.
13115         (target_terminal::inferior): Adjust to per-inferior
13116         terminal_state.
13117         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
13118         (target_terminal::ours, target_terminal::ours_for_output): Use
13119         target_terminal_is_ours_kind.
13120         (target_interrupt): Remove ptid parameter.  Adjust.
13121         (default_target_pass_ctrlc): Adjust.
13122         * target.h (target_ops::to_terminal_save_inferior): New field.
13123         (target_ops::to_interrupt): Remove ptid_t parameter.
13124         (target_interrupt): Remove ptid_t parameter.  Update comment.
13125         (target_pass_ctrlc): Update comment.
13126         * target/target.h (target_terminal_state): New scoped enum,
13127         factored out of ...
13128         (target_terminal::terminal_state): ... here.
13129         (target_terminal::inferior): Update comments.
13130         (target_terminal::restore_inferior): New.
13131         (target_terminal::is_inferior, target_terminal::is_ours)
13132         (target_terminal::is_ours_for_output): Adjust.
13133         (target_terminal::scoped_restore_terminal_state): Adjust to
13134         rename, and call restore_inferior() instead of inferior().
13135         (target_terminal::scoped_restore_terminal_state::m_state): Change
13136         type.
13137         (target_terminal::terminal_state): Rename to ...
13138         (target_terminal::m_terminal_state): ... this and change type.
13139
13140 2018-01-30  Pedro Alves  <palves@redhat.com>
13141
13142         * linux-nat.c (wait_for_signal): New function.
13143         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
13144         directly.
13145         (async_terminal_is_ours)
13146         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
13147         (linux_nat_add_target): Don't override
13148         to_terminal_inferior/to_terminal_ours.
13149
13150 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
13151
13152         * remote.c (remote_follow_fork): Don't call "detach_inferior".
13153
13154 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
13155
13156         * dwarf2read.c (free_dwo_files): Add forward-declaration.
13157         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
13158         dwarf2_per_objfile_free here.
13159         (dwarf2_per_objfile_free): Remove.
13160         (_initialize_dwarf2_read): Don't register
13161         dwarf2_per_objfile_free as a registry cleanup.
13162
13163 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
13164
13165         Avoid compilation errors in MinGW native builds
13166
13167         The error is triggered by including python-internal.h, and the
13168         error message is:
13169
13170              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
13171                       from build-gnulib/import/math.h:27,
13172                       from d:/usr/Python26/include/pyport.h:235,
13173                       from d:/usr/Python26/include/Python.h:58,
13174                       from python/python-internal.h:94,
13175                       from python/py-arch.c:24:
13176              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
13177         using ::hypot;
13178                 ^~~~~
13179
13180         This happens because Python headers define 'hypot' to expand t
13181         '_hypot' in the Windows builds.
13182         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
13183         'hypoth'.  This avoids a compilation error.
13184
13185 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
13186
13187         * MAINTAINERS (Write After Approval): Fix ordering.
13188
13189 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
13190
13191         * MAINTAINERS (Write After Approval): Add Alan Hayward.
13192
13193 2018-01-26  Alan Modra  <amodra@gmail.com>
13194
13195         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
13196         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
13197         Remove nop.  Make const.  Comment.
13198         (powerpc32_plt_stub_so_2): New.
13199         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
13200         Correct count.  Update uses.
13201         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
13202         Move common code reading PLT entry word.  Correct
13203         powerpc32_plt_stub PLT address calculation.
13204         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
13205         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
13206         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
13207         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
13208         (ppc64_standard_linkage8): Likewise.
13209         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
13210         Correct insns description.
13211         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
13212
13213 2018-01-24  Pedro Alves  <palves@redhat.com>
13214
13215         GCC PR libstdc++/83906
13216         * gdbtypes.c (operator==(const dynamic_prop &,
13217         const dynamic_prop &)): New.
13218         (operator==(const range_bounds &, const range_bounds &)): New.
13219         (check_types_equal): Use them instead of memcmp.
13220         * gdbtypes.h (operator==(const dynamic_prop &,
13221         const dynamic_prop &)): Declare.
13222         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
13223         (operator==(const range_bounds &, const range_bounds &)): Declare.
13224         (operator!=(const range_bounds &, const range_bounds &)): Declare.
13225
13226 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13227
13228         * s390-linux-tdep.c (s390_record_address_mask)
13229         (s390_record_calc_disp_common, s390_record_calc_disp)
13230         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
13231         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
13232         (s390_process_record): Move to s390-tdep.c.
13233         (s390_linux_init_abi_any): Adjust.
13234         * s390-tdep.c (s390_record_address_mask)
13235         (s390_record_calc_disp_common, s390_record_calc_disp)
13236         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
13237         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
13238         (s390_process_record): Moved from s390-linux-tdep.c
13239         (s390_gdbarch_init): Adjust.
13240
13241 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13242
13243         * s390-linux-nat.c (s390-tdep.h): New include.
13244         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
13245         (HFILES_NO_SRCDIR): Add s390-tdep.h.
13246         (ALLDEPFILES): Add s390-tdep.c.
13247         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
13248         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
13249         * s390-tdep.h: ...this.  New file.
13250         * s390-linux-tdep.c (s390-tdep.h): New include.
13251         (_initialize_s390_tdep): Rename to...
13252         (_initialize_s390_linux_tdep): ...this and adjust.
13253         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
13254         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
13255         s390-tdep.h.
13256         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
13257         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
13258         (s390_is_partial_instruction, s390_software_single_step)
13259         (is_non_branch_ril, s390_displaced_step_copy_insn)
13260         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
13261         (s390_prologue_data, s390_addr, s390_store, s390_load)
13262         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
13263         (s390_register_call_saved, s390_guess_tracepoint_registers)
13264         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
13265         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
13266         (s390_pseudo_register_name, s390_pseudo_register_type)
13267         (s390_pseudo_register_read, s390_pseudo_register_write)
13268         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
13269         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
13270         (s390_addr_bits_remove, s390_address_class_type_flags)
13271         (s390_address_class_type_flags_to_name)
13272         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
13273         (s390_function_arg_float, s390_function_arg_vector)
13274         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
13275         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
13276         (s390_frame_align, s390_register_return_value, s390_return_value)
13277         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
13278         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
13279         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
13280         (s390_trad_frame_prev_register, s390_unwind_cache)
13281         (s390_prologue_frame_unwind_cache)
13282         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
13283         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
13284         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
13285         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
13286         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
13287         (s390_frame_base_address, s390_local_base_address)
13288         (s390_frame_base, s390_gcc_target_options)
13289         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
13290         (s390_validate_reg_range, s390_tdesc_valid)
13291         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
13292         * s390-tdep.c: ...this.  New file.
13293
13294 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13295
13296         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
13297         (s390_process_record, s390_gdbarch_tdep_alloc)
13298         (s390_linux_init_abi_any): Use/set new hook.
13299
13300 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13301
13302         * s390-linux-tdep.c (osabi.h): New include.
13303         (s390_linux_init_abi_31, s390_linux_init_abi_64)
13304         (s390_linux_init_abi_any): New functions.
13305         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
13306
13307 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13308
13309         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
13310         tdesc_has_registers check
13311
13312 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13313
13314         * s390-linux-tdep.c (s390_tdesc_valid): New function.
13315         (s390_validate_reg_range): New macro.
13316         (s390_gdbarch_init): Adjust.
13317
13318 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13319
13320         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
13321         (s390_gdbarch_tdep_alloc): Adjust.
13322         (s390_gdbarch_init): Adjust.
13323
13324 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13325
13326         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
13327         <have_tdb>: Change type to bool.
13328         (s390_gdbarch_tdep_alloc): Adjust.
13329         (s390_gdbarch_init): Adjust.
13330
13331 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13332
13333         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
13334         (gdbarch_tdep) <have_upper, have_vx>: New fields.
13335         (s390_gdbarch_tdep_alloc): New function.
13336         (s390_gdbarch_init): Allocate tdep at start and use its fields
13337         instead of separate variables.
13338
13339 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13340
13341         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
13342         when looking for cached gdbarch and add comment for remaining.
13343
13344 2018-01-22  Pedro Alves  <palves@redhat.com>
13345             Sergio Durigan Junior  <sergiodj@redhat.com>
13346
13347         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
13348         case.
13349
13350 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
13351
13352         * MAINTAINERS: Update my company e-mail address.
13353
13354 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13355
13356         * regcache.c (cooked_write_test): New function.
13357         (_initialize_regcache): Register the test.
13358
13359 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13360
13361         * ia64-tdep.c (ia64_pseudo_register_read): Call
13362         regcache->cooked_read instead of regcache_cooked_read_unsigned.
13363         * m32c-tdep.c (m32c_cat_read): Likewise.
13364         (m32c_r3r2r1r0_read): Likewise.
13365         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
13366         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
13367
13368 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13369
13370         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
13371         method raw_read instead of regcache_raw_read.
13372         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
13373         * arm-tdep.c (arm_neon_quad_read): Likewise.
13374         * avr-tdep.c (avr_pseudo_register_read): Likewise.
13375         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
13376         * frv-tdep.c (frv_pseudo_register_read): Likewise.
13377         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
13378         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
13379         (i386_pseudo_register_read_into_value): Likewise.
13380         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
13381         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
13382         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
13383         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
13384         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
13385         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
13386         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
13387         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
13388         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
13389
13390 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13391
13392         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
13393         * configure.tgt: Remove target mt.
13394         * mt-tdep.c: Remove.
13395         * regcache.c (cooked_read_test): Remove the check for mt.
13396
13397 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13398
13399         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
13400         instead of gdbarch_pseudo_register_read_value.
13401
13402 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13403
13404         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
13405         language is Ada.
13406
13407 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13408
13409         * linespec.c (create_sals_line_offset): Remove code that preserved
13410         the symtab_and_line's line number.
13411
13412 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13413
13414         * varobj.c (varobj_create): Don't set valid_block when creating a
13415         floating varobj.
13416
13417 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13418
13419         * varobj.c (varobj_create): Remove out of date comment.
13420
13421 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13422
13423         PR mi/20395
13424         * ada-exp.y (write_var_from_sym): Pass extra parameter when
13425         updating innermost block.
13426         * parse.c (innermost_block_tracker::update): Take extra type
13427         parameter, and check types match before updating innermost block.
13428         (write_dollar_variable): Update innermost block for registers.
13429         * parser-defs.h (enum innermost_block_tracker_type): New enum.
13430         (innermost_block_tracker::innermost_block_tracker): Initialise
13431         m_types member.
13432         (innermost_block_tracker::reset): Take type parameter.
13433         (innermost_block_tracker::update): Take type parameter, and pass
13434         type through as needed.
13435         (innermost_block_tracker::m_types): New member.
13436         * varobj.c (varobj_create): Pass type when reseting innermost
13437         block.
13438
13439 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13440
13441         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
13442         * ada-lang.c (resolve_subexp): Likewise.
13443         * breakpoint.c (set_breakpoint_condition) Likewise.
13444         (watch_command_1) Likewise.
13445         * c-exp.y (variable): Likewise.
13446         * d-exp.y (PrimaryExpression): Likewise.
13447         * f-exp.y (variable): Likewise.
13448         * go-exp.y (variable): Likewise.
13449         * m2-exp.y (variable): Likewise.
13450         * objfiles.c (objfile::~objfile): Likewise.
13451         * p-exp.y (variable): Likewise.
13452         * parse.c (innermost_block): Change type.
13453         * parser-defs.h (class innermost_block_tracker): New.
13454         (innermost_block): Change to innermost_block_tracker.
13455         * printcmd.c (display_command): Switch to innermost_block API.
13456         (do_one_display): Likewise.
13457         * rust-exp.y (do_one_display): Likewise.
13458         * symfile.c (clear_symtab_users): Likewise.
13459         * varobj.c (varobj_create): Switch to innermost_block API, replace
13460         use of innermost_block with block stored on varobj object.
13461
13462 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13463
13464         * expression.h (innermost_block): Remove declaration.
13465         * varobj.c: Add 'parser-defs.h' include.
13466
13467 2018-01-19  Tom Tromey  <tom@tromey.com>
13468
13469         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
13470         symbols in the static and global blocks.
13471
13472 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
13473
13474         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
13475         gdb_ptrace.h, and move including gdb_wait.h ...
13476         * nat/linux-ptrace.h: ... to here.
13477
13478 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13479
13480         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
13481         inf_ptrace_detach_success.
13482         (inf_ptrace_detach_success): Add inferior parameter, use it
13483         instead of inferior_ptid, pass it to detach_inferior.
13484         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
13485         parameter.
13486         * inferior.c (detach_inferior): Add overload that takes an
13487         inferior object.
13488         * inferior.h (detach_inferior): Likewise.
13489         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
13490         use inferior_ptid, adjust call to inf_ptrace_detach_success.
13491         * linux-thread-db.c (thread_db_detach): Use inf parameter.
13492
13493 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13494
13495         * target.h (struct target_ops) <to_detach>: Add inferior
13496         parameter.
13497         (target_detach): Likewise.
13498         * target.c (dispose_inferior): Pass inferior down.
13499         (target_detach): Pass inferior down.  Assert that it is equal to
13500         the current inferior.
13501         * aix-thread.c (aix_thread_detach): Pass inferior down.
13502         * corefile.c (core_file_command): Pass current_inferior() down.
13503         * corelow.c (core_detach): Add inferior parameter.
13504         * darwin-nat.c (darwin_detach): Likewise.
13505         * gnu-nat.c (gnu_detach): Likewise.
13506         * inf-ptrace.c (inf_ptrace_detach): Likewise.
13507         * infcmd.c (detach_command): Pass current_inferior() down to
13508         target_detach.
13509         * infrun.c (follow_fork_inferior): Pass parent_inf to
13510         target_detach.
13511         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
13512         target_detach.
13513         * linux-nat.c (linux_nat_detach): Add inferior parameter.
13514         * linux-thread-db.c (thread_db_detach): Likewise.
13515         * nto-procfs.c (procfs_detach): Likewise.
13516         * procfs.c (procfs_detach): Likewise.
13517         * record.c (record_detach): Likewise.
13518         * record.h (struct inferior): Forward-declare.
13519         (record_detach): Add inferior parameter.
13520         * remote-sim.c (gdbsim_detach): Likewise.
13521         * remote.c (remote_detach_1): Likewise.
13522         (remote_detach): Likewise.
13523         (extended_remote_detach): Likewise.
13524         * sol-thread.c (sol_thread_detach): Likewise.
13525         * target-debug.h (target_debug_print_inferior_p): New macro.
13526         * target-delegates.c: Re-generate.
13527         * top.c (kill_or_detach): Pass inferior down to target_detach.
13528         * windows-nat.c (windows_detach): Add inferior parameter.
13529
13530 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13531
13532         * target.h (struct target_ops) <to_detach>: Remove args
13533         parameter.
13534         (target_detach): Likewise.
13535         * target.c (dispose_inferior): Adjust.
13536         (target_detach): Remove args parameter, adjust.
13537         * aix-thread.c (aix_thread_detach): Adjust.
13538         * corefile.c (core_file_command): Adjust.
13539         * corelow.c (core_detach): Adjust.
13540         * darwin-nat.c (darwin_detach): Adjust.
13541         * gnu-nat.c (gnu_detach): Adjust.
13542         * inf-ptrace.c (inf_ptrace_detach): Adjust.
13543         * infcmd.c (detach_command): Adjust
13544         * infrun.c (follow_fork_inferior): Adjust.
13545         (handle_vfork_child_exec_or_exit): Adjust.
13546         * linux-fork.c (linux_fork_detach): Remove args parameter.
13547         * linux-fork.h (linux_fork_detach): Likewise.
13548         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
13549         * linux-thread-db.c (thread_db_detach): Likewise.
13550         * nto-procfs.c (procfs_detach): Likewise.
13551         * procfs.c (procfs_detach): Likewise.
13552         (do_detach): Remove signo parameter.
13553         * record.c (record_detach): Remove args parameter.
13554         * record.h (record_detach): Likewise.
13555         * remote-sim.c (gdbsim_detach): Likewise.
13556         * remote.c (remote_detach_1): Likewise.
13557         (remote_detach): Likewise.
13558         (extended_remote_detach): Likewise.
13559         * sol-thread.c (sol_thread_detach): Likewise.
13560         * target-delegates.c: Re-generate.
13561         * top.c (struct qt_args) <args>: Remove field.
13562         (kill_or_detach): Don't pass args.
13563         (quit_force): Don't set args.
13564         * windows-nat.c (windows_detach): Remove args parameter.
13565
13566 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13567
13568         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
13569         (arm_linux_init_abi): Install it.
13570
13571 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13572
13573         * osabi.c (gdb_osabi_names): Extend the regexp for
13574         arm-linux-gnueabihf.
13575
13576 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13577
13578         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
13579         m_abbrevs.
13580         (abbrev_table::add_abbrev): Update.
13581         (abbrev_table::lookup_abbrev): Update.
13582
13583 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13584
13585         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
13586
13587 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
13588
13589         * compile/compile.c (compile_to_object): Convert "triplet_rx"
13590         to "std::string".
13591
13592 2018-01-17  Tom Tromey  <tom@tromey.com>
13593
13594         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
13595
13596 2018-01-17  Tom Tromey  <tom@tromey.com>
13597
13598         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
13599         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
13600         (create_array_type_with_stride): Update.
13601         * dwarf2read.c (set_die_type): Update.
13602
13603 2018-01-17  Tom Tromey  <tom@tromey.com>
13604
13605         * dwarf2read.c (delayed_method_info): Remove typedef.
13606         (dwarf2_cu::method_info): Now a std::vector.
13607         (add_to_method_list): Update.
13608         (free_delayed_list): Remove.
13609         (compute_delayed_physnames): Update.
13610         (process_full_comp_unit, process_full_type_unit): Clear the method
13611         list.  Remove cleanups.
13612         (psymtab_include_file_name): Add name_holder parameter.  Use
13613         unique_xmalloc_ptr.
13614         (dwarf_decode_lines): Update.
13615
13616 2018-01-17  Tom Tromey  <tom@tromey.com>
13617             Simon Marchi  <simon.marchi@ericsson.com>
13618
13619         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
13620         (dwarf2_per_objfile::free_cached_comp_units)
13621         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13622         (init_cutu_and_read_dies_no_follow): Update.
13623         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
13624         (dwarf2_cu::~dwarf2_cu): New.
13625         (free_heap_comp_unit, free_stack_comp_unit): Remove.
13626         (age_cached_comp_units, free_one_cached_comp_unit): Update.
13627
13628 2018-01-17  Tom Tromey  <tom@tromey.com>
13629             Simon Marchi  <simon.marchi@ericsson.com>
13630
13631         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
13632         (struct die_reader_specs) <abbrev_table>: New member.
13633         (struct abbrev_table): Add constructor.
13634         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
13635         <abbrev_obstack>: Now an auto_obstack.
13636         (abbrev_table_up): New typedef.
13637         (init_cu_die_reader): Add abbrev_table parameter.
13638         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
13639         Add result_dwo_abbrev_table.
13640         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13641         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
13642         Update.
13643         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
13644         parameter.
13645         (skip_children): Update.
13646         (abbrev_table::alloc_abbrev): Rename from
13647         abbrev_table_alloc_abbrev.
13648         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
13649         (abbrev_table::lookup_abbrev): Rename from
13650         abbrev_table_lookup_abbrev.
13651         (abbrev_table_read_table): Return abbrev_table_up.
13652         (abbrev_table_free, abbrev_table_free_cleanup)
13653         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
13654         (load_partial_dies): Update.
13655
13656 2018-01-17  Tom Tromey  <tom@tromey.com>
13657
13658         * dwarf2read.c (dwarf2_compute_name): Update comment.
13659         (read_func_scope, read_variable): Update.
13660         (new_symbol): Remove.
13661         (new_symbol_full): Rename to new_symbol.
13662
13663 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
13664
13665         PR gdb/16577
13666         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
13667         a warning instead of throwing an error, set section size to 0 and return
13668         NULL.
13669         * gdb_bfd.h (gdb_bfd_map_section): Update description.
13670
13671 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13672
13673         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
13674         std::string.
13675         (linux_ptrace_attach_fail_reason_string): Likewise.
13676         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
13677         Likewise.
13678         (linux_ptrace_attach_fail_reason_string): Likewise.
13679         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
13680
13681 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13682
13683         * linux-nat.c (linux_nat_attach): Remove xstrdup.
13684
13685 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
13686
13687         PR gdb/21559
13688         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
13689         checking for fs_base/gs_base fields in struct user_regs_struct.
13690         * configure: Regenerate.
13691
13692 2018-01-17  Yao Qi  <yao.qi@linaro.org>
13693
13694         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
13695         function.
13696         (aarch64_linux_init_abi): Install it to gdbarch hook
13697         gcc_target_options.
13698
13699 2018-01-15  Pedro Alves  <palves@redhat.com>
13700
13701         * common/signals-state-save-restore.c
13702         (save_original_signals_state): Fix typos.
13703
13704 2017-01-12  Tom Tromey  <tom@tromey.com>
13705             Sergio Durigan Junior  <sergiodj@redhat.com>
13706
13707         * Makefile.in (install-only): Install gdb-add-index.
13708
13709 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
13710
13711         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
13712
13713 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13714
13715         * infrun.c (keep_going_pass_signal): Clear step-over info when
13716         insert_breakpoints fails.
13717
13718 2018-01-11  Pedro Alves  <palves@redhat.com>
13719
13720         PR gdb/22583
13721         * infrun.c (resume): Rename to ...
13722         (resume_1): ... this.
13723         (resume): Reimplement as wrapper around resume_1.
13724
13725 2018-01-11  Pedro Alves  <palves@redhat.com>
13726
13727         PR remote/22597
13728         * remote.c (remote_parse_stop_reply): Default to the last-set
13729         general thread instead of to 'magic_null_ptid'.
13730
13731 2018-01-10  Pedro Alves  <palves@redhat.com>
13732
13733         * language.h (language_get_symbol_name_matcher): Rename ...
13734         (get_symbol_name_matcher): ... this.
13735         * language.c (language_get_symbol_name_matcher): Ditto.
13736         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
13737         callers adjusted.
13738
13739 2018-01-10  Pedro Alves  <palves@redhat.com>
13740
13741         PR gdb/22670
13742         * dwarf2read.c
13743         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
13744         Adjust to use language_get_symbol_name_matcher instead of
13745         language_defn::la_get_symbol_name_matcher.
13746         * language.c (language_get_symbol_name_matcher): If in Ada mode
13747         and the lookup name is a verbatim match, return Ada's matcher.
13748         * language.h (language_get_symbol_name_matcher): Adjust comment.
13749         (ada_lookup_name_info::verbatim_p):: New method.
13750
13751 2018-01-10  Pedro Alves  <palves@redhat.com>
13752
13753         PR gdb/22670
13754         * ada-lang.c (ada_collect_symbol_completion_matches): If the
13755         minsym's language is language_auto or language_cplus, pass down
13756         language_ada instead.
13757         * symtab.c (compare_symbol_name): Don't frob symbol language here.
13758
13759 2018-01-10  Pedro Alves  <palves@redhat.com>
13760
13761         PR gdb/22670
13762         * minsyms.c (linkage_name_str): New function.
13763         (iterate_over_minimal_symbols): Use it.
13764
13765 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13766
13767         * NEWS: Document that 'info proc' now works on FreeBSD.
13768
13769 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13770
13771         * configure.ac: Check for kinfo_getfile in libutil.
13772         * configure: Regenerate.
13773         * config.in: Regenerate.
13774         * fbsd-nat.c: Include "fbsd-tdep.h".
13775         (fbsd_fetch_cmdline): New.
13776         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
13777         rather than calling error.
13778         (fbsd_info_proc): New.
13779         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
13780         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
13781         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
13782
13783 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13784
13785         * fbsd-nat.c (struct free_deleter): Remove.
13786         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
13787
13788 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13789
13790         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
13791         NULL for an empty pathname.
13792
13793 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13794
13795         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
13796         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
13797         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
13798         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
13799         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
13800         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
13801         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
13802         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
13803         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
13804         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
13805         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
13806         (fbsd_core_fetch_timeval, fbsd_print_sigset)
13807         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
13808         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
13809         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
13810
13811 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
13812
13813         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
13814         (gnu_xfer_auxv): New function.
13815         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
13816         TARGET_OBJECT_AUXV.
13817
13818 2018-01-08  Yao Qi  <yao.qi@linaro.org>
13819             Simon Marchi  <simon.marchi@ericsson.com>
13820
13821         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
13822         common/selftest.c.
13823         (COMMON_OBS): Remove selftest.o.
13824         * configure.ac: Append selftest-arch.c and common/selftest.c to
13825         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
13826         * configure: Re-generated.
13827         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
13828         GDB_SELF_TEST.
13829         (maintenance_info_selftests): Likewise.
13830
13831 2018-01-08  Xavier Roirand  <roirand@adacore.com>
13832
13833         * ada-valprint.c (val_print_packed_array_elements): Use
13834         proper number of elements when printing an array indexed
13835         by an enumeration type.
13836
13837 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13838
13839         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
13840         (dw2_get_file_names_reader): Adjust.
13841         (lookup_dwo_signatured_type): Adjust.
13842         (lookup_dwp_signatured_type): Adjust.
13843         (lookup_signatured_type): Adjust.
13844         (create_type_unit_group): Adjust.
13845         (get_type_unit_group): Adjust.
13846         (process_psymtab_comp_unit_reader): Adjust.
13847         (build_type_psymtabs_reader): Adjust.
13848         (scan_partial_symbols): Adjust.
13849         (add_partial_symbol): Adjust.
13850         (add_partial_subprogram): Adjust.
13851         (peek_die_abbrev): Adjust.
13852         (fixup_go_packaging): Adjust.
13853         (process_imported_unit_die): Adjust.
13854         (dwarf2_compute_name): Adjust.
13855         (dwarf2_physname): Adjust.
13856         (read_import_statement): Adjust.
13857         (handle_DW_AT_stmt_list): Adjust.
13858         (read_file_scope): Adjust.
13859         (read_func_scope): Adjust.
13860         (read_lexical_block_scope): Adjust.
13861         (read_call_site_scope): Adjust.
13862         (read_variable): Adjust.
13863         (dwarf2_rnglists_process): Adjust.
13864         (dwarf2_ranges_process): Adjust.
13865         (dwarf2_ranges_read): Adjust.
13866         (dwarf2_get_pc_bounds): Adjust.
13867         (dwarf2_record_block_ranges): Adjust.
13868         (dwarf2_add_field): Adjust.
13869         (dwarf2_add_member_fn): Adjust.
13870         (read_structure_type): Adjust.
13871         (process_structure_scope): Adjust.
13872         (read_enumeration_type): Adjust.
13873         (read_array_type): Adjust.
13874         (mark_common_block_symbol_computed): Adjust.
13875         (read_common_block): Adjust.
13876         (read_namespace_type): Adjust.
13877         (read_namespace): Adjust.
13878         (read_module_type): Adjust.
13879         (read_tag_pointer_type): Adjust.
13880         (read_tag_ptr_to_member_type): Adjust.
13881         (read_tag_string_type): Adjust.
13882         (read_subroutine_type): Adjust.
13883         (read_typedef): Adjust.
13884         (read_base_type): Adjust.
13885         (attr_to_dynamic_prop): Adjust.
13886         (read_subrange_type): Adjust.
13887         (read_unspecified_type): Adjust.
13888         (dwarf2_read_abbrevs): Adjust.
13889         (load_partial_dies): Adjust.
13890         (read_partial_die): Adjust.
13891         (find_partial_die): Adjust.
13892         (guess_partial_die_structure_name): Adjust.
13893         (fixup_partial_die): Adjust.
13894         (read_attribute_value): Adjust.
13895         (read_addr_index): Adjust.
13896         (read_addr_index_from_leb128): Adjust.
13897         (read_str_index): Adjust.
13898         (dwarf2_string_attr): Adjust.
13899         (get_debug_line_section): Adjust.
13900         (dwarf_decode_line_header): Adjust.
13901         (lnp_state_machine::check_line_address): Adjust.
13902         (dwarf_decode_lines_1): Adjust.
13903         (dwarf_decode_lines): Adjust.
13904         (dwarf2_start_symtab): Adjust.
13905         (var_decode_location): Adjust.
13906         (new_symbol_full): Adjust.
13907         (dwarf2_const_value_data): Adjust.
13908         (dwarf2_const_value_attr): Adjust.
13909         (dwarf2_const_value): Adjust.
13910         (die_type): Adjust.
13911         (die_containing_type): Adjust.
13912         (build_error_marker_type): Adjust.
13913         (lookup_die_type): Adjust.
13914         (guess_full_die_structure_name): Adjust.
13915         (anonymous_struct_prefix): Adjust.
13916         (determine_prefix): Adjust.
13917         (dwarf2_name): Adjust.
13918         (follow_die_ref_or_sig): Adjust.
13919         (follow_die_offset): Adjust.
13920         (follow_die_ref): Adjust.
13921         (follow_die_sig_1): Adjust.
13922         (follow_die_sig): Adjust.
13923         (get_signatured_type): Adjust.
13924         (get_DW_AT_signature_type): Adjust.
13925         (decode_locdesc): Adjust.
13926         (dwarf_decode_macros): Adjust.
13927         (cu_debug_loc_section): Adjust.
13928         (fill_in_loclist_baton): Adjust.
13929         (dwarf2_symbol_mark_computed): Adjust.
13930         (init_one_comp_unit): Don't assign
13931         dwarf2_cu::dwarf2_per_objfile.
13932         (set_die_type): Adjust.
13933
13934 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
13935
13936         * dwarf2read.c (struct mapped_debug_names): Add constructor.
13937         <dwarf2_per_objfile>: New field.
13938         (dwarf2_per_objfile): Remove global.
13939         (get_dwarf2_per_objfile): New function.
13940         (set_dwarf2_per_objfile): New function.
13941         (dwarf2_build_psymtabs_hard): Change objfile parameter to
13942         dwarf2_per_objfile.
13943         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
13944         (read_abbrev_offset): Likewise.
13945         (read_indirect_string): Likewise.
13946         (read_indirect_line_string): Likewise.
13947         (read_indirect_string_at_offset): Likewise.
13948         (read_indirect_string_from_dwz): Likewise.
13949         (dwarf2_find_containing_comp_unit): Change objfile parameter to
13950         dwarf2_per_objfile.
13951         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
13952         (create_all_comp_units): Change objfile parameter to
13953         dwarf2_per_objfile.
13954         (create_all_type_units): Likewise.
13955         (process_queue): Add dwarf2_per_objfile parameter.
13956         (read_and_check_comp_unit_head): Likewise.
13957         (lookup_dwo_unit_in_dwp): Likewise.
13958         (get_dwp_file): Likewise.
13959         (process_cu_includes): Likewise.
13960         (struct free_dwo_file_cleanup_data): New struct.
13961         (dwarf2_has_info): Use get_dwarf2_per_objfile and
13962         set_dwarf2_per_objfile.
13963         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
13964         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
13965         context, adjust calls.
13966         (dw2_instantiate_symtab): Likewise.
13967         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
13968         (dw2_get_cu): Likewise.
13969         (create_cu_from_index_list): Change objfile parameter to
13970         dwarf2_per_objfile.
13971         (create_cus_from_index_list): Get dwarf2_per_objfile from
13972         context, adjust calls.
13973         (create_cus_from_index): Likewise.
13974         (create_signatured_type_table_from_index): Change objfile
13975         parameter to dwarf2_per_objfile.
13976         (create_signatured_type_table_from_debug_names): Change objfile
13977         parameter to dwarf2_per_objfile.
13978         (create_addrmap_from_index): Likewise.
13979         (create_addrmap_from_aranges): Likewise.
13980         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
13981         (dw2_setup): Remove.
13982         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
13983         context.
13984         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
13985         get_dwarf2_per_objfile.
13986         (dw2_forget_cached_source_info): Likewise.
13987         (dw2_map_symtabs_matching_filename): Likewise.
13988         (struct dw2_symtab_iterator) <index>: Remove.
13989         <dwarf2_per_objfile>: New field.
13990         (dw2_symtab_iter_init): Replace index parameter with
13991         dwarf2_per_objfile.
13992         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
13993         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
13994         (dw2_print_stats): Likewise.
13995         (dw2_dump): Likewise.
13996         (dw2_expand_symtabs_for_function): Likewise.
13997         (dw2_expand_all_symtabs): Likewise.
13998         (dw2_expand_symtabs_with_fullname): Likewise.
13999         (dw2_expand_marked_cus): Replace index and objfile parameters
14000         with dwarf2_per_objfile.
14001         (dw_expand_symtabs_matching_file_matcher): Add
14002         dwarf2_per_objfile parameter and adjust calls.
14003         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
14004         adjust calls.
14005         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
14006         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
14007         adjust calls.
14008         (create_cus_from_debug_names_list): Replace objfile parameter
14009         with dwarf2_per_objfile and adjust calls.
14010         (create_cus_from_debug_names): Likewise.
14011         (dwarf2_read_debug_names): Likewise.
14012         (mapped_debug_names::namei_to_name): Adjust call.
14013         (dw2_debug_names_iterator::next): Likewise.
14014         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
14015         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
14016         (dw2_debug_names_dump): Likewise.
14017         (dw2_debug_names_expand_symtabs_for_function): Likewise.
14018         (dw2_debug_names_expand_symtabs_matching): Likewise.
14019         (dwarf2_initialize_objfile): Likewise.
14020         (dwarf2_build_psymtabs): Likewise.
14021         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
14022         this_cu.
14023         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
14024         (read_and_check_comp_unit_head): Likewise.
14025         (read_abbrev_offset): Likewise.
14026         (create_debug_type_hash_table): Likewise.
14027         (create_debug_types_hash_table): Likewise.
14028         (create_all_type_units): Replace objfile parameter with
14029         dwarf2_per_objfile.
14030         (add_type_unit): Add dwarf2_per_objfile parameter.
14031         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
14032         with dwarf2_per_objfile.
14033         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
14034         (lookup_dwp_signatured_type): Likewise.
14035         (lookup_signatured_type): Likewise.
14036         (read_cutu_die_from_dwo): Likewise.
14037         (init_tu_and_read_dwo_dies): Likewise.
14038         (init_cutu_and_read_dies): Likewise.
14039         (init_cutu_and_read_dies_no_follow): Likewise.
14040         (allocate_type_unit_groups_table): Add objfile parameter.
14041         (create_type_unit_group): Use dwarf2_per_objfile from cu.
14042         (get_type_unit_group): Likewise.
14043         (process_psymtab_comp_unit): Update call.
14044         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
14045         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
14046         (print_tu_stats): Likewise.
14047         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
14048         in void* parameter.
14049         (build_type_psymtabs): Change objfile parameter to
14050         dwarf2_per_objfile.
14051         (process_skeletonless_type_unit): Use dwarf2_per_objfile
14052         passed in void* parameter.
14053         (process_skeletonless_type_units): Change objfile parameter to
14054         dwarf2_per_objfile.
14055         (set_partial_user): Likewise.
14056         (dwarf2_build_psymtabs_hard): Likewise.
14057         (read_comp_units_from_section): Likewise.
14058         (create_all_comp_units): Likewise.
14059         (scan_partial_symbols): Update calls.
14060         (add_partial_symbol): Likewise.
14061         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
14062         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
14063         (process_queue): Add dwarf2_per_objfile parameter.
14064         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
14065         (compute_compunit_symtab_includes): Likewise.
14066         (process_cu_includes): Add dwarf2_per_objfile parameter.
14067         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
14068         (process_full_type_unit): Likewise.
14069         (process_imported_unit_die): Update call.
14070         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
14071         (read_file_scope): Likewise.
14072         (allocate_dwo_file_hash_table): Add objfile parameter.
14073         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
14074         (create_cus_hash_table): Likewise.
14075         (create_dwp_hash_table): Likewise.
14076         (create_dwo_unit_in_dwp_v1): Likewise.
14077         (create_dwp_v2_section): Likewise.
14078         (create_dwo_unit_in_dwp_v2): Likewise.
14079         (lookup_dwo_unit_in_dwp): Likewise.
14080         (try_open_dwop_file): Likewise.
14081         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
14082         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
14083         cleanup to include a reference to dwarf2_per_objfile.
14084         (open_dwp_file): Add dwarf2_per_objfile parameter.
14085         (open_and_init_dwp_file): Likewise.
14086         (get_dwp_file): Likewise.
14087         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
14088         (queue_and_load_all_dwo_tus): Update call.
14089         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
14090         data.
14091         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
14092         (dwarf2_ranges_process): Likewise.
14093         (dwarf2_get_pc_bounds): Likewise.
14094         (mark_common_block_symbol_computed): Likewise.
14095         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
14096         (dwarf2_read_abbrevs): Update call.
14097         (read_partial_die): Use dwarf2_per_objfile from cu.
14098         (find_partial_die): Likewise.
14099         (fixup_partial_die): Likewise.
14100         (read_attribute_value): Likewise.
14101         (read_indirect_string_at_offset_from): Add objfile parameter.
14102         (read_indirect_string_at_offset): Add dwarf2_per_objfile
14103         parameter.
14104         (read_indirect_string_from_dwz): Add objfile parameter.
14105         (read_indirect_string): Add objfile parameter.
14106         (read_addr_index_1): Add dwarf2_per_objfile parameter.
14107         (read_addr_index): Use dwarf2_per_objfile from cu.
14108         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
14109         call dw2_setup.
14110         (read_str_index): Use dwarf2_per_objfile from cu.
14111         (get_debug_line_section): Likewise.
14112         (read_formatted_entries): Add dwarf2_per_objfile parameter.
14113         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
14114         (new_symbol_full): Use dwarf2_per_objfile from cu.
14115         (build_error_marker_type): Likewise.
14116         (lookup_die_type): Likewise.
14117         (determine_prefix): Likewise.
14118         (follow_die_offset): Likewise.
14119         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
14120         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
14121         (dwarf2_fetch_die_type_sect_off): Likewise.
14122         (dwarf2_get_die_type): Likewise.
14123         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
14124         (get_signatured_type): Likewise.
14125         (get_DW_AT_signature_type): Likewise.
14126         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
14127         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
14128         (cu_debug_loc_section): Likewise.
14129         (fill_in_loclist_baton): Likewise.
14130         (dwarf2_symbol_mark_computed): Likewise.
14131         (dwarf2_find_containing_comp_unit): Change objfile parameter to
14132         dwarf2_per_objfile.
14133         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
14134         parameter.
14135         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
14136         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
14137         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
14138         (set_die_type): Use dwarf2_free_objfile from cu.
14139         (get_die_type_at_offset): Likewise.
14140         (dwarf2_per_objfile_free): Don't assign global variable.
14141         (debug_names) <constructor>: Add dwarf2_per_objfile
14142         parameter, update m_debugstrlookup construction.
14143         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
14144         parameter.
14145         <m_dwarf2_per_objfile>: New field.
14146         <lookup>: Use m_dwarf2_per_objfile.
14147         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
14148         (psyms_seen_size): Likewise.
14149         (write_gdbindex): Replace objfile parameter with
14150         dwarf2_per_objfile.
14151         (write_debug_names): Likewise.
14152         (write_psymtabs_to_index): Likewise.
14153         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
14154         calls.
14155
14156 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14157
14158         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
14159         <dwarf2_per_objfile>: New field.
14160         (struct dwarf2_per_cu_data) <objfile>: Remove.
14161         <dwarf2_per_objfile>: New field.
14162         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
14163         of objfile.
14164         (create_signatured_type_table_from_index): Likewise.
14165         (create_debug_type_hash_table): Likewise.
14166         (fill_in_sig_entry_from_dwo_entry): Likewise.
14167         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
14168         (create_type_unit_group): Assign dwarf2_per_objfile instead of
14169         objfile.
14170         (create_partial_symtab): Access objfile through
14171         dwarf2_per_objfile.
14172         (process_psymtab_comp_unit_reader): Likewise.
14173         (read_comp_units_from_section): Likewise.
14174         (scan_partial_symbols): Likewise.
14175         (add_partial_symbol): Likewise.
14176         (add_partial_subprogram): Likewise.
14177         (peek_die_abbrev): Likewise.
14178         (fixup_go_packaging): Likewise.
14179         (process_full_comp_unit): Likewise.
14180         (process_full_type_unit): Likewise.
14181         (process_imported_unit_die): Likewise.
14182         (dwarf2_compute_name): Likewise.
14183         (dwarf2_physname): Likewise.
14184         (read_import_statement): Likewise.
14185         (create_cus_hash_table): Assign dwarf2_physname instead of
14186         objfile.
14187         (read_func_scope): Access objfile through dwarf2_per_objfile.
14188         (read_lexical_block_scope): Likewise.
14189         (read_call_site_scope): Likewise.
14190         (read_variable): Likewise.
14191         (dwarf2_rnglists_process): Likewise.
14192         (dwarf2_ranges_process): Likewise.
14193         (dwarf2_ranges_read): Likewise.
14194         (dwarf2_record_block_ranges): Likewise.
14195         (dwarf2_add_field): Likewise.
14196         (dwarf2_add_member_fn): Likewise.
14197         (read_structure_type): Likewise.
14198         (process_structure_scope): Likewise.
14199         (read_enumeration_type): Likewise.
14200         (read_array_type): Likewise.
14201         (read_common_block): Likewise.
14202         (read_namespace_type): Likewise.
14203         (read_namespace): Likewise.
14204         (read_module_type): Likewise.
14205         (read_tag_pointer_type): Likewise.
14206         (read_tag_ptr_to_member_type): Likewise.
14207         (read_tag_string_type): Likewise.
14208         (read_subroutine_type): Likewise.
14209         (read_typedef): Likewise.
14210         (read_base_type): Likewise.
14211         (attr_to_dynamic_prop): Likewise.
14212         (read_subrange_type): Likewise.
14213         (read_unspecified_type): Likewise.
14214         (load_partial_dies): Likewise.
14215         (read_partial_die): Likewise.
14216         (find_partial_die): Likewise.
14217         (guess_partial_die_structure_name): Likewise.
14218         (fixup_partial_die): Likewise.
14219         (read_attribute_value): Likewise.
14220         (read_addr_index_from_leb128): Likewise.
14221         (dwarf2_read_addr_index): Likewise.
14222         (dwarf2_string_attr): Likewise.
14223         (lnp_state_machine::check_line_address): Likewise.
14224         (dwarf_decode_lines_1): Likewise.
14225         (dwarf_decode_lines): Likewise.
14226         (dwarf2_start_symtab): Likewise.
14227         (var_decode_location): Likewise.
14228         (new_symbol_full): Likewise.
14229         (dwarf2_const_value_data): Likewise.
14230         (dwarf2_const_value_attr): Likewise.
14231         (dwarf2_const_value): Likewise.
14232         (die_type): Likewise.
14233         (die_containing_type): Likewise.
14234         (lookup_die_type): Likewise.
14235         (guess_full_die_structure_name): Likewise.
14236         (anonymous_struct_prefix): Likewise.
14237         (dwarf2_name): Likewise.
14238         (follow_die_ref_or_sig): Likewise.
14239         (follow_die_offset): Likewise.
14240         (follow_die_ref): Likewise.
14241         (dwarf2_fetch_die_loc_sect_off): Likewise.
14242         (dwarf2_fetch_constant_bytes): Likewise.
14243         (dwarf2_fetch_die_type_sect_off): Likewise.
14244         (dwarf2_get_die_type): Likewise.
14245         (follow_die_sig): Likewise.
14246         (decode_locdesc): Likewise.
14247         (dwarf2_per_cu_objfile): Likewise.
14248         (dwarf2_per_cu_text_offset): Likewise.
14249         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
14250         objfile.
14251         (set_die_type): Access objfile through
14252         dwarf2_per_objfile.
14253
14254 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14255
14256         * valprint.c (converted_character_d): Remove typedef.
14257         (DEF_VEC_O (converted_character_d)): Remove.
14258         (count_next_character): Use std::vector.
14259         (print_converted_chars_to_obstack): Likewise.
14260         (generic_printstr): Likewise.
14261
14262 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14263
14264         * xml-support.h (struct gdb_xml_value): Add constructor.
14265         <value>: Change type to unique_xmalloc_ptr.
14266         (gdb_xml_value_s): Remove typedef.
14267         (DEF_VEC_O (gdb_xml_value_s)): Remove.
14268         (gdb_xml_element_start_handler): Change parameter type to
14269         std::vector.
14270         (xml_find_attribute): Likewise.
14271         * xml-support.c (xml_find_attribute): Change parameter type to
14272         std::vector and adjust.
14273         (gdb_xml_values_cleanup): Remove.
14274         (gdb_xml_parser::start_element): Adjust to std::vector.
14275         (xinclude_start_include): Change paraeter type to std::vector
14276         and adjust.
14277         * btrace.c (check_xml_btrace_version): Likewise.
14278         (parse_xml_btrace_block): Likewise.
14279         (parse_xml_btrace_pt_config_cpu): Likewise.
14280         (parse_xml_btrace_pt): Likewise.
14281         (parse_xml_btrace_conf_bts): Likewise.
14282         (parse_xml_btrace_conf_pt): Likewise.
14283         * memory-map.c (memory_map_start_memory): Likewise.
14284         (memory_map_start_property): Likewise.
14285         * osdata.c (osdata_start_osdata): Likewise.
14286         (osdata_start_item): Likewise.
14287         (osdata_start_column): Likewise.
14288         * remote.c (start_thread): Likewise.
14289         * solib-aix.c (library_list_start_library): Likewise.
14290         (library_list_start_list): Likewise.
14291         * solib-svr4.c (library_list_start_library): Likewise.
14292         (svr4_library_list_start_list): Likewise.
14293         * solib-target.c (library_list_start_segment): Likewise.
14294         (library_list_start_section): Likewise.
14295         (library_list_start_library): Likewise.
14296         (library_list_start_list): Likewise.
14297         * tracepoint.c (traceframe_info_start_memory): Likewise.
14298         (traceframe_info_start_tvar): Likewise.
14299         * xml-syscall.c (syscall_start_syscall): Likewise.
14300         * xml-tdesc.c (tdesc_start_target): Likewise.
14301         (tdesc_start_feature): Likewise.
14302         (tdesc_start_reg): Likewise.
14303         (tdesc_start_union): Likewise.
14304         (tdesc_start_struct): Likewise.
14305         (tdesc_start_flags): Likewise.
14306         (tdesc_start_enum): Likewise.
14307         (tdesc_start_field): Likewise.
14308         (tdesc_start_enum_value): Likewise.
14309         (tdesc_start_vector): Likewise.
14310
14311 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14312
14313         * extension.h (struct xmethod_worker) <clone>: Remove.
14314         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
14315         Remove.
14316         (python_xmethod_worker::clone): Remove.
14317         * valops.c (find_overload_match): Use std::move instead of
14318         clone.
14319
14320 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14321
14322         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
14323         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
14324         <free_xmethod_worker_data>: Remove.
14325         <get_matching_xmethod_workers>: Chance VEC to std::vector.
14326         <get_xmethod_arg_types>: Remove.
14327         <get_xmethod_result_type>: Remove.
14328         <invoke_xmethod>: Remove.
14329         * extension.c (new_xmethod_worker): Remove.
14330         (clone_xmethod_worker): Remove.
14331         (get_matching_xmethod_workers): Return void, pass std::vector by
14332         pointer.
14333         (get_xmethod_arg_types): Rename to...
14334         (xmethod_worker::get_arg_types): ... this, and adjust.
14335         (get_xmethod_result_type): Rename to...
14336         (xmethod_worker::get_result_type): ... this, and adjust.
14337         (invoke_xmethod): Remove.
14338         (free_xmethod_worker): Remove.
14339         (free_xmethod_worker_vec): Remove.
14340         * extension.h (enum ext_lang_rc): Move here from
14341         extension-priv.h.
14342         (struct xmethod_worker): Add constructor and destructor.
14343         <data>: Remove.
14344         <value>: Remove.
14345         <invoke, clone, do_get_result_type, do_get_arg_types>: New
14346         virtual pure methods.
14347         <get_arg_types, get_result_type>: New methods.
14348         (xmethod_worker_ptr): Remove typedef.
14349         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
14350         (xmethod_worker_vec): Remove typedef.
14351         (xmethod_worker_up): New typedef.
14352         (invoke_xmethod): Remove.
14353         (clone_xmethod_worker): Remove.
14354         (free_xmethod_worker): Remove.
14355         (free_xmethod_worker_vec): Remove.
14356         (get_xmethod_arg_types): Remove.
14357         (get_xmethod_result_type): Remove.
14358         * valops.c (find_method_list): Use std::vector, don't use
14359         intermediate vector.
14360         (value_find_oload_method_list): Use std::vector.
14361         (find_overload_match): Use std::vector.
14362         (find_oload_champ): Use std::vector.
14363         * value.c (value_free): Use operator delete.
14364         (value_of_xmethod): Rename to...
14365         (value_from_xmethod): ... this.  Don't assign
14366         xmethod_worker::value, take rvalue-reference.
14367         (result_type_of_xmethod): Adjust.
14368         (call_xmethod): Adjust.
14369         * value.h: Include extension.h.
14370         (struct xmethod_worker): Don't forward-declare.
14371         (value_of_xmethod): Rename to...
14372         (value_from_xmethod): ... this, take rvalue-reference.
14373         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
14374         (struct python_xmethod_worker): ... this, add constructor and
14375         destructor.
14376         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
14377         (gdbpy_free_xmethod_worker_data): Rename to...
14378         (python_xmethod_worker::~python_xmethod_worker): ... this and
14379         adjust.
14380         (gdbpy_clone_xmethod_worker_data): Rename to...
14381         (python_xmethod_worker::clone): ... this and adjust.
14382         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
14383         temporary vector.
14384         (gdbpy_get_xmethod_arg_types): Rename to...
14385         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
14386         (gdbpy_get_xmethod_result_type): Rename to...
14387         (python_xmethod_worker::do_get_result_type): ... this and
14388         adjust.
14389         (gdbpy_invoke_xmethod): Rename to...
14390         (python_xmethod_worker::invoke): ... this and adjust.
14391         (new_python_xmethod_worker): Rename to...
14392         (python_xmethod_worker::python_xmethod_worker): ... this and
14393         adjust.
14394         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
14395         Remove.
14396         (gdbpy_free_xmethod_worker_data): Remove.
14397         (gdbpy_get_matching_xmethod_workers): Use std::vector.
14398         (gdbpy_get_xmethod_arg_types): Remove.
14399         (gdbpy_get_xmethod_result_type): Remove.
14400         (gdbpy_invoke_xmethod): Remove.
14401         * python/python.c (python_extension_ops): Remove obsolete
14402         callbacks.
14403
14404 2018-01-05  Pedro Alves  <palves@redhat.com>
14405
14406         PR gdb/18653
14407         * common/signals-state-save-restore.c
14408         (save_original_signals_state): New parameter 'quiet'.  Warn if we
14409         find a custom handler preinstalled, instead of internal erroring.
14410         But only warn if !quiet.
14411         * common/signals-state-save-restore.h
14412         (save_original_signals_state): New parameter 'quiet'.
14413         * main.c (captured_main_1): Move save_original_signals_state call
14414         after option handling, and pass QUIET.
14415
14416 2018-01-05  Pedro Alves  <palves@redhat.com>
14417
14418         * spu-tdep.c (spu_catch_start): Pass
14419         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
14420
14421 2018-01-05  Pedro Alves  <palves@redhat.com>
14422
14423         PR gdb/22670
14424         * ada-lang.c (literal_symbol_name_matcher): New function.
14425         (ada_get_symbol_name_matcher): Use it for
14426         symbol_name_match_type::SEARCH_NAME.
14427         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
14428         it down instead of assuming symbol_name_match_type::FULL.
14429         * block.h (block_lookup_symbol): New parameter 'match_type'.
14430         * c-valprint.c (print_unpacked_pointer): Use
14431         lookup_symbol_search_name instead of lookup_symbol.
14432         * compile/compile-object-load.c (get_out_value_type): Pass down
14433         symbol_name_match_type::SEARCH_NAME.
14434         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
14435         symbol_name_match_type::FULL.
14436         * cp-support.c (cp_get_symbol_name_matcher): Handle
14437         symbol_name_match_type::SEARCH_NAME.
14438         * infrun.c (insert_exception_resume_breakpoint): Use
14439         lookup_symbol_search_name.
14440         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
14441         * psymtab.c (maintenance_check_psymtabs): Use
14442         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
14443         * stack.c (print_frame_args): Use lookup_symbol_search_name and
14444         SYMBOL_SEARCH_NAME.
14445         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
14446         if symbol_name_match_type::SEARCH_NAME.
14447         (lookup_symbol_in_language): Pass down
14448         symbol_name_match_type::FULL.
14449         (lookup_symbol_search_name): New.
14450         (lookup_language_this): Pass down
14451         symbol_name_match_type::SEARCH_NAME.
14452         (lookup_symbol_aux, lookup_local_symbol): New parameter
14453         'match_type'.  Pass it down.
14454         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
14455         (lookup_symbol_search_name): New declaration.
14456         (lookup_symbol_in_block): New 'match_type' parameter.
14457
14458 2018-01-05  Pedro Alves  <palves@redhat.com>
14459
14460         PR gdb/22670
14461         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
14462         ada_lookup_symbol.
14463         (ada_lookup_symbol): Reimplement in terms of
14464         ada_lookup_symbol_list, bits factored out from
14465         ada_lookup_encoded_symbol.
14466
14467 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14468
14469         * ada-exp.y (write_object_renaming): When subscripting an array
14470         using a symbol as the index, pass the block in call to
14471         ada_lookup_encoded_symbol when looking that symbol up.
14472
14473 2018-01-05  Jerome Guitton  <guitton@adacore.com>
14474
14475         * ada-lang.c (ada_array_length): Use ada_index_type instead of
14476         TYPE_INDEX_TYPE.
14477
14478 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14479
14480         * ada-lang.c (ada_to_fixed_value_create): Add handling of
14481         the case where VALUE_LVAL (val0) is not lval_memory.
14482
14483 2018-01-05  Xavier Roirand  <roirand@adacore.com>
14484
14485         * ada-valprint.c (print_optional_low_bound): Handle
14486         character-indexed array printing like boolean-indexed array
14487         printing.
14488
14489 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14490
14491         * NEWS: Create a new section for the next release branch.
14492         Rename the section of the current branch, now that it has
14493         been cut.
14494
14495 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14496
14497         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
14498         * version.in: Bump version to 8.1.50.DATE-git.
14499
14500 2018-01-03  Xavier Roirand  <roirand@adacore.com>
14501
14502         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
14503         Add field.
14504         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
14505         Add field.
14506         (default_exception_support_info) <catch_handlers_sym>: Add field.
14507         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
14508         (ada_exception_name_addr_1): Add "catch handlers" handling.
14509         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
14510         Update all callers.
14511         (create_excep_cond_exprs) <ex>: Add parameter.
14512         (re_set_exception): Update create_excep_cond_exprs call.
14513         (print_it_exception, print_one_exception, print_mention_exception)
14514         (print_recreate_exception): Add "catch handler" handling.
14515         (allocate_location_catch_handlers, re_set_catch_handlers)
14516         (check_status_catch_handlers, print_it_catch_handlers)
14517         (print_one_catch_handlers, print_mention_catch_handlers)
14518         (print_recreate_catch_handlers): New function.
14519         (catch_handlers_breakpoint_ops): New variable.
14520         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
14521         Add parameter.  Add "catch handler" handling.
14522         (ada_exception_sym_name, ada_exception_breakpoint_ops):
14523         Add "catch handler" handling.
14524         (ada_exception_catchpoint_cond_string): Add "catch handler"
14525         handling.
14526         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
14527         call.
14528         (catch_ada_handlers_command): New function.
14529         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
14530         operations structure.
14531         (_initialize_ada_language): Add "catch handlers" command entry.
14532         * NEWS: Document "catch handlers" feature.
14533
14534 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14535
14536         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
14537         account when creating the array type of the slice.
14538         (ada_value_slice): Likewise.
14539
14540 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14541
14542         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
14543         New enum value.
14544         (create_array_type_with_stride): Add byte_stride_prop parameter.
14545         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
14546         New parameter.  Update all callers in this file.
14547         (array_type_has_dynamic_stride): New function.
14548         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
14549         of arrays with dynamic byte strides.
14550         * dwarf2read.c (read_array_type): Add support for dynamic
14551         DW_AT_byte_stride attributes.
14552
14553 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14554
14555         * dwarf2read.c (read_unspecified_type): Treat
14556         DW_TAG_enumeration_type DIEs from Ada units as stubs.
14557
14558 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14559
14560         Update copyright year range in all GDB files.
14561
14562 2018-01-01, 18  Joel Brobecker  <brobecker@adacore.com>
14563
14564         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
14565         and gdb/testsuite/gdb.base/step-line.c.
14566
14567 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14568
14569         * copyright.py (main): Dump the contents of
14570         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
14571         even if BY_HAND is empty.
14572
14573 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14574
14575         * top.c (print_gdb_version): Update Copyright year in version
14576         message.
14577
14578 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14579
14580         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
14581
14582 For older changes see ChangeLog-2017.
14583 \f
14584 Local Variables:
14585 mode: change-log
14586 left-margin: 8
14587 fill-column: 74
14588 version-control: never
14589 coding: utf-8
14590 End: