Add Alan Hayward as AArch64/ARM GDB maintainer
[external/binutils.git] / gdb / ChangeLog
1 2018-10-15  Simon Marchi  <simon.marchi@ericsson.com>
2
3         * MAINTAINERS (Responsible Maintainers): Add Alan Hayward as
4         AArch64/ARM maintainer.
5
6 2018-10-11  Gary Benson <gbenson@redhat.com>
7
8         * interps.h (interp::m_name): Make private and mutable.
9         * interps.c (interp::~interp): Free m_name.
10
11 2018-10-10  Sergio Durigan Junior  <sergiodj@redhat.com>
12             Simon Marchi <simark@simark.ca>
13
14         * README (`configure' options): Add documentation for new
15         "--enable-unit-tests" option.
16         * acinclude.m4: Include "selftest.m4".
17         * configure: Regenerate.
18         * configure.ac: Use "GDB_AC_SELFTEST".
19         * maint.c (maintenance_selftest): Update message informing
20         that selftests have been disabled.
21         (maintenance_info_selftests): Likewise.
22         * selftest.m4: New file.
23
24 2018-10-10  Gary Benson <gbenson@redhat.com>
25
26         * remote.c (remote_target::remote_send_printf): Add
27         missing va_end found by Coverity.
28
29 2018-10-10  Markus Metzger  <markus.t.metzger@intel.com>
30
31         * btrace.c (ftrace_update_function): Add indirect jump heuristic.
32
33 2018-10-09  Tom Tromey  <tom@tromey.com>
34
35         * configure: Rebuild.
36         * sanitize.m4 (AM_GDB_UBSAN): Default to no.
37         * NEWS: Update --enable-ubsan documentation.
38
39 2018-10-09  Gary Benson <gbenson@redhat.com>
40
41         * dwarf2read.c (create_dwp_hash_table): Fix buffer overrun
42         found by Coverity.
43
44 2018-10-08  Tom Tromey  <tom@tromey.com>
45
46         * riscv-fbsd-tdep.c (riscv_fbsd_sigframe_init): Remove unused
47         variable.
48         (riscv_fbsd_init_abi): Likewise.
49
50 2018-10-08  Weimin Pan  <weimin.pan@oracle.com>
51         * valops.c (value_struct_elt_for_reference): Rename local variable
52         to work around the shadowing a previous local warning.
53
54 2018-10-08  John Baldwin  <jhb@FreeBSD.org>
55
56         * Makefile.in (ALLDEPFILES): Add riscv-fbsd-nat.c.
57         * NEWS: Mention new FreeBSD/riscv native configuration.
58         * configure.host: Add riscv*-*-freebsd*.
59         * configure.nat: Likewise.
60         * riscv-fbsd-nat.c: New file.
61
62 2018-10-08  John Baldwin  <jhb@FreeBSD.org>
63
64         * Makefile.in (ALL_TARGET_OBS): Add riscv-fbsd-tdep.o.
65         (HFILES_NO_SRCDIR): Add riscv-fbsd-tdep.h.
66         (ALLDEPFILES): Add riscv-fbsd-tdep.c.
67         * NEWS: Mention new FreeBSD/riscv target.
68         * configure.tgt: Add riscv*-*-freebsd*.
69         * riscv-fbsd-tdep.c: New file.
70         * riscv-fbsd-tdep.h: New file.
71
72 2018-10-08  John Baldwin  <jhb@FreeBSD.org>
73
74         * regcache.h (struct regcache_map_entry): Note that this type can
75         be used with traditional frame caches.
76         * trad-frame.c (trad_frame_set_reg_regmap): New.
77         * trad-frame.h (trad_frame_set_reg_regmap): New.
78
79 2018-10-08  Weimin Pan  <weimin.pan@oracle.com>
80
81         PR c++/16841
82         * valops.c (get_virtual_base_offset): New function.
83         (value_struct_elt_for_reference): Use it to get virtual base offset
84         and add it in calculating class member address.
85
86 2018-10-08   John Darrington <john@darrington.wattle.id.au>
87
88     * dwarf2read.c (dwarf2_cu) <producer_is_codewarrior>: New field.
89       (check_producer): Check if the producer is codewarrior.
90       (producer_is_codewarrior): New function.
91       (lnp_state_machine::record_line): Ignore is_stmt flag for records
92        produced by codewarrior.
93       (dwarf2_cu::dwarf2_cu): Initialize producer_is_codewarrior.
94
95 2018-10-06  Tom Tromey  <tom@tromey.com>
96
97         PR python/19399:
98         * python/py-inferior.c: Add "architecture" entry.
99         (infpy_architecture): New function.
100
101 2018-10-06  Tom Tromey  <tom@tromey.com>
102
103         PR python/21765:
104         * python/py-symbol.c (gdbpy_initialize_symbols): Redefine
105         SYMBOL_VARIABLES_DOMAIN, SYMBOL_FUNCTIONS_DOMAIN,
106         SYMBOL_TYPES_DOMAIN.  Define SYMBOL_MODULE_DOMAIN,
107         SYMBOL_COMMON_BLOCK_DOMAIN, SYMBOL_LOC_COMMON_BLOCK.
108
109 2018-10-06  Tom Tromey  <tom@tromey.com>
110
111         PR build/17077:
112         * Makefile.in (OPCODES_CFLAGS): Remove "-I$(OPCODES_SRC)/..".
113         * arc-tdep.c, frv-tdep.c, lm32-tdep.c, mep-tdep.c,
114         microblaze-tdep.c, or1k-tdep.h: Use ../opcodes, not opcodes, in
115         #include.
116
117 2018-10-06  Tom Tromey  <tom@tromey.com>
118
119         * python/py-breakpoint.c (bppy_get_location): Handle a
120         bp_breakpoint without a location.
121
122 2018-10-06  Tom Tromey  <tom@tromey.com>
123
124         * python/lib/gdb/function/strfns.py (_MemEq, _StrLen, _StrEq)
125         (_RegEx): Reformat help text.
126         * python/lib/gdb/function/caller_is.py (CallerIs, CallerMatches)
127         (AnyCallerIs, AnyCallerMatches): Reformat help text.
128         * python/lib/gdb/function/as_string.py (_AsString): Reformat help
129         text.
130         * python/lib/gdb/command/xmethods.py (InfoXMethod)
131         (EnableXMethod, DisableXMethod): Remove help indentation.
132         Capitalize meta-syntactic variables.
133         * python/lib/gdb/command/unwinders.py (InfoUnwinder)
134         (EnableUnwinder, DisableUnwinder): Remove help indentation.
135         Capitalize meta-syntactic variables.
136         * python/lib/gdb/command/explore.py (ExploreCommand)
137         (ExploreValueCommand, ExploreTypeCommand): Reformat help text.
138         * python/lib/gdb/command/type_printers.py (InfoTypePrinter)
139         (EnableTypePrinter, DisableTypePrinter): Remove help indentation.
140         * python/lib/gdb/command/pretty_printers.py (InfoPrettyPrinter):
141         Remove help indentation.
142         (EnablePrettyPrinter, DisablePrettyPrinter): Likewise.
143         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter)
144         (DisableFrameFilter, SetFrameFilterPriority)
145         (ShowFrameFilterPriority, InfoFrameFilter): Reword help text.
146
147 2018-10-06  Tom Tromey  <tom@tromey.com>
148
149         PR tui/28819:
150         * tui/tui-io.c (gdb_wgetch): New function.
151         (tui_mld_getc, tui_getc): Use it.
152
153 2018-10-05  Tom Tromey  <tom@tromey.com>
154
155         * sol-thread.c (sol_thread_target::wait): Rename inner
156         "save_ptid".
157
158 2018-10-04  Tom Tromey  <tom@tromey.com>
159
160         * configure: Rebuild.
161         * warning.m4 (AM_GDB_WARNINGS): Add -Wshadow=local.
162
163 2018-10-04  Tom Tromey  <tom@tromey.com>
164
165         * guile/scm-frame.c (gdbscm_frame_read_var): Remove inner
166         declaration of "block".
167
168 2018-10-04  Tom Tromey  <tom@tromey.com>
169
170         * common/filestuff.c (fdwalk): Remove inner declaration of
171         "result".
172
173 2018-10-04  Tom Tromey  <tom@tromey.com>
174
175         * msp430-tdep.c (msp430_push_dummy_call): Rename inner
176         "structs_addr" and hoist declaration.
177
178 2018-10-04  Tom Tromey  <tom@tromey.com>
179
180         * linux-tdep.c (linux_make_mappings_corefile_notes): Introduce new
181         variable "size".
182
183 2018-10-04  Tom Tromey  <tom@tromey.com>
184
185         * mdebugread.c (parse_partial_symbols): Use std::string.
186
187 2018-10-04  Tom Tromey  <tom@tromey.com>
188
189         * ctf.c (SET_ARRAY_FIELD): Rename "u32".
190         * p-valprint.c (pascal_val_print): Split inner "i" variable.
191         * xtensa-tdep.c (xtensa_push_dummy_call): Declare "i" in loop
192         header.
193         * xstormy16-tdep.c (xstormy16_push_dummy_call): Declare "val" in
194         more inner scope.
195         * xcoffread.c (read_xcoff_symtab): Rename inner "symbol".
196         * varobj.c (varobj_update): Rename inner "newobj",
197         "type_changed".
198         * valprint.c (generic_emit_char): Rename inner "buf".
199         * valops.c (find_overload_match): Rename inner "temp".
200         (value_struct_elt_for_reference): Declare "v" in more inner
201         scope.
202         * v850-tdep.c (v850_push_dummy_call): Rename "len".
203         * unittests/array-view-selftests.c (run_tests): Rename inner
204         "vec".
205         * tui/tui-stack.c (tui_show_frame_info): Declare "i" in loop
206         header.
207         * tracepoint.c (merge_uploaded_trace_state_variables): Declare
208         "tsv" in more inner scope.
209         (print_one_static_tracepoint_marker): Rename inner
210         "tuple_emitter".
211         * tic6x-tdep.c (tic6x_analyze_prologue): Declare "inst" lower.
212         (tic6x_push_dummy_call): Don't redeclare "addr".
213         * target-float.c: Declare "dto" lower.
214         * symtab.c (lookup_local_symbol): Rename inner "sym".
215         (find_pc_sect_line): Rename inner "pc".
216         * stack.c (print_frame): Don't redeclare "gdbarch".
217         (return_command): Rename inner "gdbarch".
218         * s390-tdep.c (s390_prologue_frame_unwind_cache): Renam inner
219         "sp".
220         * rust-lang.c (rust_internal_print_type): Declare "i" in loop
221         header.
222         * rs6000-tdep.c (ppc_process_record): Rename inner "addr".
223         * riscv-tdep.c (riscv_push_dummy_call): Declare "info" in inner
224         scope.
225         * remote.c (remote_target::update_thread_list): Don't redeclare
226         "tp".
227         (remote_target::process_initial_stop_replies): Rename inner
228         "thread".
229         (remote_target::remote_parse_stop_reply): Don't redeclare "p".
230         (remote_target::wait_as): Don't redeclare "stop_reply".
231         (remote_target::get_thread_local_address): Rename inner
232         "result".
233         (remote_target::get_tib_address): Likewise.
234
235         * regcache.c (cooked_read_test): Rename "regnum".
236         * record-btrace.c (cmd_record_btrace_start): Rename inner
237         "exception".
238         * ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Declare "i" in
239         loop header.
240         * ppc-linux-tdep.c (ppc_linux_syscall_record): Declare "i" in loop
241         header.
242         (ppu2spu_sniffer): Rename inner "buf".
243         * parse.c (operator_check_standard): Rename inner "type",
244         "objfile".
245         * p-valprint.c (pascal_val_print): Introduce new scope for
246         "low_bound", "high_bound".
247         * p-exp.y (yylex): Declare "i" in loop header.
248         * objfiles.c (objfile_relocate1): Declare "i" in loop header.
249         Lower declaration of "s".
250         * nios2-tdep.c (nios2_analyze_prologue): Declare "i" in loop
251         header.
252         (nios2_push_dummy_call): Rename "len".
253         * nat/linux-osdata.c (linux_xfer_osdata_cpus): Rename static
254         "buf".
255         (linux_xfer_osdata_fds, linux_xfer_osdata_shm)
256         (linux_xfer_osdata_sem, linux_xfer_osdata_msg)
257         (linux_xfer_osdata_modules): Likewise.
258         * mips-tdep.c (mips_eabi_push_dummy_call): Rename outer "len".
259         (mips_n32n64_push_dummy_call, mips_o32_push_dummy_call)
260         (mips_o64_push_dummy_call): Likewise.
261         * microblaze-tdep.c (microblaze_analyze_prologue): Rename inner
262         "op".
263         * mi/mi-main.c (list_available_thread_groups): Rename inner
264         "tuple_emitter".
265         (mi_cmd_data_read_memory): Rename inner "opts".
266         * mi/mi-cmd-var.c (varobj_update_one): Rename inner
267         "tuple_emitter".
268         * mep-tdep.c (mep_analyze_prologue): Declare "rn" in loop header.
269         * mdebugread.c (parse_symbol): Rename inner "b".  Declare "f" in
270         more inner scope.
271         (parse_partial_symbols): Rename inner "pst", "p", "name"
272         * main.c (captured_main_1): Rename inner "i"s.
273         * machoread.c (macho_symfile_read_all_oso): Don't redeclare
274         "oso2".
275         * linux-tdep.c (linux_info_proc): Rename inner "filename".
276         * linespec.c (linespec_lexer_lex_string): Rename inner "p".
277         * infrun.c (handle_no_resumed): Don't redeclare "thread".
278         (handle_signal_stop): Rename inner "gdbarch".
279         (handle_command): Declare "signum" in loop header.
280         * ia64-tdep.c (ia64_pseudo_register_read): Don't redeclare
281         "status".
282         (examine_prologue): Rename inner "sol" and "sof".
283         (ia64_extract_return_value): Rename inner "val".  Declare another
284         "val" in a more inner scope.
285         * hppa-bsd-tdep.c (hppabsd_find_global_pointer): Declare "buf" in
286         inner scope.
287         * guile/scm-symbol.c (gdbscm_lookup_symbol): Rename inner
288         "except".
289         * findvar.c (default_read_var_value): Don't redeclare "addr".
290         * f-exp.y (yylex): Declare "i" in loop header.
291         * eval.c (evaluate_subexp_standard): Don't redeclare "type".
292         Rename inner "type", "expect_type".
293         (evaluate_subexp_for_sizeof): Rename inner "pc".
294         * elfread.c (elf_symfile_read): Rename inner "abfd".
295         * dwarf2read.c (read_debug_names_from_section): Don't redeclare
296         "bytes_read".
297         (process_psymtab_comp_unit_reader): Don't redeclare "gdbarch".
298         (add_partial_subprogram): Rename inner "lowpc" and "highpc".
299         (dwarf_decode_line_header): Rename inner "lh".
300         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Don't redeclare
301         "offset".  Declare "i" in loop header.
302         (disassemble_dwarf_expression): Rename inner "addr_size".
303         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Rename
304         inner "result".
305         (dwarf_expr_context::execute_stack_op): Rename inner "offset".
306         * dwarf2-frame.c (decode_frame_entry_1): Rename inner "length"s.
307         * disasm.c (do_mixed_source_and_assembly_deprecated): Rename inner
308         "inner_list_emitter".
309         (do_mixed_source_and_assembly): Rename inner "tuple_emitter".
310         * disasm-selftests.c (print_one_insn_test): Wrap "bplen"
311         declaration in a block.
312         * csky-tdep.c (csky_analyze_prologue): Declare "offset" lower.
313         * cp-valprint.c (cp_print_value_fields): Don't redeclare
314         "obstack_final_size".
315         * cp-support.c (inspect_type): Declare "i" in loop header.
316         * compile/compile.c (compile_instance::insert_symbol_error):
317         Rename inner "e".
318         * common/agent.c (agent_run_command): Remove inner "ret"
319         declaration.
320         * coffread.c (coff_symfile_read): Rename inner "name".
321         (coff_symfile_read): Rename inner "abfd".
322         * cli/cli-utils.c (get_number_trailer): Rename inner "val".
323         * cli/cli-cmds.c (print_disassembly): Rename inner "low" and
324         "high".
325         * c-exp.y (lex_one_token): Move "len" declaration lower.
326         * breakpoint.c (create_longjmp_master_breakpoint): Don't redeclare
327         "gdbarch".
328         (create_exception_master_breakpoint): Likewise.  Don't redeclare
329         "b".
330         (watch_command_1): Declare "mark" later.
331         (clear_command): Don't shadow "a" or "b".
332         (delete_command): Rename inner "b".
333         (delete_trace_command): Likewise.
334         * arm-tdep.c (thumb_process_displaced_32bit_insn): Rename inner
335         "op".
336         (arm_gdbarch_init): Remove inner "e_flags".
337         * arch/arm-get-next-pcs.c (thumb_get_next_pcs_raw): Declare
338         "offset" in inner blocks.
339
340 2018-10-04  Simon Marchi  <simon.marchi@ericsson.com>
341
342         * dwarf-index-write.c (file_write): Don't write if the vector is
343         empty.
344
345 2018-10-05  Tom de Vries  <tdevries@suse.de>
346
347         * python/py-progspace.c (pspy_solib_name): Fix type mismatch in
348         PyArg_ParseTuple call.
349
350 2018-10-05  Tom de Vries  <tdevries@suse.de>
351
352         * python/py-record-btrace.c (recpy_bt_goto): Fix type mismatch in
353         PyArg_ParseTuple call.
354
355 2018-10-04  Joel Brobecker  <brobecker@adacore.com>
356
357         * psymtab.c (recursively_search_psymtabs): Reformat parameters
358         to avoid exceeding 80 characters per line limit.
359
360 2018-10-04  Tom Tromey  <tom@tromey.com>
361
362         * symfile.c (syms_from_objfile_1, finish_new_objfile)
363         (reread_symbols): Update.
364         * complaints.h (clear_complaints): Remove argument.
365         * complaints.c (enum complaint_series): Remove.
366         (series): Remove global.
367         (complaint_internal): Update.
368         (clear_complaints): Remove argument.
369
370 2018-10-04  Tom Tromey  <tom@tromey.com>
371
372         * symfile.c (symbol_file_add_with_addrs): Do not print "no
373         debugging symbols" message if there is a separate debug objfile.
374
375 2018-10-04  Tom Tromey  <tom@tromey.com>
376
377         PR cli/19551:
378         * symfile.c (symbol_file_add_with_addrs): Update output.
379         * psymtab.c (require_partial_symbols): Update output.
380
381 2018-10-04  Tom Tromey  <tom@tromey.com>
382
383         PR cli/22234:
384         * complaints.c: Emit \n.
385
386 2018-10-04  Tom Tromey  <tom@tromey.com>
387
388         * symfile.c (symbol_file_add_with_addrs, symbol_file_clear)
389         (separate_debug_file_exists, find_separate_debug_file)
390         (add_symbol_file_command, reread_symbols, allocate_symtab)
391         (allocate_compunit_symtab): Use filtered printing, not
392         unfiltered.
393         * psymtab.c (require_partial_symbols, dump_psymtab)
394         (allocate_psymtab): Use filtered printing, not unfiltered.
395
396 2018-10-04  Tom Tromey  <tom@tromey.com>
397
398         * complaints.c (complaint_internal): Correctly check complaint
399         count.
400
401 2018-10-04  Tom Tromey  <tom@tromey.com>
402
403         * complaints.h (struct complaints): Remove declaration.
404         * complaints.c (clear_complaints): Remove an unused variable.
405
406 2018-10-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
407
408         * MAINTAINERS (Write After Approval): Add self.
409
410 2018-10-03  Tom Tromey  <tom@tromey.com>
411
412         * guile/scm-value.c (gdbscm_value_to_string): Initialize
413         "buffer_contents".
414         * coffread.c (coff_symtab_read): Initialize "newobj".
415
416 2018-10-03  Simon Marchi  <simon.marchi@polymtl.ca>
417
418         * dwarf2read.c (read_func_scope): Remove struct keyword in
419         range-based for.
420
421 2018-10-03  Tom Tromey  <tom@tromey.com>
422
423         * README: Mention --enable-ubsan.
424         * NEWS: Mention --enable-ubsan.
425         * acinclude.m4: Include sanitize.m4.
426         * configure: Rebuild.
427         * configure.ac: Call AM_GDB_UBSAN.
428         * sanitize.m4: New file.
429
430 2018-10-03  Tom Tromey  <tom@tromey.com>
431
432         * expression.h (enum exp_opcode): Use uint8_t as base type.
433         * expprint.c (op_name): Handle invalid opcodes.
434
435 2018-10-03  Tom Tromey  <tom@tromey.com>
436
437         * parse.c (prefixify_expression): Add assert.
438         (parse_exp_in_context_1): Throw exception if the expression is
439         empty.
440
441 2018-10-03  Tom Tromey  <tom@tromey.com>
442
443         * dwarf2read.c (read_signed_leb128): Work in ULONGEST.
444
445 2018-10-03  Tom Tromey  <tom@tromey.com>
446
447         * c-exp.y (parse_number): Work in unsigned.  Remove casts.
448
449 2018-10-03  Tom Tromey  <tom@tromey.com>
450
451         * dwarf2read.c (read_subrange_type): Make "negative_mask"
452         unsigned.
453
454 2018-10-03  Tom Tromey  <tom@tromey.com>
455
456         * findvar.c (extract_integer): Do work in an unsigned type.
457
458 2018-10-03  Tom Tromey  <tom@tromey.com>
459
460         * common/enum-flags.h (enum_flags::operator~): Add static assert.
461         * symfile-add-flags.h (enum symfile_add_flag): Use unsigned as
462         base type.
463         * objfile-flags.h (enum objfile_flag): Use unsigned as base type.
464         * gdbtypes.h (enum type_instance_flag_value): Use unsigned as base
465         type.
466         * c-lang.h (enum c_string_type_values): Use unsigned as base
467         type.
468         * btrace.h (enum btrace_thread_flag): Use unsigned as base type.
469
470 2018-10-03  Tom Tromey  <tom@tromey.com>
471
472         * dwarf2-frame.h (dwarf2_frame_state_reg_info)
473         <~dwarf2_frame_state_reg_info>: Update.
474         <dwarf2_frame_state_reg_info>: Update.
475         <alloc_regs>: Add assertion.  Update.
476         <reg>: Now a std::vector.
477         <num_regs>: Remove.
478         <swap>: Update.
479         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
480         (execute_cfa_program_test, dwarf2_frame_cache): Update.
481
482 2018-10-03  Tom Tromey  <tom@tromey.com>
483
484         * namespace.c (add_using_directive): Don't pass NULL to memcpy.
485
486 2018-10-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
487
488         * tid-parse.c (tid_is_in_list): Fix wrong 'See' comment.
489
490 2018-10-02  Tom Tromey  <tom@tromey.com>
491
492         * aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Use pulongest.
493
494 2018-10-02  John Darrington <john@darrington.wattle.id.au>
495
496         * NEWS: Mention changed commands.
497         * ser-uds.c: New file.
498         * configure.ac (SER_HARDWIRE): Add ser-uds.o.
499         * configure: Regenerate.
500         * Makefile.in: Add new file.
501         * serial.c (serial_open): Check if filename is a socket
502           and lookup the appropriate interface accordingly.
503
504 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
505
506         * aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_OFFSET): Add
507         define.
508         (AARCH64_EXTRA_MAGIC): Likewise.
509         (AARCH64_FPSIMD_MAGIC): Likewise.
510         (AARCH64_SVE_MAGIC): Likewise.
511         (AARCH64_EXTRA_DATAP_OFFSET): Likewise.
512         (AARCH64_FPSIMD_FPSR_OFFSET): Likewise.
513         (AARCH64_FPSIMD_FPCR_OFFSET): Likewise.
514         (AARCH64_FPSIMD_V0_OFFSET): Likewise.
515         (AARCH64_FPSIMD_VREG_SIZE): Likewise.
516         (AARCH64_SVE_CONTEXT_VL_OFFSET): Likewise.
517         (AARCH64_SVE_CONTEXT_REGS_OFFSET): Likewise.
518         (AARCH64_SVE_CONTEXT_P_REGS_OFFSET): Likewise.
519         (AARCH64_SVE_CONTEXT_FFR_OFFSET): Likewise.
520         (AARCH64_SVE_CONTEXT_SIZE): Likewise.
521         (read_aarch64_ctx): Add function.
522         (aarch64_linux_sigframe_init): Detect FP registers.
523
524 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
525
526         * aarch64-tdep.c (AARCH64_Q0_REGNUM): Move to here.
527         (AARCH64_D0_REGNUM): Likewise.
528         (AARCH64_S0_REGNUM): Likewise.
529         (AARCH64_H0_REGNUM): Likewise.
530         (AARCH64_B0_REGNUM): Likewise.
531         (AARCH64_SVE_V0_REGNUM): Likewise.
532         * arch/aarch64.h (AARCH64_Q0_REGNUM): Move from here.
533         (AARCH64_D0_REGNUM): Likewise.
534         (AARCH64_S0_REGNUM): Likewise.
535         (AARCH64_H0_REGNUM): Likewise.
536         (AARCH64_B0_REGNUM): Likewise.
537         (AARCH64_SVE_V0_REGNUM): Likewise.
538
539 2018-10-01  Gary Benson <gbenson@redhat.com>
540
541         * gdb_proc_service.h (gdb_prfpregset_t): Remove typedef.
542         * proc-service.c (ps_lgetfpregs, ps_lsetfpregs): Use
543         prfpregset_t instead of gdb_prfpregset_t.
544         * configure.ac (PRFPREGSET_T_BROKEN): Remove check.
545         * configure, config.in: Rebuild.
546
547 2018-10-01  Gary Benson <gbenson@redhat.com>
548
549         * common/gdb_proc_service.h: New file, factored out from...
550         * gdb_proc_service.h: Moved common code to the above file.
551         * Makefile.in (HFILES_NO_SRCDIR): Add the above new file.
552
553 2018-10-01  Gary Benson <gbenson@redhat.com>
554
555         * gdb_proc_service.h: Use elf_gregset_t if prgregset_t is
556         undefined.  Use elf_fpregset_t if prfpregset_t is undefined.
557
558 2018-10-01  Gary Benson <gbenson@redhat.com>
559
560         * configure.ac: Check if sys/procfs.h defines elf_fpregset_t.
561         (AC_CHECK_HEADERS): Check for linux/elf.h.
562         * configure, config.in: Rebuild.
563         * gdb_proc_service.h: Include linux/elf.h if sys/procfs.h
564         doesn't define elf_fpregset_t.
565
566 2018-10-01  Gary Benson <gbenson@redhat.com>
567
568         * gdb_proc_service.h: Whitespace change.
569
570 2018-10-01  Tom Tromey  <tom@tromey.com>
571
572         * unittests/scoped_mmap-selftests.c: Don't check HAVE_UNISTD_H.
573         * unittests/scoped_fd-selftests.c: Don't check HAVE_UNISTD_H.
574         * common/scoped_fd.h: Don't check HAVE_UNISTD_H.
575
576 2018-10-01  Tom Tromey  <tom@tromey.com>
577
578         * README: Minor change.
579
580 2018-09-30  Pedro Alves  <palves@redhat.com>
581
582         * darwin-nat-info.c (darwin_debug_regions_recurse)
583         (info_mach_exceptions_command): Remove unused local variables.
584         * darwin-nat.c (darwin_decode_notify_message)
585         (darwin_nat_target::resume, darwin_nat_target::mourn_inferior)
586         (darwin_stop_inferior, darwin_setup_exceptions)
587         (darwin_nat_target::kill, darwin_attach_pid, darwin_ptrace_him)
588         (darwin_nat_target::attach, darwin_nat_target::detach)
589         (darwin_read_write_inferior, darwin_read_dyld_info): Remove unused
590         local variables.
591         * i386-darwin-nat.c (i386_darwin_dr_set): Remove unused local
592         variables.
593
594 2018-09-29  Tom Tromey  <tom@tromey.com>
595
596         * README: Remove some leftover text.
597
598 2018-09-29  Tom Tromey  <tom@tromey.com>
599
600         * PROBLEMS: Rewrite.
601         * README: Update.
602
603 2018-09-28  John Baldwin  <jhb@FreeBSD.org>
604
605         * disasm-selftests.c (print_one_insn_test): Add bfd_arch_riscv to
606         case with explicit breakpoint kind.
607         * riscv-tdep.c (show_use_compressed_breakpoints): Remove
608         'additional_info' and related logic.
609         (riscv_debug_breakpoints): New variable.
610         (riscv_breakpoint_kind_from_pc): Use the length of the existing
611         instruction to determine the breakpoint kind.
612         (_initialize_riscv_tdep): Add 'set/show debug riscv breakpoints'
613         flag.  Update description of 'set/show riscv
614         use-compressed-breakpoints' flag.
615
616 2018-09-28  Andrew Burgess  <andrew.burgess@embecosm.com>
617
618         (NEWS): Mention changes to frame related commands.
619         * cli/cli-decode.c (add_cmd_suppress_notification): New function.
620         (add_prefix_cmd_suppress_notification): New function.
621         (add_com_suppress_notification): Call
622         add_cmd_suppress_notification.
623         * command.h (add_cmd_suppress_notification): Declare.
624         (add_prefix_cmd_suppress_notification): Declare.
625         * mi/mi-cmd-stack.c: Add 'safe-ctype.h' include.
626         (parse_frame_specification): Moved from stack.c, with
627         simplification to handle a single argument.
628         (mi_cmd_stack_select_frame): Use parse_frame_specification, the
629         switch to the selected frame.  Add a header comment.
630         * stack.c: Remove 'safe-ctype.h' include.
631         (find_frame_for_function): Add declaration.
632         (find_frame_for_address): New function.
633         (parse_frame_specification): Moved into mi/mi-cmd-stack.c.
634         (frame_selection_by_function_completer): New function.
635         (info_frame_command): Rename to...
636         (info_frame_command_core): ...this, and update parameter types.
637         (select_frame_command): Rename to...
638         (select_frame_command_core): ...this, and update parameter types.
639         (frame_command): Rename to...
640         (frame_command_core): ...this, and update parameter types.
641         (class frame_command_helper): New class to wrap implementations of
642         frame related sub-commands.
643         (frame_apply_cmd_list): New static global.
644         (frame_cmd_list): Make static.
645         (select_frame_cmd_list): New global for sub-commands.
646         (info_frame_cmd_list): New global for sub-commands.
647         (_initialize_stack): Register sub-commands for 'frame',
648         'select-frame', and 'info frame'.  Update 'frame apply' commands
649         to use frame_apply_cmd_list.  Move function local static
650         frame_apply_list to file static frame_apply_cmd_list for
651         consistency.
652         * stack.h (select_frame_command): Delete declarationn.
653         (select_frame_for_mi): Declare new function.
654
655 2018-09-26  Andrew Burgess  <andrew.burgess@embecosm.com>
656
657         * riscv-tdep.c (riscv_insn::decode): Decode c.lui.
658         (riscv_scan_prologue): Split handling of AUIPC, LUI, ADD, ADDI,
659         and NOP.
660
661 2018-09-26  Simon Marchi  <simon.marchi@ericsson.com>
662
663         * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): Remove.
664
665 2018-09-26  Tom Tromey  <tom@tromey.com>
666
667         * valops.c (auto_abandon): Remove dead code.
668
669 2018-09-26  Tom Tromey  <tom@tromey.com>
670
671         * tui/tui-win.c (WIN_HEIGHT_USAGE): Remove extra ">"s.
672
673 2018-09-24  Tom Tromey  <tom@tromey.com>
674
675         * common/pathstuff.c (get_standard_cache_dir): Make
676         "xdg_cache_home" and "home" const.
677         * top.c (init_history): Make "tmpenv" const.
678         * main.c (get_init_files): Make "homedir" const.
679
680 2018-09-23  Tom Tromey  <tom@tromey.com>
681
682         PR python/18852:
683         * python/py-param.c (get_set_value): Use gdbpy_handle_exception.
684
685 2018-09-23  Tom Tromey  <tom@tromey.com>
686
687         * python/py-function.c (fnpy_call): Use gdbpy_handle_exception.
688         * python/py-cmd.c (cmdpy_function): Use gdbpy_handle_exception.
689         * python/python-internal.h (gdbpy_handle_exception): Declare.
690         * python/py-utils.c (gdbpy_handle_exception): New function.
691
692 2018-09-23  Tom Tromey  <tom@tromey.com>
693
694         PR python/17284:
695         * python/py-type.c (typy_template_argument): Check for negative
696         argument number.
697
698 2018-09-23  Tom Tromey  <tom@tromey.com>
699
700         PR python/14062:
701         * python/python.c (gdbpy_run_events): Do not ignore exceptions.
702
703 2018-09-23  Tom Tromey  <tom@tromey.com>
704
705         PR python/18170:
706         * python/py-value.c (valpy_int): Allow conversion from pointer
707         type.
708
709 2018-09-23  Tom Tromey  <tom@tromey.com>
710
711         PR python/20126:
712         * python/py-value.c (valpy_int): Respect type sign.
713
714 2018-09-23  Tom Tromey  <tom@tromey.com>
715
716         PR python/18352;
717         * python/py-value.c (valpy_float): Allow conversions from int or
718         char.
719         (valpy_int, valpy_long): Allow conversions from float.
720
721 2018-09-23  Tom Tromey  <tom@tromey.com>
722
723         * ctf.c (ctf_start): Use gdb_fopen_cloexec.
724         * common/scoped_mmap.c (mmap_file): Use gdb_open_cloexec.
725
726 2018-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
727
728         * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Also recognize
729         __sighndlr.
730         * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Likewise.
731
732 2018-08-02  Jon Turney  <jon.turney@dronecode.org.uk>
733
734         * windows-nat.c (windows_nat_target::wait): Remove a spurious
735         target_terminal::ours().
736
737 2018-09-23  Simon Marchi  <simon.marchi@ericsson.com>
738
739         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type
740         of vl to ULONGEST.
741
742 2018-09-21  Yacov Simhony  <ysimhony@gmail.com>
743
744         * breakpoint.c (update_inserted_breakpoint_locations): Remove
745         redundant condition.
746
747 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
748
749         * proc-utils.h (PROC_CTL_WORD_TYPE): Remove.
750
751         * procfs.c: Don't check for PR_MODEL_NATIVE definition.
752         * sparc-sol2-nat.c: Likewise.  Remove Linux, __arch64__ references.
753         * sol-thread.c (ps_pdmodel): Don't guard definition.
754
755         * procfs.c: Fix formatting.
756
757         * procfs.c (sysset_t_alloc): Remove.
758         (create_procinfo): Use XNEW instead of sysset_t_alloc.
759         (procfs_debug_inferior): Likewise.
760         (procfs_set_exec_trap): Likewise.
761         (proc_set_traced_sysentry): Don't allocate argp dynamically.
762         (proc_set_traced_sysexit): Likewise.
763
764         * procfs.c (create_procinfo): Use xsnprintf to fix ARI warning.
765         (dead_procinfo): Likewise.
766         (proc_warn): Likewise.
767         (proc_error): Likewise.
768         (proc_get_LDT_entry): Likewise.
769         (do_attach): Likewise.
770         (procfs_target::pid_to_str): Likewise.
771         (iterate_over_mappings): Likewise.
772
773         * procfs.c (create_procinfo): Fix ARI warning.
774         (proc_get_status): Likewise.
775         (proc_stop_process): Likewise.
776         (proc_run_process): Likewise.
777         (proc_kill): Likewise.
778         (proc_get_LDT_entry): Likewise.
779         (procfs_find_LDT_entry): Likewise.
780         (proc_update_threads): Likewise.
781         (proc_iterate_over_threads): Likewise.
782         (do_attach): Likewise.
783         (procfs_xfer_memory): Likewise.
784         (invalidate_cache): Likewise.
785         (procfs_target::resume): Likewise.
786         (procfs_init_inferior): Likewise.
787         (procfs_set_exec_trap): Likewise.
788         (procfs_target::thread_alive): Likewise.
789         (procfs_target::pid_to_exec_file): Likewise.
790         (iterate_over_mappings): Likewise.
791         (procfs_target::make_corefile_notes): Likewise.
792         * sol-thread.c (sol_thread_target::thread_alive): Likewise.
793
794         * procfs.c (procfs_find_LDT_entry): Silence ARI warning.
795         (procfs_find_LDT_entry): Likewise.
796         * sol-thread.c (ps_lgetLDT): Likewise.
797
798 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
799
800         PR tdep/17903
801         * procfs.c (procfs_target): Declare pid_to_exec_file.
802         (procfs_target::pid_to_exec_file): New.
803
804 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
805
806         * auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1
807         renaming.
808         Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1,
809         AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2.
810
811 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
812
813         * i386-v4-nat.c (regmap, supply_gregset, fill_gregset)
814         (supply_fpregset, fill_fpregset): Move ...
815         * i386-sol2-nat.c [PR_MODEL_NATIVE != PR_MODEL_LP64]: ... here.
816         Remove HAVE_GREGSET_T, HAVE_FPREGET_T guards.
817         Remove references to ioctl-based procfs.
818         Include <sys/reg.h>.
819         Remove PR_MODEL_NATIVE guards.
820         * configure.nat <sol2, i386> (NATDEPFILES): Remove i386-v4-nat.o.
821         * Makefile.in (ALLDEPFILES): Remove i386-v4-nat.c.
822
823 2018-09-19  Xavier Roirand  <roirand@adacore.com>
824
825         PR gdb/20981:
826         * solib-darwin.c (darwin_get_dyld_bfd): New function.
827         (darwin_solib_get_all_image_info_addr_at_init): Update call.
828         (darwin_solib_create_inferior_hook): Handle unrelocated dyld.
829
830 2018-09-19  John Baldwin  <jhb@FreeBSD.org>
831
832         * fbsd-tdep.c (fbsd_print_sockaddr_in): Style fix.
833         (fbsd_print_sockaddr_in6): Likewise.
834
835 2018-09-19  Richard Bunt  <richard.bunt@arm.com>
836             Chris January  <chris.january@arm.com>
837
838         * eval.c (skip_undetermined_arglist): Skip argument list helper.
839         (evaluate_subexp_standard): Return a dummy type when
840         honoring EVAL_SKIP in OP_VAR_VALUE and handle skipping in the
841         OP_F77_UNDETERMINED_ARGLIST case.
842         * expression.h (enum noside): Update comment.
843
844 2018-09-19  George Vasick <george.vasick@oracle.com>
845
846         * solib-svr4.c (svr4_same_1): Also handle amd64 ld.so.1.
847
848 2018-09-19  Stefan Teleman <stefan.teleman@oracle.com>
849             April Chin <april.chin@oracle.com>
850             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
851
852         * procfs.c (MAX_PROC_NAME_SIZE): Allow for 6-digit PID_MAX and
853         uint_t lwpid_t.
854         (create_procinfo): Print pids in /proc without leading zeros.
855
856 2018-09-18  Sandra Loosemore  <sandra@codesourcery.com>
857
858         * nios2-tdep.c (nios2_gcc_target_options): New.
859         (nios2_gdb_arch_init): Install new hook.
860
861 2018-09-18  Simon Marchi  <simon.marchi@ericsson.com>
862
863         * patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch:
864         New file.
865         * update-gnulib.sh: Apply patch.
866         * configure: Re-generate.
867
868 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
869
870         * infcmd.c (_initialize_infcmd): Remove "running" from "info proc"
871         description.  Make "info proc" command descriptions more
872         consistent.
873
874 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
875
876         * NEWS: Mention 'info proc files' command.
877
878 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
879
880         * fbsd-nat.c (fbsd_nat_target::info_proc): List open file
881         descriptors for IP_FILES and IP_ALL.
882
883 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
884
885         * fbsd-tdep.c (KF_FLAGS, KF_OFFSET, KF_VNODE_TYPE, KF_SOCK_DOMAIN)
886         (KF_SOCK_TYPE, KF_SOCK_PROTOCOL, KF_SA_LOCAL, KF_SA_PEER)
887         (KINFO_FILE_TYPE_SOCKET, KINFO_FILE_TYPE_PIPE)
888         (KINFO_FILE_TYPE_FIFO, KINFO_FILE_TYPE_KQUEUE)
889         (KINFO_FILE_TYPE_CRYPTO, KINFO_FILE_TYPE_MQUEUE)
890         (KINFO_FILE_TYPE_SHM, KINFO_FILE_TYPE_SEM, KINFO_FILE_TYPE_PTS)
891         (KINFO_FILE_TYPE_PROCDESC, KINFO_FILE_FD_TYPE_ROOT)
892         (KINFO_FILE_FD_TYPE_JAIL, KINFO_FILE_FD_TYPE_TRACE)
893         (KINFO_FILE_FD_TYPE_CTTY, KINFO_FILE_FLAG_READ)
894         (KINFO_FILE_FLAG_WRITE, KINFO_FILE_FLAG_APPEND)
895         (KINFO_FILE_FLAG_ASYNC, KINFO_FILE_FLAG_FSYNC)
896         (KINFO_FILE_FLAG_NONBLOCK, KINFO_FILE_FLAG_DIRECT)
897         (KINFO_FILE_FLAG_HASLOCK, KINFO_FILE_FLAG_EXEC)
898         (KINFO_FILE_VTYPE_VREG, KINFO_FILE_VTYPE_VDIR)
899         (KINFO_FILE_VTYPE_VCHR, KINFO_FILE_VTYPE_VLNK)
900         (KINFO_FILE_VTYPE_VSOCK, KINFO_FILE_VTYPE_VFIFO, FBSD_AF_UNIX)
901         (FBSD_AF_INET, FBSD_AF_INET6, FBSD_SOCK_STREAM, FBSD_SOCK_DGRAM)
902         (FBSD_SOCK_SEQPACKET, FBSD_IPPROTO_ICMP, FBSD_IPPROTO_TCP)
903         (FBSD_IPPROTO_UDP, FBSD_IPPROTO_SCTP): New defines.
904         (struct fbsd_sockaddr_in, struct fbsd_sockaddr_in6)
905         (struct fbsd_sockaddr_un): New types.
906         (fbsd_file_fd, fbsd_file_type, fbsd_file_flags, fbsd_ipproto)
907         (fbsd_print_sockaddr_in, fbsd_print_sockaddr_in6)
908         (fbsd_info_proc_files_header, fbsd_info_proc_files_entry)
909         (fbsd_core_info_proc_files): New functions.
910         (fbsd_core_info_proc): List open file descriptors for IP_FILES and
911         IP_ALL.
912         * fbsd-tdep.h (fbsd_info_proc_files_header)
913         (fbsd_info_proc_files_entry): New.
914
915 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
916
917         * defs.h (enum info_proc_what) [IP_FILES]: New value.
918         * infcmd.c (info_proc_cmd_files): New function.
919         (_initialize_infcmd): Register 'info proc files' command.
920
921 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
922
923         * gnulib/aclocal-m4-deps.mk: Re-generate.
924         * gnulib/aclocal.m4: Re-generate.
925         * gnulib/config.in: Re-generate.
926         * gnulib/configure: Re-generate.
927         * gnulib/import/Makefile.am: Re-generate.
928         * gnulib/import/Makefile.in: Re-generate.
929         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
930         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
931         * gnulib/import/arpa_inet.in.h: New file.
932         * gnulib/import/inet_ntop.c: New file.
933         * gnulib/import/m4/arpa_inet_h.m4: New file.
934         * gnulib/import/m4/inet_ntop.m4: New file.
935         * gnulib/import/m4/netinet_in_h.m4: New file.
936         * gnulib/import/m4/socklen.m4: New file.
937         * gnulib/import/m4/sockpfaf.m4: New file.
938         * gnulib/import/m4/stdalign.m4: New file.
939         * gnulib/import/m4/sys_uio_h.m4: New file.
940         * gnulib/import/netinet_in.in.h: New file.
941         * gnulib/import/stdalign.in.h: New file.
942         * gnulib/import/sys_socket.c: New file.
943         * gnulib/import/sys_socket.in.h: New file.
944         * gnulib/import/sys_uio.in.h: New file.
945         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add inet_ntop
946         module.
947
948 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
949
950         * gnulib/aclocal-m4-deps.mk: New file.
951         * gnulib/update-gnulib.sh: Generate "aclocal-m4-deps.mk"
952         deterministically.
953
954 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
955
956         * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of
957         KVE_PATH.
958
959 2018-09-18  Tom Tromey  <tom@tromey.com>
960
961         * compile/compile-object-load.c (struct
962         link_hash_table_cleanup_data): Add constructor and destructor.
963         Use DISABLE_COPY_AND_ASSIGN.
964         (~link_hash_table_cleanup_data): Rename from
965         link_hash_table_free.  Now a destructor.
966         (copy_sections): Use gdb::unique_xmalloc_ptr.  Remove cleanups.
967
968 2018-09-18  Tom Tromey  <tom@tromey.com>
969
970         * compile/compile-object-run.c (do_module_cleanup): Use delete.
971         * compile/compile-object-load.c (struct munmap_list): Move to
972         header file.
973         (munmap_list::add): Rename from munmap_list_add; rewrite.
974         (munmap_list::~munmap_list): Rename from munmap_list_free.
975         (munmap_listp_free_cleanup): Remove.
976         (compile_object_load): Update.
977         * compile/compile-object-load.h (struct munmap_list): Move from
978         compile-object-load.c.  Rewrite.
979
980 2018-09-18  Alan Hayward  <alan.hayward@arm.com>
981
982         * aarch64-tdep.c (pass_in_v): Use register size.
983         (aarch64_extract_return_value): Likewise.
984         (aarch64_store_return_value): Likewise.
985
986 2018-09-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
987
988         * utils.c (dump_core) [HAVE_SETRLIMIT]: Cast RLIM_INFINITY to
989         rlim_t.
990
991 2018-09-17  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
992
993         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter):
994         Fix short help line.
995
996 2018-09-17  Tom Tromey  <tom@tromey.com>
997
998         PR python/20445:
999         * configure: Rebuild.
1000         * configure.ac: Conditionally use -DNDEBUG for Python.
1001
1002 2018-09-17  Tom Tromey  <tom@tromey.com>
1003
1004         * configure: Rebuild.
1005         * configure.ac: Use gmp as a library dependency when checking for
1006         mpfr.
1007
1008 2018-09-17  Pedro Alves  <palves@redhat.com>
1009
1010         * python/py-inferior.c (find_inferior_object): Delete.
1011
1012 2018-09-17  Simon Marchi  <simon.marchi@ericsson.com>
1013
1014         * compile/compile-cplus-types.c
1015         (compile_cplus_instance::enter_scope): Don't use new_scope after
1016         std::move.
1017
1018 2018-09-17  Tom Tromey  <tom@tromey.com>
1019
1020         * common/pathstuff.c (get_standard_cache_dir): Use
1021         ~/Library/Caches on macOS.
1022         * common/pathstuff.h (get_standard_cache_dir): Update comment.
1023
1024 2018-09-17  Simon Marchi  <simon.marchi@polymtl.ca>
1025
1026         PR python/23669
1027         * breakpoint.c (commands_cmd_element): New.
1028         (_initialize_breakpoint): Assign commands_cmd_element.
1029         * breakpoint.h (commands_cmd_element): New.
1030         * cli/cli-script.c (while_cmd_element, if_command,
1031         define_cmd_element): New.
1032         (command_name_equals): Remove.
1033         (process_next_line): Compare commands by pointer, not by name.
1034         (_initialize_cli_script): Assign the various cmd_list_element
1035         variables.
1036         * compile/compile.c (compile_cmd_element): New.
1037         (_initialize_compile): Assign compile_cmd_element.
1038         * compile/compile.h (compile_cmd_element): New.
1039         * guile/guile.c (guile_cmd_element): New.
1040         (install_gdb_commands): Assign guile_cmd_element.
1041         * guile/guile.h (guile_cmd_element): New.
1042         * python/python.c (python_cmd_element): New.
1043         (_initialize_python): Assign python_cmd_element.
1044         * python/python.h (python_cmd_element): New.
1045         * tracepoint.c (while_stepping_cmd_element): New.
1046         (_initialize_tracepoint): Assign while_stepping_cmd_element.
1047         * tracepoint.h (while_stepping_cmd_element): New.
1048
1049 2018-09-17  Tom Tromey  <tom@tromey.com>
1050
1051         * infrun.c (save_infcall_suspend_state): Return
1052         infcall_suspend_state_up.
1053         (save_infcall_control_state): Return infcall_control_state_up.
1054         * inferior.h (save_infcall_suspend_state)
1055         (save_infcall_control_state): Declare later.  Return unique
1056         pointers.
1057
1058 2018-09-17  Tom Tromey  <tom@tromey.com>
1059
1060         * infrun.c (struct stop_context): Declare constructor,
1061         destructor, "changed" method.
1062         (stop_context::stop_context): Rename from save_stop_context.
1063         (stop_context::~stop_context): Rename from
1064         release_stop_context_cleanup.
1065         (normal_stop): Update.
1066         (stop_context::changed): Rename from stop_context_changed.  Return
1067         bool.
1068
1069 2018-09-17  Tom Tromey  <tom@tromey.com>
1070
1071         * inferior.h (struct infcall_suspend_state_deleter): New.
1072         (infcall_suspend_state_up): New typedef.
1073         (struct infcall_control_state_deleter): New.
1074         (infcall_control_state_up): New typedef.
1075         (make_cleanup_restore_infcall_suspend_state)
1076         (make_cleanup_restore_infcall_control_state): Don't declare.
1077         * infcall.c (call_function_by_hand_dummy): Update.
1078         * infrun.c (do_restore_infcall_suspend_state_cleanup)
1079         (make_cleanup_restore_infcall_suspend_state): Remove.
1080         (do_restore_infcall_control_state_cleanup)
1081         (make_cleanup_restore_infcall_control_state): Remove.
1082
1083 2018-09-17  Tom Tromey  <tom@tromey.com>
1084
1085         * gdbthread.h (struct thread_control_state): Add initializer.
1086         (class thread_info) <control>: Remove initializer.
1087         * inferior.h (struct inferior_control_state): Add initializer.
1088         (class inferior) <control>: Remove initializer.
1089         (exit_inferior_1): Update.
1090         * infrun.c (struct infcall_control_state): Add constructors.
1091         (save_infcall_control_state): Use new.
1092         (restore_infcall_control_state, discard_infcall_control_state):
1093         Use delete.
1094
1095 2018-09-17  Tom Tromey  <tom@tromey.com>
1096
1097         * infrun.c (struct infcall_suspend_state) <registers>: Now a
1098         unique_ptr.
1099         <siginfo_data>: Now a unique_xmalloc_ptr.
1100         (save_infcall_suspend_state, restore_infcall_suspend_state)
1101         (discard_infcall_suspend_state)
1102         (get_infcall_suspend_state_regcache): Update.
1103
1104 2018-09-17  Tom Tromey  <tom@tromey.com>
1105
1106         * gdbthread.h (struct thread_suspend_state): Add initializers.
1107         (class thread_info) <suspend>: Remove initializer.
1108         * infrun.c (struct infcall_suspend_state): Add initializers.
1109         (save_infcall_suspend_state): Use new.
1110         (discard_infcall_suspend_state): Use delete.
1111
1112 2018-09-16  Tom Tromey  <tom@tromey.com>
1113
1114         * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
1115         Remove.
1116         * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to
1117         rvalue reference.  Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG.
1118         (py_varobj_iter_new): Likewise.
1119         (py_varobj_get_iterator): Use gdbpy_ref.
1120
1121 2018-09-16  Tom Tromey  <tom@tromey.com>
1122
1123         * python/py-threadevent.c (py_get_event_thread): Simplify.
1124         * python/py-inferior.c (infpy_thread_from_thread_handle):
1125         Return immediately after calling thread_to_thread_object.  Use
1126         Py_RETURN_NONE.
1127         (thread_to_thread_object): Set the exception on a NULL return.
1128
1129 2018-09-16  Simon Marchi  <simon.marchi@polymtl.ca>
1130
1131         * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS.
1132
1133 2018-09-16  Tom Tromey  <tom@tromey.com>
1134
1135         * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
1136         Remove.
1137
1138 2018-09-16  Tom Tromey  <tom@tromey.com>
1139
1140         * python/python-internal.h (thread_to_thread_object): Change
1141         return type.
1142         * python/py-inferior.c (thread_to_thread_object): Return a new
1143         reference.
1144         (infpy_thread_from_thread_handle): Update.
1145         * python/py-infthread.c (gdbpy_selected_thread): Update.
1146         * python/py-stopevent.c (create_stop_event_object): Update.
1147         * python/py-threadevent.c (py_get_event_thread): Return a new
1148         reference.
1149         (py_get_event_thread): Update.
1150         * python/py-event.h (py_get_event_thread): Change return type.
1151         * python/py-continueevent.c (create_continue_event_object):
1152         Update.
1153
1154 2018-09-16  Tom Tromey  <tom@tromey.com>
1155
1156         * python/py-progspace.c (pspy_get_objfiles): Update.
1157         * python/python-internal.h (objfile_to_objfile_object): Change
1158         return type.
1159         * python/py-newobjfileevent.c (create_new_objfile_event_object):
1160         Update.
1161         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
1162         Update.
1163         * python/python.c (gdbpy_get_current_objfile): Update.
1164         (gdbpy_objfiles): Update.
1165         * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
1166         Update.
1167         (objfile_to_objfile_object): Return a new reference.
1168         * python/py-symtab.c (stpy_get_objfile): Update.
1169         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
1170         Update.
1171
1172 2018-09-16  Tom Tromey  <tom@tromey.com>
1173
1174         * python/py-inferior.c (infpy_get_progspace): Update.
1175         * python/python-internal.h (pspace_to_pspace_object): Change
1176         return type.
1177         * python/py-newobjfileevent.c
1178         (create_clear_objfiles_event_object): Update.
1179         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
1180         Update.
1181         * python/python.c (gdbpy_get_current_progspace): Update.
1182         (gdbpy_progspaces): Update.
1183         * python/py-progspace.c (pspace_to_pspace_object): Return a new
1184         reference.
1185         * python/py-objfile.c (objfpy_get_progspace): Update.
1186         * python/py-prettyprint.c (find_pretty_printer_from_progspace):
1187         Update.
1188
1189 2018-09-16  Tom Tromey  <tom@tromey.com>
1190
1191         * python/lib/gdb/__init__.py (current_progspace, objfiles)
1192         (solib_name, block_for_pc, find_pc_line): New functions.
1193         (execute_unwinders): Update.
1194         * python/py-block.c (gdbpy_block_for_pc): Remove.
1195         * python/py-inferior.c (infpy_get_progspace): New function.
1196         (inferior_object_getset) <progspace>: Add.
1197         * python/py-progspace.c (pspy_objfiles): Rewrite.
1198         (pspy_solib_name, pspy_block_for_pc)
1199         (pspy_find_pc_line, pspy_is_valid): New functions.
1200         (progspace_object_methods): Add entries for solib_name,
1201         block_for_pc, find_pc_line, is_valid.
1202         * python/python-internal.h (gdbpy_block_for_pc)
1203         (build_objfiles_list): Don't declare.
1204         * python/python.c: Don't include solib.h.
1205         (gdbpy_solib_name, gdbpy_find_pc_line)
1206         (gdbpy_get_current_progspace, build_objfiles_list)
1207         (gdbpy_objfiles): Remove.
1208         (GdbMethods) <current_progspace, objfiles, block_for_pc,
1209         solib_name, find_pc_line>: Remove entries.
1210
1211 2018-09-16  Tom Tromey  <tom@tromey.com>
1212
1213         * top.c (new_ui_command): Use GNU style for metasyntactic
1214         variables.
1215         * breakpoint.c (stopat_command): Use GNU style for metasyntactic
1216         variables.
1217         * maint.c (maintenance_translate_address): Remove "<>" around
1218         text.
1219         * interps.c (interpreter_exec_cmd): Use GNU style for
1220         metasyntactic variables.
1221         * nto-procfs.c (nto_procfs_target_info): Use GNU style for
1222         metasyntactic variables.
1223         * tracepoint.c (tfind_range_command): Use GNU style for
1224         metasyntactic variables.
1225         (tfind_outside_command): Likewise.
1226         (_initialize_tracepoint): Likewise.
1227         * remote.c (extended_remote_target::create_inferior): Use GNU
1228         style for metasyntactic variables.
1229         * sparc64-tdep.c (adi_examine_command): Use GNU style for
1230         metasyntactic variables.
1231         (adi_assign_command): Likewise.
1232
1233 2018-09-16  Tom Tromey  <tom@tromey.com>
1234
1235         * disasm.c (show_disassembler_options_sfunc): Use GNU style for
1236         metasyntactic variables.  Print message if no disassembler options
1237         are available.
1238
1239 2018-09-15  Tom Tromey  <tom@tromey.com>
1240
1241         * infcmd.c (get_inferior_args): Return const char *.
1242         * inferior.h (get_inferior_args): Return type now const.
1243         * linux-tdep.c (linux_fill_prpsinfo): Update.
1244         * procfs.c (procfs_target::make_corefile_notes): Update.
1245
1246 2018-09-07  Tom Tromey  <tom@tromey.com>
1247
1248         * python/python.c (execute_gdb_command): Call bpstat_do_actions
1249         inside the TRY.
1250
1251 2018-09-14  Sandra Loosemore  <sandra@codesourcery.com>
1252
1253         * nios2-tdep.c (nios2_type_align): New.
1254         (nios2_gdb_arch_init): Install type_align hook.
1255
1256 2018-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1257
1258         * eval.c (fake_method::fake_method): Call xzalloc directly for a
1259         type that is neither object file owned, nor gdbarch owned.
1260         * gdbtypes.c (get_type_gdbarch): Add an assert that returned
1261         gdbarch is non-NULL.
1262         (alloc_type_instance): Allocate non-objfile owned types on the
1263         gdbarch obstack.
1264         (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA
1265         using TYPE_ALLOC to ensure memory is allocated on the correct
1266         obstack.
1267         * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile
1268         obstack, or the gdbarch obstack.
1269         (TYPE_ZALLOC): Rewrite using TYPE_ALLOC.
1270
1271 2018-09-14  Tom Tromey  <tom@tromey.com>
1272
1273         * infcall.c (call_function_by_hand_dummy): Remove unnecessary
1274         block.
1275
1276 2018-09-14  Tom Tromey  <tom@tromey.com>
1277
1278         * nat/fork-inferior.c (get_startup_shell): Remove "static".
1279
1280 2018-09-13  Tom Tromey  <tom@tromey.com>
1281
1282         * python/py-inferior.c (infpy_thread_from_thread_handle): Now
1283         static.
1284
1285 2018-09-13  Tom Tromey  <tom@tromey.com>
1286
1287         * exec.c (try_open_exec_file): Use std::string.
1288
1289 2018-09-13  Tom Tromey  <tom@tromey.com>
1290
1291         * utils.h (gdb_bfd_errmsg): Return std::string.
1292         * exec.c (exec_file_attach): Update.
1293         * compile/compile-object-load.c (compile_object_load): Update.
1294         * utils.c (gdb_bfd_errmsg): Return std::string.
1295
1296 2018-09-13  Tom Tromey  <tom@tromey.com>
1297
1298         * procfs.c (struct procinfo_deleter): New.
1299         (procinfo_up): New typedef.
1300         (do_destroy_procinfo_cleanup): Remove.
1301         (procfs_target::info_proc): Use procinfo_up.  Remove cleanups.
1302
1303 2018-09-13  Tom Tromey  <tom@tromey.com>
1304
1305         * source.c (add_path): Use gdb::unique_xmalloc_ptr.
1306
1307 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
1308 2018-09-13  Tom Tromey  <tom@tromey.com>
1309
1310         * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro.
1311         (pspy_get_objfiles): New function.
1312         (progspace_object_methods): New.
1313         (pspace_object_type): Add tp_methods callback.
1314         * python/python-internal.h (build_objfiles_list): New
1315         declaration.
1316         * python/python.c (build_objfiles_list): New function.
1317         (gdbpy_objfiles): Implement using build_objfiles_list.
1318         * NEWS: Mention the Progspace.objfiles method.
1319
1320 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
1321
1322         * python/py-inferior.c (infpy_get_progspace): New function.
1323         (inferior_object_getset): Add progspace property.
1324         * NEWS: Mention the new property.
1325
1326 2018-09-13  Tom Tromey  <tom@tromey.com>
1327
1328         PR rust/23650:
1329         * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
1330
1331 2018-09-13  Tom Tromey  <tom@tromey.com>
1332
1333         PR rust/23626:
1334         * rust-lang.c (rust_enum_variant): Now static.
1335         (rust_empty_enum_p): New function.
1336         (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def):
1337         Handle empty enum.
1338
1339 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
1340
1341         * python/py-inferior.c (infpy_repr): New.
1342         (inferior_object_type): Register infpy_repr.
1343         * python/py-objfile.c (objfpy_repr): New.
1344         (objfile_object_type): Register objfpy_repr.
1345
1346 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
1347
1348         * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable.
1349
1350 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
1351
1352         * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment
1353         typo.
1354
1355 2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1356
1357         * common/common-utils.c: Don't include '<sys/stat.h>'.
1358         (is_regular_file): Move to...
1359         * common/filestuff.c (is_regular_file): ... here.
1360         * common/common-utils.h (is_regular_file): Move to...
1361         * common/filestuff.h (is_regular_file): ... here.
1362
1363 2018-09-12  Simon Marchi  <simon.marchi@ericsson.com>
1364
1365         * skip.c (debug_skip): New variable.
1366         (skiplist_entry::do_skip_file_p): Add debug output.
1367         (skiplist_entry::do_skip_gfile_p): Likewise.
1368         (skiplist_entry::skip_function_p): Likewise.
1369         (_initialize_step_skip): Create debug command.
1370         * NEWS: Mention set/show debug skip.
1371
1372 2018-09-11  Xavier Roirand  <roirand@adacore.com>
1373
1374         * darwin-nat.c (should_disable_startup_with_shell):
1375         New function.
1376         (darwin_nat_target::create_inferior): Add call.
1377
1378 2018-09-11  Xavier Roirand  <roirand@adacore.com>
1379
1380         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
1381         inf_port, msg_state>: Initialize.
1382         (struct darwin_thread_info) <signaled, single_step>: Change
1383         type and initialize.
1384         (struct darwin_thread_info) <event>: Initialize.
1385
1386 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
1387
1388         PR gdb/23555
1389         PR gdb/23558
1390         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
1391         guesses.
1392
1393 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
1394
1395         Revert:
1396         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
1397
1398         PR gdb/23555
1399         PR gdb/23558
1400         * gnulib/aclocal.m4: Regenerate.
1401         * gnulib/config.in: Regenerate.
1402         * gnulib/configure: Regenerate.
1403         * gnulib/import/Makefile.am: Update.
1404         * gnulib/import/Makefile.in: Update.
1405         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
1406         * gnulib/import/_Noreturn.h: ... this.
1407         * gnulib/import/alloca.in.h: Update.
1408         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
1409         * gnulib/import/arg-nonnull.h: ... this.
1410         * gnulib/import/assure.h: Update.
1411         * gnulib/import/at-func.c: Update.
1412         * gnulib/import/basename-lgpl.c: Update.
1413         * gnulib/import/extra/snippet/c++defs.h: Rename to...
1414         * gnulib/import/c++defs.h: ... this.
1415         * gnulib/import/canonicalize-lgpl.c: Update.
1416         * gnulib/import/cdefs.h: Update.
1417         * gnulib/import/chdir-long.c: Update.
1418         * gnulib/import/chdir-long.h: Update.
1419         * gnulib/import/cloexec.c: Update.
1420         * gnulib/import/cloexec.h: Update.
1421         * gnulib/import/close.c: Update.
1422         * gnulib/import/closedir.c: Update.
1423         * gnulib/import/config.charset: Update.
1424         * gnulib/import/dirent-private.h: Update.
1425         * gnulib/import/dirent.in.h: Update.
1426         * gnulib/import/dirfd.c: Update.
1427         * gnulib/import/dirname-lgpl.c: Update.
1428         * gnulib/import/dirname.h: Update.
1429         * gnulib/import/dosname.h: Update.
1430         * gnulib/import/dup-safer-flag.c: Update.
1431         * gnulib/import/dup-safer.c: Update.
1432         * gnulib/import/dup.c: Update.
1433         * gnulib/import/dup2.c: Update.
1434         * gnulib/import/errno.in.h: Update.
1435         * gnulib/import/error.c: Update.
1436         * gnulib/import/error.h: Update.
1437         * gnulib/import/exitfail.c: Update.
1438         * gnulib/import/exitfail.h: Update.
1439         * gnulib/import/extra/update-copyright: Update.
1440         * gnulib/import/fchdir.c: Update.
1441         * gnulib/import/fcntl.c: Update.
1442         * gnulib/import/fcntl.in.h: Update.
1443         * gnulib/import/fd-hook.c: Update.
1444         * gnulib/import/fd-hook.h: Update.
1445         * gnulib/import/fd-safer-flag.c: Update.
1446         * gnulib/import/fd-safer.c: Update.
1447         * gnulib/import/fdopendir.c: Update.
1448         * gnulib/import/filename.h: Update.
1449         * gnulib/import/filenamecat-lgpl.c: Update.
1450         * gnulib/import/filenamecat.h: Update.
1451         * gnulib/import/flexmember.h: Update.
1452         * gnulib/import/float+.h: Update.
1453         * gnulib/import/float.c: Update.
1454         * gnulib/import/float.in.h: Update.
1455         * gnulib/import/fnmatch.c: Update.
1456         * gnulib/import/fnmatch.in.h: Update.
1457         * gnulib/import/fnmatch_loop.c: Update.
1458         * gnulib/import/fpucw.h: Update.
1459         * gnulib/import/frexp.c: Update.
1460         * gnulib/import/frexpl.c: Update.
1461         * gnulib/import/fstat.c: Update.
1462         * gnulib/import/fstatat.c: Update.
1463         * gnulib/import/getcwd-lgpl.c: Update.
1464         * gnulib/import/getcwd.c: Update.
1465         * gnulib/import/getdtablesize.c: Update.
1466         * gnulib/import/getlogin_r.c: Update.
1467         * gnulib/import/getprogname.c: Update.
1468         * gnulib/import/getprogname.h: Update.
1469         * gnulib/import/gettext.h: Update.
1470         * gnulib/import/gettimeofday.c: Update.
1471         * gnulib/import/glob-libc.h: Update.
1472         * gnulib/import/glob.c: Update.
1473         * gnulib/import/glob.in.h: Update.
1474         * gnulib/import/glob_internal.h: Update.
1475         * gnulib/import/glob_pattern_p.c: Update.
1476         * gnulib/import/globfree.c: Update.
1477         * gnulib/import/hard-locale.c: Update.
1478         * gnulib/import/hard-locale.h: Update.
1479         * gnulib/import/intprops.h: Update.
1480         * gnulib/import/inttypes.in.h: Update.
1481         * gnulib/import/isnan.c: Update.
1482         * gnulib/import/isnand-nolibm.h: Update.
1483         * gnulib/import/isnand.c: Update.
1484         * gnulib/import/isnanl-nolibm.h: Update.
1485         * gnulib/import/isnanl.c: Update.
1486         * gnulib/import/itold.c: Update.
1487         * gnulib/import/libc-config.h: Update.
1488         * gnulib/import/limits.in.h: Update.
1489         * gnulib/import/localcharset.c: Update.
1490         * gnulib/import/localcharset.h: Update.
1491         * gnulib/import/localtime-buffer.c: Update.
1492         * gnulib/import/localtime-buffer.h: Update.
1493         * gnulib/import/lstat.c: Update.
1494         * gnulib/import/m4/00gnulib.m4: Update.
1495         * gnulib/import/m4/__inline.m4: Update.
1496         * gnulib/import/m4/absolute-header.m4: Update.
1497         * gnulib/import/m4/alloca.m4: Update.
1498         * gnulib/import/m4/builtin-expect.m4: Update.
1499         * gnulib/import/m4/canonicalize.m4: Update.
1500         * gnulib/import/m4/chdir-long.m4: Update.
1501         * gnulib/import/m4/close.m4: Update.
1502         * gnulib/import/m4/closedir.m4: Update.
1503         * gnulib/import/m4/configmake.m4: Update.
1504         * gnulib/import/m4/d-ino.m4: Update.
1505         * gnulib/import/m4/d-type.m4: Update.
1506         * gnulib/import/m4/dirent_h.m4: Update.
1507         * gnulib/import/m4/dirfd.m4: Update.
1508         * gnulib/import/m4/dirname.m4: Update.
1509         * gnulib/import/m4/double-slash-root.m4: Update.
1510         * gnulib/import/m4/dup.m4: Update.
1511         * gnulib/import/m4/dup2.m4: Update.
1512         * gnulib/import/m4/eealloc.m4: Update.
1513         * gnulib/import/m4/environ.m4: Update.
1514         * gnulib/import/m4/errno_h.m4: Update.
1515         * gnulib/import/m4/error.m4: Update.
1516         * gnulib/import/m4/exponentd.m4: Update.
1517         * gnulib/import/m4/exponentl.m4: Update.
1518         * gnulib/import/m4/extensions.m4: Update.
1519         * gnulib/import/m4/extern-inline.m4: Update.
1520         * gnulib/import/m4/fchdir.m4: Update.
1521         * gnulib/import/m4/fcntl-o.m4: Update.
1522         * gnulib/import/m4/fcntl.m4: Update.
1523         * gnulib/import/m4/fcntl_h.m4: Update.
1524         * gnulib/import/m4/fdopendir.m4: Update.
1525         * gnulib/import/m4/filenamecat.m4: Update.
1526         * gnulib/import/m4/flexmember.m4: Update.
1527         * gnulib/import/m4/float_h.m4: Update.
1528         * gnulib/import/m4/fnmatch.m4: Update.
1529         * gnulib/import/m4/fnmatch_h.m4: Update.
1530         * gnulib/import/m4/fpieee.m4: Update.
1531         * gnulib/import/m4/frexp.m4: Update.
1532         * gnulib/import/m4/frexpl.m4: Update.
1533         * gnulib/import/m4/fstat.m4: Update.
1534         * gnulib/import/m4/fstatat.m4: Update.
1535         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1536         * gnulib/import/m4/getcwd-path-max.m4: Update.
1537         * gnulib/import/m4/getcwd.m4: Update.
1538         * gnulib/import/m4/getdtablesize.m4: Update.
1539         * gnulib/import/m4/getlogin.m4: Update.
1540         * gnulib/import/m4/getlogin_r.m4: Update.
1541         * gnulib/import/m4/getpagesize.m4: Update.
1542         * gnulib/import/m4/getprogname.m4: Update.
1543         * gnulib/import/m4/gettimeofday.m4: Update.
1544         * gnulib/import/m4/glibc21.m4: Update.
1545         * gnulib/import/m4/glob.m4: Update.
1546         * gnulib/import/m4/glob_h.m4: Update.
1547         * gnulib/import/m4/gnulib-cache.m4: Update.
1548         * gnulib/import/m4/gnulib-common.m4: Update.
1549         * gnulib/import/m4/gnulib-comp.m4: Update.
1550         * gnulib/import/m4/gnulib-tool.m4: Update.
1551         * gnulib/import/m4/hard-locale.m4: Update.
1552         * gnulib/import/m4/include_next.m4: Update.
1553         * gnulib/import/m4/inttypes-pri.m4: Update.
1554         * gnulib/import/m4/inttypes.m4: Update.
1555         * gnulib/import/m4/isnand.m4: Update.
1556         * gnulib/import/m4/isnanl.m4: Update.
1557         * gnulib/import/m4/largefile.m4: Update.
1558         * gnulib/import/m4/limits-h.m4: Update.
1559         * gnulib/import/m4/localcharset.m4: Update.
1560         * gnulib/import/m4/locale-fr.m4: Update.
1561         * gnulib/import/m4/locale-ja.m4: Update.
1562         * gnulib/import/m4/locale-zh.m4: Update.
1563         * gnulib/import/m4/localtime-buffer.m4: Update.
1564         * gnulib/import/m4/longlong.m4: Update.
1565         * gnulib/import/m4/lstat.m4: Update.
1566         * gnulib/import/m4/malloc.m4: Update.
1567         * gnulib/import/m4/malloca.m4: Update.
1568         * gnulib/import/m4/math_h.m4: Update.
1569         * gnulib/import/m4/mbrtowc.m4: Update.
1570         * gnulib/import/m4/mbsinit.m4: Update.
1571         * gnulib/import/m4/mbsrtowcs.m4: Update.
1572         * gnulib/import/m4/mbstate_t.m4: Update.
1573         * gnulib/import/m4/memchr.m4: Update.
1574         * gnulib/import/m4/memmem.m4: Update.
1575         * gnulib/import/m4/mempcpy.m4: Update.
1576         * gnulib/import/m4/memrchr.m4: Update.
1577         * gnulib/import/m4/mkdir.m4: Update.
1578         * gnulib/import/m4/mkstemp.m4: Update.
1579         * gnulib/import/m4/mmap-anon.m4: Update.
1580         * gnulib/import/m4/mode_t.m4: Update.
1581         * gnulib/import/m4/msvc-inval.m4: Update.
1582         * gnulib/import/m4/msvc-nothrow.m4: Update.
1583         * gnulib/import/m4/multiarch.m4: Update.
1584         * gnulib/import/m4/nocrash.m4: Update.
1585         * gnulib/import/m4/off_t.m4: Update.
1586         * gnulib/import/m4/onceonly.m4: Update.
1587         * gnulib/import/m4/open-cloexec.m4: Update.
1588         * gnulib/import/m4/open.m4: Update.
1589         * gnulib/import/m4/openat.m4: Update.
1590         * gnulib/import/m4/opendir.m4: Update.
1591         * gnulib/import/m4/pathmax.m4: Update.
1592         * gnulib/import/m4/rawmemchr.m4: Update.
1593         * gnulib/import/m4/readdir.m4: Update.
1594         * gnulib/import/m4/readlink.m4: Update.
1595         * gnulib/import/m4/realloc.m4: Update.
1596         * gnulib/import/m4/rename.m4: Update.
1597         * gnulib/import/m4/rewinddir.m4: Update.
1598         * gnulib/import/m4/rmdir.m4: Update.
1599         * gnulib/import/m4/save-cwd.m4: Update.
1600         * gnulib/import/m4/secure_getenv.m4: Update.
1601         * gnulib/import/m4/setenv.m4: Update.
1602         * gnulib/import/m4/signal_h.m4: Update.
1603         * gnulib/import/m4/ssize_t.m4: Update.
1604         * gnulib/import/m4/stat-time.m4: Update.
1605         * gnulib/import/m4/stat.m4: Update.
1606         * gnulib/import/m4/std-gnu11.m4: Update.
1607         * gnulib/import/m4/stdbool.m4: Update.
1608         * gnulib/import/m4/stddef_h.m4: Update.
1609         * gnulib/import/m4/stdint.m4: Update.
1610         * gnulib/import/m4/stdio_h.m4: Update.
1611         * gnulib/import/m4/stdlib_h.m4: Update.
1612         * gnulib/import/m4/strchrnul.m4: Update.
1613         * gnulib/import/m4/strdup.m4: Update.
1614         * gnulib/import/m4/strerror.m4: Update.
1615         * gnulib/import/m4/string_h.m4: Update.
1616         * gnulib/import/m4/strstr.m4: Update.
1617         * gnulib/import/m4/strtok_r.m4: Update.
1618         * gnulib/import/m4/sys_socket_h.m4: Update.
1619         * gnulib/import/m4/sys_stat_h.m4: Update.
1620         * gnulib/import/m4/sys_time_h.m4: Update.
1621         * gnulib/import/m4/sys_types_h.m4: Update.
1622         * gnulib/import/m4/tempname.m4: Update.
1623         * gnulib/import/m4/time_h.m4: Update.
1624         * gnulib/import/m4/unistd-safer.m4: Update.
1625         * gnulib/import/m4/unistd_h.m4: Update.
1626         * gnulib/import/m4/warn-on-use.m4: Update.
1627         * gnulib/import/m4/wchar_h.m4: Update.
1628         * gnulib/import/m4/wchar_t.m4: Update.
1629         * gnulib/import/m4/wctype_h.m4: Update.
1630         * gnulib/import/m4/wint_t.m4: Update.
1631         * gnulib/import/malloc.c: Update.
1632         * gnulib/import/malloc/scratch_buffer.h: Update.
1633         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1634         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1635         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1636         * gnulib/import/malloca.c: Update.
1637         * gnulib/import/malloca.h: Update.
1638         * gnulib/import/malloca.valgrind: Update.
1639         * gnulib/import/math.in.h: Update.
1640         * gnulib/import/mbrtowc.c: Update.
1641         * gnulib/import/mbsinit.c: Update.
1642         * gnulib/import/mbsrtowcs-impl.h: Update.
1643         * gnulib/import/mbsrtowcs-state.c: Update.
1644         * gnulib/import/mbsrtowcs.c: Update.
1645         * gnulib/import/memchr.c: Update.
1646         * gnulib/import/memmem.c: Update.
1647         * gnulib/import/mempcpy.c: Update.
1648         * gnulib/import/memrchr.c: Update.
1649         * gnulib/import/mkdir.c: Update.
1650         * gnulib/import/mkstemp.c: Update.
1651         * gnulib/import/msvc-inval.c: Update.
1652         * gnulib/import/msvc-inval.h: Update.
1653         * gnulib/import/msvc-nothrow.c: Update.
1654         * gnulib/import/msvc-nothrow.h: Update.
1655         * gnulib/import/open.c: Update.
1656         * gnulib/import/openat-die.c: Update.
1657         * gnulib/import/openat-priv.h: Update.
1658         * gnulib/import/openat-proc.c: Update.
1659         * gnulib/import/openat.c: Update.
1660         * gnulib/import/openat.h: Update.
1661         * gnulib/import/opendir.c: Update.
1662         * gnulib/import/pathmax.h: Update.
1663         * gnulib/import/pipe-safer.c: Update.
1664         * gnulib/import/rawmemchr.c: Update.
1665         * gnulib/import/readdir.c: Update.
1666         * gnulib/import/readlink.c: Update.
1667         * gnulib/import/realloc.c: Update.
1668         * gnulib/import/ref-add.sin: Update.
1669         * gnulib/import/ref-del.sin: Update.
1670         * gnulib/import/rename.c: Update.
1671         * gnulib/import/rewinddir.c: Update.
1672         * gnulib/import/rmdir.c: Update.
1673         * gnulib/import/same-inode.h: Update.
1674         * gnulib/import/save-cwd.c: Update.
1675         * gnulib/import/save-cwd.h: Update.
1676         * gnulib/import/scratch_buffer.h: Update.
1677         * gnulib/import/secure_getenv.c: Update.
1678         * gnulib/import/setenv.c: Update.
1679         * gnulib/import/signal.in.h: Update.
1680         * gnulib/import/stat-time.c: Update.
1681         * gnulib/import/stat-time.h: Update.
1682         * gnulib/import/stat-w32.c: Update.
1683         * gnulib/import/stat-w32.h: Update.
1684         * gnulib/import/stat.c: Update.
1685         * gnulib/import/stdbool.in.h: Update.
1686         * gnulib/import/stddef.in.h: Update.
1687         * gnulib/import/stdint.in.h: Update.
1688         * gnulib/import/stdio.in.h: Update.
1689         * gnulib/import/stdlib.in.h: Update.
1690         * gnulib/import/str-two-way.h: Update.
1691         * gnulib/import/strchrnul.c: Update.
1692         * gnulib/import/strdup.c: Update.
1693         * gnulib/import/streq.h: Update.
1694         * gnulib/import/strerror-override.c: Update.
1695         * gnulib/import/strerror-override.h: Update.
1696         * gnulib/import/strerror.c: Update.
1697         * gnulib/import/string.in.h: Update.
1698         * gnulib/import/stripslash.c: Update.
1699         * gnulib/import/strnlen1.c: Update.
1700         * gnulib/import/strnlen1.h: Update.
1701         * gnulib/import/strstr.c: Update.
1702         * gnulib/import/strtok_r.c: Update.
1703         * gnulib/import/sys_stat.in.h: Update.
1704         * gnulib/import/sys_time.in.h: Update.
1705         * gnulib/import/sys_types.in.h: Update.
1706         * gnulib/import/tempname.c: Update.
1707         * gnulib/import/tempname.h: Update.
1708         * gnulib/import/time.in.h: Update.
1709         * gnulib/import/unistd--.h: Update.
1710         * gnulib/import/unistd-safer.h: Update.
1711         * gnulib/import/unistd.in.h: Update.
1712         * gnulib/import/unsetenv.c: Update.
1713         * gnulib/import/verify.h: Update.
1714         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1715         * gnulib/import/wchar.in.h: Update.
1716         * gnulib/import/wctype.in.h: Update.
1717         * gnulib/import/xalloc-oversized.h: Update.
1718         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1719         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1720
1721 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
1722
1723         * record-btrace.c (get_thread_current_frame): Remove
1724         old_inferior_ptid.
1725
1726 2018-09-10  Jerome Guitton  <guitton@adacore.com>
1727
1728         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
1729         with check_tag to 1 if and only if the type is tagged and the
1730         component being searched cannot been found in the current
1731         view. Otherwise, always call ada_to_fixed_type with
1732         check_tag to 0.
1733
1734 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1735
1736         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
1737         declaration.
1738         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
1739         * ada-varobj.c (ada_varobj_get_number_of_children,
1740         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
1741
1742 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1743
1744         * ada-valprint.c (ada_value_print): Use type instead of
1745         enclosing type.
1746
1747 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1748
1749         * ada-lang.c (ada_value_subscript): Handle case when parameter is
1750         an array of access to unconstrained array.
1751
1752 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1753
1754         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
1755         (ada_check_typedef): Use it.
1756
1757 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1758
1759         * ada-varobj.c (ada_varobj_describe_struct_child)
1760         (ada_varobj_describe_child): Handle union case like struct one.
1761
1762 2018-09-10  Tom Tromey  <tom@tromey.com>
1763
1764         PR python/18380:
1765         * python/python.c (_initialize_python): Make example in "python"
1766         help work in Python 3.
1767
1768 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
1769
1770         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
1771         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
1772         $(EXEEXT) to the script, as it is not a program.
1773
1774 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
1775
1776         * python/py-prettyprint.c (pretty_print_one_value): Return
1777         gdbpy_ref<>.
1778         (print_string_repr): Adjust.
1779         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
1780         * python/python-internal.h (apply_varobj_pretty_printer): Return
1781         gdbpy_ref<>.
1782         * varobj.c (varobj_value_get_print_value): Adjust.
1783
1784 2018-09-08  Tom Tromey  <tom@tromey.com>
1785
1786         PR python/16047:
1787         * python/py-prettyprint.c (pretty_print_one_value): Check for
1788         to_string method.
1789
1790 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1791
1792         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
1793         replace_operator_with_call.
1794
1795 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1796
1797         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
1798
1799 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1800
1801         * ada-typeprint.c (print_range): Print the bounds using TYPE
1802         rather than its TYPE_TARGET_TYPE.
1803
1804 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1805
1806         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
1807         call to ada_to_fixed_value_create.
1808
1809 2018-09-08  Jerome Guitton  <guitton@adacore.com>
1810
1811         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
1812
1813 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1814
1815         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
1816         by calls to error.
1817
1818 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1819
1820         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
1821         Move update of loop variable "fi".
1822
1823 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1824
1825         * ada-lang.c (value_assign_to_component): In the case of
1826         big-endian targets, extract the bits of the given VAL
1827         using an src_offset of zero if container is not a scalar.
1828
1829 2018-09-06  Simon Ser  <contact@emersion.fr>
1830
1831         PR gdb/23105
1832         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
1833         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1834         * fbsd-tdep.c (fbsd_make_note_desc): New.
1835         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
1836         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
1837         * target.h (enum target_object) Add FreeBSD-specific
1838         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1839
1840 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1841
1842         * compile/compile-c.h (generate_c_for_variable_locations):
1843         Change reference to pointer.
1844         * compile/compile-c-support.c (compile_program) <compute>:
1845         Likewise.
1846         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
1847         (generate_c_for_for_one_variable): Likewise
1848         (generate_c_for_variable_locations): Likewise
1849         * compile/compile-c-types.c (compile_c_instance::convert_type):
1850         Likewise
1851         * compile/compile-cplus-symbols.c (convert_one_symbol):
1852         std::move the scope passed to enter_scope.
1853         * compile/compile-cplus-types.c
1854         (compile_cplus_instance::enter_scope): Make parameter
1855         rvalue-reference.
1856         (compile_cplus_instance::new_scope): Change reference to
1857         pointer.
1858         (compile_cplus_instance::convert_type): Likewise
1859         (compile_cplus_convert_typedef): std::move the scope passed to
1860         enter_scope.
1861         (compile_cplus_convert_struct_or_union): Likewise.
1862         (compile_cplus_convert_enum): Likewise.
1863         (compile_cplus_convert_namespace): Likewise.
1864         * compile/compile-cplus.h (compile_cplus_instance)
1865         <enter_scope>: Make parameter rvalue-reference.
1866         * compile/compile-internal.h (compile_instance)
1867         <get_cached_type>: Likewise
1868         * compile/compile-loc2c.c (push): Likewise
1869         (pushf): Likewise
1870         (unary): Likewise
1871         (binary): Likewise
1872         (print_label): Likewise
1873         (pushf_register_address): Likewise
1874         (pushf_register): Likewise
1875         (do_compile_dwarf_expr_to_c): Likewise
1876         (compile_dwarf_expr_to_c): Likewise
1877         (compile_dwarf_bounds_to_c): Likewise
1878         * compile/compile.c (compile_instance::get_cached_type):
1879         Likewise
1880         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
1881         (compile_dwarf_bounds_to_c): Likewise
1882         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
1883         (dwarf2_compile_property_to_c): Likewise
1884         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
1885         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
1886         Likewise
1887
1888 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1889
1890         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
1891         * tui/tui-data.c (init_content_element): Don't initialize it.
1892
1893 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1894
1895         * tui/tui-data.h (struct tui_win_info)
1896         <detail::opaque>: Remove.
1897         * tui/tui-data.c (init_win_info): Remove assignment.
1898
1899 2018-09-05  Tom Tromey  <tom@tromey.com>
1900
1901         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
1902         -Wformat-nonliteral.
1903         * target-float.c (host_float_ops<T>::to_string)
1904         (host_float_ops<T>::from_string): Use
1905         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1906         * configure: Rebuild.
1907
1908 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
1909
1910         * printcmd.c (printf_c_string): Use
1911         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1912         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
1913
1914 2018-09-05  Tom Tromey  <tom@tromey.com>
1915
1916         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
1917
1918 2018-09-05  Tom de Vries  <tdevries@suse.de>
1919
1920         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
1921         with resolve_abstract_p == true.
1922         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
1923         defaulting to false. Propagate resolve_abstract_p to
1924         dwarf2_fetch_die_loc_sect_off.
1925         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
1926         parameter, defaulting to false.
1927         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
1928         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
1929         parameter.
1930         * dwarf2read.h (struct die_info): Forward-declare.
1931         (die_info_ptr): New typedef.
1932         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
1933
1934 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
1935
1936         GDB 8.2 released.
1937
1938 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
1939             Pedro Alves  <palves@redhat.com>
1940
1941         * gnulib/Makefile.in (aclocal_m4_deps): Move to
1942         "aclocal-m4-deps.mk".  Include file here.
1943         $(srcdir)/aclocal.m4: Add "configure.ac".
1944         * gnulib/aclocal-m4-deps.mk: New file.
1945         * gnulib/update-gnulib.sh: Automatically update
1946         "aclocal-m4-deps.mk".
1947
1948 2018-09-04  Tom Tromey  <tom@tromey.com>
1949
1950         * configure: Rebuild.
1951         * configure.ac: Remove multi-ice code.
1952
1953 2018-09-04  Tom Tromey  <tom@tromey.com>
1954
1955         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
1956         (ada-exp.o): Update.
1957
1958 2018-09-04  Tom Tromey  <tom@tromey.com>
1959
1960         * Makefile.in (printcmd.o, target-float.o): Remove.
1961         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
1962
1963 2018-09-04  Tom Tromey  <tom@tromey.com>
1964
1965         * gnulib/Makefile.in: Remove obsolete comment.
1966         * Makefile.in: Remove obsolete comment.
1967
1968 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
1969
1970         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
1971         line with '+'.
1972
1973 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1974
1975         * riscv-tdep.c: Add 'prologue-value.h' include.
1976         (struct riscv_unwind_cache): New struct.
1977         (riscv_debug_unwinder): New global.
1978         (riscv_scan_prologue): Update arguments, capture register details
1979         from prologue scan.
1980         (riscv_skip_prologue): Reformat arguments line, move end of
1981         prologue calculation into riscv_scan_prologue.
1982         (riscv_frame_cache): Update return type, create
1983         riscv_unwind_cache, scan the prologue, and fill in remaining cache
1984         details.
1985         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
1986         (riscv_frame_prev_register): Use the trad_frame within the
1987         riscv_unwind_cache.
1988         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
1989         flag.
1990
1991 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
1992
1993         * trad-frame.h (trad_frame_set_realreg): Declare.
1994         (trad_frame_set_addr): Declare.
1995         * trad-frame.c (trad_frame_set_realreg): Define new function.
1996         (trad_frame_set_addr): Define new function.
1997         (trad_frame_set_reg_realreg): Use new function.
1998         (trad_frame_set_reg_addr): Use new function.
1999
2000 2018-09-01  Keith Seitz  <keiths@redhat.com>
2001
2002         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
2003         pulongest instead of "%lld".
2004         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
2005         ATTRIBUTE_UNUSED.
2006
2007 2018-08-31  Tom Tromey  <tom@tromey.com>
2008
2009         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
2010         variant part type.
2011
2012 2018-08-31  Pedro Alves  <palves@redhat.com>
2013
2014         * gdbarch.h: Regenerate.
2015
2016 2018-08-31  Pedro Alves  <palves@redhat.com>
2017
2018         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
2019         * target.h (Hardware watchpoint interfaces): Describe
2020         continuable/steppable/non-steppable watchpoints.
2021         * gdbarch.h, gdbarch.c: Regenerate.
2022
2023 2018-08-31  Pedro Alves  <palves@redhat.com>
2024
2025         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
2026         Delete.
2027         * s390-linux-nat.c
2028         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
2029         * target.h (target_ops::have_continuable_watchpoint): Delete.
2030         (target_have_continuable_watchpoint): Delete.
2031         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
2032         * target-delegates.c: Regenerate.
2033
2034 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
2035
2036         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
2037         the files present in "gnulib/import/m4/".
2038
2039 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2040
2041         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
2042         c.sw, c.swsp, and c.sdsp.
2043
2044 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2045
2046         * riscv-tdep.c (struct riscv_inferior_data): Delete.
2047         (riscv_read_misa_reg): Don't cache value read into inferior data.
2048         (riscv_new_inferior_data): Delete.
2049         (riscv_inferior_data_cleanup): Delete.
2050         (riscv_inferior_data): Delete.
2051         (riscv_invalidate_inferior_data): Delete.
2052         (_initialize_riscv_tdep): Remove initialisation of inferior data.
2053
2054 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
2055
2056         * compile/compile-cplus-types.c
2057         (compile_cplus_instance::leave_scope): Take the address of scope
2058         object.
2059         (compile_cplus_instance::convert_qualified_base): Compare quals
2060         to 0.
2061
2062 2018-08-30  Keith Seitz  <keiths@redhat.com>
2063
2064         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
2065         Use "%s" and host_address_to_string instead of "%p" in printf.
2066
2067 2018-08-29  Keith Seitz  <keiths@redhat.com>
2068
2069         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
2070         and compile-cplus-types.c.
2071         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
2072         * c-lang.c (cplus_language_defn): Set C++ compile functions.
2073         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
2074         Declare.
2075         * compile/compile-c-support.c: Include compile-cplus.h.
2076         (load_libcompile): Templatize.
2077         (get_compile_context): "New" function.
2078         (c_get_compile_context): Use get_compile_context.
2079         (cplus_get_compile_context): New function.
2080         (cplus_push_user_expression, cplus_pop_user_expression)
2081         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
2082         (cplus_compute_program): Define new structs/functions.
2083         * compile/compile-cplus-symmbols.c: New file.
2084         * compile/compile-cplus-types.c: New file.
2085         * compile/compile-cplus.h: New file.
2086         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
2087         Declare.
2088         * compile/compile-object-load.c (get_out_value_type): Use
2089         strncmp_iw when comparing symbol names.
2090         (compile_object_load): Add mst_bss and mst_data.
2091         * compile/compile.c (_initialize_compile): Remove
2092         -Wno-implicit-function-declaration from `compile_args'.
2093         * compile/gcc-cp-plugin.h: New file.
2094         * NEWS: Mention C++ compile support and new debug options.
2095
2096 2018-08-29  Keith Seitz  <keiths@redhat.com>
2097
2098         * linespec.c (collect_info::add_symbol): Make virtual.
2099         (struct symbol_searcher_collect_info): New struct.
2100         (symbol_searcher::find_all_symbols): New method.
2101         * symtab.h (class symbol_searcher): New class.
2102
2103 2018-08-29  Keith Seitz  <keiths@redhat.com>
2104
2105         * linespec.c (struct linespec) <function_symbols, label_symbols>:
2106         Change to vector of block_symbol.  Update all users.
2107         (struct collect_info) <symbols>: Likewise.
2108         (collect_info::add_symbol): Take block_symbol as argument.
2109         Update all callers.
2110         (decode_compound_collector) <m_symbols>: Change type to vector
2111         of block_symbol.  Update all users.
2112         (decode_compound_collector::operator ()): Change parameter type
2113         to block_symbol.
2114         (find_method, find_function_symbols, find_linespec_symbols)
2115         (find_label_symbols_in_block, find_label_symbols): Change symbol
2116         vectors to block_symbol vectors.
2117         * symtab.h (symbol_found_callback_ftype): Change parameter type to
2118         block_symbol.
2119
2120 2018-08-29  Keith Seitz  <keiths@redhat.com>
2121
2122         * linespec.c (symbolp): Remove typedef and VEC definitions.
2123         (bound_minimal_symbol_d): Likewise.
2124
2125 2018-08-29  Keith Seitz  <keiths@redhat.com>
2126
2127         * linespec.c (decode_compound_collector::decode_compound_collector):
2128         Remove initialization for `m_symtabs'.
2129         (decode_compound_collector::release_symbols): Change return type
2130         to std::vector.  Update all callers.
2131         (class decode_compound_collector) <m_symbols>: Change type to
2132         std::vector.
2133         (lookup_prefix_sym): Change return type to std::vector.  Update all
2134         callers.
2135         (compare_symbols): Remove.
2136         (std_compare_symbols): Rename to `compare_symbols'.
2137         (find_method): Change `sym_classes' parameter to std::vector.
2138         Update all callers.  Use std::sort to sort sym_classes.
2139         (find_linespec_symbols): Remove cleanup.
2140
2141 2018-08-29  Keith Seitz  <keiths@redhat.com>
2142
2143         * linespec.c (struct linespec) <minimal_symbols>: Change type to
2144         std::vector.  Update all users.
2145         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
2146         (struct collect_info) <minimal_symbols>: Likewise.
2147         (compare_msymbols): Return bool.  Change parameters to const
2148         bound_minimal_symbol references.
2149         (find_method, find_function_symbols, find_linespec_symbols): Change
2150         `minsyms' parameter to std::vector.  Update all callers.
2151
2152 2018-08-29  Keith Seitz  <keiths@redhat.com>
2153
2154         * linespec.c (struct linespec) <label_symbols>: Change type to
2155         std::vector.  Update all users.
2156         (find_label_symbols_in_block): Change `result' parameter to
2157         std::vector.  Update all callers.
2158         (find_label_symbols): Return std::vector.  Update all callers.
2159
2160 2018-08-29  Keith Seitz  <keiths@redhat.com>
2161
2162         * linespec.c (struct linespec) <function_symbols>: Change type to
2163         std::vector.  Update all users.
2164         (struct collect_info) <function_symbols>: Likewise.
2165         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
2166         (std_compare_symbols): New function.
2167         (find_method, find_function_symbols, find_linespec_symbols)
2168         (find_label_symbols_in_block): Change `symbols' parameter to
2169         std::vector.  Update all callers.
2170         (find_label_symbols): Likewise for `function_symbols' and
2171         `label_funcs_ret'.
2172
2173 2018-08-29  Keith Seitz  <keiths@redhat.com>
2174
2175         * linespec.c (symtab_vector_up): Define.
2176         (struct linespec) <file_symtabs>: Change type to std::vector *.
2177         Update all uses.
2178         (struct collect_info) <file_symtabs>: Likewise.
2179         (collect_symtabs_from_filename): Return symtab_vector_up.
2180         Update all callers.
2181         (decode_objc): Remove cleanup.
2182         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
2183         (symtab_collector::release_symtabs): Return symtab_vector_up.
2184         Update all callers.
2185         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
2186         Update all users.
2187         (collect_symtabs_from_filename, symtabs_from_filename): Return
2188         symtab_vector_up.  Update all callers.
2189
2190 2018-08-29  Tom Tromey  <tom@tromey.com>
2191
2192         * csky-tdep.c (csky_analyze_prologue): Use
2193         core_addr_to_string_nz.
2194
2195 2018-08-29  Tom Tromey  <tom@tromey.com>
2196
2197         * windows-nat.c (struct xlate_exception) <them>: Change type to
2198         DWORD.
2199         (xlate): Fix formatting.  Remove last entry.
2200         (struct xlate_exception, xlate): Comment out.
2201         (windows_nat_target::resume): Use ranged for.
2202
2203 2018-08-29  Jim Wilson  <jimw@sifive.com>
2204
2205         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
2206         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
2207         of NT_PRFPREG.
2208         (riscv_linux_nat_target::store_registers): Likewise.
2209
2210 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
2211
2212         PR gdb/23555
2213         PR gdb/23558
2214         * gnulib/aclocal.m4: Regenerate.
2215         * gnulib/config.in: Regenerate.
2216         * gnulib/configure: Regenerate.
2217         * gnulib/import/Makefile.am: Update.
2218         * gnulib/import/Makefile.in: Update.
2219         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
2220         * gnulib/import/_Noreturn.h: ... this.
2221         * gnulib/import/alloca.in.h: Update.
2222         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
2223         * gnulib/import/arg-nonnull.h: ... this.
2224         * gnulib/import/assure.h: Update.
2225         * gnulib/import/at-func.c: Update.
2226         * gnulib/import/basename-lgpl.c: Update.
2227         * gnulib/import/extra/snippet/c++defs.h: Rename to...
2228         * gnulib/import/c++defs.h: ... this.
2229         * gnulib/import/canonicalize-lgpl.c: Update.
2230         * gnulib/import/cdefs.h: Update.
2231         * gnulib/import/chdir-long.c: Update.
2232         * gnulib/import/chdir-long.h: Update.
2233         * gnulib/import/cloexec.c: Update.
2234         * gnulib/import/cloexec.h: Update.
2235         * gnulib/import/close.c: Update.
2236         * gnulib/import/closedir.c: Update.
2237         * gnulib/import/config.charset: Update.
2238         * gnulib/import/dirent-private.h: Update.
2239         * gnulib/import/dirent.in.h: Update.
2240         * gnulib/import/dirfd.c: Update.
2241         * gnulib/import/dirname-lgpl.c: Update.
2242         * gnulib/import/dirname.h: Update.
2243         * gnulib/import/dosname.h: Update.
2244         * gnulib/import/dup-safer-flag.c: Update.
2245         * gnulib/import/dup-safer.c: Update.
2246         * gnulib/import/dup.c: Update.
2247         * gnulib/import/dup2.c: Update.
2248         * gnulib/import/errno.in.h: Update.
2249         * gnulib/import/error.c: Update.
2250         * gnulib/import/error.h: Update.
2251         * gnulib/import/exitfail.c: Update.
2252         * gnulib/import/exitfail.h: Update.
2253         * gnulib/import/extra/update-copyright: Update.
2254         * gnulib/import/fchdir.c: Update.
2255         * gnulib/import/fcntl.c: Update.
2256         * gnulib/import/fcntl.in.h: Update.
2257         * gnulib/import/fd-hook.c: Update.
2258         * gnulib/import/fd-hook.h: Update.
2259         * gnulib/import/fd-safer-flag.c: Update.
2260         * gnulib/import/fd-safer.c: Update.
2261         * gnulib/import/fdopendir.c: Update.
2262         * gnulib/import/filename.h: Update.
2263         * gnulib/import/filenamecat-lgpl.c: Update.
2264         * gnulib/import/filenamecat.h: Update.
2265         * gnulib/import/flexmember.h: Update.
2266         * gnulib/import/float+.h: Update.
2267         * gnulib/import/float.c: Update.
2268         * gnulib/import/float.in.h: Update.
2269         * gnulib/import/fnmatch.c: Update.
2270         * gnulib/import/fnmatch.in.h: Update.
2271         * gnulib/import/fnmatch_loop.c: Update.
2272         * gnulib/import/fpucw.h: Update.
2273         * gnulib/import/frexp.c: Update.
2274         * gnulib/import/frexpl.c: Update.
2275         * gnulib/import/fstat.c: Update.
2276         * gnulib/import/fstatat.c: Update.
2277         * gnulib/import/getcwd-lgpl.c: Update.
2278         * gnulib/import/getcwd.c: Update.
2279         * gnulib/import/getdtablesize.c: Update.
2280         * gnulib/import/getlogin_r.c: Update.
2281         * gnulib/import/getprogname.c: Update.
2282         * gnulib/import/getprogname.h: Update.
2283         * gnulib/import/gettext.h: Update.
2284         * gnulib/import/gettimeofday.c: Update.
2285         * gnulib/import/glob-libc.h: Update.
2286         * gnulib/import/glob.c: Update.
2287         * gnulib/import/glob.in.h: Update.
2288         * gnulib/import/glob_internal.h: Update.
2289         * gnulib/import/glob_pattern_p.c: Update.
2290         * gnulib/import/globfree.c: Update.
2291         * gnulib/import/hard-locale.c: Update.
2292         * gnulib/import/hard-locale.h: Update.
2293         * gnulib/import/intprops.h: Update.
2294         * gnulib/import/inttypes.in.h: Update.
2295         * gnulib/import/isnan.c: Update.
2296         * gnulib/import/isnand-nolibm.h: Update.
2297         * gnulib/import/isnand.c: Update.
2298         * gnulib/import/isnanl-nolibm.h: Update.
2299         * gnulib/import/isnanl.c: Update.
2300         * gnulib/import/itold.c: Update.
2301         * gnulib/import/libc-config.h: Update.
2302         * gnulib/import/limits.in.h: Update.
2303         * gnulib/import/localcharset.c: Update.
2304         * gnulib/import/localcharset.h: Update.
2305         * gnulib/import/localtime-buffer.c: Update.
2306         * gnulib/import/localtime-buffer.h: Update.
2307         * gnulib/import/lstat.c: Update.
2308         * gnulib/import/m4/00gnulib.m4: Update.
2309         * gnulib/import/m4/__inline.m4: Update.
2310         * gnulib/import/m4/absolute-header.m4: Update.
2311         * gnulib/import/m4/alloca.m4: Update.
2312         * gnulib/import/m4/builtin-expect.m4: Update.
2313         * gnulib/import/m4/canonicalize.m4: Update.
2314         * gnulib/import/m4/chdir-long.m4: Update.
2315         * gnulib/import/m4/close.m4: Update.
2316         * gnulib/import/m4/closedir.m4: Update.
2317         * gnulib/import/m4/configmake.m4: Update.
2318         * gnulib/import/m4/d-ino.m4: Update.
2319         * gnulib/import/m4/d-type.m4: Update.
2320         * gnulib/import/m4/dirent_h.m4: Update.
2321         * gnulib/import/m4/dirfd.m4: Update.
2322         * gnulib/import/m4/dirname.m4: Update.
2323         * gnulib/import/m4/double-slash-root.m4: Update.
2324         * gnulib/import/m4/dup.m4: Update.
2325         * gnulib/import/m4/dup2.m4: Update.
2326         * gnulib/import/m4/eealloc.m4: Update.
2327         * gnulib/import/m4/environ.m4: Update.
2328         * gnulib/import/m4/errno_h.m4: Update.
2329         * gnulib/import/m4/error.m4: Update.
2330         * gnulib/import/m4/exponentd.m4: Update.
2331         * gnulib/import/m4/exponentl.m4: Update.
2332         * gnulib/import/m4/extensions.m4: Update.
2333         * gnulib/import/m4/extern-inline.m4: Update.
2334         * gnulib/import/m4/fchdir.m4: Update.
2335         * gnulib/import/m4/fcntl-o.m4: Update.
2336         * gnulib/import/m4/fcntl.m4: Update.
2337         * gnulib/import/m4/fcntl_h.m4: Update.
2338         * gnulib/import/m4/fdopendir.m4: Update.
2339         * gnulib/import/m4/filenamecat.m4: Update.
2340         * gnulib/import/m4/flexmember.m4: Update.
2341         * gnulib/import/m4/float_h.m4: Update.
2342         * gnulib/import/m4/fnmatch.m4: Update.
2343         * gnulib/import/m4/fnmatch_h.m4: Update.
2344         * gnulib/import/m4/fpieee.m4: Update.
2345         * gnulib/import/m4/frexp.m4: Update.
2346         * gnulib/import/m4/frexpl.m4: Update.
2347         * gnulib/import/m4/fstat.m4: Update.
2348         * gnulib/import/m4/fstatat.m4: Update.
2349         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
2350         * gnulib/import/m4/getcwd-path-max.m4: Update.
2351         * gnulib/import/m4/getcwd.m4: Update.
2352         * gnulib/import/m4/getdtablesize.m4: Update.
2353         * gnulib/import/m4/getlogin.m4: Update.
2354         * gnulib/import/m4/getlogin_r.m4: Update.
2355         * gnulib/import/m4/getpagesize.m4: Update.
2356         * gnulib/import/m4/getprogname.m4: Update.
2357         * gnulib/import/m4/gettimeofday.m4: Update.
2358         * gnulib/import/m4/glibc21.m4: Update.
2359         * gnulib/import/m4/glob.m4: Update.
2360         * gnulib/import/m4/glob_h.m4: Update.
2361         * gnulib/import/m4/gnulib-cache.m4: Update.
2362         * gnulib/import/m4/gnulib-common.m4: Update.
2363         * gnulib/import/m4/gnulib-comp.m4: Update.
2364         * gnulib/import/m4/gnulib-tool.m4: Update.
2365         * gnulib/import/m4/hard-locale.m4: Update.
2366         * gnulib/import/m4/include_next.m4: Update.
2367         * gnulib/import/m4/inttypes-pri.m4: Update.
2368         * gnulib/import/m4/inttypes.m4: Update.
2369         * gnulib/import/m4/isnand.m4: Update.
2370         * gnulib/import/m4/isnanl.m4: Update.
2371         * gnulib/import/m4/largefile.m4: Update.
2372         * gnulib/import/m4/limits-h.m4: Update.
2373         * gnulib/import/m4/localcharset.m4: Update.
2374         * gnulib/import/m4/locale-fr.m4: Update.
2375         * gnulib/import/m4/locale-ja.m4: Update.
2376         * gnulib/import/m4/locale-zh.m4: Update.
2377         * gnulib/import/m4/localtime-buffer.m4: Update.
2378         * gnulib/import/m4/longlong.m4: Update.
2379         * gnulib/import/m4/lstat.m4: Update.
2380         * gnulib/import/m4/malloc.m4: Update.
2381         * gnulib/import/m4/malloca.m4: Update.
2382         * gnulib/import/m4/math_h.m4: Update.
2383         * gnulib/import/m4/mbrtowc.m4: Update.
2384         * gnulib/import/m4/mbsinit.m4: Update.
2385         * gnulib/import/m4/mbsrtowcs.m4: Update.
2386         * gnulib/import/m4/mbstate_t.m4: Update.
2387         * gnulib/import/m4/memchr.m4: Update.
2388         * gnulib/import/m4/memmem.m4: Update.
2389         * gnulib/import/m4/mempcpy.m4: Update.
2390         * gnulib/import/m4/memrchr.m4: Update.
2391         * gnulib/import/m4/mkdir.m4: Update.
2392         * gnulib/import/m4/mkstemp.m4: Update.
2393         * gnulib/import/m4/mmap-anon.m4: Update.
2394         * gnulib/import/m4/mode_t.m4: Update.
2395         * gnulib/import/m4/msvc-inval.m4: Update.
2396         * gnulib/import/m4/msvc-nothrow.m4: Update.
2397         * gnulib/import/m4/multiarch.m4: Update.
2398         * gnulib/import/m4/nocrash.m4: Update.
2399         * gnulib/import/m4/off_t.m4: Update.
2400         * gnulib/import/m4/onceonly.m4: Update.
2401         * gnulib/import/m4/open-cloexec.m4: Update.
2402         * gnulib/import/m4/open.m4: Update.
2403         * gnulib/import/m4/openat.m4: Update.
2404         * gnulib/import/m4/opendir.m4: Update.
2405         * gnulib/import/m4/pathmax.m4: Update.
2406         * gnulib/import/m4/rawmemchr.m4: Update.
2407         * gnulib/import/m4/readdir.m4: Update.
2408         * gnulib/import/m4/readlink.m4: Update.
2409         * gnulib/import/m4/realloc.m4: Update.
2410         * gnulib/import/m4/rename.m4: Update.
2411         * gnulib/import/m4/rewinddir.m4: Update.
2412         * gnulib/import/m4/rmdir.m4: Update.
2413         * gnulib/import/m4/save-cwd.m4: Update.
2414         * gnulib/import/m4/secure_getenv.m4: Update.
2415         * gnulib/import/m4/setenv.m4: Update.
2416         * gnulib/import/m4/signal_h.m4: Update.
2417         * gnulib/import/m4/ssize_t.m4: Update.
2418         * gnulib/import/m4/stat-time.m4: Update.
2419         * gnulib/import/m4/stat.m4: Update.
2420         * gnulib/import/m4/std-gnu11.m4: Update.
2421         * gnulib/import/m4/stdbool.m4: Update.
2422         * gnulib/import/m4/stddef_h.m4: Update.
2423         * gnulib/import/m4/stdint.m4: Update.
2424         * gnulib/import/m4/stdio_h.m4: Update.
2425         * gnulib/import/m4/stdlib_h.m4: Update.
2426         * gnulib/import/m4/strchrnul.m4: Update.
2427         * gnulib/import/m4/strdup.m4: Update.
2428         * gnulib/import/m4/strerror.m4: Update.
2429         * gnulib/import/m4/string_h.m4: Update.
2430         * gnulib/import/m4/strstr.m4: Update.
2431         * gnulib/import/m4/strtok_r.m4: Update.
2432         * gnulib/import/m4/sys_socket_h.m4: Update.
2433         * gnulib/import/m4/sys_stat_h.m4: Update.
2434         * gnulib/import/m4/sys_time_h.m4: Update.
2435         * gnulib/import/m4/sys_types_h.m4: Update.
2436         * gnulib/import/m4/tempname.m4: Update.
2437         * gnulib/import/m4/time_h.m4: Update.
2438         * gnulib/import/m4/unistd-safer.m4: Update.
2439         * gnulib/import/m4/unistd_h.m4: Update.
2440         * gnulib/import/m4/warn-on-use.m4: Update.
2441         * gnulib/import/m4/wchar_h.m4: Update.
2442         * gnulib/import/m4/wchar_t.m4: Update.
2443         * gnulib/import/m4/wctype_h.m4: Update.
2444         * gnulib/import/m4/wint_t.m4: Update.
2445         * gnulib/import/malloc.c: Update.
2446         * gnulib/import/malloc/scratch_buffer.h: Update.
2447         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
2448         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
2449         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
2450         * gnulib/import/malloca.c: Update.
2451         * gnulib/import/malloca.h: Update.
2452         * gnulib/import/malloca.valgrind: Update.
2453         * gnulib/import/math.in.h: Update.
2454         * gnulib/import/mbrtowc.c: Update.
2455         * gnulib/import/mbsinit.c: Update.
2456         * gnulib/import/mbsrtowcs-impl.h: Update.
2457         * gnulib/import/mbsrtowcs-state.c: Update.
2458         * gnulib/import/mbsrtowcs.c: Update.
2459         * gnulib/import/memchr.c: Update.
2460         * gnulib/import/memmem.c: Update.
2461         * gnulib/import/mempcpy.c: Update.
2462         * gnulib/import/memrchr.c: Update.
2463         * gnulib/import/mkdir.c: Update.
2464         * gnulib/import/mkstemp.c: Update.
2465         * gnulib/import/msvc-inval.c: Update.
2466         * gnulib/import/msvc-inval.h: Update.
2467         * gnulib/import/msvc-nothrow.c: Update.
2468         * gnulib/import/msvc-nothrow.h: Update.
2469         * gnulib/import/open.c: Update.
2470         * gnulib/import/openat-die.c: Update.
2471         * gnulib/import/openat-priv.h: Update.
2472         * gnulib/import/openat-proc.c: Update.
2473         * gnulib/import/openat.c: Update.
2474         * gnulib/import/openat.h: Update.
2475         * gnulib/import/opendir.c: Update.
2476         * gnulib/import/pathmax.h: Update.
2477         * gnulib/import/pipe-safer.c: Update.
2478         * gnulib/import/rawmemchr.c: Update.
2479         * gnulib/import/readdir.c: Update.
2480         * gnulib/import/readlink.c: Update.
2481         * gnulib/import/realloc.c: Update.
2482         * gnulib/import/ref-add.sin: Update.
2483         * gnulib/import/ref-del.sin: Update.
2484         * gnulib/import/rename.c: Update.
2485         * gnulib/import/rewinddir.c: Update.
2486         * gnulib/import/rmdir.c: Update.
2487         * gnulib/import/same-inode.h: Update.
2488         * gnulib/import/save-cwd.c: Update.
2489         * gnulib/import/save-cwd.h: Update.
2490         * gnulib/import/scratch_buffer.h: Update.
2491         * gnulib/import/secure_getenv.c: Update.
2492         * gnulib/import/setenv.c: Update.
2493         * gnulib/import/signal.in.h: Update.
2494         * gnulib/import/stat-time.c: Update.
2495         * gnulib/import/stat-time.h: Update.
2496         * gnulib/import/stat-w32.c: Update.
2497         * gnulib/import/stat-w32.h: Update.
2498         * gnulib/import/stat.c: Update.
2499         * gnulib/import/stdbool.in.h: Update.
2500         * gnulib/import/stddef.in.h: Update.
2501         * gnulib/import/stdint.in.h: Update.
2502         * gnulib/import/stdio.in.h: Update.
2503         * gnulib/import/stdlib.in.h: Update.
2504         * gnulib/import/str-two-way.h: Update.
2505         * gnulib/import/strchrnul.c: Update.
2506         * gnulib/import/strdup.c: Update.
2507         * gnulib/import/streq.h: Update.
2508         * gnulib/import/strerror-override.c: Update.
2509         * gnulib/import/strerror-override.h: Update.
2510         * gnulib/import/strerror.c: Update.
2511         * gnulib/import/string.in.h: Update.
2512         * gnulib/import/stripslash.c: Update.
2513         * gnulib/import/strnlen1.c: Update.
2514         * gnulib/import/strnlen1.h: Update.
2515         * gnulib/import/strstr.c: Update.
2516         * gnulib/import/strtok_r.c: Update.
2517         * gnulib/import/sys_stat.in.h: Update.
2518         * gnulib/import/sys_time.in.h: Update.
2519         * gnulib/import/sys_types.in.h: Update.
2520         * gnulib/import/tempname.c: Update.
2521         * gnulib/import/tempname.h: Update.
2522         * gnulib/import/time.in.h: Update.
2523         * gnulib/import/unistd--.h: Update.
2524         * gnulib/import/unistd-safer.h: Update.
2525         * gnulib/import/unistd.in.h: Update.
2526         * gnulib/import/unsetenv.c: Update.
2527         * gnulib/import/verify.h: Update.
2528         * gnulib/import/extra/snippet/warn-on-use.h: Update.
2529         * gnulib/import/wchar.in.h: Update.
2530         * gnulib/import/wctype.in.h: Update.
2531         * gnulib/import/xalloc-oversized.h: Update.
2532         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
2533         "53e2c179f26a890fa6685af4b6c1397ee370433b".
2534
2535 2018-08-16  Gary Benson <gbenson@redhat.com>
2536
2537         PR gdb/13000:
2538         * gdb/main.c (captured_main_1): Exit with nonzero status
2539         in batch mode if the last command to be executed failed.
2540         * NEWS: Mention the above.
2541
2542 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
2543
2544         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
2545         end of warning message.
2546
2547 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2548
2549         PR gdb/22943:
2550         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
2551         (aarch64_extract_return_value): Use
2552         aapcs_is_vfp_call_or_return_candidate.
2553         (aarch64_return_in_memory): Likewise.
2554         (aarch64_store_return_value): Likewise.
2555
2556 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2557
2558         * aarch64-tdep.c
2559         (aapcs_is_vfp_call_or_return_candidate): Make static
2560         (pass_in_v_or_stack): Remove function.
2561         (pass_in_v_vfp_candidate): New function.
2562         (aarch64_push_dummy_call): Check for float register candidates.
2563
2564 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2565
2566         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
2567         (aapcs_is_vfp_call_or_return_candidate_1): New function.
2568         (aapcs_is_vfp_call_or_return_candidate): Likewise.
2569
2570 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
2571
2572         PR build/23399
2573         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
2574         (struct ipa_sym_addresses): Rename to...
2575         (struct ipa_sym_addresses_common): ... this.
2576         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
2577
2578 2018-08-28  Tom Tromey  <tom@tromey.com>
2579
2580         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2581         (token_fifo): Now a std::vector.
2582         (yylex, c_parse): Update.
2583         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2584         (token_fifo): Now a std::vector.
2585         (yylex, d_parse): Update.
2586         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2587         (token_fifo): Now a std::vector.
2588         (yylex, go_parse): Update.
2589
2590 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
2591
2592         * parser-defs.h (struct type_stack) <elements>: Change type to
2593         std::vector<union type_stack_elt>.
2594         <depth, size>: Remove.
2595         * parse.c (parse_exp_in_context_1): Adjust.
2596         (type_stack_reserve): Remove.
2597         (check_type_stack_depth): Remove.
2598         (insert_into_type_stack): Adjust to std::vector.
2599         (insert_type): Likewise.
2600         (push_type): Likewise.
2601         (push_type_int): Likewise.
2602         (insert_type_address_space): Likewise.
2603         (pop_type): Likewise.
2604         (pop_type_int): Likewise.
2605         (pop_typelist): Likewise.
2606         (pop_type_stack): Likewise.
2607         (append_type_stack): Likewise.
2608         (push_type_stack): Likewise.
2609         (get_type_stack): Likewise.
2610         (type_stack_cleanup): Likewise.
2611         (push_typelist): Likewise.
2612         (follow_types): Likewise.
2613         (_initialize_parse): Likewise.
2614
2615 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2616
2617         * NEWS: Mention csky target.
2618
2619 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
2620             Hafiz Abid Qadeer  <abidh@codesourcery.com>
2621             Don Breazeal  <donb@codesourcery.com>
2622
2623         * csky-linux-tdep.c: New file.
2624         * csky-tdep.c: Likewise.
2625         * csky-tdep.h: Likewise.
2626         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
2627         csky-tdep.o.
2628         (HFILES_NO_SRCDIR): Add csky-tdep.h.
2629         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
2630         * configure.tgt: Add csky support.
2631
2632 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
2633
2634         * python/py-framefilter.c (py_print_frame): Print frame architecture
2635         when printing on an MI output.
2636
2637 2018-08-27  Tom Tromey  <tom@tromey.com>
2638
2639         PR build/23087:
2640         * configure: Rebuild.
2641         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
2642
2643 2018-08-27  Tom Tromey  <tom@tromey.com>
2644
2645         * aarch64-linux-tdep.c
2646         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
2647         casts to int.
2648
2649 2018-08-27  Tom Tromey  <tom@tromey.com>
2650
2651         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
2652         unsigned.
2653         (ppc64_standard_linkage1, ppc64_standard_linkage2)
2654         (ppc64_standard_linkage3, ppc64_standard_linkage4)
2655         (ppc64_standard_linkage5, ppc64_standard_linkage6)
2656         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
2657         unsigned.
2658
2659 2018-08-27  Tom Tromey  <tom@tromey.com>
2660
2661         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
2662         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
2663
2664 2018-08-27  Tom Tromey  <tom@tromey.com>
2665
2666         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
2667         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
2668         ULONGEST_MAX.
2669         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
2670         ULONGEST_MAX.
2671         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
2672         ULONGEST_MAX.
2673         * sparc-linux-tdep.c (sparc32_linux_sigframe)
2674         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
2675         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
2676         ULONGEST_MAX.
2677         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
2678         (ppc64_linux_sigaction_tramp_frame)
2679         (ppc32_linux_sighandler_tramp_frame)
2680         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2681         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
2682         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
2683         * mn10300-linux-tdep.c (am33_linux_sigframe)
2684         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
2685         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
2686         * mips-linux-tdep.c (mips_linux_o32_sigframe)
2687         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
2688         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
2689         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
2690         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
2691         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
2692         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
2693         * microblaze-linux-tdep.c
2694         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2695         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
2696         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
2697         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
2698         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
2699         * common/common-types.h (ULONGEST_MAX): New define.
2700         (CORE_ADDR_MAX): Fix formatting.
2701         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
2702         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
2703         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
2704         (arm_linux_rt_sigreturn_tramp_frame)
2705         (arm_eabi_linux_sigreturn_tramp_frame)
2706         (arm_eabi_linux_rt_sigreturn_tramp_frame)
2707         (thumb2_eabi_linux_sigreturn_tramp_frame)
2708         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
2709         (arm_linux_restart_syscall_tramp_frame)
2710         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
2711         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
2712         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
2713         ULONGEST_MAX.
2714         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
2715
2716 2018-08-27  Tom Tromey  <tom@tromey.com>
2717
2718         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
2719         CORE_ADDR_MAX.
2720         * mips-tdep.c (mips_deal_with_atomic_sequence)
2721         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
2722         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
2723         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
2724         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
2725         CORE_ADDR_MAX.
2726         * aarch64-tdep.c (aarch64_software_single_step): Use
2727         CORE_ADDR_MAX.
2728
2729 2018-08-27  Tom Tromey  <tom@tromey.com>
2730
2731         * linespec.c (complete_linespec_component): Add cast to "char".
2732         * completer.c (completion_tracker::build_completion_result): Add
2733         cast to "char".
2734
2735 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2736
2737         * solist.h (struct solist, struct target_so_ops): Fix
2738         indentation.
2739
2740 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2741
2742         * ada-tasks.c (ada_task_info_s): Remove typedef.
2743         (DEF_VEC_O(ada_task_info_s)): Remove.
2744         (struct ada_tasks_inferior_data): Initialize fields.
2745         <task_list>: Make an std::vector.
2746         (get_ada_tasks_inferior_data): Allocate with new.
2747         (ada_get_task_number): Adjust.
2748         (get_task_number_from_id): Likewise.
2749         (valid_task_id): Likewise.
2750         (ada_get_task_info_from_ptid): Likewise.
2751         (iterate_over_live_ada_tasks): Likewise.
2752         (add_ada_task): Likewise.
2753         (read_known_tasks): Likewise.
2754         (ada_build_task_list): Likewise.
2755         (print_ada_task_info): Likewise.
2756         (info_task): Likewise.
2757         (task_command_1): Likewise.
2758
2759 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2760
2761         * ada-lang.c (add_angle_brackets): Return std::string.
2762
2763 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
2764
2765         * python/py-threadevent.c (py_get_event_thread): Initialize
2766         pythread.
2767
2768 2018-08-24  Pedro Alves  <palves@redhat.com>
2769
2770         * python/py-bpevent.c (create_breakpoint_event_object): Use
2771         copy-initialization.
2772         * python/py-continueevent.c (emit_continue_event): Use
2773         copy-initialization.
2774         * python/py-exitedevent.c (create_exited_event_object): Return a
2775         gdbpy_ref<>.
2776         (emit_exited_event): Use copy-initialization.
2777         * python/py-inferior.c (python_new_inferior)
2778         (python_inferior_deleted, add_thread_object): Use
2779         copy-initialization.
2780         * python/py-infevents.c (create_inferior_call_event_object)
2781         (create_register_changed_event_object)
2782         (create_memory_changed_event_object): Return a gdbpy_ref<>.
2783         (emit_inferior_call_event, emit_memory_changed_event)
2784         (emit_register_changed_event): Use copy-initialization.
2785         * python/py-newobjfileevent.c (create_new_objfile_event_object):
2786         Return a gdbpy_ref<>.
2787         (emit_new_objfile_event): Use copy-initialization.
2788         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
2789         (emit_clear_objfiles_event): Use copy-initialization.
2790         * python/py-signalevent.c (create_signal_event_object): Use
2791         copy-initialization.
2792         * python/py-threadevent.c (create_thread_event_object): Use
2793         copy-initialization.
2794
2795 2018-08-24  Pedro Alves  <palves@redhat.com>
2796             Simon Marchi  <simon.marchi@ericsson.com>
2797
2798         PR gdb/23379
2799         * python/py-continueevent.c: Include "gdbthread.h".
2800         (create_continue_event_object): Add intro comment.  Add 'ptid'
2801         parameter.  Use it to find thread to pass to
2802         create_thread_event_object.
2803         (emit_continue_event): Pass PTID down to
2804         create_continue_event_object.
2805         * python/py-event.h (py_get_event_thread): Declare.
2806         (create_thread_event_object): Remove default from 'thread'
2807         parameter.
2808         * python/py-stopevent.c (create_stop_event_object): Use
2809         py_get_event_thread.
2810         * python/py-threadevent.c (get_event_thread): Rename to ...
2811         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
2812         and use it to find the thread.
2813         (create_thread_event_object): Assert that THREAD isn't null.
2814         Don't find the event thread here.
2815
2816 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
2817
2818         * block.h (blockrange, blockranges): New struct declarations.
2819         (struct block): Add new field named `ranges'.
2820         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
2821         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
2822         macros for accessing ranges in struct block.
2823         (make_blockranges): New declaration.
2824         block.c (make_blockranges): New function.
2825         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
2826         for block.
2827         * symtab.h (find_pc_partial_function): Add new parameter `block'.
2828         * blockframe.c (cache_pc_function_block): New static global.
2829         (clear_pc_function_cache): Clear cache_pc_function_block.
2830         (find_pc_partial_function): Move comment to symtab.h.  Add
2831         support for non-contiguous blocks.
2832         * cli/cli-cmds.c (block.h): Include.
2833         (print_disassembly): Handle printing of non-contiguous blocks.
2834         (disassemble_current_function): Likewise.
2835         (disassemble_command): Likewise.
2836
2837         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
2838         BLOCK_START.
2839         * blockframe.c (get_pc_function_start): Likewise.
2840         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
2841         (gcc_symbol_address): Likewise.
2842         * compile/compile-object-run.c (compile_object_run): Likewise.
2843         * compile/compile.c (get_expr_block_and_pc): Likewise.
2844         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
2845         (func_addr_to_tail_call_list): Likewise.
2846         * findvar.c (default_read_var_value): Likewise.
2847         * inline-frame.c (inline_frame_this_id): Likewise.
2848         (skip-inline_frames): Likewise.
2849         * infcmd.c (until_next_command): Likewise.
2850         * linespec.c (convert_linespec_to_sals): Likewise.
2851         * parse.c (parse_exp_in_context_1): Likewise.
2852         * printcmd.c (build_address_symbolic): likewise.
2853         (info_address_command): Likewise.
2854         symtab.c (find_function_start_sal): Likewise.
2855         (skip_prologue_sal): Likewise.
2856         (find_function_alias_target): Likewise.
2857         (find_gnu_ifunc): Likewise.
2858         * stack.c (find_frame_funname): Likewise.
2859         * symtab.c (fixup_symbol_section): Likewise.
2860         (find_function_start_sal): Likewise.
2861         (skip_prologue_sal): Likewsie.
2862         (find_function_alias_target): Likewise.
2863         (find_gnu_ifunc): Likewise.
2864         * tracepoint.c (info_scope_command): Likewise.
2865         * value.c (value_fn_field): Likewise.
2866
2867         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
2868         in place of find_pc_partial_function.
2869         * blockframe.c (find_function_entry_range_from_pc): New function.
2870         * symtab.h (find_function_entry_range_from_pc): Declare and document.
2871         * objfiles.c (objfile_relocate1): Relocate start and end addresses
2872         for each range in a block.
2873
2874
2875 2018-08-23  Xavier Roirand  <roirand@adacore.com>
2876
2877         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
2878         incrementation.
2879
2880 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2881
2882         * solib-svr4.c (read_program_headers_from_bfd): Return
2883         gdb::optional<gdb::byte_vector>.
2884         (svr4_exec_displacement): Adjust.
2885
2886 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2887
2888         * solib-svr4.c (read_program_header): Return
2889         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
2890         (find_program_interpreter): Return
2891         gdb::optional<gdb::byte_vector>.
2892         (scan_dyntag_auxv): Adjust.
2893         (enable_break): Adjust.
2894         (svr4_exec_displacement): Adjust.
2895
2896 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2897
2898         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
2899         * inf-child.c (inf_child_target::terminal_save_inferior): New.
2900
2901 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2902
2903         * guile/scm-string.c (gdbscm_scm_from_printf): Use
2904         string_vprintf.
2905         * guile/scm-utils.c (gdbscm_printf): Likewise.
2906         * serial.c (serial_printf): Likewise.
2907         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
2908
2909 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
2910
2911         * stack.c (print_frame): Print frame architecture when printing on
2912         an MI output.
2913         * NEWS: Mention new "arch" attribute in frame output.
2914
2915 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2916
2917         * arch/aarch64.h (aarch64_regnum): Update comment.
2918
2919 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2920
2921         * NEWS: Add SVE to 8.2 section.
2922
2923 2018-08-21  Pedro Alves  <palves@redhat.com>
2924
2925         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
2926         out from gdbscm_parse_function_args.
2927         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
2928         gdbscm_parse_function_args_1.
2929
2930 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
2931
2932         PR gdb/17816
2933         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
2934         operator.
2935
2936 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
2937
2938         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
2939
2940 2018-08-19  Michael Spang  <spang@google.com>
2941
2942         PR gdb/11786
2943         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
2944         for PT_TLS segments.
2945
2946 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
2947
2948         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
2949         dwarf_variable_value.
2950         * dwarf2-frame.c (class dwarf_expr_executor):
2951         Add override for dwarf_variable_value.
2952         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
2953         (class symbol_needs_eval_context): Likewise.
2954         (indirect_synthetic_pointer): Add forward declaration.
2955         (sect_variable_value): New function.
2956         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
2957         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
2958         for DW_OP_GNU_variable_value.
2959
2960 2018-08-16  Tom Tromey  <tom@tromey.com>
2961
2962         * top.c (read_command_file): Update.
2963         (command_line_input): Remove "repeat" argument.
2964         * ada-lang.c (get_selections): Update.
2965         * linespec.c (decode_line_2): Update.
2966         * defs.h (command_line_input): Remove argument.
2967         * cli/cli-script.c (read_next_line): Update.
2968         * python/py-gdb-readline.c: Update.
2969
2970 2018-08-17  Tom Tromey  <tom@tromey.com>
2971
2972         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
2973         command_line_input.
2974
2975 2018-08-15  Tom Tromey  <tom@tromey.com>
2976
2977         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
2978
2979 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
2980
2981         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
2982         If used, use find_pc_partial_function to find address range
2983         to disassemble.
2984         * mi/mi-main.c (mi_cmd_list_features): Report
2985         "data-disassemble-a-option" feature.
2986         * NEWS: Mention new -data-disassemble option -a.
2987
2988 2018-08-13  Tom Tromey  <tom@tromey.com>
2989
2990         * common/common-defs.h (_FORTIFY_SOURCE): Define.
2991
2992 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
2993
2994         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
2995         (aarch64_linux_collect_sve_regset): Likewise.
2996         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
2997         * regcache.h (regcache_map_entry_size): New function.
2998
2999 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
3000
3001         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
3002         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
3003         (SVE_HEADER_VL_LENGTH): Likewise.
3004         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
3005         (SVE_HEADER_FLAGS_LENGTH): Likewise.
3006         (SVE_HEADER_RESERVED_LENGTH): Likewise.
3007         (SVE_HEADER_SIZE_OFFSET): Likewise.
3008         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
3009         (SVE_HEADER_VL_OFFSET): Likewise.
3010         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
3011         (SVE_HEADER_FLAGS_OFFSET): Likewise.
3012         (SVE_HEADER_RESERVED_OFFSET): Likewise.
3013         (SVE_HEADER_SIZE): Likewise.
3014         (aarch64_linux_core_read_vq): Add function.
3015         (aarch64_linux_core_read_description): Check for SVE section.
3016
3017 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
3018
3019         * aarch64-fbsd-tdep.c
3020         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
3021         collect_size.
3022         * aarch64-linux-tdep.c
3023         (aarch64_linux_iterate_over_regset_sections): Likewise.
3024         * alpha-linux-tdep.c
3025         (alpha_linux_iterate_over_regset_sections):
3026         * alpha-nbsd-tdep.c
3027         (alphanbsd_iterate_over_regset_sections): Likewise.
3028         * amd64-fbsd-tdep.c
3029         (amd64fbsd_iterate_over_regset_sections): Likewise.
3030         * amd64-linux-tdep.c
3031         (amd64_linux_iterate_over_regset_sections): Likewise.
3032         * arm-bsd-tdep.c
3033         (armbsd_iterate_over_regset_sections): Likewise.
3034         * arm-fbsd-tdep.c
3035         (arm_fbsd_iterate_over_regset_sections): Likewise.
3036         * arm-linux-tdep.c
3037         (arm_linux_iterate_over_regset_sections): Likewise.
3038         * corelow.c (get_core_registers_cb): Likewise.
3039         (core_target::fetch_registers): Likewise.
3040         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
3041         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
3042         * gdbarch.h (void): Regenerate.
3043         * gdbarch.sh: Add supply_size and collect_size.
3044         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
3045         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
3046         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
3047         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
3048         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
3049         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
3050         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
3051         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
3052         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
3053         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
3054         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
3055         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
3056         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
3057         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
3058         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
3059         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
3060         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
3061         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
3062         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
3063         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
3064         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
3065         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
3066         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
3067         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
3068         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
3069         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
3070         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
3071         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
3072         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
3073         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
3074
3075 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
3076
3077         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
3078         with string_printf.
3079
3080 2018-08-10  Keith Seitz  <keiths@redhat.com>
3081
3082         * compile/compile-c-support.c (add_code_header, add_code_footer):
3083         Move into policy class.
3084         (c_push_user_expression, pop_user_expression_nop)
3085         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
3086         (compile_program): New host class.
3087         (c_compile_program): New typedef.
3088         (c_compute_porgram): Use c_compile_program.
3089
3090 2018-08-10  Keith Seitz  <keiths@redhat.com>
3091
3092         * compile/compile-internal.h (compile_instance::~compile_instance):
3093         Remove calls to htab_delete.
3094         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
3095         * compile.c (compile_instance::compile_instance): Initialize
3096         htab unique pointers.
3097         (compile_instance::get_cached_type, compile_instance::insert_type)
3098         (compile_instance::error_symbol_once): Update for unique_ptr.
3099
3100 2018-08-10  Keith Seitz  <keiths@redhat.com>
3101
3102         * compile/compile-c-symbols.c (struct symbol_error)
3103         (hash_symbol_error, eq_symbol_error, del_symbol_error)
3104         (compile_instance::insert_symbol_error)
3105         (compile_instance::error_symbol_once): Move to ...
3106         * compile/compile.c: ... here.
3107
3108 2018-08-10  Keith Seitz  <keiths@redhat.com>
3109
3110         * compile/compile-c-support.c (c_get_compile_context): Use `new'
3111         instead of `new_compile_instance'.
3112         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
3113         Update description.
3114         If the symbol error map is not initialized, create it.
3115         (generate_c_for_for_one_symbol): Do not check/initialize
3116         the symbol error map.
3117         * compile/compile-c-types.c (compile_c_instance): Make a class.
3118         Update all callers.
3119         (compile_instance::compile_instance): Initialize the type cache.
3120         (get_cached_type): New function.
3121         (insert_type): Update description.
3122         (compile_c_instance::m_default_cflags): Define.
3123         (convert_type): Update description.  Use get_cached_type.
3124         (delete_instance): Moved to destructor.
3125         (new_compile_instance): Moved to constructor.
3126         * compile/compile-c.h (compile_c_instance): Make class inheriting
3127         from compile_instance.
3128         <base>: Remove field.
3129         <type_map, symbol_err_map>: Move to base class.
3130         <c_plugin>: Rename to `m_plugin' and remove pointer type.
3131         * compile/compile-internal.h (compile_instance): Make class.
3132         <type_map_t, symbol_err_map_t>: Define.
3133         <fe>: Rename to `m_gcc_fe'.
3134         <scope, block, gcc_target_options>: Add `m_' prefix.
3135         <m_type_map, m_symbol_err_map>: New fields, moved from
3136         compile_c_instance.
3137         <destroy>: Remove.
3138         (convert_type, new_compile_instance): Remove.
3139         * compile/compile.c (cleanup_compile_instance): Remove.
3140         (compile_to_object): Use unique_ptr to eliminate cleanups.
3141         (compile_instance::set_print_callback, compile_instance::version)
3142         (compile_instance::set_verbose)
3143         (compile_instance::set_driver_filename)
3144         (compile_instance::set_triplet_regexp)
3145         (compile_instance::set_arguments)
3146         (compile_instance::set_source_file)
3147         (compile_instance::compile): Define.
3148
3149 2018-08-10  Keith Seitz  <keiths@redhat.com>
3150
3151         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
3152         * compile/compile-c-types.c: Define GCC_METHODN macros and include
3153         gcc-c-fe.def to define C plugin.
3154         (delete_instance): Delete `c_plugin'.
3155         (new_compile_instance): Initialize `c_plugin'.
3156         * compile/compile-c.h: Include gcc_c_plugin.h.
3157         (struct compile_c_instance) <c_plugin>: New member.
3158         * gcc-c-plugin.h: New file.
3159         Update all callers with API change.
3160
3161 2018-08-10  Keith Seitz  <keiths@redhat.com>
3162
3163         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
3164         (HFILES_NO_SRCDIR): ... to here.
3165         Add compile-internal.h and compile-c.h.
3166         * compile/compile-c-support.c: Include compile-c.h.
3167         * compile/compile-c-symbols.c: Include compile-c.h.
3168         (generate_c_for_variable_locations): Update comment.
3169         * compile/compile-c-types.c: Include compile-c.h.
3170         * compile/compile-c.h: New file -- moved C language declarations
3171         from other files here.
3172         * compile/compile-internal.h: Do not include hashtab.h or
3173         common/enum-flags.h.
3174         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
3175         (gcc_convert_symbol, gcc_symbol_address)
3176         (generate_c_for_variable_locations, c_get_mode_for_size)
3177         (c_get_range_decl_name): Definitions moved to compile-c.h.
3178         * compile/compile-loc2c.c: Include compile-c.h.
3179
3180 2018-08-10  Keith Seitz  <keiths@redhat.com>
3181
3182         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
3183         (c_symbol_substitution_name): ... this.
3184         Update all callers.
3185
3186 2018-08-10  Keith Seitz  <keiths@redhat.com>
3187
3188         * compile/compile-c-support.c (c_compute_program): Use
3189         unique_xmalloc_ptr to eliminate cleanup.
3190         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
3191         Return a unique_xmalloc_ptr and eliminate cleanup.
3192         * compile/compile-internal.h (generate_c_for_variable_locations):
3193         Return unique_xmalloc_ptr and update description.
3194
3195 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
3196
3197         * corelow.c (core_target::get_core_register_section): Rename
3198         min_size to section_min_size.
3199
3200 2018-08-09  Jim Wilson  <jimw@sifive.com>
3201
3202         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
3203         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
3204         * NEWS: Mention new GNU/Linux RISC-V target.
3205         * configure.host: Add riscv*-*-linux*.
3206         * configure.nat: Add riscv*.
3207         * configure.tgt: Add riscv*-*-linux*.
3208         * riscv-linux-nat.c: New file.
3209         * riscv-linux-tdep.c: New file.
3210
3211 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3212
3213         * infrun.c (resume): Make static, add forward declaration.
3214         (proceed): Update header comment.
3215         * infrun.h (resume): Delete declaration.
3216
3217 2018-08-09  Tom Tromey  <tom@tromey.com>
3218
3219         * riscv-tdep.h: Minor formatting fixes.
3220
3221 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
3222
3223         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
3224         * dwarf-index-cache.c (create_dir_and_check): Likewise.
3225         (test_mkdir_recursive): Likewise.
3226         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
3227
3228 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3229
3230         * valarith.c (value_subscripted_rvalue): If an array is not in
3231         memory, and we don't know the upper bound, then we can't know that
3232         the requested element exists or not.
3233
3234 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
3235
3236         * target.c (str_comma_list_concat_elem): Fix typo in comment.
3237         (target_options_to_string): Add comment.
3238
3239 2018-08-08  Tom Tromey  <tom@tromey.com>
3240
3241         * unittests/scoped_mmap-selftests.c: Check result of "write".
3242
3243 2018-08-08  Jim Wilson  <jimw@sifive.com>
3244
3245         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
3246         (decode_register_index_short): New.
3247         (decode_j_type_insn, decode_cj_type_insn): New.
3248         (decode_b_type_insn, decode_cb_type_insn): New.
3249         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
3250         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
3251         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
3252         is_c_sw_insn instead of is_sw_insn.
3253         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
3254         (riscv_software_single_step): New.
3255         * riscv-tdep.h (riscv_software_single_step): Declare.
3256
3257         * riscv-tdep.c (riscv_isa_xlen): Drop static.
3258         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
3259
3260 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
3261
3262         PR gdb/18050:
3263         * target.c (dispose_inferior): Don't dispose of inferiors that are
3264         already killed.
3265
3266 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
3267
3268         * remote.c (remote_target::download_tracepoint): Change char* to
3269         const char*.
3270
3271 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
3272
3273         * target.h (target_options_to_string): Return an std::string.
3274         * target.c (str_comma_list_concat_elem): Return void, use
3275         std::string.
3276         (do_option): Likewise.
3277         (target_options_to_string): Return an std::string.
3278         * linux-nat.c (linux_nat_target::wait): Adjust.
3279         * target-debug.h (target_debug_print_options): Adjust.
3280
3281 2018-08-07  Tom Tromey  <tom@tromey.com>
3282
3283         * Makefile.in (CPPFLAGS): New variable.
3284         (INTERNAL_CPPFLAGS): Use it.
3285
3286 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3287
3288         * NEWS: Mention the index cache.
3289
3290 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3291
3292         * common/pathstuff.h (get_standard_cache_dir): New.
3293         * common/pathstuff.c (get_standard_cache_dir): New.
3294         * build-id.h (build_id_to_string): New.
3295         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
3296         DEBUG_STR_SUFFIX): Move to here.
3297         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
3298         DEBUG_STR_SUFFIX): Move from there.
3299         (write_psymtabs_to_index): Make non-static, add basename
3300         parameter.  Write to temporary files, rename when done.
3301         (save_gdb_index_command): Adjust call to
3302         write_psymtabs_to_index.
3303         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
3304         field.
3305         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
3306         (get_gdb_index_contents_from_cache): New.
3307         (get_gdb_index_contents_from_cache_dwz): New.
3308         (dwarf2_initialize_objfile): Read index from cache.
3309         (dwarf2_build_psymtabs): Save to index.
3310         * dwarf-index-cache.h: New file.
3311         * dwarf-index-cache.c: New file.
3312         * dwarf-index-write.h: New file.
3313
3314 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3315
3316         * gnulib/aclocal.m4: Re-generate.
3317         * gnulib/config.in: Re-generate.
3318         * gnulib/configure: Re-generate.
3319         * gnulib/import/Makefile.am: Re-generate.
3320         * gnulib/import/Makefile.in: Re-generate.
3321         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
3322         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
3323         * gnulib/import/m4/mkdir.m4: New file.
3324         * gnulib/import/mkdir.c: New file.
3325         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
3326         module.
3327
3328 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3329
3330         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
3331         * common/scoped_mmap.c: New file.
3332         * common/scoped_mmap.h (destroy): New method.
3333         (~scoped_mmap, reset): Use destroy.
3334         (scoped_mmap): New move constructor.
3335         (mmap_file): New declaration.
3336         * unittests/scoped_mmap-selftests.c (test_normal,
3337         test_invalid_filename, run_tests): New functions.
3338         (_initialize_scoped_mmap_selftests): Register selftest.
3339
3340 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3341
3342         * dwarf2read.c (read_gdb_index_from_section): Rename to...
3343         (read_gdb_index_from_buffer): ... this.  Remove section
3344         parameter, add buffer parameter.
3345         (get_gdb_index_contents_ftype,
3346         get_gdb_index_contents_dwz_ftype): New typedefs.
3347         (dwarf2_read_gdb_index): Add callback parameters to get the
3348         index contents.
3349         (get_gdb_index_contents_from_section): New.
3350         (dwarf2_initialize_objfile): Update call to
3351         dwarf2_read_gdb_index.
3352
3353 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3354
3355         * common/filestuff.h (gdb_fopen_cloexec): New overload.
3356         (gdb_open_cloexec): Likewise.
3357         * nat/linux-osdata.c (command_from_pid): Use string_printf.
3358         (commandline_from_pid): Likewise.
3359         (linux_xfer_osdata_threads): Likewise.
3360         (linux_xfer_osdata_fds): Likewise.
3361         * ada-lang.c (is_package_name): Likewise.
3362         * auxv.c (procfs_xfer_auxv): Likewise.
3363         * breakpoint.c (print_one_breakpoint_location): Use
3364         uiout::field_fmt.
3365         (print_one_catch_solib): Use string_printf.
3366         * coff-pe-read.c (add_pe_exported_sym): Likewise.
3367         (add_pe_forwarded_sym): Likewise.
3368         * dwarf2read.c (create_type_unit_group): Likewise.
3369         (build_error_marker_type): Likewise.
3370         * infcall.c (get_function_name): Likewise.
3371         * valprint.c (print_converted_chars_to_obstack): Likewise.
3372         * xtensa-tdep.c (xtensa_register_type): Likewise.
3373
3374 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
3375
3376         * remote.c (remote_target::download_tracepoint): Fix format
3377         string errors.
3378
3379 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3380
3381         * tracefile.c: Include common/byte-vector.h.
3382         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
3383         with trace_regblock_size if needed.  Update uses of buf.
3384
3385 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3386
3387         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
3388         std::vector<unsigned char>.
3389         * tracepoint.c (collection_list::collection_list): Remove
3390         m_regs_mask initializer from initializer list.  Resize
3391         m_regs_mask using the largest remote register number.
3392         (collection_list::add_remote_register): Remove size check on
3393         m_regs_mask.  Use at to access element.
3394         (collection_list::stringify): Change type of temp_buf to
3395         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
3396         stringify the register mask.  Use pack_hex_byte for the register
3397         mask.
3398
3399 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3400
3401         * tracepoint.h (class collection_list) <add_register>: Remove.
3402         <add_remote_register, add_ax_registers, add_local_register>:
3403         Declare.
3404         <add_memrange>: Add scope parameter.
3405         * tracepoint.c (encode_actions_1): Likewise.
3406         (collection_list::add_register): Rename to ...
3407         (collection_list::add_remote_register): ... this.  Update
3408         comment.
3409         (collection_list::add_ax_registers, add_local_register): New
3410         methods.
3411         (collection_list::add_memrange): Add scope parameter.  Call
3412         add_local_register instead of add_register.
3413         (finalize_tracepoint_aexpr): New function.
3414         (collection_list::collect_symbol): Update calls to add_memrange.
3415         Call add_local_register instead of add_register.  Call
3416         add_ax_registers.  Call finalize_tracepoint_aexpr.
3417         (encode_actions_1): Get remote regnos for $reg action.  Call
3418         add_remote_register, add_ax_registers, and add_local_register.
3419         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
3420         (validate_actionline): Call finalize_tracepoint_aexpr.
3421
3422 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3423
3424         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
3425         Replace array buf with gdb::char_vector buf, of size
3426         get_remote_packet_size ().  Replace references to buf and
3427         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
3428         and xsnprintf with snprintf.  Raise errors if the buffer is too
3429         small.
3430
3431 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3432
3433         * remote.c (remote_target::download_tracepoint): Fix the has_more
3434         predicate in the QTDP action list iteration.
3435
3436 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3437
3438         * remote.c (remote_target::download_tracepoint): Fix indentation
3439         in for block.
3440
3441 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3442
3443         * proc-api.c (_initialize_proc_api): Remove c, unused.
3444         * procfs.c (procfs_init_inferior): Remove signals, unused.
3445         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
3446         unused.
3447
3448 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
3449             Andrew Burgess  <andrew.burgess@embecosm.com>
3450
3451         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
3452         'W_STOPCODE (0)' as this could be ambiguous.
3453
3454 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
3455
3456         * ser-tcp.c (net_open): Fix thinko when deciding whether to
3457         disable TCP's Nagle algorithm (use "ai_protocol" instead of
3458         "ai_socktype").
3459
3460 2018-08-02  Tom Tromey  <tom@tromey.com>
3461
3462         PR symtab/16842.
3463         * dwarf2read.c (read_func_scope): Set symtab on template parameter
3464         symbols.
3465         (process_structure_scope): Likewise.
3466
3467 2018-08-02  Xavier Roirand  <roirand@adacore.com>
3468
3469         PR gdb/22629:
3470         * darwin-nat.c (darwin_kill_inferior): Fix handling of
3471         kill inferior.
3472
3473 2018-08-02  Tom Tromey  <tom@tromey.com>
3474
3475         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
3476         (darwin_suspend_inferior, darwin_resume_inferior)
3477         (darwin_decode_notify_message, darwin_resume_inferior_threads)
3478         (darwin_check_new_threads): Check result of get_darwin_inferior.
3479
3480 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
3481
3482         GDB 8.1.1 released.
3483
3484 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
3485
3486         * varobj.c (varobj_get_path_expr_parent): Report an error if
3487         parent is a dynamic varobj.
3488
3489 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3490
3491         * gnulib/aclocal.m4: Re-generate.
3492         * gnulib/config.in: Re-generate.
3493         * gnulib/configure: Re-generate.
3494         * gnulib/import/Makefile.in: Re-generate.
3495         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
3496         * gnulib/import/m4/onceonly.m4: Re-generate.
3497
3498 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3499
3500         * target-descriptions.c (struct xml_test_tdesc): New.
3501         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
3502         (record_xml_tdesc): Update.
3503         (maintenance_check_xml_descriptions): Update.
3504         * target-descriptions.h (record_xml_tdesc): Update comment.
3505
3506 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
3507
3508         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
3509         checking array bounds are defined.
3510
3511 2018-07-30  Tom Tromey  <tom@tromey.com>
3512
3513         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
3514         irreflexivity violation.
3515
3516 2018-07-30  Tom Tromey  <tom@tromey.com>
3517
3518         * cli/cli-decode.c (lookup_cmd): Remove lint code.
3519         * value.c (unpack_long): Remove lint code.
3520         * valops.c (value_ind): Remove lint code.
3521         * valarith.c (value_x_binop, value_x_unop, value_equal)
3522         (value_pos): Remove lint code.
3523
3524 2018-07-28  Tom de Vries  <tdevries@suse.de>
3525
3526         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
3527         with undefined upper bound as <optimized out>.
3528
3529 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
3530
3531         * gcore.in: Rename variable "name" to "prefix".  Expand
3532         "usage" text.
3533
3534 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
3535
3536         * windows-nat.c (windows_nat_target::create_inferior): Update to
3537         call close() in global namespace.
3538
3539 2018-07-26  Tom Tromey  <tom@tromey.com>
3540
3541         * dwarf-index-write.c (add_address_entry): Don't add objfile
3542         offsets.
3543         * dbxread.c (find_stab_function): Rename from
3544         find_stab_function_addr.  Return a bound_minimal_symbol.
3545         (read_dbx_symtab): Use raw_text_low, raw_text_high.
3546         Don't add objfile offsets.
3547         (end_psymtab): Use raw_text_low, raw_text_high,
3548         MSYMBOL_VALUE_RAW_ADDRESS.
3549         (read_ofile_symtab): Update.
3550         (process_one_symbol): Update.
3551         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
3552         offsets.
3553         (dw2_relocate): Remove.
3554         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
3555         searching addrmap.
3556         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
3557         Update.
3558         (process_psymtab_comp_unit_reader, add_partial_symbol)
3559         (add_partial_subprogram, dwarf2_ranges_read): Update.
3560         (load_partial_dies): Update.
3561         (add_address_entry): Don't add objfile offsets.
3562         (dwarf2_build_include_psymtabs): Update.
3563         (create_addrmap_from_aranges): Don't add objfile offsets.
3564         (dw2_find_pc_sect_compunit_symtab): Update.
3565         * mdebugread.c (parse_symbol): Don't add objfile offsets.
3566         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
3567         Update.
3568         (parse_partial_symbols): Don't add objfile offsets.  Use
3569         raw_text_low, raw_text_high.  Update.
3570         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
3571         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
3572         or call 'relocate' quick function.  Clear psymbol_map.
3573         * psympriv.h (struct partial_symbol) <address>: Add section
3574         offset.
3575         <set_unrelocated_address>: Rename from set_address.
3576         <raw_text_low, raw_text_high>: New methods.
3577         <text_low, text_high>: Add objfile parameter.
3578         (add_psymbol_to_bcache): Add 'section' parameter.  Call
3579         set_unrelocated_address.
3580         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3581         (find_pc_psymbol): Update.
3582         (fixup_psymbol_section, relocate_psymtabs): Remove.
3583         (dump_psymtab, psym_functions): Update.
3584         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
3585         parameter.
3586         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
3587         (start_psymtab_common): Update.
3588         * symfile-debug.c (debug_qf_relocate): Remove.
3589         (debug_sym_quick_functions): Update.
3590         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
3591         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
3592         Update.
3593
3594 2018-07-26  Tom Tromey  <tromey@redhat.com>
3595
3596         * dbxread.c (end_psymtab): Use text_high_valid and
3597         text_low_valid.
3598         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
3599         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
3600         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3601         Update comment.
3602         <text_low_valid, text_high_valid>: New fields.
3603         <set_text_low, set_text_high>: Update.
3604         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
3605
3606 2018-07-26  Tom Tromey  <tom@tromey.com>
3607
3608         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
3609         Update.
3610         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
3611         textlow and texthigh fields.
3612         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
3613         Update.
3614         * mdebugread.c (parse_lines, parse_partial_symbols)
3615         (psymtab_to_symtab_1): Update.
3616         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3617         Rename fields.  Update comment.  Now private.
3618         <text_low, text_high, set_text_low, set_text_high>: New methods.
3619         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3620         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
3621         (start_psymtab_common, maintenance_info_psymtabs)
3622         (maintenance_check_psymtabs): Update.
3623         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
3624         texthigh fields.
3625         (scan_xcoff_symtab): Update.
3626
3627 2018-07-26  Tom Tromey  <tromey@redhat.com>
3628
3629         * psympriv.h (struct partial_symbol) <unrelocated_address,
3630         address, set_address>: New methods.
3631         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
3632         (fixup_psymbol_section, relocate_psymtabs): Update.
3633         (print_partial_symbols): Add 'objfile' parameter.  Update.
3634         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
3635         Update.
3636
3637 2018-07-26  Tom Tromey  <tom@tromey.com>
3638
3639         * dwarf-index-write.c (write_psymbols, debug_names::insert)
3640         (debug_names::write_psymbols): Update.
3641         * psympriv.h (struct partial_symbol): Derive from
3642         general_symbol_info.
3643         <obj_section>: New method.
3644         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
3645         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3646         (find_pc_sect_psymbol, fixup_psymbol_section)
3647         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
3648         (print_partial_symbols, recursively_search_psymtabs)
3649         (compare_psymbols, psymbol_hash, psymbol_compare)
3650         (add_psymbol_to_bcache, maintenance_check_psymtabs)
3651         (psymbol_name_matches, psym_fill_psymbol_map): Update.
3652
3653 2018-07-26  Tom Tromey  <tromey@redhat.com>
3654
3655         * dbxread.c (end_psymtab): Remove dead code.
3656
3657 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
3658
3659         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
3660         DWARF unwinders are disabled.
3661         * dwarf2-frame.c: Add dwarf2read.h include.
3662         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
3663         disabled.
3664         (dwarf2_frame_unwinders_enabled_p): Define.
3665         (show_dwarf_unwinders_enabled_p): New function.
3666         (_initialize_dwarf2_frame): Register switch to control DWARF
3667         unwinder use.
3668         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
3669         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
3670         (show_dwarf_cmdlist): Remove static keyword.
3671         * dwarf2read.h (set_dwarf_cmdlist): Declare.
3672         (show_dwarf_cmdlist): Declare.
3673         * NEWS: Document new feature.
3674
3675 2018-07-26  Tom de Vries  <tdevries@suse.de>
3676
3677         PR breakpoints/23366
3678         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
3679
3680 2018-07-26  Tom de Vries  <tdevries@suse.de>
3681
3682         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
3683         DW_AT_count can't be translated to a dynamic prop.
3684
3685 2018-07-25  Tom de Vries  <tdevries@suse.de>
3686
3687         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
3688         try/catch.
3689
3690 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
3691
3692         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
3693
3694 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
3695
3696         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
3697
3698 2018-07-24  Keith Seitz  <keiths@redhat.comt
3699
3700         PR symtab/23010
3701         * dwarf2read.c (dw2_add_symbol_to_list): New function.
3702         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
3703         instead of add_symbol_to_list.
3704         (read_file_scope): Call prepare_one_comp_unit before reading
3705         any other DIEs.
3706
3707 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
3708
3709         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
3710
3711 2018-07-24  Tom Tromey  <tom@tromey.com>
3712
3713         * utils.c (malloc, realloc, free): Don't declare.
3714         * configure, config.in: Rebuild.
3715         * configure.ac: Don't check for declarations of free, malloc, or
3716         realloc.
3717
3718 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3719
3720         * aarch64-linux-nat.c
3721         (aarch64_linux_nat_target::stopped_data_address): Remove unused
3722         variable.
3723         * arm-linux-nat.c (fetch_regs): Likewise.
3724         (store_regs): Likewise.
3725         (fetch_vfp_regs): Likewise.
3726         (store_vfp_regs): Likewise.
3727         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
3728         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
3729         (arm_linux_nat_target::insert_watchpoint): Likewise.
3730         (arm_linux_nat_target::remove_watchpoint): Likewise.
3731         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
3732         Likewise.
3733         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
3734         Likewise.
3735         * ppc-linux-nat.c (fetch_register): Likewise.
3736         (fetch_all_gp_regs): Likewise.
3737         (fetch_ppc_registers): Likewise.
3738         (store_all_gp_regs): Likewise.
3739         (store_ppc_registers): Likewise.
3740         (hwdebug_insert_point): Likewise.
3741         (can_use_watchpoint_cond_accel): Likewise.
3742         * remote-sim.c (gdb_os_write_stdout): Likewise.
3743
3744 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3745             Tom Tromey  <tom@tromey.com>
3746
3747         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
3748         test for it.
3749         * configure: Rebuild.
3750
3751 2018-07-22  Tom Tromey  <tom@tromey.com>
3752
3753         * regformats/regdat.sh: Define xmltarget_${name} inside
3754         #ifndef IN_PROCESS_AGENT.
3755
3756 2018-07-22  Tom Tromey  <tom@tromey.com>
3757
3758         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
3759
3760 2018-07-22  Tom Tromey  <tom@tromey.com>
3761
3762         * symfile.c (reread_symbols): Notify iter, not objfile.
3763
3764 2018-07-22  Tom Tromey  <tom@tromey.com>
3765
3766         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
3767         Use arch_ops.
3768         (ravenscar_thread_target::prepare_to_store): Likewise.
3769
3770 2018-07-22  Tom Tromey  <tom@tromey.com>
3771
3772         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
3773         unused variable.  Call value_fetch_lazy when needed.
3774         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
3775         Remove unused variable.  Call value_fetch_lazy when needed.
3776
3777 2018-07-22  Tom Tromey  <tom@tromey.com>
3778
3779         * m32c-tdep.c (mark_dma): Return void.
3780         (make_regs): Remove unused declarations.
3781
3782 2018-07-22  Tom Tromey  <tom@tromey.com>
3783
3784         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
3785         cmdscm_get_valid_command_smob_arg_unsafe for effect.
3786         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
3787         bkscm_get_valid_block_smob_arg_unsafe for effect.
3788
3789 2018-07-22  Tom Tromey  <tom@tromey.com>
3790
3791         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
3792         value_type.
3793
3794 2018-07-22  Tom Tromey  <tom@tromey.com>
3795
3796         * windows-nat.c (saved_context): Conditionally define.
3797         * remote.c (remote_target::remote_btrace_maybe_reopen):
3798         Conditionally declare "warned".
3799         * inflow.c (sigquit_ours): Conditionally define.
3800         (new_tty): Move "tty" declaration inside #if.
3801         * guile/guile.c (guile_datadir): Conditionally define.
3802         * charset.c (set_be_le_names): Move some declarations inside #if.
3803         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
3804         #if.
3805         (parse_xml_btrace_conf): Likewise.
3806
3807 2018-07-22  Tom Tromey  <tom@tromey.com>
3808
3809         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
3810
3811 2018-07-22  Tom Tromey  <tom@tromey.com>
3812
3813         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
3814         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
3815         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
3816         * buildsym-legacy.c (get_macro_table): Remove unused variable.
3817         * stack.c (frame_apply_level_command): Remove unused variable.
3818         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
3819         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
3820         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
3821         unused variable.
3822         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
3823         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
3824         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
3825         variable.
3826         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
3827         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
3828         variable.
3829         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
3830         Remove unused variable.
3831         * cli/cli-script.c (recurse_read_control_structure): Remove unused
3832         variable.
3833         * common/tdesc.c (print_xml_feature::visit): Remove unused
3834         variable.
3835         * compile/compile-object-load.c (store_regs): Remove unused
3836         variables.
3837         * complaints.c (clear_complaints): Remove unused variable.
3838         * corelow.c (core_target_open): Remove unused variable.
3839         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
3840         variable.
3841         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
3842         variable.
3843         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
3844         variable.
3845         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
3846         variable.
3847         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
3848         variable.
3849         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
3850         variable.
3851         * ia64-tdep.c (examine_prologue): Remove unused variable.
3852         * infcall.c (run_inferior_call): Remove unused variable.
3853         * inferior.c (exit_inferior): Remove unused variable.
3854         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
3855         * linespec.c (decode_line_2): Remove unused variable.
3856         * linux-nat.c (super_close): Remove.
3857         * linux-tdep.c (linux_info_proc): Remove unused variable.
3858         * mi/mi-main.c (mi_execute_command): Remove unused variable.
3859         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
3860         Remove unused variable.
3861         * parse.c (find_minsym_type_and_address): Remove unused variable.
3862         * printcmd.c (info_symbol_command, printf_floating): Remove unused
3863         variable.
3864         * python/py-breakpoint.c (bppy_set_commands): Remove unused
3865         variable.
3866         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
3867         variables.
3868         * record-btrace.c (record_btrace_target::store_registers): Remove
3869         unused variable.
3870         (cmd_show_record_btrace_cpu): Remove unused variable.
3871         * riscv-tdep.c (riscv_register_reggroup_p)
3872         (riscv_push_dummy_call, riscv_return_value): Remove unused
3873         variable.
3874         * rust-exp.y (literal): Remove unused variable.
3875         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
3876         unused variable.
3877         <STRUCTOP_ANONYMOUS>: Likewise.
3878         * s390-linux-tdep.c (s390_linux_init_abi_31)
3879         (s390_linux_init_abi_64): Remove unused variable.
3880         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
3881         (file_select_thread, net_windows_open, _initialize_ser_windows):
3882         Remove unused variables.
3883         * symtab.c (find_pc_sect_line): Remove unused variable.
3884         * target-memory.c (compute_garbled_blocks): Remove unused
3885         variable.
3886         (target_write_memory_blocks): Remove unused variable.
3887         * target.c (target_stack::unpush): Remove unused variables.
3888         * tracepoint.c (start_tracing, all_tracepoint_actions)
3889         (merge_uploaded_trace_state_variables)
3890         (print_one_static_tracepoint_marker): Remove unused variable.
3891         * unittests/basic_string_view/element_access/char/1.cc (test01):
3892         Remove unused variable.
3893         * windows-nat.c (windows_continue, windows_add_all_dlls)
3894         (do_initial_windows_stuff, windows_nat_target::create_inferior):
3895         Remove unused variables.
3896
3897 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
3898
3899         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
3900         attr_profile in HAVE_ELF.
3901         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
3902         HAVE_ELF.
3903
3904 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
3905
3906         * frame.c (frame_register_unwind): Change parameter name.
3907         (frame_unwind_register): Likewise.
3908         (frame_unwind_register_value): Likewise.
3909         (frame_unwind_register_signed): Likewise.
3910         (frame_unwind_register_unsigned): Likewise.
3911         * frame.h (frame_register_unwind): Likewise.
3912         (frame_unwind_register): Likewise.
3913         (frame_unwind_register_value): Likewise.
3914         (frame_unwind_register_signed): Likewise.
3915         (frame_unwind_register_unsigned): Likewise.
3916         (frame_unwind_arch): Likewise.
3917
3918 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3919
3920         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
3921         ISA maintenance.
3922
3923 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3924
3925         * mips-linux-nat.c (mips_linux_nat_target::read_description):
3926         Call `get_ptrace_pid' rather than extracting the ptrace PID by
3927         hand.
3928
3929 2018-07-20  Keith Seitz  <keiths@redhat.com>
3930
3931         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
3932         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
3933         m_compunit_symtab, m_language>: Add "m_" prefix.
3934         Update all uses.
3935         * buildsym.c: Update all uses.
3936
3937 2018-07-20  Tom Tromey  <tom@tromey.com>
3938
3939         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
3940         * buildsym.h (record_line_ftype): Remove typedef.
3941
3942 2018-07-20  Tom Tromey  <tom@tromey.com>
3943
3944         * buildsym-legacy.h (augment_type_symtab): Don't declare.
3945         (end_expandable_symtab): Likewise.
3946         (end_symtab_get_static_block): Likewise.
3947         (end_symtab_from_static_block): Likewise.
3948         * buildsym-legacy.c (augment_type_symtab): Remove.
3949         (end_expandable_symtab): Remove.
3950         (end_symtab_get_static_block): Remove.
3951         (end_symtab_from_static_block): Remove.
3952
3953 2018-07-20  Tom Tromey  <tom@tromey.com>
3954
3955         * dwarf2read.c: Include buildsym.h.
3956         (struct dwarf2_cu) <builder>: New method.
3957         (fixup_go_packaging): Update.
3958         (process_full_comp_unit, process_full_type_unit): Update.  Don't
3959         use scoped_free_pendings.
3960         (using_directives): Add "cu" parameter, remove "language".
3961         (read_import_statement, setup_type_unit_groups, )
3962         (read_func_scope, read_lexical_block_scope)
3963         (dwarf2_record_block_ranges, read_namespace): Update.
3964         (lnp_state_machine::lnp_state_machine): Add cu parameter.
3965         (lnp_state_machine::handle_end_sequence): Update.
3966         (class lnp_state_machine) <m_cu>: New member.
3967         <m_record_line_callback>: Remove.
3968         <m_currently_recording_lines>: New member.
3969         (lnp_state_machine::handle_set_file): Update.
3970         (noop_record_line): Remove.
3971         (dwarf_record_line_p): Add cu parameter.
3972         (dwarf_record_line_1, dwarf_finish_line): Likewise.
3973         (lnp_state_machine::record_line)
3974         (lnp_state_machine::lnp_state_machine)
3975         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
3976         (dwarf_decode_lines): Update.
3977         (dwarf2_start_subfile): Add cu parameter.
3978         (dwarf2_start_symtab, new_symbol): Update.
3979         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
3980         Remove dwarf2_per_objfile parameter.
3981         (dwarf_decode_macros): Update.
3982
3983 2018-07-20  Tom Tromey  <tom@tromey.com>
3984
3985         * stabsread.c (define_symbol): Update.
3986         * buildsym-legacy.h (get_buildsym_compunit): Declare.
3987         * dwarf2read.c (new_symbol): Update.
3988         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
3989         * cp-namespace.c: Include buildsym.h.
3990         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
3991         * buildsym-legacy.c (get_buildsym_compunit): New function.
3992
3993 2018-07-20  Tom Tromey  <tom@tromey.com>
3994
3995         * xcoffread.c: Include buildsym-legacy.h.
3996         * windows-nat.c: Include buildsym-legacy.h.
3997         * stabsread.c: Include buildsym-legacy.h.
3998         * mdebugread.c: Include buildsym-legacy.h.
3999         * buildsym-legacy.h: New file.
4000         * buildsym-legacy.c: New file, from buildsym.c.
4001         * go32-nat.c: Include buildsym-legacy.h.
4002         * dwarf2read.c: Include buildsym-legacy.h.
4003         * dbxread.c: Include buildsym-legacy.h.
4004         * cp-namespace.c: Include buildsym-legacy.h.
4005         * coffread.c: Include buildsym-legacy.h.
4006         * buildsym.h: Move some contents to buildsym-legacy.h.
4007         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
4008         buildsym-legacy.c.
4009         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
4010
4011 2018-07-20  Tom Tromey  <tom@tromey.com>
4012
4013         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
4014         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
4015         (buildsym_compunit::buildsym_compunit)
4016         (buildsym_compunit::~buildsym_compunit)
4017         (buildsym_compunit::get_macro_table): Define.
4018
4019 2018-07-20  Tom Tromey  <tom@tromey.com>
4020
4021         * buildsym.c (reset_symtab_globals): Remove.
4022         (buildsym_compunit::end_symtab_from_static_block): Update.
4023         (buildsym_compunit::augment_type_symtab): Update.
4024         (end_symtab_from_static_block): Call free_buildsym_compunit.
4025         (augment_type_symtab, end_symtab, end_expandable_symtab):
4026         Likewise.
4027
4028 2018-07-20  Tom Tromey  <tom@tromey.com>
4029
4030         * arch-utils.c: Do not include buildsym.h.
4031         * mipsread.c: Do not include buildsym.h.
4032         * machoread.c: Do not include buildsym.h.
4033         * elfread.c: Do not include buildsym.h.
4034
4035 2018-07-20  Tom Tromey  <tom@tromey.com>
4036
4037         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
4038         initialization.
4039         (buildsym_compunit): Add new constructor.
4040         (struct buildsym_compunit) <get_last_source_file, finish_block,
4041         record_block_range, start_subfile, patch_subfile_names,
4042         push_subfile, pop_subfile, record_line, get_compunit_symtab,
4043         set_last_source_start_addr, get_last_source_start_addr,
4044         get_local_using_directives, set_local_using_directives,
4045         get_global_using_directives, outermost_context_p,
4046         get_current_context_stack, get_context_stack_depth,
4047         get_current_subfile, get_local_symbols, get_file_symbols,
4048         get_global_symbols, record_debugformat, record_producer,
4049         push_context, pop_context, end_symtab_get_static_block,
4050         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
4051         New public methods.
4052         <record_pending_block, finish_block_internal, make_blockvector,
4053         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
4054         private methods.
4055         Update all users.
4056
4057 2018-05-22  Tom Tromey  <tom@tromey.com>
4058
4059         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
4060         parameter.
4061         (finish_block_internal): Update.
4062
4063 2018-07-20  Tom Tromey  <tom@tromey.com>
4064
4065         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
4066         parameter.
4067         (finish_block_internal): Update.
4068
4069 2018-07-20  Tom Tromey  <tom@tromey.com>
4070
4071         * buildsym.h (EXTERN): Don't define or undef.
4072         * buildsym.c (EXTERN): Don't define.
4073
4074 2018-07-20  Tom Tromey  <tom@tromey.com>
4075
4076         * buildsym.c: Remove TODO comment.
4077
4078 2018-07-20  Tom Tromey  <tom@tromey.com>
4079
4080         * coffread.c (coff_symtab_read): Update.
4081         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
4082         (xcoff_new_init): Update.
4083         * mipsread.c (mipscoff_new_init): Update.
4084         * mdebugread.c (mdebug_build_psymtabs): Update.
4085         * elfread.c (elf_new_init): Update.
4086         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
4087         Update.
4088         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
4089         (coffstab_build_psymtabs, elfstab_build_psymtabs)
4090         (stabsect_build_psymtabs): Update.
4091         * buildsym.h (buildsym_init): Don't declare.
4092         * buildsym.c: Update comment.
4093         (prepare_for_building): Remove.
4094         (start_symtab, restart_symtab): Update.
4095         (reset_symtab_globals): Update comment.
4096         (buildsym_init): Remove.
4097
4098 2018-07-20  Tom Tromey  <tom@tromey.com>
4099
4100         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
4101         * stabsread.c (patch_block_stabs, define_symbol, read_type)
4102         (read_enum_type, common_block_start, common_block_end)
4103         (cleanup_undefined_types_1, finish_global_stabs): Update.
4104         * mdebugread.c (psymtab_to_symtab_1): Update.
4105         * dwarf2read.c (fixup_go_packaging, read_func_scope)
4106         (read_lexical_block_scope, new_symbol): Update.
4107         * dbxread.c (process_one_symbol): Update.
4108         * coffread.c (coff_symtab_read, process_coff_symbol)
4109         (coff_read_enum_type): Update.
4110         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
4111         declare.
4112         (get_local_symbols, get_file_symbols, get_global_symbols): New
4113         functions.
4114         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
4115         m_global_symbols.
4116         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
4117         (~scoped_free_pendings): Update.
4118         (finish_block, prepare_for_building, reset_symtab_globals)
4119         (end_symtab_get_static_block, end_symtab_with_blockvector)
4120         (augment_type_symtab, push_context): Update.
4121         (get_local_symbols, get_file_symbols, get_global_symbols): New
4122         functions.
4123         (buildsym_init): Update.
4124
4125 2018-07-20  Tom Tromey  <tom@tromey.com>
4126
4127         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
4128         (process_full_type_unit): Likewise.
4129         (dwarf2_start_symtab): Set list_in_scope.
4130
4131 2018-07-20  Tom Tromey  <tom@tromey.com>
4132
4133         * dwarf2read.c (process_psymtab_comp_unit_reader)
4134         (build_type_psymtabs_reader): Do not set list_in_scope.
4135
4136 2018-07-20  Tom Tromey  <tom@tromey.com>
4137
4138         * buildsym.c (free_pendings): Remove.
4139         (add_symbol_to_list, scoped_free_pendings)
4140         (finish_block_internal, buildsym_init): Update.
4141
4142 2018-07-20  Tom Tromey  <tom@tromey.com>
4143
4144         * xcoffread.c (read_xcoff_symtab): Update.
4145         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
4146         Update.
4147         * dbxread.c (process_one_symbol): Update.
4148         * coffread.c (coff_symtab_read): Update.
4149         * buildsym.h (finish_block): Update.
4150         * buildsym.c (finish_block): Remove "listhead" argument.
4151         (end_symtab_get_static_block): Update.
4152
4153 2018-07-20  Tom Tromey  <tom@tromey.com>
4154
4155         * buildsym.h (class scoped_free_pendings): Remove constructor.
4156         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
4157         method.
4158         <m_pending_block_obstack, m_pending_blocks>: New members.
4159         (pending_block_obstack, pending_blocks): Remove.
4160         (scoped_free_pendings::scoped_free_pendings): Default.
4161         (~scoped_free_pendings): Update.
4162         (free_pending_blocks): Remove.
4163         (finish_block_internal, record_pending_block, make_blockvector)
4164         (end_symtab_get_static_block, augment_type_symtab, push_context)
4165         (buildsym_init): Update.
4166
4167 2018-07-20  Tom Tromey  <tom@tromey.com>
4168
4169         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
4170         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
4171         members.
4172         (pending_addrmap, pending_addrmap_obstack)
4173         (pending_addrmap_interesting): Remove.
4174         (scoped_free_pendings, record_block_range, make_blockvector)
4175         (prepare_for_building, reset_symtab_globals, buildsym_init):
4176         Update.
4177
4178 2018-07-20  Tom Tromey  <tom@tromey.com>
4179
4180         * xcoffread.c (process_linenos): Update.
4181         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
4182         * mdebugread.c (psymtab_to_symtab_1): Update.
4183         * dwarf2read.c (setup_type_unit_groups)
4184         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
4185         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
4186         * dbxread.c (process_one_symbol): Update.
4187         * coffread.c (coff_symtab_read, enter_linenos)
4188         (process_coff_symbol): Update.
4189         * buildsym.h (current_subfile): Don't declare.
4190         (get_current_subfile): Declare.
4191         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
4192         member.
4193         (start_subfile, free_buildsym_compunit, push_subfile)
4194         (prepare_for_building, start_symtab): Update.
4195         (get_current_subfile): New function.
4196
4197 2018-07-20  Tom Tromey  <tom@tromey.com>
4198
4199         * coffread.c (coff_symtab_read): Update.
4200         * xcoffread.c (read_xcoff_symtab): Update.
4201         * dwarf2read.c (new_symbol): Update.
4202         (read_func_scope, read_lexical_block_scope): Update.
4203         * dbxread.c (process_one_symbol): Update.
4204         * buildsym.h (context_stack, context_stack_depth): Don't declare.
4205         (outermost_context_p): Remove macro.
4206         (outermost_context_p, get_current_context_stack)
4207         (get_context_stack_depth): Declare.
4208         (pop_context): Return struct context_stack.
4209         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
4210         member.
4211         (context_stack_size): Remove.
4212         (INITIAL_CONTEXT_STACK_SIZE): Remove.
4213         (prepare_for_building, end_symtab_get_static_block)
4214         (augment_type_symtab, push_context): Update.
4215         (pop_context): Return struct context_stack.
4216         (outermost_context_p, get_current_context_stack)
4217         (get_context_stack_depth): New functions.
4218         (buildsym_init): Update.
4219
4220 2018-07-20  Tom Tromey  <tom@tromey.com>
4221
4222         * rust-exp.y: Now a pure parser.  Update all rules.
4223         (%union): Move earlier.
4224         (current_parser, work_obstack): Remove globals.
4225         (rust_parser, ~rust_parser): Update.
4226         (class rust_parser) <copy_name, concat3, crate_name, super_name,
4227         lex_character, lex_number, lex_string, lex_identifier,
4228         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
4229         convert_name, convert_params_to_expression,
4230         convert_ast_to_expression, ast_basic_type, ast_operation,
4231         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
4232         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
4233         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
4234         ast_array_type, ast_slice_type, ast_reference_type,
4235         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
4236         (rust_parse): Update.
4237         (rustyyerror, rustyylex): Add parser parameter.
4238         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
4239         (rust_lex_stringish_test, rust_lex_test_sequence)
4240         (rust_lex_test_trailing_dot, rust_lex_test_completion)
4241         (rust_lex_test_push_back, rust_lex_tests): Update.
4242
4243 2018-07-19  Pedro Alves  <palves@redhat.com>
4244
4245         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
4246         gdb::unique_xmalloc_ptr.
4247         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
4248         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
4249         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
4250         copy-initialization.
4251         * guile/scm-pretty-print.c (ppscm_print_children): Use
4252         gdb::unique_xmalloc_ptr instead of cleanups.
4253         (gdbscm_apply_val_pretty_printer): Remove cleanups.
4254         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
4255         gdb::unique_xmalloc_ptr.
4256         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
4257         Adjust to use gdb::unique_xmalloc_ptr.
4258         * guile/scm-utils.c (extract_arg): Adjust.
4259         * guile/scm-value.c (gdbscm_value_field): Adjust to use
4260         gdb::unique_xmalloc_ptr instead of a cleanup.
4261
4262 2018-07-19  Tom Tromey  <tom@tromey.com>
4263
4264         * utils.c (do_value_free_to_mark)
4265         (make_cleanup_value_free_to_mark): Remove.
4266         * utils.h (make_cleanup_value_free_to_mark): Remove.
4267
4268 2018-07-19  Pedro Alves  <palves@redhat.com>
4269
4270         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
4271         forwarding reference.
4272
4273 2018-07-18  Pedro Alves  <palves@redhat.com>
4274
4275         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
4276         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
4277         cleanup.
4278
4279 2018-07-18  Pedro Alves  <palves@redhat.com>
4280
4281         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
4282         exceptions.
4283         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
4284         (gdbscm_wrap): New.
4285         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
4286         directly instead of a cleanup.
4287         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
4288         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
4289         (vlscm_binop_gdbthrow): New, factored out from ...
4290         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
4291         (vlscm_rich_compare): Use gdbscm_wrap.
4292         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
4293         instead of a cleanup.
4294         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
4295         cleanup.
4296         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
4297         Use xfree directly instead of a cleanup.
4298         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
4299         Adjust to use gdbscm_wrap and scoped_value_mark.
4300         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
4301         (gdbscm_value_address, gdbscm_value_dereference)
4302         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
4303         scoped_value_mark.
4304         (gdbscm_value_dynamic_type): Use scoped_value_mark.
4305         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
4306         scoped_value_mark.
4307         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
4308         gdbscm_wrap and scoped_value_mark.
4309         (gdbscm_value_to_string): Use xfree directly instead of a
4310         cleanup.  Move 'buffer' unique_ptr to TRY scope.
4311         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
4312         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
4313         scoped_value_mark.
4314         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
4315         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
4316         scoped_value_mark.
4317         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
4318         gdbscm_wrap.
4319
4320 2018-07-18  Tom de Vries  <tdevries@suse.de>
4321
4322         * findvar.c (default_read_var_value): Also resolve dynamic type for
4323         LOC_OPTIMIZED_OUT vars.
4324
4325 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
4326
4327         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
4328         decoding.
4329
4330 2018-07-17  Tom Tromey  <tom@tromey.com>
4331
4332         * guile/scm-param.c (pascm_set_func, pascm_show_func)
4333         (compute_enum_list, pascm_set_param_value_x)
4334         (gdbscm_parameter_value): Update.
4335         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
4336         (gdbscm_scm_to_host_string): Update.
4337         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
4338         Update.
4339         * guile/scm-cmd.c (cmdscm_add_completion): Update.
4340         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
4341         * guile/scm-string.c (gdbscm_scm_to_string): Return
4342         unique_xmalloc_ptr.
4343         (gdbscm_scm_to_host_string): Likewise.
4344
4345 2018-07-17  Tom Tromey  <tom@tromey.com>
4346
4347         * guile/guile.c (gdbscm_eval_from_control_command): Update.
4348         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
4349         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
4350         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
4351         unique_xmalloc_ptr.
4352
4353 2018-07-17  Tom Tromey  <tom@tromey.com>
4354
4355         * guile/scm-param.c (pascm_signal_setshow_error): Update.
4356         * guile/guile-internal.h (gdbscm_exception_message_to_string):
4357         Update.
4358         * guile/scm-cmd.c (cmdscm_function): Update.
4359         * guile/scm-pretty-print.c
4360         (ppscm_print_exception_unless_memory_error): Update.
4361         * guile/scm-exception.c (gdbscm_exception_message_to_string):
4362         Return unique_xmalloc_ptr.
4363
4364 2018-07-17  Tom Tromey  <tom@tromey.com>
4365
4366         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
4367         Use string_printf.
4368
4369 2018-07-17  Jim Wilson  <jimw@sifive.com>
4370
4371         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
4372         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
4373         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
4374         unecessary braces after EF_RISCV_RVC test.  Delete call to
4375         set_gdbarch_decr_pc_after_break.
4376
4377         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
4378         RISCV_LAST_FP_REGNUM + 1.
4379         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
4380
4381 2018-07-17  Tom Tromey  <tom@tromey.com>
4382
4383         * configure.ac: Remove --disable-gdbcli.
4384         * configure: Rebuild.
4385         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
4386         (SUBDIR_CLI_CFLAGS): Remove.
4387         (SFILES): Use SUBDIR_CLI_SRCS.
4388         (COMMON_OBS): Use SUBDIR_CLI_OBS.
4389
4390 2018-07-17  Tom Tromey  <tom@tromey.com>
4391
4392         PR gdb/18624:
4393         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
4394
4395 2018-07-16  Jim Wilson  <jimw@sifive.com>
4396
4397         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
4398
4399 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
4400
4401         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
4402         variable.
4403         (libunwind_frame_sniffer): Likewise.
4404         (libunwind_frame_prev_register): Likewise.
4405         (libunwind_sigtramp_frame_sniffer): Likewise.
4406         * ia64-tdep.c (ia64_access_reg): Likewise.
4407         (ia64_access_rse_reg): Likewise.
4408         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
4409         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
4410
4411 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
4412
4413         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
4414
4415 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
4416
4417         * remote-sim.c (gdbsim_target::close,
4418         gdbsim_target::mourn_inferior): Remove unused variables.
4419
4420 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
4421
4422         * ia64-tdep.c (ktab_buf): New global.
4423         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
4424         (get_kernel_table): Adjust.
4425
4426 2018-07-16  Tom Tromey  <tom@tromey.com>
4427
4428         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
4429         * dwarf2read.c (using_directives, new_symbol): Use
4430         outermost_context_p.
4431         * dbxread.c (process_one_symbol): Use outermost_context_p.
4432         * coffread.c (coff_symtab_read): Use outermost_context_p.
4433
4434 2018-07-16  Tom Tromey  <tom@tromey.com>
4435
4436         * dwarf2read.c (using_directives, read_func_scope)
4437         (read_lexical_block_scope): Update.
4438         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
4439         * buildsym.h (local_using_directives, global_using_directives):
4440         Don't declare.
4441         (get_local_using_directives, set_local_using_directives)
4442         (get_global_using_directives): Declare.
4443         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
4444         m_global_using_directives>: New members.
4445         (finish_block_internal, prepare_for_building)
4446         (reset_symtab_globals, end_symtab_get_static_block)
4447         (push_context): Update.
4448         (get_local_using_directives, set_local_using_directives)
4449         (get_global_using_directives): New functions.
4450         (buildsym_init): Update.
4451
4452 2018-07-16  Tom Tromey  <tom@tromey.com>
4453
4454         * xcoffread.c (xcoff_initial_scan): Don't call
4455         free_pending_blocks.
4456         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
4457         * buildsym.h (class scoped_free_pendings): Add constructor.
4458         (free_pending_blocks): Don't declare.
4459         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
4460         (free_pending_blocks): Now static.
4461
4462 2018-07-16  Tom Tromey  <tom@tromey.com>
4463
4464         * buildsym.h (push_subfile, pop_subfile): Update declarations.
4465         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
4466         member.
4467         (struct subfile_stack): Remove.
4468         (subfile_stack): Remove.
4469         (push_subfile, pop_subfile, buildsym_init): Update.
4470
4471 2018-07-16  Tom Tromey  <tom@tromey.com>
4472
4473         * buildsym.c (push_subfile): Use gdb_assert.
4474         (pop_subfile): Use gdb_assert.
4475
4476 2018-07-16  Tom Tromey  <tom@tromey.com>
4477
4478         * buildsym.h (merge_symbol_lists): Remove.
4479         * buildsym.c (merge_symbol_lists): Remove.
4480
4481 2018-07-16  Tom Tromey  <tom@tromey.com>
4482
4483         * stabsread.c (scan_file_globals): Update comment.
4484         * stabsread.h (scan_file_globals): Move from buildsym.h.
4485         * buildsym.h (scan_file_globals): Move to stabsread.h.
4486
4487 2018-07-16  Tom Tromey  <tom@tromey.com>
4488
4489         * xcoffread.c (xcoff_new_init): Update.
4490         * mipsread.c (mipscoff_new_init): Update.
4491         * mdebugread.c (mdebug_build_psymtabs): Update.
4492         * elfread.c (elf_new_init): Update.
4493         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
4494         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
4495         * buildsym.h (buildsym_new_init): Don't declare.
4496         * buildsym.c (buildsym_new_init): Remove.
4497
4498 2018-07-16  Tom Tromey  <tom@tromey.com>
4499
4500         * stabsread.h (within_function): Move from buildsym.h.
4501         * stabsread.c (start_stabs): Clear within_function.
4502         * coffread.c (coff_start_symtab): Clear within_function.
4503         * buildsym.h (within_function): Move to stabsread.h.
4504         * buildsym.c (prepare_for_building): Update.
4505
4506 2018-07-16  Tom Tromey  <tom@tromey.com>
4507
4508         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
4509         * dwarf2read.c (dwarf2_start_symtab): Don't set
4510         processing_gcc_compilation.
4511         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
4512
4513 2018-07-16  Tom Tromey  <tom@tromey.com>
4514
4515         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
4516         (next_symbol_text_func): Move from buildsym.h.
4517         * stabsread.c (hashname): Move from buildsym.c.
4518         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
4519         (next_symbol_text_func, hashname): Move to stabsread.h.
4520         * buildsym.c: Don't include bcache.h
4521         (hashname): Move to stasbread.c.
4522
4523 2018-07-16  Tom Tromey  <tom@tromey.com>
4524
4525         * buildsym.h (context_stack_size): Don't declare.
4526         * buildsym.c (context_stack_size): New global.
4527
4528 2018-07-16  Tom Tromey  <tom@tromey.com>
4529
4530         * dbxread.c (processing_acc_compilation): New global.
4531         * buildsym.h (processing_acc_compilation): Don't declare.
4532
4533 2018-07-16  Tom Tromey  <tom@tromey.com>
4534
4535         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
4536         * dbxread.c (read_ofile_symtab): Update.
4537         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
4538         * buildsym.h (last_source_start_addr): Remove.
4539         (set_last_source_start_addr, get_last_source_start_addr):
4540         Declare.
4541         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
4542         parameter.
4543         (struct buildsym_compunit) <m_last_source_start_addr>: New
4544         member.
4545         (prepare_for_building): Remove start_addr parameter.
4546         (start_symtab, restart_symtab, end_symtab_get_static_block)
4547         (end_symtab_with_blockvector): Update.
4548         (set_last_source_start_addr, get_last_source_start_addr): New
4549         functions.
4550
4551 2018-07-16  Tom Tromey  <tom@tromey.com>
4552
4553         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
4554         member.
4555         (have_line_numbers): Remove.
4556         (record_line, prepare_for_building, end_symtab_get_static_block)
4557         (augment_type_symtab): Update.
4558
4559 2018-07-16  Tom Tromey  <tom@tromey.com>
4560
4561         * buildsym.c (~buildsym_compunit): Free the macro table.
4562         (struct buildsym_compunit) <get_macro_table, release_macros>: New
4563         methods.
4564         <m_pending_macros>: New member.
4565         (pending_macros): Remove.
4566         (~scoped_free_pendings, get_macro_table, prepare_for_building)
4567         (reset_symtab_globals, end_symtab_get_static_block)
4568         (end_symtab_with_blockvector, augment_type_symtab)
4569         (buildsym_init): Update.
4570
4571 2018-07-16  Tom Tromey  <tom@tromey.com>
4572
4573         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
4574         parameter.
4575         (buildsym_compunit::set_last_source_file): New method.
4576         <m_last_source_file>: New member.
4577         (prepare_for_building): Remove "name" parameter.
4578         (start_symtab, restart_symtab, reset_symtab_globals): Update.
4579         (last_source_file): Remove.
4580         (set_last_source_file, get_last_source_file): Update.
4581
4582 2018-07-16  Tom Tromey  <tom@tromey.com>
4583
4584         * buildsym.c (prepare_for_building): Add assert.
4585
4586 2018-07-16  Tom Tromey  <tom@tromey.com>
4587
4588         * buildsym.c (~buildsym_compunit): Update.
4589         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
4590         (start_subfile, patch_subfile_names)
4591         (end_symtab_with_blockvector): Update.
4592
4593 2018-07-16  Tom Tromey  <tom@tromey.com>
4594
4595         * buildsym.c (struct buildsym_compunit): Add constructor,
4596         destructor, initializers.
4597         (start_buildsym_compunit): Remove.
4598         (free_buildsym_compunit): Use "delete".
4599         (start_symtab, restart_symtab): Use "new".
4600
4601 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
4602
4603         * symfile.c (set_objfile_default_section_offset): Remove struct
4604         keyword.
4605
4606 2018-07-14  Stafford Horne  <shorne@gmail.com>
4607
4608         * (Responsible Maintainers): Add myself as or1k maintainer.
4609
4610 2018-07-13  Tom Tromey  <tom@tromey.com>
4611
4612         * symfile.c (set_objfile_default_section_offset): Use extra braces
4613         around initializer.
4614
4615 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
4616
4617         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
4618         non-branching basr.
4619
4620 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4621
4622         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4623         unittests/cli-utils-selftests.c
4624         * unittests/cli-utils-selftests.c: New file.
4625
4626 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4627
4628         * NEWS: Mention new commands. Mention change to 'thread apply'.
4629
4630 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4631
4632         * thread.c (thr_try_catch_cmd): New function.
4633         (thread_apply_all_command): Handle qcs flags.
4634         (thread_apply_command): Handle qcs flags.
4635         (taas_command): New function.
4636         (tfaas_command): New function.
4637         (_initialize_thread): Update to setup the new commands 'taas
4638         and 'tfaas'. Change doc string for 'thread apply'.
4639
4640 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4641
4642         * stack.c: (trailing_outermost_frame): New function, mostly
4643         extracted from backtrace_command_1.
4644         (leading_innermost_frame): New function.
4645         (backtrace_command_1): Update to call trailing_outermost_frame.
4646         (frame_apply_command_count): New function.
4647         (frame_apply_level_command): New function.
4648         (frame_apply_all_command): New function.
4649         (frame_apply_command): New function.
4650         (faas_command): New function.
4651         (frame_cmd_list): New variable.
4652         (_initialize_stack): Update to setup the new commands 'frame apply'
4653         and 'faas'.
4654
4655 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4656
4657         * cli-utils.c (number_or_range_parser::get_number): Only handle
4658         numbers or convenience var as numbers.
4659         (parse_flags): New function.
4660         (parse_flags_qcs): New function.
4661         (number_or_range_parser::finished): Ensure parsing end is detected
4662         before end of string.
4663         * cli-utils.h (parse_flags): New function.
4664         (parse_flags_qcs): New function.
4665         (number_or_range_parser): Remove m_finished bool.
4666         (number_or_range_parser::skip_range): Set m_in_range to false.
4667
4668 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
4669
4670         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
4671         on Windows.
4672
4673 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4674             Jan Kratochvil  <jan.kratochvil@redhat.com>
4675             Paul Fertser  <fercerpav@gmail.com>
4676             Tsutomu Seki  <sekiriki@gmail.com>
4677             Pedro Alves  <palves@redhat.com>
4678
4679         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4680         'unittests/parse-connection-spec-selftests.c'.
4681         (COMMON_SFILES): Add 'common/netstuff.c'.
4682         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
4683         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
4684         * common/netstuff.c: New file.
4685         * common/netstuff.h: New file.
4686         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
4687         (wait_for_connect): Update comment.  New parameter
4688         'gdb::optional<int> sock' instead of 'struct serial *scb'.
4689         Use 'sock' directly instead of 'scb->fd'.
4690         (try_connect): New function, with code from 'net_open'.
4691         (net_open): Rewrite main loop to deal with multiple
4692         sockets/addresses.  Handle IPv6-style hostnames; implement
4693         support for IPv6 connections.
4694         * unittests/parse-connection-spec-selftests.c: New file.
4695
4696 2018-07-11  Pedro Alves  <palves@redhat.com>
4697
4698         PR gdb/23377
4699         * remote.c (remote_target::remote_detach_pid): Call
4700         set_current_process.
4701
4702 2018-07-11  Pedro Alves  <palves@redhat.com>
4703
4704         * h8300-tdep.c (h8300_gdbarch_init): Remove
4705         set_gdbarch_ecoff_reg_to_regnum calls.
4706
4707 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4708
4709         PR c++/23373
4710         * c-typeprint.c (c_type_print_base_struct_union): Don't print
4711         offsets/sizes for static members of a class/struct.
4712
4713 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
4714
4715         * target-descriptions.c (tdesc_register_bitsize): Rename.
4716         * target-descriptions.h (tdesc_register_bitsize): Likewise.
4717         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
4718         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
4719
4720 2018-07-10  Tom Tromey  <tom@tromey.com>
4721
4722         * breakpoint.c (moribund_locations): Now static and a
4723         std::vector.
4724         (breakpoint_init_inferior, moribund_breakpoint_here_p)
4725         (build_bpstat_chain, update_global_location_list)
4726         (breakpoint_retire_moribund): Update.
4727         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
4728         VEC.
4729
4730 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4731
4732         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
4733         (riscv_register_reggroup_p): Use new function, remove unneeded
4734         parenthesis.
4735         (riscv_push_dummy_call): Extend assert to compare against xlen or
4736         flen based on register type.
4737
4738 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4739
4740         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
4741
4742 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
4743
4744         * remote.c (show_hardware_watchpoint_limit): New function.
4745         (show_hardware_watchpoint_length_limit): New function.
4746         (show_hardware_breakpoint_limit): New function.
4747         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
4748         where appropriate, update help text.
4749
4750 2018-07-09  Tom Tromey  <tom@tromey.com>
4751
4752         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
4753         (CLIBS): Don't mention NAT_CLIBS.
4754
4755 2018-07-09  Tom Tromey  <tom@tromey.com>
4756
4757         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
4758         (LIBGDB_OBS, clean mostlyclean): Update.
4759         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
4760
4761 2018-07-09  Tom Tromey  <tom@tromey.com>
4762
4763         * Makefile.in (%.c: %.y): Use ECHO_YACC.
4764         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
4765         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
4766
4767 2018-07-09  Tom Tromey  <tom@tromey.com>
4768
4769         * Makefile.in (ALLDEPFILES): Remove exec.c.
4770         (COMMON_OBS): Remove exec.o.
4771         (COMMON_SFILES): Add exec.c.
4772
4773 2018-07-09  Tom Tromey  <tom@tromey.com>
4774
4775         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
4776
4777 2018-07-09  Tom Tromey  <tom@tromey.com>
4778
4779         * Makefile.in (clean mostlyclean): Remove stamp-version.
4780         (version.c): Depend on stamp-version.
4781         (stamp-version): New rule, from version.c rule.
4782
4783 2018-07-09  Tom Tromey  <tom@tromey.com>
4784
4785         * Makefile.in (init.c): Depend on stamp-init.
4786         (stamp-init): New rule, from init.c rule.
4787         (clean mostlyclean): Remove stamp-init.
4788
4789 2018-07-09  Tom Tromey  <tom@tromey.com>
4790
4791         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
4792         SUBDIR_GCC_COMPILE_SRCS.
4793
4794 2018-07-09  Tom Tromey  <tom@tromey.com>
4795
4796         * Makefile.in (init.c): Remove some unused sed rules.
4797
4798 2018-07-09  Tom Tromey  <tom@tromey.com>
4799
4800         * Makefile.in (TSOBS): Remove.
4801         (INIT_FILES): Update.
4802         (LIBGDB_OBS): Update.
4803         (COMMON_SFILES): Add inflow.c.
4804         (SFILES): Remove inflow.c.
4805
4806 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
4807
4808         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
4809
4810 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
4811
4812         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
4813         get_saveloc_name, is_signal_frame_name, step_name,
4814         init_remote_name, create_addr_space_name,
4815         destroy_addr_space_name, search_unwind_table_name,
4816         find_dyn_list_name): Constify.
4817
4818 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
4819
4820         * darwin-nat.c (darwin_pthread_kill): New function.
4821         (darwin_resume_thread): Use darwin_pthread_kill.
4822
4823 2018-07-05  Tom de Vries  <tdevries@suse.de>
4824
4825         * macroexp.c (macro_buffer) <operator=>: New member function.
4826
4827 2018-07-04  Tom Tromey  <tom@tromey.com>
4828
4829         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
4830
4831 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
4832
4833         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
4834         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
4835         * maint.c: Likewise.
4836         * top.c: Likewise.
4837
4838 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4839
4840         * NEWS: Create a new section for the next release branch.
4841         Rename the section of the current branch, now that it has
4842         been cut.
4843
4844 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4845
4846         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
4847         * version.in: Bump version to 8.2.50.DATE-git.
4848
4849 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
4850             Pedro Alves  <palves@redhat.com>
4851
4852         * linux-nat.c (linux_init_ptrace): Rename to ...
4853         (linux_init_ptrace_procfs): ... this.  Call
4854         linux_proc_init_warnings.
4855         (linux_nat_target::post_attach)
4856         (linux_nat_target::post_startup_inferior): Adjust.
4857         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
4858         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
4859
4860 2018-07-04  Tom de Vries  <tdevries@suse.de>
4861
4862         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
4863         check ...
4864         (read_comp_unit_head): ... here.
4865
4866 2018-07-03  Tom Tromey  <tom@tromey.com>
4867
4868         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
4869         (stop_tracing, tstatus_command)
4870         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
4871         (print_one_static_tracepoint_marker): Update.
4872         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
4873         std::vector.
4874         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
4875         VEC.
4876         (all_tracepoints, static_tracepoints_here): Return std::vector.
4877
4878 2018-07-03  Tom Tromey  <tom@tromey.com>
4879
4880         * common/ptid.c (ptid_equal): Remove.
4881         * common/ptid.h (ptid_equal): Don't declare.
4882         * ada-tasks.c: Update.
4883         * breakpoint.c: Update.
4884         * common/agent.c: Update.
4885         * corelow.c: Update.
4886         * darwin-nat-info.c: Update.
4887         * darwin-nat.c: Update.
4888         * dcache.c: Update.
4889         * dtrace-probe.c: Update.
4890         * dummy-frame.c: Update.
4891         * fbsd-nat.c: Update.
4892         * frame.c: Update.
4893         * gdbthread.h: Update.
4894         * gnu-nat.c: Update.
4895         * go32-nat.c: Update.
4896         * inf-loop.c: Update.
4897         * inf-ptrace.c: Update.
4898         * infcall.c: Update.
4899         * infcmd.c: Update.
4900         * inflow.c: Update.
4901         * infrun.c: Update.
4902         * linux-fork.c: Update.
4903         * linux-nat.c: Update.
4904         * linux-thread-db.c: Update.
4905         * mi/mi-cmd-var.c: Update.
4906         * mi/mi-interp.c: Update.
4907         * mi/mi-main.c: Update.
4908         * nto-procfs.c: Update.
4909         * ppc-linux-tdep.c: Update.
4910         * procfs.c: Update.
4911         * python/py-inferior.c: Update.
4912         * python/py-record-btrace.c: Update.
4913         * python/py-record.c: Update.
4914         * ravenscar-thread.c: Update.
4915         * regcache.c: Update.
4916         * remote-sim.c: Update.
4917         * remote.c: Update.
4918         * sol-thread.c: Update.
4919         * solib.c: Update.
4920         * target.c: Update.
4921         * tui/tui-stack.c: Update.
4922         * varobj.c: Update.
4923         * windows-nat.c: Update.
4924         * windows-tdep.c: Update.
4925
4926 2018-07-03  Tom Tromey  <tom@tromey.com>
4927
4928         * common/ptid.c (ptid_match): Remove.
4929         * common/ptid.h (ptid_match): Don't declare.
4930         * fbsd-nat.c: Update.
4931         * infcmd.c: Update.
4932         * infrun.c: Update.
4933         * linux-nat.c: Update.
4934         * record-btrace.c: Update.
4935         * regcache.c: Update.
4936         * remote.c: Update.
4937
4938 2018-07-03  Tom Tromey  <tom@tromey.com>
4939
4940         * common/ptid.c (ptid_tid_p): Remove.
4941         * common/ptid.h (ptid_tid_p): Don't declare.
4942         * sol-thread.c: Update.
4943
4944 2018-07-03  Tom Tromey  <tom@tromey.com>
4945
4946         * common/ptid.c (ptid_lwp_p): Remove.
4947         * common/ptid.h (ptid_lwp_p): Don't declare.
4948         * fbsd-nat.c: Update.
4949         * linux-nat.c: Update.
4950         * nat/linux-procfs.c: Update.
4951         * nat/x86-linux-dregs.c: Update.
4952         * sol-thread.c: Update.
4953
4954 2018-07-03  Tom Tromey  <tom@tromey.com>
4955
4956         * common/ptid.c (ptid_is_pid): Remove.
4957         * common/ptid.h (ptid_is_pid): Don't declare.
4958         * infrun.c: Update.
4959         * linux-nat.c: Update.
4960         * mi/mi-interp.c: Update.
4961         * remote.c: Update.
4962         * thread.c: Update.
4963
4964 2018-07-03  Tom Tromey  <tom@tromey.com>
4965
4966         * common/ptid.c (ptid_get_tid): Remove.
4967         * common/ptid.h (ptid_get_tid): Don't declare.
4968         * ada-tasks.c: Update.
4969         * aix-thread.c: Update.
4970         * bsd-uthread.c: Update.
4971         * darwin-nat.c: Update.
4972         * fbsd-nat.c: Update.
4973         * i386-darwin-nat.c: Update.
4974         * infrun.c: Update.
4975         * linux-tdep.c: Update.
4976         * nto-procfs.c: Update.
4977         * ppc-ravenscar-thread.c: Update.
4978         * python/py-infthread.c: Update.
4979         * ravenscar-thread.c: Update.
4980         * sol-thread.c: Update.
4981         * sparc-ravenscar-thread.c: Update.
4982         * windows-nat.c: Update.
4983
4984 2018-07-03  Tom Tromey  <tom@tromey.com>
4985
4986         * common/ptid.c (ptid_get_lwp): Remove.
4987         * common/ptid.h (ptid_get_lwp): Don't declare.
4988         * aarch64-linux-nat.c: Update.
4989         * ada-tasks.c: Update.
4990         * aix-thread.c: Update.
4991         * amd64-linux-nat.c: Update.
4992         * arm-linux-nat.c: Update.
4993         * corelow.c: Update.
4994         * fbsd-nat.c: Update.
4995         * fbsd-tdep.c: Update.
4996         * gnu-nat.c: Update.
4997         * i386-cygwin-tdep.c: Update.
4998         * i386-gnu-nat.c: Update.
4999         * i386-linux-nat.c: Update.
5000         * ia64-linux-nat.c: Update.
5001         * inf-ptrace.c: Update.
5002         * infrun.c: Update.
5003         * linux-fork.c: Update.
5004         * linux-nat.c: Update.
5005         * linux-tdep.c: Update.
5006         * linux-thread-db.c: Update.
5007         * mips-linux-nat.c: Update.
5008         * nat/aarch64-linux-hw-point.c: Update.
5009         * nat/aarch64-linux.c: Update.
5010         * nat/linux-btrace.c: Update.
5011         * nat/linux-osdata.c: Update.
5012         * nat/linux-procfs.c: Update.
5013         * nat/x86-linux-dregs.c: Update.
5014         * obsd-nat.c: Update.
5015         * ppc-fbsd-nat.c: Update.
5016         * ppc-linux-nat.c: Update.
5017         * procfs.c: Update.
5018         * python/py-infthread.c: Update.
5019         * ravenscar-thread.c: Update.
5020         * remote.c: Update.
5021         * s390-linux-nat.c: Update.
5022         * sol-thread.c: Update.
5023         * sol2-tdep.c: Update.
5024         * spu-linux-nat.c: Update.
5025         * x86-linux-nat.c: Update.
5026         * xtensa-linux-nat.c: Update.
5027
5028 2018-07-03  Tom Tromey  <tom@tromey.com>
5029
5030         * common/ptid.c (ptid_get_pid): Remove.
5031         * common/ptid.h (ptid_get_pid): Don't declare.
5032         * aarch64-linux-nat.c: Update.
5033         * ada-lang.c: Update.
5034         * aix-thread.c: Update.
5035         * alpha-bsd-nat.c: Update.
5036         * amd64-fbsd-nat.c: Update.
5037         * amd64-linux-nat.c: Update.
5038         * arm-linux-nat.c: Update.
5039         * arm-nbsd-nat.c: Update.
5040         * auxv.c: Update.
5041         * break-catch-syscall.c: Update.
5042         * breakpoint.c: Update.
5043         * bsd-uthread.c: Update.
5044         * corelow.c: Update.
5045         * ctf.c: Update.
5046         * darwin-nat.c: Update.
5047         * fbsd-nat.c: Update.
5048         * fbsd-tdep.c: Update.
5049         * gcore.c: Update.
5050         * gnu-nat.c: Update.
5051         * hppa-nbsd-nat.c: Update.
5052         * hppa-obsd-nat.c: Update.
5053         * i386-fbsd-nat.c: Update.
5054         * ia64-linux-nat.c: Update.
5055         * inf-ptrace.c: Update.
5056         * infcmd.c: Update.
5057         * inferior.c: Update.
5058         * inferior.h: Update.
5059         * inflow.c: Update.
5060         * infrun.c: Update.
5061         * linux-fork.c: Update.
5062         * linux-nat.c: Update.
5063         * linux-tdep.c: Update.
5064         * linux-thread-db.c: Update.
5065         * m68k-bsd-nat.c: Update.
5066         * mi/mi-interp.c: Update.
5067         * mi/mi-main.c: Update.
5068         * mips-linux-nat.c: Update.
5069         * mips-nbsd-nat.c: Update.
5070         * mips64-obsd-nat.c: Update.
5071         * nat/aarch64-linux-hw-point.c: Update.
5072         * nat/aarch64-linux.c: Update.
5073         * nat/linux-btrace.c: Update.
5074         * nat/linux-osdata.c: Update.
5075         * nat/linux-procfs.c: Update.
5076         * nat/x86-linux-dregs.c: Update.
5077         * nto-procfs.c: Update.
5078         * obsd-nat.c: Update.
5079         * ppc-linux-nat.c: Update.
5080         * ppc-nbsd-nat.c: Update.
5081         * ppc-obsd-nat.c: Update.
5082         * proc-service.c: Update.
5083         * procfs.c: Update.
5084         * python/py-inferior.c: Update.
5085         * python/py-infthread.c: Update.
5086         * ravenscar-thread.c: Update.
5087         * record.c: Update.
5088         * remote-sim.c: Update.
5089         * remote.c: Update.
5090         * rs6000-nat.c: Update.
5091         * s390-linux-nat.c: Update.
5092         * sh-nbsd-nat.c: Update.
5093         * sol-thread.c: Update.
5094         * sparc-nat.c: Update.
5095         * sparc64-tdep.c: Update.
5096         * spu-linux-nat.c: Update.
5097         * spu-tdep.c: Update.
5098         * target-debug.h: Update.
5099         * target.c: Update.
5100         * thread.c: Update.
5101         * tid-parse.c: Update.
5102         * tracefile-tfile.c: Update.
5103         * vax-bsd-nat.c: Update.
5104         * windows-nat.c: Update.
5105         * x86-linux-nat.c: Update.
5106         * x86-nat.c: Update.
5107
5108 2018-07-03  Tom Tromey  <tom@tromey.com>
5109
5110         * common/ptid.c (pid_to_ptid): Remove.
5111         * common/ptid.h (pid_to_ptid): Don't declare.
5112         * aix-thread.c: Update.
5113         * arm-linux-nat.c: Update.
5114         * common/ptid.c: Update.
5115         * common/ptid.h: Update.
5116         * corelow.c: Update.
5117         * ctf.c: Update.
5118         * darwin-nat.c: Update.
5119         * fbsd-nat.c: Update.
5120         * fork-child.c: Update.
5121         * gnu-nat.c: Update.
5122         * go32-nat.c: Update.
5123         * inf-ptrace.c: Update.
5124         * infcmd.c: Update.
5125         * inferior.c: Update.
5126         * infrun.c: Update.
5127         * linux-fork.c: Update.
5128         * linux-nat.c: Update.
5129         * nat/aarch64-linux-hw-point.c: Update.
5130         * nat/fork-inferior.c: Update.
5131         * nat/x86-linux-dregs.c: Update.
5132         * nto-procfs.c: Update.
5133         * obsd-nat.c: Update.
5134         * procfs.c: Update.
5135         * progspace.c: Update.
5136         * remote.c: Update.
5137         * rs6000-nat.c: Update.
5138         * s390-linux-nat.c: Update.
5139         * sol-thread.c: Update.
5140         * spu-linux-nat.c: Update.
5141         * target.c: Update.
5142         * top.c: Update.
5143         * tracefile-tfile.c: Update.
5144         * windows-nat.c: Update.
5145
5146 2018-07-03  Tom Tromey  <tom@tromey.com>
5147
5148         * common/ptid.h (ptid_build): Don't declare.
5149         * common/ptid.c (ptid_build): Remove.
5150         * aix-thread.c: Update.
5151         * bsd-kvm.c: Update.
5152         * bsd-uthread.c: Update.
5153         * common/agent.c: Update.
5154         * common/ptid.c: Update.
5155         * common/ptid.h: Update.
5156         * corelow.c: Update.
5157         * darwin-nat.c: Update.
5158         * fbsd-nat.c: Update.
5159         * gnu-nat.c: Update.
5160         * linux-fork.c: Update.
5161         * linux-nat.c: Update.
5162         * linux-thread-db.c: Update.
5163         * nat/linux-osdata.c: Update.
5164         * nat/linux-procfs.c: Update.
5165         * nto-procfs.c: Update.
5166         * obsd-nat.c: Update.
5167         * proc-service.c: Update.
5168         * procfs.c: Update.
5169         * ravenscar-thread.c: Update.
5170         * remote-sim.c: Update.
5171         * remote.c: Update.
5172         * sol-thread.c: Update.
5173         * target.c: Update.
5174         * windows-nat.c: Update.
5175
5176 2018-07-03  Tom Tromey  <tom@tromey.com>
5177
5178         * infrun.c (follow_exec): Use exit_inferior_silent.
5179         * inferior.c (exit_inferior_num_silent): Remove.
5180         * inferior.h (exit_inferior_num_silent): Don't declare.
5181
5182 2018-07-03  Tom Tromey  <tom@tromey.com>
5183
5184         PR cli/23340:
5185         * darwin-nat.c (darwin_attach_pid): Reset inferior and
5186         inferior_ptid on error.
5187
5188 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
5189             Simon Marchi  <simon.marchi@polymtl.ca>
5190
5191         PR tdep/8282
5192         * disasm.h (gdb_disassembler): Add
5193         `m_disassembler_options_holder'. member
5194         * disasm.c (get_all_disassembler_options): New function.
5195         (gdb_disassembler::gdb_disassembler): Use it.
5196         (gdb_buffered_insn_length_init_dis): Likewise.
5197         (gdb_buffered_insn_length): Adjust accordingly.
5198         (set_disassembler_options): Handle options with arguments.
5199         (show_disassembler_options_sfunc): Likewise.  Add a leading new
5200         line if showing options with descriptions.
5201         (disassembler_options_completer): Adapt to using the
5202         `disasm_options_and_args_t' structure.
5203         * mips-tdep.c (mips_disassembler_options): New variable.
5204         (mips_disassembler_options_o32): Likewise.
5205         (mips_disassembler_options_n32): Likewise.
5206         (mips_disassembler_options_n64): Likewise.
5207         (gdb_print_insn_mips): Don't set `disassembler_options'.
5208         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
5209         functions.
5210         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
5211         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
5212         `gdbarch_disassembler_options_implicit' and
5213         `gdbarch_valid_disassembler_options'.
5214         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
5215         `disasm_options_and_args_t' structure.
5216         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
5217         method.
5218         (valid_disassembler_options): Switch from `disasm_options_t' to
5219         the `disasm_options_and_args_t' structure.
5220         * NEWS: Document `set disassembler-options' support for the MIPS
5221         target.
5222         * gdbarch.h: Regenerate.
5223         * gdbarch.c: Regenerate.
5224
5225 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5226
5227         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
5228
5229 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
5230
5231         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
5232         parameter in call to amd64_target_description.
5233         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
5234         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
5235         (amd64fbsd_init_abi): Likewise.
5236         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
5237         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
5238         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
5239         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
5240
5241 2018-06-29  Pedro Alves  <palves@redhat.com>
5242
5243         * gdb/amd64-tdep.h (amd64_create_target_description): Add
5244         "segments" parameter.
5245         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
5246         (_initialize_amd64_tdep): Update call to
5247         amd64_create_target_description.
5248         (amd64_target_description): Add "segments" parameter.  Adjust
5249         the implementation to use it.
5250         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
5251         call to amd64_create_target_description.
5252         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
5253         * gdb/arch/amd64.h (amd64_create_target_description): Add
5254         "segments" register.
5255         * gdb/arch/amd64.c (amd64_create_target_description): Add
5256         "segments" parameter.  Call create_feature_i386_64bit_segments
5257         only if SEGMENTS is true.
5258         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
5259         call to amd64_create_target_description.
5260
5261 2018-06-29  Pedro Alves  <palves@redhat.com>
5262
5263         * thread.c (thread_target_id_str): New, factored out from ...
5264         (print_thread_info_1): ... here.  Use it to compute the max
5265         "Target Id" column width.
5266
5267 2018-06-29  Pedro Alves  <palves@redhat.com>
5268
5269         * remote.c (remote_target::extra_thread_info): Delete
5270         'display_buf' and 'n' locals.  from the cache, regardless of
5271         packet mechanims is in use.  Use cache for qThreadExtra and qP
5272         methods too.
5273
5274 2018-06-29  Pedro Alves  <palves@redhat.com>
5275
5276         * blockframe.c (find_pc_sect_containing_function): New function.
5277         * breakpoint.c (print_breakpoint_location): Don't call
5278         find_pc_sect_function.
5279         * linespec.c (create_sals_line_offset): Record the location's
5280         symbol in the sal.
5281         * linespec.c (convert_address_location_to_sals): Fill in sal's
5282         symbol with find_pc_sect_containing_function.
5283         * symtab.c (find_function_start_sal): Rename to ...
5284         (find_function_start_sal_1): ... this.
5285         (find_function_start_sal): Reimplement as wrapper around
5286         find_function_start_sal_1, and use
5287         find_pc_sect_containing_function to fill in the sal's symbol.
5288         (find_function_start_sal(symbol*, bool)): Adjust.
5289         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
5290         comments.
5291         (find_pc_sect_containing_function): Declare.
5292
5293 2018-06-29  Pedro Alves  <palves@redhat.com>
5294
5295         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
5296         true if the the location has no symbol.
5297
5298 2018-06-28  Tom Tromey  <tom@tromey.com>
5299
5300         * NEWS: Mention --enable-codesign.
5301         * silent-rules.mk (ECHO_SIGN): New variable.
5302         * configure.ac: Add --enable-codesign.
5303         * configure: Rebuild.
5304         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
5305         (gdb$(EXEEXT)): Optionally invoke codesign.
5306
5307 2018-06-28  Pedro Alves  <palves@redhat.com>
5308
5309         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
5310         comments.
5311         (switch_to_thread_no_regs): Adjust comment.
5312         * infcmd.c (stop_pc): Delete.
5313         (post_create_inferior, info_program_command): Replace references
5314         to stop_pc with references to thread_info->suspend.stop_pc.
5315         * inferior.h (stop_pc): Delete declaration.
5316         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
5317         (handle_inferior_event_1, handle_signal_stop)
5318         (process_event_stop_test, keep_going_stepped_thread)
5319         (handle_step_into_function, handle_step_into_function_backward)
5320         (print_stop_location): Replace references to stop_pc with
5321         references to thread_info->suspend.stop_pc.
5322         (struct infcall_suspend_state) <stop_pc>: Delete field.
5323         (save_infcall_suspend_state, restore_infcall_suspend_state):
5324         Remove references to inf_stat->stop_pc.
5325         * linux-fork.c (fork_load_infrun_state): Likewise.
5326         * record-btrace.c (record_btrace_set_replay): Likewise.
5327         * record-full.c (record_full_goto_entry): Likewise.
5328         * remote.c (print_one_stopped_thread): Likewise.
5329         * target.c (target_resume): Extend comment.
5330         * thread.c (set_executing_thread): New.
5331         (set_executing): Use it.
5332         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
5333         Remove references to stop_pc.
5334
5335 2018-06-28  Pedro Alves  <palves@redhat.com>
5336
5337         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
5338         Moving fetching stop_pc until after ecs->event_thread is refreshed.
5339
5340 2018-06-28  Tom Tromey  <tom@tromey.com>
5341
5342         * coffread.c (coff_symfile_finish): Update.
5343         * xcoffread.c (xcoff_symfile_finish): Update.
5344         * elfread.c (elf_symfile_finish): Update.
5345         * symfile.h (dwarf2_free_objfile): Don't declare.
5346         * dwarf2read.c (_initialize_dwarf2_read): Use
5347         register_objfile_data_with_cleanup.
5348         (dwarf2_free_objfile): Now static.  Change signature.
5349
5350 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5351
5352         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
5353         option "-o" to add-symbol-file-load to add an offset to each
5354         section's load address.
5355         * symfile.c (set_objfile_default_section_offset): New function.
5356
5357 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5358
5359         * symfile.c (add_symbol_file_command): Make sure that sections
5360         with the same name are sorted in the same order.
5361
5362 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5363
5364         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
5365         require the second argument.  If omitted, load sections at the
5366         addresses specified in the file.
5367
5368 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5369
5370         * symfile.c (symbol_file_command, symbol_file_add_main_1)
5371         (_initialize_symfile): Add option "-o" to symbol-file to add an
5372         offset to each section of the symbol file.
5373
5374 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5375
5376         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
5377
5378 2018-06-27  Tom Tromey  <tom@tromey.com>
5379
5380         * stack.c (_initialize_stack): Update "func" help text.
5381
5382 2018-06-27  Tom Tromey  <tom@tromey.com>
5383
5384         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
5385         std::vector.
5386         (unwind_infopy_str, pyuw_create_unwind_info)
5387         (unwind_infopy_add_saved_register, pyuw_sniffer)
5388         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
5389         Update.
5390         (struct saved_reg): Add constructor.
5391         <value>: Now a gdbpy_ref<>.
5392
5393 2018-06-27  Tom Tromey  <tom@tromey.com>
5394
5395         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
5396
5397 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5398
5399         * gdb-gdb.py.in: Format using autopep8.
5400
5401 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5402
5403         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
5404         (type_lookup_function): Recognize CORE_ADDR values.
5405
5406 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5407
5408         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
5409         print tag_name.
5410
5411 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5412
5413         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
5414         <__lt__>: Add.
5415
5416 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5417
5418         * gdb-gdb.py: Move to...
5419         * gdb-gdb.py.in: ... here.
5420         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
5421         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
5422         dependencies.
5423         (distclean): Remove gdb-gdb.py when cleaning.
5424         (gdb-gdb.py, gdb-gdb.gdb): New rules.
5425         * configure: Re-generate.
5426
5427 2018-06-27  Pedro Alves  <palves@redhat.com>
5428
5429         * proc-service.c (get_ps_regcache): New.
5430         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
5431         (ps_lsetfpregs): Use it.
5432
5433 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
5434
5435         PR gdb/21695
5436         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
5437         (dwarf_decode_lines_1): Adjust.
5438
5439 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5440
5441         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
5442         override.
5443         <info_proc>: Likewise.
5444
5445 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
5446
5447         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
5448         to windows_fetch_one_register, and only handle the case of
5449         fetching one register.  Move the code that reloads the context
5450         and iterates over all registers if R is negative to...
5451         (windows_nat_target::fetch_registers): ... here.
5452         (do_windows_store_inferior_registers): Rename to
5453         windows_store_one_register, and only handle the case of storing
5454         one register.  Move the code that handles the case where r is
5455         negative to...
5456         (windows_nat_target::store_registers) ... here.
5457
5458 2018-06-26  Tom Tromey  <tom@tromey.com>
5459
5460         PR rust/22574:
5461         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
5462         * rust-lang.c (rust_print_struct_def): Add podata parameter.
5463         Update.
5464         (rust_internal_print_type): Add podata parameter.
5465         (rust_print_type): Update.
5466
5467 2018-06-26  Tom Tromey  <tom@tromey.com>
5468
5469         * typeprint.h (struct print_offset_data) <update, finish,
5470         maybe_print_hole>: New methods.
5471         <indentation>: New constant.
5472         * typeprint.c (print_offset_data::indentation): Define.
5473         (print_offset_data::maybe_print_hole, print_offset_data::update)
5474         (print_offset_data::finish): Move from c-typeprint.c and rename.
5475         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
5476         (print_spaces_filtered_with_print_options): Update.
5477         (c_print_type_union_field_offset, maybe_print_hole)
5478         (c_print_type_struct_field_offset): Move to typeprint.c and
5479         rename.
5480         (c_type_print_base_struct_union): Update.
5481
5482 2018-06-25  Pedro Alves  <palves@redhat.com>
5483
5484         * gdbthread.h (thread_info_ref, delete_thread)
5485         (delete_thread_silent, first_thread_of_inferior)
5486         (any_thread_of_inferior, switch_to_thread)
5487         (enable_thread_stack_temporaries)
5488         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5489         (get_last_thread_stack_temporary)
5490         (value_in_thread_stack_temporaries, can_access_registers_thread):
5491         Spell out "struct thread_info" instead of just "thread_info".
5492         * inferior.h (notice_new_inferior): Likewise.
5493
5494 2018-06-25  Pedro Alves  <palves@redhat.com>
5495
5496         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5497         pass thread_info pointer to delete_thread.
5498         (windows_nat_target::detach): Pass inferior pointer to
5499         detach_inferior.
5500         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
5501         delete_thread.
5502         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
5503         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
5504         and pass a thread_info pointer to delete_thread.
5505         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
5506         pass thread_info pointer to delete_thread.
5507         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
5508         delete_thread_silent call.
5509         * procfs.c (procfs_target::detach): Pass inferior pointer to
5510         detach_inferior.
5511         (procfs_target::wait): Pass thread_info pointer to delete_thread.
5512         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
5513         delete_thread_silent call.
5514         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5515         pass thread_info pointer to delete_thread.
5516         (windows_nat_target::detach): Pass inferior pointer to
5517         delete_inferior.
5518
5519 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5520
5521         * regcache.c (readable_regcache::read_part): Fix asserts.
5522         (reg_buffer::raw_collect_part): New function.
5523         (regcache::write_part): Fix asserts.
5524         (reg_buffer::raw_supply_part): New function.
5525         (regcache::transfer_regset_register): New helper function.
5526         (regcache::transfer_regset): Call new functions.
5527         (regcache_supply_regset): Use gdb_byte*.
5528         (regcache::supply_regset): Likewise.
5529         (regcache_collect_regset): Likewise.
5530         (regcache::collect_regset): Likewise.
5531         * regcache.h (reg_buffer::raw_collect_part): New declaration.
5532         (reg_buffer::raw_supply_part): Likewise.
5533         (regcache::transfer_regset_register): Likewise.
5534         (regcache::transfer_regset): Use gdb_byte*.
5535
5536 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5537
5538         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
5539
5540 2018-06-21  Pedro Alves  <palves@redhat.com>
5541
5542         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
5543         instead of a ptid_t.  All callers adjusted.
5544         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
5545         adjusted.
5546         (print_ada_task_info, display_current_task_id, task_command_1):
5547         Adjust.
5548         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
5549         inferior_thread.
5550         (breakpoint_kind): Adjust.
5551         (remove_breakpoints_pid): Rename to ...
5552         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
5553         pointer.  All callers adjusted.
5554         (bpstat_clear_actions): Use inferior_thread.
5555         (get_bpstat_thread): New.
5556         (bpstat_do_actions): Use it.
5557         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
5558         to take a thread_info pointer.  All callers adjusted.
5559         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
5560         (breakpoint_re_set_thread): Use inferior_thread.
5561         * breakpoint.h (struct inferior): Forward declare.
5562         (bpstat_stop_status): Update.
5563         (remove_breakpoints_pid): Delete.
5564         (remove_breakpoints_inf): New.
5565         * bsd-uthread.c (bsd_uthread_target::wait)
5566         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
5567         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
5568         (maint_btrace_packet_history_cmd)
5569         (maint_btrace_clear_packet_history_cmd): Adjust.
5570         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
5571         inferior_thread.
5572         * cli/cli-interp.c: Include "inferior.h".
5573         * common/refcounted-object.h (struct
5574         refcounted_object_ref_policy): New.
5575         * compile/compile-object-load.c: Include gdbthread.h.
5576         (store_regs): Use inferior_thread.
5577         * corelow.c (core_target::close): Use current_inferior.
5578         (core_target_open): Adjust to use first_thread_of_inferior and use
5579         the current inferior.
5580         * ctf.c (ctf_target::close): Adjust to use current_inferior.
5581         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
5582         <thread>: ... this new field.  All references adjusted.
5583         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
5584         Take a thread_info pointer instead of a ptid_t.
5585         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
5586         (dummy_frame_discard, register_dummy_frame_dtor): Take a
5587         thread_info pointer instead of a ptid_t.
5588         * elfread.c: Include "inferior.h".
5589         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
5590         Use inferior_thread.
5591         * eval.c (evaluate_subexp): Likewise.
5592         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
5593         inferior_thread.
5594         * gdb_proc_service.h (struct thread_info): Forward declare.
5595         (struct ps_prochandle) <ptid>: Delete, replaced by ...
5596         <thread>: ... this new field.  All references adjusted.
5597         * gdbarch.h, gdbarch.c: Regenerate.
5598         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
5599         'thread' parameter.  All implementations and callers adjusted.
5600         * gdbthread.h (thread_info) <set_running>: New method.
5601         (delete_thread, delete_thread_silent): Take a thread_info pointer
5602         instead of a ptid.
5603         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
5604         (first_thread_of_process): Delete, replaced by ...
5605         (first_thread_of_inferior): ... this new function.  All callers
5606         adjusted.
5607         (any_live_thread_of_process): Delete, replaced by ...
5608         (any_live_thread_of_inferior): ... this new function.  All callers
5609         adjusted.
5610         (switch_to_thread, switch_to_no_thread): Declare.
5611         (is_executing): Delete.
5612         (enable_thread_stack_temporaries): Update comment.
5613         <enable_thread_stack_temporaries>: Take a thread_info pointer
5614         instead of a ptid_t.  Incref the thread.
5615         <~enable_thread_stack_temporaries>: Decref the thread.
5616         <m_ptid>: Delete
5617         <m_thr>: New.
5618         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5619         (get_last_thread_stack_temporary)
5620         (value_in_thread_stack_temporaries, can_access_registers_thread):
5621         Take a thread_info pointer instead of a ptid_t.  All callers
5622         adjusted.
5623         * infcall.c (get_call_return_value): Use inferior_thread.
5624         (run_inferior_call): Work with thread pointers instead of ptid_t.
5625         (call_function_by_hand_dummy): Work with thread pointers instead
5626         of ptid_t.  Use thread_info_ref.
5627         * infcmd.c (proceed_thread_callback): Access thread's state
5628         directly.
5629         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
5630         access thread's state directly.
5631         (continue_command): Use inferior_thread.
5632         (info_program_command): Use find_thread_ptid and access thread
5633         state directly.
5634         (proceed_after_attach_callback): Use thread state directly.
5635         (notice_new_inferior): Take a thread_info pointer instead of a
5636         ptid_t.  All callers adjusted.
5637         (exit_inferior): Take an inferior pointer instead of a pid.  All
5638         callers adjusted.
5639         (exit_inferior_silent): New.
5640         (detach_inferior): Delete.
5641         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
5642         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
5643         (detach_inferior_command, kill_inferior_command): Use
5644         find_inferior_id instead of valid_gdb_inferior_id and
5645         gdb_inferior_id_to_pid.
5646         (inferior_command): Use inferior and thread pointers.
5647         * inferior.h (struct thread_info): Forward declare.
5648         (notice_new_inferior): Take a thread_info pointer instead of a
5649         ptid_t.  All callers adjusted.
5650         (detach_inferior): Delete declaration.
5651         (exit_inferior, exit_inferior_silent): Take an inferior pointer
5652         instead of a pid.  All callers adjusted.
5653         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
5654         (valid_gdb_inferior_id): Delete.
5655         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
5656         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
5657         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
5658         ...
5659         <inf>: ... this new field.
5660         <step_ptid>: Delete, replaced by ...
5661         <step_thread>: ... this new field.
5662         (get_displaced_stepping_state): Take an inferior pointer instead
5663         of a pid.  All callers adjusted.
5664         (displaced_step_in_progress_any_inferior): Adjust.
5665         (displaced_step_in_progress_thread): Take a thread pointer instead
5666         of a ptid_t.  All callers adjusted.
5667         (displaced_step_in_progress, add_displaced_stepping_state): Take
5668         an inferior pointer instead of a pid.  All callers adjusted.
5669         (get_displaced_step_closure_by_addr): Adjust.
5670         (remove_displaced_stepping_state): Take an inferior pointer
5671         instead of a pid.  All callers adjusted.
5672         (displaced_step_prepare_throw, displaced_step_prepare)
5673         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
5674         All callers adjusted.
5675         (start_step_over): Adjust.
5676         (infrun_thread_ptid_changed): Remove bit updating ptids in the
5677         displaced step queue.
5678         (do_target_resume): Adjust.
5679         (fetch_inferior_event): Use inferior_thread.
5680         (context_switch, get_inferior_stop_soon): Take an
5681         execution_control_state pointer instead of a ptid_t.  All callers
5682         adjusted.
5683         (switch_to_thread_cleanup): Delete.
5684         (stop_all_threads): Use scoped_restore_current_thread.
5685         * inline-frame.c: Include "gdbthread.h".
5686         (inline_state) <inline_state>: Take a thread pointer instead of a
5687         ptid_t.  All callers adjusted.
5688         <ptid>: Delete, replaced by ...
5689         <thread>: ... this new field.
5690         (find_inline_frame_state): Take a thread pointer instead of a
5691         ptid_t.  All callers adjusted.
5692         (skip_inline_frames, step_into_inline_frame)
5693         (inline_skipped_frames, inline_skipped_symbol): Take a thread
5694         pointer instead of a ptid_t.  All callers adjusted.
5695         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
5696         (inline_skipped_frames, inline_skipped_symbol): Likewise.
5697         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
5698         pointers directly.
5699         * linux-nat.c (get_detach_signal): Likewise.
5700         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
5701         (thread_db_notice_clone): Adjust.
5702         (thread_db_find_new_threads_silently)
5703         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
5704         a thread pointer instead of a ptid_t.  All callers adjusted.
5705         * mi/mi-cmd-var.c: Include "inferior.h".
5706         (mi_cmd_var_update_iter): Update to use thread pointers.
5707         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
5708         inferior directly.
5709         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
5710         out to ...
5711         (mi_output_running): ... this new function.
5712         (mi_on_resume_1): Adjust to use it.
5713         (mi_user_selected_context_changed): Adjust to use inferior_thread.
5714         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
5715         directly.
5716         (interrupt_thread_callback): : Adjust to use thread and inferior
5717         pointers.
5718         * proc-service.c: Include "gdbthread.h".
5719         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
5720         * progspace-and-thread.c: Include "inferior.h".
5721         * progspace.c: Include "inferior.h".
5722         * python/py-exitedevent.c (create_exited_event_object): Adjust to
5723         hold a reference to an inferior_object.
5724         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
5725         inferior_thread.
5726         * python/py-inferior.c (struct inferior_object): Give the type a
5727         tag name instead of a typedef.
5728         (python_on_normal_stop): No need to check if the current thread is
5729         listed.
5730         (inferior_to_inferior_object): Change return type to
5731         inferior_object.  All callers adjusted.
5732         (find_thread_object): Delete, bits factored out to ...
5733         (thread_to_thread_object): ... this new function.
5734         * python/py-infthread.c (create_thread_object): Use
5735         inferior_to_inferior_object.
5736         (thpy_is_stopped): Use thread pointer directly.
5737         (gdbpy_selected_thread): Use inferior_thread.
5738         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
5739         field, replaced with ...
5740         <thread>: ... this new field.  All users adjusted.
5741         (btpy_insn_or_gap_new): Drop const.
5742         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
5743         callers adjusted.
5744         * python/py-record.c: Include "gdbthread.h".
5745         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5746         a ptid_t.  All callers adjusted.
5747         (gdbpy_current_recording): Use inferior_thread.
5748         * python/py-record.h (recpy_record_object) <ptid>: Delete
5749         field, replaced with ...
5750         <thread>: ... this new field.  All users adjusted.
5751         (recpy_element_object) <ptid>: Delete
5752         field, replaced with ...
5753         <thread>: ... this new field.  All users adjusted.
5754         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5755         a ptid_t.  All callers adjusted.
5756         * python/py-threadevent.c: Include "gdbthread.h".
5757         (get_event_thread): Use thread_to_thread_object.
5758         * python/python-internal.h (struct inferior_object): Forward
5759         declare.
5760         (find_thread_object, find_inferior_object): Delete declarations.
5761         (thread_to_thread_object, inferior_to_inferior_object): New
5762         declarations.
5763         * record-btrace.c: Include "inferior.h".
5764         (require_btrace_thread): Use inferior_thread.
5765         (record_btrace_frame_sniffer)
5766         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
5767         (get_thread_current_frame): Use scoped_restore_current_thread and
5768         switch_to_thread.
5769         (get_thread_current_frame): Use thread pointer directly.
5770         (record_btrace_replay_at_breakpoint): Use thread's inferior
5771         pointer directly.
5772         * record-full.c: Include "inferior.h".
5773         * regcache.c: Include "gdbthread.h".
5774         (get_thread_arch_regcache): Use the inferior's address space
5775         directly.
5776         (get_thread_regcache, registers_changed_thread): New.
5777         * regcache.h (get_thread_regcache(thread_info *thread)): New
5778         overload.
5779         (registers_changed_thread): New.
5780         (remote_target) <remote_detach_1>: Swap order of parameters.
5781         (remote_add_thread): <remote_add_thread>: Return the new thread.
5782         (get_remote_thread_info(ptid_t)): New overload.
5783         (remote_target::remote_notice_new_inferior): Use thread pointers
5784         directly.
5785         (remote_target::process_initial_stop_replies): Use
5786         thread_info::set_running.
5787         (remote_target::remote_detach_1, remote_target::detach)
5788         (extended_remote_target::detach): Adjust.
5789         * stack.c (frame_show_address): Use inferior_thread.
5790         * target-debug.h (target_debug_print_thread_info_pp): New.
5791         * target-delegates.c: Regenerate.
5792         * target.c (default_thread_address_space): Delete.
5793         (memory_xfer_partial_1): Use current_inferior.
5794         (target_detach): Use current_inferior.
5795         (target_thread_address_space): Delete.
5796         (generic_mourn_inferior): Use current_inferior.
5797         * target.h (struct target_ops) <thread_address_space>: Delete.
5798         (target_thread_address_space): Delete.
5799         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
5800         pointers directly.
5801         (delete_thread_1, delete_thread, delete_thread_silent): Take a
5802         thread pointer instead of a ptid_t.  Adjust all callers.
5803         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
5804         (first_thread_of_process): Delete, replaced by ...
5805         (first_thread_of_inferior): ... this new function.  All callers
5806         adjusted.
5807         (any_thread_of_process): Rename to ...
5808         (any_thread_of_inferior): ... this, and take an inferior pointer.
5809         (any_live_thread_of_process): Rename to ...
5810         (any_live_thread_of_inferior): ... this, and take an inferior
5811         pointer.
5812         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5813         (value_in_thread_stack_temporaries)
5814         (get_last_thread_stack_temporary): Take a thread pointer instead
5815         of a ptid_t.  Adjust all callers.
5816         (thread_info::set_running): New.
5817         (validate_registers_access): Use inferior_thread.
5818         (can_access_registers_ptid): Rename to ...
5819         (can_access_registers_thread): ... this, and take a thread
5820         pointer.
5821         (print_thread_info_1): Adjust to compare thread pointers instead
5822         of ptids.
5823         (switch_to_no_thread, switch_to_thread): Make extern.
5824         (scoped_restore_current_thread::~scoped_restore_current_thread):
5825         Use m_thread pointer directly.
5826         (scoped_restore_current_thread::scoped_restore_current_thread):
5827         Use inferior_thread.
5828         (thread_command): Use thread pointer directly.
5829         (thread_num_make_value_helper): Use inferior_thread.
5830         * top.c (execute_command): Use inferior_thread.
5831         * tui/tui-interp.c: Include "inferior.h".
5832         * varobj.c (varobj_create): Use inferior_thread.
5833         (value_of_root_1): Use find_thread_global_id instead of
5834         global_thread_id_to_ptid.
5835
5836 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
5837
5838         * regcache.c (readable_regcache::read_part): Avoid memcpy when
5839         possible.
5840         (regcache::write_part): Likewise.
5841         (readable_regcache::cooked_read_part): Update comment.
5842         (readable_regcache::cooked_write_part): Likewise.
5843         * regcache.h: (readable_regcache::read_part): Likewise.
5844         (regcache::write_part): Likewise.
5845
5846 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
5847             Dirk Schubert  <dirk.schubert@arm.com>
5848
5849         * aarch64-linux-nat.c (post_attach): New.
5850         (aarch64_linux_nat_target::post_attach): Override post_attach to
5851         record the number of hardware debug registers.
5852
5853 2018-06-20  Tom Tromey  <tom@tromey.com>
5854
5855         * python/py-param.c (add_setshow_generic): Make parameters const.
5856         (parmpy_init): Update.
5857
5858 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5859
5860         * regcache.h (regcache_cooked_read_ftype): Rename to...
5861         (register_read_ftype): ...this, change type to function_view.
5862         (class reg_buffer) <save>: Remove src parameter.
5863         (readonly_detached_regcache) <readonly_detached_regcache>: Make
5864         parameter non-const in first overload.  Remove src parameter in
5865         second overload.
5866         * regcache.c (do_cooked_read): Remove.
5867         (readonly_detached_regcache::readonly_detached_regcache): Make
5868         parameter non-const, adjust call to other constructor.
5869         (reg_buffer::save): Remove src parameter.
5870         * frame.c (do_frame_register_read): Remove.
5871         (frame_save_as_regcache): Use lambda function.
5872         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
5873         parameter to ppu2spu_data *.
5874         (ppu2spu_sniffer): Use lambda function.
5875
5876 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5877
5878         * record-full.c (record_full_target::insert_breakpoint): Remove
5879         "struct" keyword, add const.
5880
5881 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
5882
5883         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
5884         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
5885         * configure.ac: Remove AC_PREREQ, add missing quoting.
5886         * gnulib/configure.ac: Modernize usage of
5887         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
5888         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
5889         (AUTOMAKE_VERSION): Bump to 1.15.1.
5890         * configure: Re-generate.
5891         * config.in: Re-generate.
5892         * aclocal.m4: Re-generate.
5893         * gnulib/aclocal.m4: Re-generate.
5894         * gnulib/config.in: Re-generate.
5895         * gnulib/configure: Re-generate.
5896         * gnulib/import/Makefile.in: Re-generate.
5897
5898 2018-06-19  Pedro Alves  <palves@redhat.com>
5899
5900         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
5901         (lookup_minimal_symbol_by_pc_section): ... here with
5902         gdb_assert_not_reached added.
5903
5904 2018-06-19  Pedro Alves  <palves@redhat.com>
5905
5906         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
5907         parameter with a block parameter.  Compare location's block symbol
5908         with the frame's block instead of addresses.
5909         (skip_inline_frames): Pass the current block instead of the
5910         frame's address.  Break out as soon as we determine the frame
5911         should not be skipped.
5912
5913 2018-06-18  Tom Tromey  <tom@tromey.com>
5914
5915         * solib-aix.c (solib_aix_get_section_offsets): Return
5916         unique_xmalloc_ptr.
5917         (solib_aix_solib_create_inferior_hook): Update.
5918
5919 2018-06-18  Tom Tromey  <tom@tromey.com>
5920
5921         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
5922
5923 2018-06-18  Tom Tromey  <tom@tromey.com>
5924
5925         * solib-frv.c (frv_relocate_main_executable): Use
5926         unique_xmalloc_ptr.
5927         * solib-dsbt.c (dsbt_relocate_main_executable): Use
5928         unique_xmalloc_ptr.
5929
5930 2018-06-18  Tom Tromey  <tom@tromey.com>
5931
5932         * objfiles.h (inhibit_section_map_updates): Update.
5933         (resume_section_map_updates, resume_section_map_updates_cleanup):
5934         Remove.
5935         * solib-svr4.c (svr4_handle_solib_event): Update.
5936         * objfiles.c (inhibit_section_map_updates): Return
5937         scoped_restore_tmpl<int>.
5938         (resume_section_map_updates, resume_section_map_updates_cleanup):
5939         Remove.
5940
5941 2018-06-18  Tom Tromey  <tom@tromey.com>
5942
5943         * valprint.h (read_string): Update.
5944         * valprint.c (read_string): Change type of "buffer".
5945         (val_print_string): Update.
5946         * python/py-value.c (valpy_string): Update.
5947         * language.h (struct language_defn) <la_get_string>: Change
5948         type of "buffer".
5949         (default_get_string, c_get_string): Update.
5950         * language.c (default_get_string): Change type of "buffer".
5951         * guile/scm-value.c (gdbscm_value_to_string): Update.
5952         * c-lang.c (c_get_string): Change type of "buffer".
5953
5954 2018-06-18  Tom Tromey  <tom@tromey.com>
5955
5956         * ser-mingw.c (struct pipe_state_destroyer): New.
5957         (pipe_state_up): New typedef.
5958         (cleanup_pipe_state): Remove.
5959         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
5960
5961 2018-06-18  Tom Tromey  <tom@tromey.com>
5962
5963         * rust-lang.h (rust_yyerror): Don't declare.
5964         * rust-lang.c (rust_language_defn): Update.
5965         * rust-exp.y (yyerror): Now static.
5966         * parse.c (parse_exp_in_context_1): Update.
5967         * p-lang.h (p_yyerror): Don't declare.
5968         * p-lang.c (p_language_defn): Update.
5969         * p-exp.y (yyerror): Now static.
5970         * opencl-lang.c (opencl_language_defn): Update.
5971         * objc-lang.c (objc_language_defn): Update.
5972         * m2-lang.h (m2_yyerror): Don't declare.
5973         * m2-lang.c (m2_language_defn): Update.
5974         * m2-exp.y (yyerror): Now static.
5975         * language.h (struct language_defn) <la_error>: Remove.
5976         * language.c (unk_lang_error): Remove.
5977         (unknown_language_defn, auto_language_defn): Remove.
5978         * go-lang.h (go_yyerror): Don't declare.
5979         * go-lang.c (go_language_defn): Update.
5980         * go-exp.y (yyerror): Now static.
5981         * f-lang.h (f_yyerror): Don't declare.
5982         * f-lang.c (f_language_defn): Update.
5983         * f-exp.y (yyerror): Now static.
5984         * d-lang.h (d_yyerror): Don't declare.
5985         * d-lang.c (d_language_defn): Update.
5986         * d-exp.y (yyerror): Now static.
5987         * c-lang.h (c_yyerror): Don't declare.
5988         * c-lang.c (c_language_defn, cplus_language_defn)
5989         (asm_language_defn, minimal_language_defn): Update.
5990         * c-exp.y (yyerror): Now static.
5991         * ada-lang.h (ada_yyerror): Don't declare.
5992         * ada-lang.c (ada_language_defn): Update.
5993         * ada-exp.y (yyerror): Now static.
5994
5995 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
5996
5997         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
5998         (store_sveregs_to_thread): Likewise.
5999         (aarch64_linux_fetch_inferior_registers): Check for SVE.
6000         (aarch64_linux_store_inferior_registers): Likewise.
6001         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
6002         function.
6003         (aarch64_sve_regs_copy_to_regcache): Likewise.
6004         (aarch64_sve_regs_copy_from_regcache): Likewise.
6005         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
6006         declaration.
6007         (aarch64_sve_regs_copy_to_regcache): Likewise.
6008         (aarch64_sve_regs_copy_from_regcache): Likewise.
6009         (sve_context): Structure from Linux headers.
6010         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
6011         (SVE_SIG_ZREG_SIZE): Likewise.
6012         (SVE_SIG_PREG_SIZE): Likewise.
6013         (SVE_SIG_FFR_SIZE): Likewise.
6014         (SVE_SIG_REGS_OFFSET): Likewise.
6015         (SVE_SIG_ZREGS_OFFSET): Likewise.
6016         (SVE_SIG_ZREG_OFFSET): Likewise.
6017         (SVE_SIG_ZREGS_SIZE): Likewise.
6018         (SVE_SIG_PREGS_OFFSET): Likewise.
6019         (SVE_SIG_PREG_OFFSET): Likewise.
6020         (SVE_SIG_PREGS_SIZE): Likewise.
6021         (SVE_SIG_FFR_OFFSET): Likewise.
6022         (SVE_SIG_REGS_SIZE): Likewise.
6023         (SVE_SIG_CONTEXT_SIZE): Likewise.
6024         (SVE_PT_REGS_MASK): Likewise.
6025         (SVE_PT_REGS_FPSIMD): Likewise.
6026         (SVE_PT_REGS_SVE): Likewise.
6027         (SVE_PT_VL_INHERIT): Likewise.
6028         (SVE_PT_VL_ONEXEC): Likewise.
6029         (SVE_PT_REGS_OFFSET): Likewise.
6030         (SVE_PT_FPSIMD_OFFSET): Likewise.
6031         (SVE_PT_FPSIMD_SIZE): Likewise.
6032         (SVE_PT_SVE_ZREG_SIZE): Likewise.
6033         (SVE_PT_SVE_PREG_SIZE): Likewise.
6034         (SVE_PT_SVE_FFR_SIZE): Likewise.
6035         (SVE_PT_SVE_FPSR_SIZE): Likewise.
6036         (SVE_PT_SVE_FPCR_SIZE): Likewise.
6037         (__SVE_SIG_TO_PT): Likewise.
6038         (SVE_PT_SVE_OFFSET): Likewise.
6039         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
6040         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
6041         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
6042         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
6043         (SVE_PT_SVE_PREG_OFFSET): Likewise.
6044         (SVE_PT_SVE_PREGS_SIZE): Likewise.
6045         (SVE_PT_SVE_FFR_OFFSET): Likewise.
6046         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
6047         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
6048         (SVE_PT_SVE_SIZE): Likewise.
6049         (SVE_PT_SIZE): Likewise.
6050         (HAS_SVE_STATE): New define.
6051
6052 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
6053
6054         * nat/aarch64-sve-linux-sigcontext.h: New file.
6055         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
6056         new files.
6057         (SVE_VQ_MIN): Likewise.
6058         (SVE_VQ_MAX): Likewise.
6059         (SVE_VL_MIN): Likewise.
6060         (SVE_VL_MAX): Likewise.
6061         (SVE_NUM_ZREGS): Likewise.
6062         (SVE_NUM_PREGS): Likewise.
6063         (sve_vl_valid): Likewise.
6064         (struct user_sve_header): Likewise.
6065
6066 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
6067             Richard Bunt <Richard.Bunt@arm.com>
6068
6069         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
6070         was requested by GDB.
6071
6072 2018-06-15  Tom de Vries  <tdevries@suse.de>
6073
6074         * MAINTAINERS (Write After Approval): Add Tom de Vries.
6075
6076 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
6077
6078         * gnulib/update-gnulib.sh: Print expected versions of
6079         autoconf/aclocal.
6080
6081 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
6082
6083         * arch-utils.c (default_type_align): Use type_length_units.
6084         * gdbtypes.c (type_align): Use type_length_units.
6085
6086 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6087
6088         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
6089         of 'define' command.
6090
6091 2018-06-14  Tom de Vries  <tdevries@suse.de>
6092
6093         PR cli/22573
6094         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
6095         get_no_prettyformat_print_options.
6096
6097 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
6098
6099         * sparc-nat.h: Include target.h.
6100         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
6101         <fetch_registers>: Remove this argument in function call.
6102         <store_registers>: Remove this argument in function call, remove
6103         extra semicolon.
6104         <low_forget_process>: Call sparc64_forget_process instead of
6105         sparc_forget_process.
6106
6107 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6108
6109         * procfs.c (_initialize_procfs): Use add_inf_child_target.
6110         (procfs_target::make_corefile_notes): Adjust to new
6111         target_read_alloc return type.
6112
6113 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6114             Stephen Roberts  <stephen.roberts@arm.com>
6115
6116         PR gdb/22882
6117         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
6118         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
6119         Move should_notify_stop local into more inner scope.
6120
6121 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6122             Stephen Roberts  <stephen.roberts@arm.com>
6123
6124         PR gdb/22882
6125         * infrun.c (resume_1): Add call to mark_async_event_handler.
6126
6127 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6128
6129         * infrun.c (do_target_wait): Change old version of $pc printed.
6130
6131 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
6132
6133         * dwarf2read.c (read_index_from_section): Rename to...
6134         (read_gdb_index_from_section): ... this, update all callers.
6135         (dwarf2_read_index): Rename to...
6136         (dwarf2_read_gdb_index): ... this, update all callers.
6137
6138 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
6139
6140         * gdb/hppa-linux-nat.c
6141         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
6142         hppa_linux_nat_target::fetch_registers.
6143
6144 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6145
6146         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
6147         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
6148         (AARCH64_DWARF_SVE_FFR): Likewise.
6149         (AARCH64_DWARF_SVE_P0): Likewise.
6150         (AARCH64_DWARF_SVE_Z0): Likewise.
6151
6152 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6153
6154         * common/common-regcache.h (raw_compare): New function.
6155         * regcache.c (regcache::raw_compare): Likewise.
6156         * regcache.h (regcache::raw_compare): New declaration.
6157
6158 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6159
6160         * common/common-regcache.h (reg_buffer_common): New structure.
6161         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
6162         (reg_buffer::raw_supply): Likewise.
6163         (reg_buffer::raw_supply_integer): Likewise.
6164         (reg_buffer::raw_supply_zeroed): Likewise.
6165         (reg_buffer::raw_collect): Likewise.
6166         (reg_buffer::raw_collect_integer): Likewise.
6167         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
6168         (reg_buffer::raw_supply): Likewise.
6169         (reg_buffer::raw_supply_integer): Likewise.
6170         (reg_buffer::raw_supply_zeroed): Likewise.
6171         (reg_buffer::raw_collect): Likewise.
6172         (reg_buffer::raw_collect_integer): Likewise.
6173
6174 2018-06-10  Tom Tromey  <tom@tromey.com>
6175
6176         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
6177         (class remote_state) <stop_reply_queue>: Now std::vector.
6178         (remote_state::~remote_state)
6179         (remote_target::stop_reply_queue_length): Update.
6180         (struct queue_iter_param, remove_child_of_pending_fork)
6181         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
6182         (check_pending_event_prevents_wildcard_vcont_callback)
6183         (remove_stop_reply_for_inferior)
6184         (remove_stop_reply_of_remote_state)
6185         (remote_notif_remove_once_on_match)
6186         (stop_reply_match_ptid_and_ws)
6187         (remote_kill_child_of_pending_fork): Remove.
6188         (remote_target::remove_new_fork_children)
6189         (remote_target::check_pending_events_prevent_wildcard_vcont)
6190         (remote_target::discard_pending_stop_replies)
6191         (remote_target::discard_pending_stop_replies_in_queue)
6192         (remote_target::remote_notif_remove_queued_reply)
6193         (remote_target::queued_stop_reply)
6194         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
6195         (remote_target::wait, remote_target::kill_new_fork_children)
6196         (remote_target::async): Update.
6197
6198 2018-06-10  Tom Tromey  <tom@tromey.com>
6199
6200         * record-full.c (record_full_arch_list_cleanups): Remove.
6201         (record_full_message): Use try/catch.
6202         (record_full_wait_cleanups): Remove.
6203         (record_full_wait_1): Use try/catch.
6204         (record_full_restore): Likewise.
6205
6206 2018-06-10  Tom Tromey  <tom@tromey.com>
6207
6208         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
6209         declare VEC.  Add constructor.
6210         <in_target_beneath>: Now bool.
6211         (record_full_breakpoints): Now a std::vector, static.
6212         (record_full_sync_record_breakpoints)
6213         (record_full_init_record_breakpoints)
6214         (record_full_target::insert_breakpoint)
6215         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
6216
6217 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
6218
6219         * dwarf2read.c (process_cu_includes): Remove struct keyword.
6220         * serial.c (serial_interface_lookup): Remove struct keyword.
6221
6222 2018-06-10  Tom Tromey  <tom@tromey.com>
6223
6224         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
6225         method.
6226         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
6227         a method.
6228         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
6229         method.
6230         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
6231         "beneath" as a method.
6232         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
6233         Use "beneath" as a method.
6234
6235 2018-06-10  Tom Tromey  <tom@tromey.com>
6236
6237         * tracefile.c (struct trace_file_writer_deleter): New.
6238         <operator()>: Rename from trace_file_writer_xfree.
6239         (trace_file_writer_up): New typedef.
6240         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
6241
6242 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
6243
6244         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
6245         <m_registers, m_register_status>: Change type to
6246         std::unique_ptr.
6247         * regcache.c (reg_buffer::reg_buffer): Use new instead of
6248         XCNEWVEC.
6249
6250 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
6251
6252         * common/common-regcache.h (enum register_status): Add
6253         underlying type "signed char".
6254         * regcache.h (reg_buffer) <m_register_status>: Change type to
6255         register_status *.
6256         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
6257         register_status instead of signed char.
6258         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
6259         (reg_buffer::get_register_status): Remove cast.
6260         (readable_regcache::raw_read): Remove cast.
6261         (readable_regcache::cooked_read): Remove cast.
6262
6263 2018-06-09  Tom Tromey  <tom@tromey.com>
6264
6265         * source.c (reverse_search_command, forward_search_command): Use
6266         scoped_fd.
6267
6268 2018-06-09  Tom Tromey  <tom@tromey.com>
6269
6270         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
6271         (serial_ops_list): Now static, std::vector.
6272         (serial_interface_lookup, serial_add_interface): Update.
6273
6274 2018-06-09  Tom Tromey  <tom@tromey.com>
6275
6276         * dwarf2read.c (process_cu_includes): Update.
6277         (process_full_comp_unit): Update.
6278         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
6279         std::vector.
6280
6281 2018-06-08  Paul Koning  <paul_koning@dell.com>
6282
6283         PR gdb/23252
6284
6285         * python/python.c (do_start_initialization):
6286         Avoid call to internal Python API.
6287         (init__gdb_module): New function.
6288
6289 2018-06-08  Gary Benson <gbenson@redhat.com>
6290
6291         * linux-thread-db.c (valprint.h): New include.
6292         (struct check_thread_db_info): New structure.
6293         (check_thread_db_on_load, tdb_testinfo): New static globals.
6294         (check_thread_db, check_thread_db_callback): New functions.
6295         (try_thread_db_load_1): Run integrity checks if requested.
6296         (maintenance_check_libthread_db): New function.
6297         (_initialize_thread_db): Register "maint check libthread-db"
6298         and "maint set/show check-libthread-db".
6299         * NEWS: Mention the above new commands.
6300
6301 2018-06-08  Tom Tromey  <tom@tromey.com>
6302
6303         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
6304         now a method.
6305
6306 2018-06-08  Tom Tromey  <tom@tromey.com>
6307
6308         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
6309
6310 2018-06-08  Tom Tromey  <tom@tromey.com>
6311
6312         * common/btrace-common.h (struct btrace_data): Add constructor,
6313         destructor, move assignment operator.
6314         <empty, clear, fini>: New methods.
6315         <format>: Initialize.
6316         (btrace_data_init, btrace_data_fini, btrace_data_clear)
6317         (btrace_data_empty): Don't declare.
6318         * common/btrace-common.c (btrace_data_init): Remove.
6319         (btrace_data::fini): Rename from btrace_data_fini.
6320         (btrace_data::empty): Rename from btrace_data_empty.
6321         (btrace_data::clear): Rename from btrace_data_clear.  Return
6322         bool.
6323         * btrace.h (make_cleanup_btrace_data): Don't declare.
6324         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
6325         (parse_xml_btrace): Update.
6326         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
6327         (maint_btrace_clear_packet_history_cmd): Update.
6328
6329 2018-06-07  Pedro Alves  <palves@redhat.com>
6330
6331         * target.h (target_ops) <beneath>: Now a method.  All references
6332         updated.
6333         (class target_stack): New.
6334         * target.c (g_target_stack): New.
6335         (g_current_top_target): Delete.
6336         (current_top_target): Get the top target out of g_target_stack.
6337         (target_stack::push, target_stack::unpush): New.
6338         (push_target, unpush_target): Reimplement.
6339         (target_is_pushed): Reimplement in terms of g_target_stack.
6340         (target_ops::beneath, target_stack::find_beneath): New.
6341
6342 2018-06-07  Pedro Alves  <palves@redhat.com>
6343
6344         * target.h (find_target_beneath): Delete declaration.
6345         * target.c (find_target_beneath): Delete definition.
6346         * aix-thread.c: All callers of find_target_beneath adjusted to
6347         call target_ops::beneath instead.
6348         * bsd-uthread.c: Likewise.
6349         * linux-thread-db.c: Likewise.
6350         * ravenscar-thread.c: Likewise.
6351         * sol-thread.c: Likewise.
6352         * spu-multiarch.c: Likewise.
6353
6354 2018-06-07  Pedro Alves  <palves@redhat.com>
6355
6356         * target.h (target_ops) <beneath>: Now a method.  All references
6357         updated.
6358         (target_ops) <m_beneath>: New.
6359         * target.c (target_ops::beneath): New.
6360         * corelow.c: Adjust all references to target_ops::beneath.
6361         * linux-thread-db.c: Likewise.
6362         * make-target-delegates: Likewise.
6363         * record-btrace.c: Likewise.
6364         * record-full.c: Likewise.
6365         * remote.c: Likewise.
6366         * target.c: Likewise.
6367         * target-delegates.c: Regenerate.
6368
6369 2018-06-07  Pedro Alves  <palves@redhat.com>
6370
6371         * target.h (target_stack): Delete.
6372         (current_top_target): Declare function.
6373         * target.c (target_stack): Delete.
6374         (g_current_top_target): New.
6375         (current_top_target): New function.
6376         * auxv.c: Use current_top_target instead of target_stack
6377         throughout.
6378         * avr-tdep.c: Likewise.
6379         * breakpoint.c: Likewise.
6380         * corefile.c: Likewise.
6381         * elfread.c: Likewise.
6382         * eval.c: Likewise.
6383         * exceptions.c: Likewise.
6384         * frame.c: Likewise.
6385         * gdbarch-selftests.c: Likewise.
6386         * gnu-v3-abi.c: Likewise.
6387         * ia64-tdep.c: Likewise.
6388         * ia64-vms-tdep.c: Likewise.
6389         * infcall.c: Likewise.
6390         * infcmd.c: Likewise.
6391         * infrun.c: Likewise.
6392         * linespec.c: Likewise.
6393         * linux-tdep.c: Likewise.
6394         * minsyms.c: Likewise.
6395         * ppc-linux-nat.c: Likewise.
6396         * ppc-linux-tdep.c: Likewise.
6397         * procfs.c: Likewise.
6398         * regcache.c: Likewise.
6399         * remote.c: Likewise.
6400         * rs6000-tdep.c: Likewise.
6401         * s390-linux-nat.c: Likewise.
6402         * s390-tdep.c: Likewise.
6403         * solib-aix.c: Likewise.
6404         * solib-darwin.c: Likewise.
6405         * solib-dsbt.c: Likewise.
6406         * solib-spu.c: Likewise.
6407         * solib-svr4.c: Likewise.
6408         * solib-target.c: Likewise.
6409         * sparc-tdep.c: Likewise.
6410         * sparc64-tdep.c: Likewise.
6411         * spu-tdep.c: Likewise.
6412         * symfile.c: Likewise.
6413         * symtab.c: Likewise.
6414         * target-descriptions.c: Likewise.
6415         * target-memory.c: Likewise.
6416         * target.c: Likewise.
6417         * target.h: Likewise.
6418         * tracefile-tfile.c: Likewise.
6419         * tracepoint.c: Likewise.
6420         * valops.c: Likewise.
6421         * valprint.c: Likewise.
6422         * value.c: Likewise.
6423         * windows-tdep.c: Likewise.
6424         * mi/mi-main.c: Likewise.
6425
6426 2018-06-07  Tom Tromey  <tom@tromey.com>
6427
6428         * valprint.h (build_address_symbolic): Declare.
6429         * printcmd.c (print_address_symbolic): Update.
6430         (build_address_symbolic): Change "name" and "filename" to
6431         std::string.
6432         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
6433         Update.
6434         * defs.h (build_address_symbolic): Remove declaration.
6435
6436 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
6437
6438         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
6439         (aarch64_vnv_type): Add function.
6440         (aarch64_pseudo_register_name): Add V regs for SVE.
6441         (aarch64_pseudo_register_type): Likewise.
6442         (aarch64_pseudo_register_reggroup_p): Likewise.
6443         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
6444         (aarch64_pseudo_read_value): Add V regs for SVE.
6445         (aarch64_pseudo_write_2): Use V0 offset for SVE
6446         (aarch64_pseudo_write): Add V regs for SVE.
6447         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
6448
6449 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
6450
6451         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
6452         (sve_vl_from_vq): Likewise.
6453
6454 2018-06-05  Tom Tromey  <tom@tromey.com>
6455
6456         * cli/cli-cmds.c (show_version): Update.
6457         * top.c (print_gdb_version): Add "interactive" parameter.
6458         Update.
6459         * main.c (captured_main_1): Update.
6460         * top.h (print_gdb_version): Add "interactive" parameter and a
6461         comment.
6462
6463 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
6464
6465         * common/enum-flags.h: Add trailing semicolon to example in
6466         comment.
6467
6468 2018-06-05  Tom Tromey  <tom@tromey.com>
6469
6470         PR cli/12326:
6471         * NEWS: Add entry about pager.
6472         * utils.c (pagination_disabled_for_command): New global.
6473         (prompt_for_continue): Allow "c" response to prompt.
6474         (reinitialize_more_filter): Clear
6475         pagination_disabled_for_command.
6476         (fputs_maybe_filtered): Check pagination_disabled_for_command.
6477
6478 2018-06-04  Tom Tromey  <tom@tromey.com>
6479
6480         * ada-lang.h (ada_lookup_symbol_list): Update.
6481         * ada-lang.c (resolve_subexp): Update.
6482         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
6483         parameter.
6484         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
6485         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
6486         results parameter to std::vector.
6487         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
6488         Update.
6489         * ada-exp.y (block_lookup): Update.
6490         (select_possible_type_sym): Change type of syms.  Remove nsyms
6491         parameter.
6492         (write_var_or_type, write_name_assoc): Update.
6493
6494 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
6495
6496         * windows-nat.c (windows_nat_target::xfer_partial): Return
6497         TARGET_XFER_E_IO if we need to delegate to the target beneath
6498         but BENEATH is NULL.
6499
6500 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
6501
6502         * Makefile.in (config.status): Add configure.nat as a
6503         dependency.
6504
6505 2018-06-04  Tom Tromey  <tom@tromey.com>
6506
6507         * cp-name-parser.y (cpname_state): Add method declarations.
6508         (HANDLE_QUAL): Update.
6509         (cpname_state::d_grab, cpname_state::fill_comp)
6510         (cpname_state::make_operator, cpname_state::make_dtor)
6511         (cpname_state::make_builtin_type, cpname_state::make_name)
6512         (cpname_state::d_qualify, cpname_state::d_int_type)
6513         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
6514         (%union): Move earlier.
6515
6516 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6517
6518         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
6519
6520 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6521
6522         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
6523         (aarch64_pseudo_write_1): Likewise.
6524         (aarch64_pseudo_read_value): Use helper.
6525         (aarch64_pseudo_write): Likewise.
6526
6527 2018-06-04  Pedro Alves  <palves@redhat.com>
6528
6529         * darwin-nat.c (darwin_ops): Delete.
6530         (darwin_attach_pid): Use get_native_target.
6531
6532 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6533
6534         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
6535         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
6536
6537 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6538
6539         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
6540         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
6541         (aarch64_gdbarch_init): Check for SVE.
6542         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
6543
6544 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6545
6546         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
6547         * aarch64-tdep.h (aarch64_read_description): Likewise.
6548         * arch/aarch64.c (aarch64_create_target_description): Likewise.
6549         * arch/aarch64.h (aarch64_create_target_description): Likewise.
6550         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
6551         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
6552         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
6553
6554 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
6555
6556         * value.c (value_fetch_lazy_bitfield): New.
6557         (value_fetch_lazy_memory): New.
6558         (value_fetch_lazy_register): New.
6559         (value_fetch_lazy): Factor out to smaller functions.
6560
6561 2018-06-01  Tom Tromey  <tom@tromey.com>
6562
6563         * cp-name-parser.y (backslashable, represented): Now const.
6564
6565 2018-06-01  Tom Tromey  <tom@tromey.com>
6566
6567         * cp-name-parser.y: Include parser-defs.h.
6568         (parser_fprintf): Remove declaration.
6569
6570 2018-06-01  Tom Tromey  <tom@tromey.com>
6571
6572         * cp-name-parser.y: Use %pure-parser, %lex-param, and
6573         %parse-param.
6574         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
6575         (global_result): Remove globals.
6576         (struct cpname_state): New.
6577         (yyparse): Don't declare.
6578         (yylex, yyerror): Move declarations after %union.
6579         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
6580         (make_name): Add state parameter.
6581         Update all callers.
6582         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
6583         parameter.
6584         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
6585         Update.
6586         (yylex): Add lvalp, state parameters.
6587         (yyerror): Add state parameter.
6588         (cp_demangled_name_to_comp): Update.
6589
6590 2018-06-01  Tom Tromey  <tom@tromey.com>
6591
6592         * cp-name-parser.y (parser_fprintf): Declare.
6593         (GDB_YY_REMAP_PREFIX): Define.
6594         Include yy-remap.h.  Don't redefine yy* identifiers.
6595
6596 2018-06-01  Tom Tromey  <tom@tromey.com>
6597
6598         * python/py-type.c (typy_legacy_template_argument): Update.
6599         * cp-support.h (cp_demangled_name_to_comp): Update.
6600         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
6601         parameter to be a "std::string *".
6602         (main): Update.
6603
6604 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
6605
6606         * ada-lex.l: Include "diagnostics.h" instead of
6607         "common/diagnostics.h".
6608         * unittests/environ-selftests.c: Likewise.
6609         * common/diagnostics.h: Moved to ../include.
6610
6611 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
6612
6613         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
6614         to language_mode_manual while calling breakpoint_re_set_one.
6615
6616 2018-06-01  Tom Tromey  <tom@tromey.com>
6617
6618         * valops.c (value_cast_structs, destructor_name_p): Update.
6619         * symtab.c (gdb_mangle_name): Update.
6620         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
6621         Update.
6622         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
6623         (pascal_object_print_value_fields, pascal_object_print_value):
6624         Update.
6625         * p-typeprint.c (pascal_type_print_derivation_info): Update.
6626         * linespec.c (find_methods): Update.
6627         * gdbtypes.h (type_name_no_tag): Remove.
6628         (type_name_or_error): Rename from type_name_no_tag_or_error.
6629         * gdbtypes.c (type_name_no_tag): Remove.
6630         (type_name_or_error): Rename from type_name_no_tag_or_error.
6631         (lookup_struct_elt_type, check_typedef): Update.
6632         * expprint.c (print_subexp_standard): Update.
6633         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
6634         * d-namespace.c (d_lookup_nested_symbol): Update.
6635         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
6636         (cp_print_class_member): Update.
6637         * cp-namespace.c (cp_lookup_nested_symbol): Update.
6638         * completer.c (add_struct_fields): Update.
6639         * c-typeprint.c (cp_type_print_derivation_info)
6640         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
6641         Update.
6642         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
6643         (ada_prefer_type, ada_is_exception_sym): Update.
6644
6645 2018-06-01  Tom Tromey  <tom@tromey.com>
6646
6647         * valops.c (enum_constant_from_type, value_namespace_elt)
6648         (value_maybe_namespace_elt): Update.
6649         * valarith.c (find_size_for_pointer_math): Update.
6650         * target-descriptions.c (make_gdb_type): Update.
6651         * symmisc.c (print_symbol): Update.
6652         * stabsread.c (define_symbol, read_type)
6653         (complain_about_struct_wipeout, add_undefined_type)
6654         (cleanup_undefined_types_1): Update.
6655         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
6656         (rust_range_type_p, val_print_struct, rust_print_struct_def)
6657         (rust_internal_print_type, rust_composite_type)
6658         (rust_evaluate_funcall, rust_evaluate_subexp)
6659         (rust_inclusive_range_type_p): Update.
6660         * python/py-type.c (typy_get_tag): Update.
6661         * p-typeprint.c (pascal_type_print_base): Update.
6662         * mdebugread.c (parse_symbol, parse_type): Update.
6663         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
6664         Update.
6665         * guile/scm-type.c (gdbscm_type_tag): Update.
6666         * go-lang.c (sixg_string_p): Update.
6667         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
6668         Update.
6669         * gdbtypes.h (struct main_type) <tag_name>: Remove.
6670         (TYPE_TAG_NAME): Remove.
6671         * gdbtypes.c (type_name_no_tag): Simplify.
6672         (check_typedef, check_types_equal, recursive_dump_type)
6673         (copy_type_recursive, arch_composite_type): Update.
6674         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
6675         in summary mode when needed.
6676         * eval.c (evaluate_funcall): Update.
6677         * dwarf2read.c (fixup_go_packaging, read_structure_type)
6678         (process_structure_scope, read_enumeration_type)
6679         (read_namespace_type, read_module_type, determine_prefix): Update.
6680         * cp-support.c (inspect_type): Update.
6681         * coffread.c (process_coff_symbol, decode_base_type): Update.
6682         * c-varobj.c (c_is_path_expr_parent): Update.
6683         * c-typeprint.c (c_type_print_base_struct_union): Update.
6684         (c_type_print_base_1): Update.  Print struct/class/union/enum in
6685         summary when using C language.
6686         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
6687         (gen_maybe_namespace_elt): Update.
6688         * ada-lang.c (ada_type_name): Simplify.
6689         (empty_record, ada_template_to_fixed_record_type_1)
6690         (template_to_static_fixed_type)
6691         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
6692
6693 2018-06-01  Tom Tromey  <tom@tromey.com>
6694
6695         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
6696         c_print_type.
6697         * c-typeprint.c (c_print_type_1): Add "language" parameter.
6698         (c_print_type): Update.
6699         (c_print_type): New overload.
6700         (c_type_print_varspec_prefix, c_type_print_args)
6701         (c_type_print_varspec_suffix, c_print_type_no_offsets)
6702         (c_type_print_base_struct_union, c_type_print_base_1)
6703         (cp_type_print_method_args): Add "language" parameter.
6704         (c_type_print_base): Update.
6705         * c-lang.h (c_print_type): Add new overload.
6706
6707 2018-06-01  Tom Tromey  <tom@tromey.com>
6708
6709         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
6710         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
6711
6712 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
6713
6714         * aarch64-tdep.c (aarch64_sve_register_names): New const
6715         var.
6716         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
6717         (AARCH64_SVE_Z_REGS_NUM): New define.
6718         (AARCH64_SVE_P_REGS_NUM): Likewise.
6719         (AARCH64_SVE_NUM_REGS): Likewise.
6720
6721 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
6722
6723         * nat/linux-ptrace.h [__alpha__]
6724         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
6725         definitions.
6726
6727 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
6728
6729         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
6730         the endianness selected.
6731         * NEWS: Document `set endian auto' mode operation update.
6732
6733 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6734
6735         * Makefile.in: Add new header.
6736         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
6737         (sve_vl_from_vg): Likewise.
6738         (sve_vq_from_vl): Likewise.
6739         (sve_vl_from_vq): Likewise.
6740         (sve_vq_from_vg): Likewise.
6741         (sve_vg_from_vq): Likewise.
6742         * configure.nat: Add new c file.
6743         * nat/aarch64-sve-linux-ptrace.c: New file.
6744         * nat/aarch64-sve-linux-ptrace.h: New file.
6745
6746 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6747
6748         * aarch64-linux-nat.c (aarch64_linux_read_description):
6749         Add parmeter zero.
6750         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
6751         Likewise.
6752         * aarch64-tdep.c (tdesc_aarch64_list): Add.
6753         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
6754         (aarch64_gdbarch_init): Add parmeter zero.
6755         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
6756         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
6757         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
6758         parmeter.
6759         * doc/gdb.texinfo: Describe SVE feature
6760         * features/aarch64-sve.c: New file.
6761
6762 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
6763
6764         PR gdb/23210
6765         * gdbarch.sh (significant_addr_bit): Default to zero when
6766         not set by target architecture.
6767         * gdbarch.c: Re-generated.
6768         * utils.c (address_significant): Update.
6769
6770 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
6771
6772         * stack.c (func_command): Remove trailing newline in call to error.
6773
6774 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6775
6776         * regcache.h (regcache_raw_collect): Remove, update callers to
6777         use regcache::raw_collect.
6778         * regcache.c (regcache_raw_collect): Remove.
6779
6780 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6781
6782         * regcache.h (regcache_raw_supply): Remove, update callers to
6783         use detached_regcache::raw_supply.
6784         * regcache.c (regcache_raw_supply): Remove.
6785
6786 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6787
6788         * regcache.h (regcache_cooked_write_part): Remove, update
6789         callers to use regcache::cooked_write_part.
6790         * regcache.c (regcache_cooked_write_part): Remove.
6791
6792 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6793
6794         * regcache.h (regcache_cooked_read_part): Remove, update callers
6795         to use readable_regcache::cooked_read_part.
6796         * regcache.c (regcache_cooked_read_part): Remove.
6797
6798 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6799
6800         * regcache.h (regcache_cooked_read_value): Remove, update
6801         callers to use readable_regcache::cooked_read_value.
6802         * regcache.c (regcache_cooked_read_value): Remove.
6803
6804 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6805
6806         * regcache.h (regcache_cooked_write): Remove, update callers to
6807         use regcache::cooked_write.
6808         * regcache.c (regcache_cooked_write): Remove.
6809
6810 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6811
6812         * regcache.h (regcache_invalidate): Remove, update callers to
6813         use detached_regcache::invalidate instead.
6814         * regcache.c (regcache_invalidate): Remove.
6815
6816 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6817
6818         * regcache.h (regcache_raw_write_part): Remove, update callers
6819         to use regcache::raw_write_part instead.
6820         * regcache.c (regcache_raw_write_part): Remove.
6821
6822 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6823
6824         * regcache.h (regcache_raw_read_part): Remove, update callers to
6825         use readable_regcache::raw_read_part instead.
6826         * regcache.c (regcache_raw_read_part): Remove.
6827
6828 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6829
6830         * regcache.h (regcache_cooked_read): Remove, update callers to
6831         use readable_regcache::cooked_read instead.
6832         * regcache.c (regcache_cooked_read): Remove.
6833
6834 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6835
6836         * regcache.h (regcache_raw_write): Remove, update callers to use
6837         regcache::raw_write instead.
6838         * regcache.c (regcache_raw_write): Remove.
6839
6840 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6841
6842         * regcache.h (regcache_raw_read): Remove, update callers to use
6843         readable_regcache::raw_read instead.
6844         * regcache.c (regcache_raw_read): Remove.
6845
6846 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6847
6848         * regcache.h (regcache_raw_update): Remove, update callers to
6849         use readable_regcache::raw_update instead.
6850         * regcache.c (regcache_raw_update): Remove.
6851
6852 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6853
6854         * regcache.h (regcache_register_status): Remove, update callers
6855         to use reg_buffer::get_register_status directly instead.
6856         * regcache.c (regcache_register_status): Remove.
6857
6858 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6859
6860         * regcache.h (regcache_get_ptid): Remove, update all callers to
6861         call regcache::ptid instead.
6862         * regcache.c (regcache_get_ptid): Remove.
6863
6864 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6865
6866         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
6867
6868 2018-05-30  Pedro Alves  <palves@redhat.com>
6869
6870         * common/common-exceptions.h (exception_rethrow): Use
6871         ATTRIBUTE_NORETURN.
6872
6873 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
6874
6875         * breakpoint.c (print_solib_event, check_status_catch_solib):
6876         Remove struct keyword in range-based for loops.
6877         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
6878         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
6879         Likewise.
6880         * linespec.c (find_superclass_methods, search_minsyms_for_name):
6881         Likewise.
6882         * symfile.c (addr_info_make_relative): Likewise.
6883         * thread.c (value_in_thread_stack_temporaries): Likewise.
6884
6885 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
6886
6887         PR gdb/16841
6888         * valops.c (value_struct_elt_for_reference): Call check_typedef on
6889         aggregate type to get its real type before accessing it.
6890
6891 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
6892
6893         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
6894         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
6895         * coff-pe-read.c (add_pe_forwarded_sym): Replace
6896         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
6897         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
6898         * jit.c (jit_breakpoint_re_set_internal): Likewise.
6899         * printcmd.c (info_address_command): Likewise.
6900
6901 2018-05-29  Tom Tromey  <tom@tromey.com>
6902
6903         * windows-nat.c (handle_exception): Update fall-through comment.
6904
6905 2018-05-29  Tom Tromey  <tom@tromey.com>
6906
6907         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
6908         (struct program_space) <added_solibs>: Now a std::vector.
6909         * breakpoint.c (print_solib_event): Update.
6910         (check_status_catch_solib): Update.
6911         * progspace.c (clear_program_space_solib_cache): Update.
6912         * solib.c (update_solib_list): Update.
6913
6914 2018-05-29  Tom Tromey  <tom@tromey.com>
6915
6916         * python/py-type.c (typy_richcompare): Update.
6917         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
6918         * gdbtypes.h (types_deeply_equal): Return bool.
6919         (types_equal): Likewise.
6920         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
6921         declare VEC.
6922         (check_types_equal): Change worklist to std::vector.  Return
6923         bool.
6924         (struct type_equality_entry): Add constructor.
6925         (compare_maybe_null_strings): Return bool.
6926         (check_types_worklist): Return bool.  Change worklist to
6927         std::vector.
6928         (types_deeply_equal): Use std::vector.
6929         (types_equal): Return bool.
6930         (compare_maybe_null_strings): Simplify.
6931
6932 2018-05-29  Tom Tromey  <tom@tromey.com>
6933
6934         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
6935
6936 2018-05-29  Tom Tromey  <tom@tromey.com>
6937
6938         * objc-lang.h: Don't include cp-support.h.
6939         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
6940         declare VEC.
6941
6942 2018-05-27  Tom Tromey  <tom@tromey.com>
6943
6944         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
6945
6946 2018-05-25  Tom Tromey  <tom@tromey.com>
6947
6948         * value.c (value::location): Initialize.
6949
6950 2018-05-25  Tom Tromey  <tom@tromey.com>
6951
6952         * dbxread.c (init_bincl_list): Remove.
6953         (bincl_list): Now a std::vector.
6954         (bincls_allocated, next_bincl): Remove.
6955         (free_bincl_list, do_free_bincl_list_cleanup)
6956         (make_cleanup_free_bincl_list): Remove.
6957         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
6958         unique_xmalloc_ptr.
6959         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
6960         (struct header_file_location): Add constructor.
6961         (add_bincl_to_list): Remove.
6962
6963 2018-05-25  Tom Tromey  <tom@tromey.com>
6964
6965         * tui/tui.c (tui_enable): Update.
6966         * mi/mi-interp.c (mi_interp::init): Update.
6967         * interps.h (class interp) <name>: New method.
6968         <m_name>: Rename from name.
6969         (~scoped_restore_interp): Update.
6970         * interps.c (interp::interp): Update.
6971         (interp_add, interp_set, interp_lookup_existing)
6972         (current_interp_named_p): Update.
6973
6974 2018-05-25  Tom Tromey  <tom@tromey.com>
6975
6976         * interps.c (interp_name): Remove.
6977         * mi/mi-interp.c (mi_interp::init): Update.
6978         * interps.h (interp_name): Remove.
6979         (~scoped_restore_interp): Update.
6980         * tui/tui.c (tui_enable): Update.
6981
6982 2018-05-25  Tom Tromey  <tom@tromey.com>
6983
6984         * utils.c (fputs_maybe_filtered): Update.
6985         * linespec.c (decode_line_full): Update.
6986         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
6987         (mi_print_breakpoint_for_event, mi_solib_loaded)
6988         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
6989         (mi_user_selected_context_changed): Update.
6990         * mi/mi-main.c (mi_execute_command): Update.
6991         * cli/cli-script.c (execute_control_command): Update.
6992         * python/python.c (execute_gdb_command): Update.
6993         * solib.c (info_sharedlibrary_command): Update.
6994         * interps.c (interp_ui_out): Remove.
6995         * interps.h (interp_ui_out): Remove.
6996
6997 2018-05-25  Tom Tromey  <tom@tromey.com>
6998
6999         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
7000         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
7001         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
7002
7003 2018-05-25  Tom Tromey  <tom@tromey.com>
7004
7005         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
7006         * interps.c (interp_exec): Use scoped_restore.
7007
7008 2018-05-25  Tom Tromey  <tom@tromey.com>
7009
7010         * remote.c (remote_target::remote_file_get): Use
7011         gdb::byte_vector.
7012         (remote_target::remote_file_put): Likewise.
7013
7014 2018-05-25  Tom Tromey  <tom@tromey.com>
7015
7016         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
7017         a std::string.
7018         (get_pe_section_index, add_pe_exported_sym): Update.
7019         (read_pe_exported_syms): Use gdb::def_vector.
7020
7021 2018-05-25  Tom Tromey  <tom@tromey.com>
7022
7023         * frame.c (remove_prev_frame): Remove.
7024         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
7025
7026 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
7027
7028         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
7029         Remove prototypes.
7030         * mips-linux-nat.c (supply_fpregset): Always call
7031         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
7032         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
7033         `mips_fill_fpregset'.
7034         * mips-linux-tdep.c (mips_supply_fpregset)
7035         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
7036         (mips_fill_fpregset_wrapper): Remove functions.
7037         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
7038         (mips_linux_fpregset): Remove variable.
7039         (mips_linux_iterate_over_regset_sections): Use
7040         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
7041         (mips_linux_o32_sigframe_init): Remove comment.
7042
7043 2018-05-25  Pedro Alves  <palves@redhat.com>
7044
7045         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
7046         (struct readahead_cache, struct packet_reg, struct
7047         remote_arch_state, class remote_state): Move higher up in the
7048         file.
7049         (remote_target::m_remote_state): Now an object instead of a pointer.
7050         (remote_target::get_remote_state): Adjust.
7051
7052 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
7053
7054         * stack.c (select_and_print_frame): Delete.
7055         (struct function_bounds): Move struct within function.
7056         (func_command): Most content moved into new function
7057         find_frame_for_function, use new function, print result, add
7058         function comment.
7059         (find_frame_for_function): New function, now returns a result.
7060
7061 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7062
7063         * stack.c (iterate_over_block_arg_vars): Fix comment.
7064         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
7065
7066 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
7067
7068         PR gdb/23203
7069         * frame.c
7070         (scoped_restore_selected_frame::scoped_restore_selected_frame):
7071         Define.
7072         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
7073         Define.
7074         * frame.h (class scoped_restore_selected_frame): New class.
7075         * stack.c (print_frame_local_vars): Remove catching and rethrowing
7076         of any exception, use scoped_restore_selected_frame to restore the
7077         frame instead.
7078
7079 2018-05-24  Pedro Alves  <palves@redhat.com>
7080
7081         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
7082         override.
7083
7084 2018-05-23  Tom Tromey  <tom@tromey.com>
7085
7086         * complaints.c (struct complaints): Remove.
7087         (symfile_complaint_book): Remove.
7088         (series): New global.
7089         (complaint_internal): Update.
7090         (clear_complaints): Update.
7091
7092 2018-05-23  Tom Tromey  <tom@tromey.com>
7093
7094         * complaints.c (counters): New global.
7095         (struct complain): Remove.
7096         (struct complaints) <root>: Remove.
7097         (complaint_sentinel): Remove.
7098         (symfile_complaint_book): Update.
7099         (find_complaint) Remove.
7100         (complaint_internal, clear_complaints): Update.
7101
7102 2018-05-23  Tom Tromey  <tom@tromey.com>
7103
7104         * complaints.c (struct complain) <file, line>: Remove.
7105         (find_complaint): Remove file, line parameters.
7106         (complaint_internal): Update.
7107
7108 2018-05-23  Tom Tromey  <tom@tromey.com>
7109
7110         * complaints.c (vcomplaint): Remove.
7111         (complaint_internal) Merge in contents of vcomplaint.
7112
7113 2018-05-23  Tom Tromey  <tom@tromey.com>
7114
7115         * complaints.c (struct complaints) <explanation>: Remove.
7116         (symfile_explanations): Remove.
7117         (symfile_complaint_book): Update.
7118         (vcomplaint): Update.
7119         (struct explanation): Remove.
7120
7121 2018-05-23  Tom Tromey  <tom@tromey.com>
7122
7123         * complaints.c (symfile_complaints): Remove.
7124         (complaint_internal): Remove "complaints" parameter.
7125         (clear_complaints, vcomplaint): Remove "c" parameter.
7126         (get_complaints): Remove.
7127         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
7128         (dwarf2_debug_line_missing_file_complaint)
7129         (dwarf2_debug_line_missing_end_sequence_complaint)
7130         (dwarf2_complex_location_expr_complaint)
7131         (dwarf2_const_value_length_mismatch_complaint)
7132         (dwarf2_section_buffer_overflow_complaint)
7133         (dwarf2_macro_malformed_definition_complaint)
7134         (dwarf2_invalid_attrib_class_complaint)
7135         (create_addrmap_from_index, dw2_symtab_iter_next)
7136         (dw2_expand_marked_cus)
7137         (dw2_debug_names_iterator::find_vec_in_debug_names)
7138         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
7139         (create_debug_type_hash_table, init_cutu_and_read_dies)
7140         (partial_die_parent_scope, add_partial_enumeration)
7141         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
7142         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
7143         (read_import_statement, read_file_scope, create_dwo_cu_reader)
7144         (create_cus_hash_table, create_dwp_hash_table)
7145         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
7146         (dwarf2_rnglists_process, dwarf2_ranges_process)
7147         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
7148         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
7149         (handle_struct_member_die, process_structure_scope)
7150         (read_array_type, read_common_block, read_module_type)
7151         (read_tag_pointer_type, read_typedef, read_base_type)
7152         (read_subrange_type, load_partial_dies, partial_die_info::read)
7153         (partial_die_info::read, partial_die_info::read)
7154         (partial_die_info::read, read_checked_initial_length_and_offset)
7155         (dwarf2_string_attr, read_formatted_entries)
7156         (dwarf_decode_line_header)
7157         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
7158         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
7159         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
7160         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
7161         (get_signatured_type, get_DW_AT_signature_type)
7162         (decode_locdesc, file_file_name, consume_improper_spaces)
7163         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
7164         (dwarf_decode_macro_bytes, dwarf_decode_macros)
7165         (dwarf2_symbol_mark_computed, set_die_type)
7166         (read_attribute_value): Update.
7167         * stap-probe.c (handle_stap_probe, get_stap_base_address):
7168         Update.
7169         * dbxread.c (unknown_symtype_complaint)
7170         (lbrac_mismatch_complaint, repeated_header_complaint)
7171         (set_namestring, function_outside_compilation_unit_complaint)
7172         (read_dbx_symtab, process_one_symbol): Update.
7173         * gdbtypes.c (stub_noname_complaint): Update.
7174         * windows-nat.c (handle_unload_dll): Update.
7175         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
7176         (decode_base_type): Update.
7177         * xcoffread.c (bf_notfound_complaint, ef_complaint)
7178         (eb_complaint, record_include_begin, record_include_end)
7179         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
7180         (process_xcoff_symbol, read_symbol)
7181         (function_outside_compilation_unit_complaint)
7182         (scan_xcoff_symtab): Update.
7183         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
7184         * buildsym.c (finish_block_internal, make_blockvector)
7185         (end_symtab_get_static_block, augment_type_symtab): Update.
7186         * dtrace-probe.c (dtrace_process_dof)
7187         (dtrace_static_probe_ops::get_probes): Update.
7188         * complaints.h (struct complaint): Don't declare.
7189         (symfile_complaints): Remove.
7190         (complaint_internal): Remove "complaints" parameter.
7191         (complaint): Likewise.
7192         (clear_complaints): Likewise.
7193         * symfile.c (syms_from_objfile_1, finish_new_objfile)
7194         (reread_symbols): Update.
7195         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
7196         (dwarf2_frame_cache, decode_frame_entry): Update.
7197         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
7198         * objc-lang.c (lookup_objc_class, lookup_child_selector)
7199         (info_selectors_command): Update.
7200         * macrotab.c (macro_include, check_for_redefinition)
7201         (macro_undef): Update.
7202         * objfiles.c (filter_overlapping_sections): Update.
7203         * stabsread.c (invalid_cpp_abbrev_complaint)
7204         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
7205         (define_symbol, error_type, read_type, rs6000_builtin_type)
7206         (stabs_method_name_from_physname, read_member_functions)
7207         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
7208         (attach_fields_to_type, complain_about_struct_wipeout)
7209         (read_range_type, read_args, common_block_start)
7210         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
7211         Update.
7212         * mdebugread.c (index_complaint, unknown_ext_complaint)
7213         (basic_type_complaint, bad_tag_guess_complaint)
7214         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
7215         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
7216         (parse_procedure, parse_lines)
7217         (function_outside_compilation_unit_complaint)
7218         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
7219         (bad_tag_guess_complaint, reg_value_complaint): Update.
7220         * cp-support.c (demangled_name_complaint): Update.
7221         * macroscope.c (sal_macro_scope): Update.
7222         * dwarf-index-write.c (class debug_names): Update.
7223
7224 2018-05-23  Tom Tromey  <tom@tromey.com>
7225
7226         * complaints.c (clear_complaints): Remove "noisy" parameter.
7227         * complaints.h (clear_complaints): Update.
7228         * symfile.c (syms_from_objfile_1, finish_new_objfile)
7229         (reread_symbols): Update.
7230
7231 2018-05-23  Tom Tromey  <tom@tromey.com>
7232
7233         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
7234         SUBSEQUENT_MESSAGE.
7235         (vcomplaint, clear_complaints): Update.
7236         (symfile_explanations): Remove some messages.
7237
7238 2018-05-23  Tom Tromey  <tom@tromey.com>
7239
7240         * complaints.c (internal_complaint): Remove.
7241         * complaints.h (internal_complaint): Remove.
7242
7243 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7244
7245         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
7246
7247 2018-05-22  Pedro Alves  <palves@redhat.com>
7248
7249         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
7250         (remote_fileio_badfd, remote_fileio_return_errno)
7251         (remote_fileio_return_success, remote_fileio_func_open)
7252         (remote_fileio_func_open, remote_fileio_func_close)
7253         (remote_fileio_func_read, remote_fileio_func_write)
7254         (remote_fileio_func_lseek, remote_fileio_func_rename)
7255         (remote_fileio_func_unlink, remote_fileio_func_stat)
7256         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
7257         (remote_fileio_func_isatty, remote_fileio_func_system): Add
7258         remote_target parameter.
7259         (remote_fio_func_map) <func>: Add remote_target parameter.
7260         (do_remote_fileio_request, remote_fileio_request):
7261         * remote-fileio.h (remote_fileio_request):
7262         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
7263         remote_target parameter.
7264         (remote_notif_process, handle_notification): Adjust to pass down
7265         the remote.
7266         (remote_notif_state_allocate): Add remote_target parameter.  Save
7267         it.
7268         * remote-notif.h (struct remote_target): Forward declare.
7269         (struct notif_client) <parse, ack, can_get_pending_events>: Add
7270         remote_target parameter.
7271         (struct remote_notif_state) <remote>: New field.
7272         (remote_notif_ack, remote_notif_parse): Add remote_target
7273         parameter.
7274         (remote_notif_state_allocate, remote_notif_state_allocate): Add
7275         remote_target parameter.
7276         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
7277         (threads_listing_context, rmt_thread_action, protocol_feature)
7278         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
7279         (packet_result, struct threads_listing_context, remote_state):
7280         Move definitions and declarations higher up.
7281         (remote_target) <~remote_target>: Declare.
7282         (remote_download_command_source, remote_file_put, remote_file_get)
7283         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
7284         (remote_hostio_pread_vFile, remote_hostio_send_command)
7285         (remote_hostio_set_filesystem, remote_hostio_open)
7286         (remote_hostio_close, remote_hostio_unlink, remote_state)
7287         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
7288         (get_memory_write_packet_size, get_memory_read_packet_size)
7289         (append_pending_thread_resumptions, remote_detach_1)
7290         (append_resumption, remote_resume_with_vcont)
7291         (add_current_inferior_and_thread, wait_ns, wait_as)
7292         (process_stop_reply, remote_notice_new_inferior)
7293         (process_initial_stop_replies, remote_add_thread)
7294         (btrace_sync_conf, remote_btrace_maybe_reopen)
7295         (remove_new_fork_children, kill_new_fork_children)
7296         (discard_pending_stop_replies, stop_reply_queue_length)
7297         (check_pending_events_prevent_wildcard_vcont)
7298         (discard_pending_stop_replies_in_queue, stop_reply)
7299         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
7300         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
7301         (remote_interrupt_as, remote_interrupt_ns)
7302         (remote_get_noisy_reply, remote_query_attached)
7303         (remote_add_inferior, remote_current_thread, get_current_thread)
7304         (set_thread, set_general_thread, set_continue_thread)
7305         (set_general_process, write_ptid)
7306         (remote_unpack_thread_info_response, remote_get_threadinfo)
7307         (parse_threadlist_response, remote_get_threadlist)
7308         (remote_threadlist_iterator, remote_get_threads_with_ql)
7309         (remote_get_threads_with_qxfer)
7310         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
7311         (get_offsets, remote_check_symbols, remote_supported_packet)
7312         (remote_query_supported, remote_packet_size)
7313         (remote_serial_quit_handler, remote_detach_pid)
7314         (remote_vcont_probe, remote_resume_with_hc)
7315         (send_interrupt_sequence, interrupt_query)
7316         (remote_notif_get_pending_events, fetch_register_using_p)
7317         (send_g_packet, process_g_packet, fetch_registers_using_g)
7318         (store_register_using_P, store_registers_using_G)
7319         (set_remote_traceframe, check_binary_download)
7320         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
7321         (remote_xfer_live_readonly_partial, remote_read_bytes)
7322         (remote_send_printf, remote_flash_write, readchar)
7323         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
7324         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
7325         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
7326         (extended_remote_disable_randomization, extended_remote_run)
7327         (send_environment_packet, extended_remote_environment_support)
7328         (extended_remote_set_inferior_cwd, remote_write_qxfer)
7329         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
7330         (packet_command): Now methods of ...
7331         (remote_target): ... this class.
7332         (m_remote_state) <remote_target>: New field.
7333         (struct remote_state) <stop_reply_queue,
7334         remote_async_inferior_event_token, wait_forever_enabled_p>: New
7335         fields.
7336         (remote_state::remote_state): Allocate stop_reply_queue.
7337         (remote_state): Delete global.
7338         (get_remote_state_raw): Delete.
7339         (remote_target::get_remote_state): Allocate m_remote_state on
7340         demand.
7341         (get_current_remote_target): New.
7342         (remote_ops, extended_remote_ops): Delete.
7343         (wait_forever_enabled_p, remote_async_inferior_event_token):
7344         Delete, moved to struct remote_state.
7345         (remote_target::close): Delete self.  Destruction bits split to
7346         ...
7347         (remote_target::~remote_target): ... this.
7348         (show_memory_packet_size): Adjust to use
7349         get_current_remote_target.
7350         (struct protocol_feature) <func>: Add remote_target parameter.
7351         All callers adjusted.
7352         (curr_quit_handler_target): New.
7353         (remote_serial_quit_handler): Reimplement.
7354         (remote_target::open_1): Adjust to use get_current_remote_target.
7355         Heap-allocate remote_target/extended_remote_target instances.
7356         (vcont_builder::vcont_builder): Add remote_target parameter, and
7357         save it in m_remote.  All callers adjusted.
7358         (vcont_builder::m_remote): New field.
7359         (vcont_builder::restart, vcont_builder::flush)
7360         (vcont_builder::push_action): Use it.
7361         (remote_target::commit_resume): Use it.
7362         (struct queue_iter_param) <remote>: New field.
7363         (remote_target::remove_new_fork_children): Fill in 'remote' field.
7364         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
7365         (check_pending_event_prevents_wildcard_vcont_callback)
7366         (remote_target::check_pending_events_prevent_wildcard_vcont)
7367         (remote_target::discard_pending_stop_replies)
7368         (remote_target::discard_pending_stop_replies_in_queue)
7369         (remote_target::remote_notif_remove_queued_reply): Fill in
7370         'remote' field.
7371         (remote_notif_get_pending_events): New.
7372         (remote_target::readchar, remote_target::remote_serial_write):
7373         Save/restore curr_quit_handler_target.
7374         (putpkt): New.
7375         (kill_new_fork_children): Fill in 'remote' field.
7376         (packet_command): Use get_current_remote_target, defer to
7377         remote_target method of same name.
7378         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
7379         parameter, and save it in m_remote.  All callers adjusted.
7380         (scoped_remote_fd::release): Use m_remote.
7381         (scoped_remote_fd::m_remote): New field.
7382         (remote_file_put, remote_file_get, remote_file_delete): Use
7383         get_current_remote_target, defer to remote_target method of same
7384         name.
7385         (remote_btrace_reset): Add remote_state paremeter.  Update all
7386         callers.
7387         (remote_async_inferior_event_handler). Pass down 'data'.
7388         (remote_new_objfile): Use get_current_remote_target.
7389         (remote_target::vcont_r_supported): New.
7390         (set_range_stepping): Use get_current_remote_target and
7391         remote_target::vcont_r_supported.
7392         (_initialize_remote): Don't allocate 'remote_state' and
7393         'stop_reply_queue' globals.
7394         * remote.h (struct remote_target): Forward declare.
7395         (getpkt, putpkt, remote_notif_get_pending_events): Add
7396         'remote_target' parameter.
7397
7398 2018-05-22  Pedro Alves  <palves@redhat.com>
7399
7400         * remote.c (vcont_builder): Now a class.  Make all data members
7401         private.
7402         (vcont_builder) <vcont_builder, restart, flush, push_action>:
7403         Declare methods.
7404         (vcont_builder_restart): Rename to ...
7405         (vcont_builder::restart): ... this.
7406         (vcont_builder_flush): Rename to ...
7407         (vcont_builder::flush): ... this.
7408         (vcont_builder_push_action): Rename to ...
7409         (vcont_builder::push_action): ... this.
7410         (remote_target::commit_resume): Adjust.
7411
7412 2018-05-22  Pedro Alves  <palves@redhat.com>
7413
7414         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
7415         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
7416         (get_fixed_memory_packet_size): New.
7417         (get_memory_packet_size): Use it.
7418         (set_memory_packet_size): Don't override the config size with
7419         DEFAULT_MAX_MEMORY_PACKET_SIZE.
7420         (show_memory_packet_size): Use get_fixed_memory_packet_size.
7421         Don't refer to get_memory_packet_size if not connected to a remote
7422         target.  Show "(default)" if configured size is 0.
7423
7424 2018-05-22  Pedro Alves  <palves@redhat.com>
7425
7426         * remote.c (remote_target::mourn_inferior): Move
7427         discard_pending_stop_replies call here from ...
7428         (_initialize_remote): ... here.
7429
7430 2018-05-22  Pedro Alves  <palves@redhat.com>
7431
7432         * remote.c (compare_section_command): Remove set_general_process
7433         call.
7434
7435 2018-05-22  Pedro Alves  <palves@redhat.com>
7436
7437         * remote.c (struct packet_reg, struct remote_arch_state):
7438         Move higher up in the file.
7439         (remote_state) <m_arch_states>: Store remote_arch_state values
7440         instead of remote_arch_state pointers.
7441         (remote_state::get_remote_arch_state): Adjust.
7442
7443 2018-05-22  Pedro Alves  <palves@redhat.com>
7444
7445         * remote.c: Include <unordered_map>.
7446         (remote_state): Now a class.
7447         (remote_state) <get_remote_arch_state>: Declare method.
7448         <get_remote_arch_state>: New field.
7449         (remote_arch_state) <remote_arch_state>: Declare ctor.
7450         <regs>: Now a unique_ptr.
7451         (remote_gdbarch_data_handle): Delete.
7452         (get_remote_arch_state): Delete.
7453         (remote_state::get_remote_arch_state): New.
7454         (get_remote_state): Adjust to call remote_state's
7455         get_remote_arch_state method.
7456         (init_remote_state): Delete, bits factored out to ...
7457         (remote_arch_state::remote_arch_state): ... this new method.
7458         (get_remote_packet_size, get_memory_packet_size)
7459         (process_g_packet, remote_target::fetch_registers)
7460         (remote_target::prepare_to_store, store_registers_using_G)
7461         (remote_target::store_registers, remote_target::get_trace_status):
7462         Adjust to call remote_state's method.
7463         (_initialize_remote): Remove reference to
7464         remote_gdbarch_data_handle.
7465
7466 2018-05-22  Pedro Alves  <palves@redhat.com>
7467
7468         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
7469         pread>: New method declarations.
7470         (remote_target::open_1): Adjust.
7471         (readahead_cache_invalidate): Rename to ...
7472         (readahead_cache::invalidate): ... this, and adjust to be a class
7473         method.
7474         (readahead_cache_invalidate_fd): Rename to ...
7475         (readahead_cache::invalidate_fd): ... this, and adjust to be a
7476         class method.
7477         (remote_hostio_pwrite): Adjust.
7478         (remote_hostio_pread_from_cache): Rename to ...
7479         (readahead_cache::pread): ... this, and adjust to be a class
7480         method.
7481         (remote_hostio_close): Adjust.
7482
7483 2018-05-22  Pedro Alves  <palves@redhat.com>
7484
7485         * remote.c (remote_hostio_close_cleanup): Delete.
7486         (class scoped_remote_fd): New.
7487         (remote_file_put, remote_file_get): Use it.
7488
7489 2018-05-22  Pedro Alves  <palves@redhat.com>
7490
7491         (struct vCont_action_support): Use bool and initialize all fields.
7492         (struct readahead_cache): Initialize all fields.
7493         (remote_state): Use bool and initialize all fields.
7494         (remote_state::remote_state, remote_state::~remote_state): New.
7495         (new_remote_state): Delete.
7496         (_initialize_remote): Use new to allocate remote_state.
7497
7498 2018-05-22  Pedro Alves  <palves@redhat.com>
7499             張俊芝  <zjz@zjz.name>
7500
7501         PR gdb/22973
7502         * c-exp.y: Include "c-support.h".
7503         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
7504         of tolower.  Use c_ident_is_alpha to scan names.
7505         * c-lang.c: Include "c-support.h".
7506         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
7507         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
7508         * c-support.h: New file, with bits factored out from ...
7509         * cp-name-parser.y: ... this file.
7510         Include "c-support.h".
7511         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
7512         c-support.h and renamed.
7513         (symbol_end, yylex): Adjust.
7514
7515 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7516
7517         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
7518         parameter type to CORE_ADDR.
7519         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
7520         parameter type in declaration to CORE_ADDR.
7521         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
7522         target_auxv_search to get AT_HWCAP and use the result to get the
7523         target description.
7524         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
7525         to CORE_ADDR. Remove the cast of the return value to unsigned
7526         long. Fix error predicate of target_auxv_search.
7527         (ppc_linux_nat_target::read_description): Change the type of the
7528         hwcap variable to CORE_ADDR.
7529
7530 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7531
7532         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
7533         if the size of fpscr is larger than 32 bits.
7534
7535 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7536
7537         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
7538         (ppc32_linux_vsxregmap): New global.
7539         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
7540         regcache_supply_regset, and regcache_collect_regset.
7541         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
7542         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
7543         (fetch_vsx_register, store_vsx_register): Remove.
7544         (fetch_vsx_registers): Add regno parameter. Get regset using
7545         ppc_linux_vsxregset. Use regset to supply registers.
7546         (store_vsx_registers): Add regno parameter. Get regset using
7547         ppc_linux_vsxregset. Use regset to collect registers.
7548         (fetch_register): Call fetch_vsx_registers instead of
7549         fetch_vsx_register.
7550         (store_register): Call store_vsx_registers instead of
7551         store_vsx_register.
7552         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
7553         new regno parameter.
7554         (store_ppc_registers): Call store_vsx_registers with -1 for the
7555         new regno parameter.
7556         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
7557         (ppc_collect_vsxregset): Remove.
7558
7559 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7560
7561         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
7562         offset fields.
7563         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
7564         for vector register offset fields.
7565         (ppc64_fbsd_reg_offsets): Likewise.
7566         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7567         to vector register offset fields.
7568         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7569         to vector register offset fields.
7570         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
7571         vector register offset fields.
7572         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
7573         initializers for vector register offset fields.
7574         (rs6000_aix64_reg_offsets): Likewise.
7575         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
7576         (ppc_supply_vrregset): Remove.
7577         (ppc_collect_vrregset): Remove.
7578         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
7579         (ppc_linux_vrregset) : New function.
7580         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
7581         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
7582         (ppc32_linux_vrregset): Remove.
7583         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
7584         and use result instead of ppc32_linux_vrregset.
7585         (ppc32_linux_reg_offsets): Remove initializers for vector register
7586         offset fields.
7587         (ppc64_linux_reg_offsets): Likewise.
7588         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
7589         * ppc-linux-nat.c: Include regset.h.
7590         (gdb_vrregset_t): Adjust comment to account for little-endian
7591         mode.
7592         (supply_vrregset, fill_vrregset): Remove.
7593         (fetch_altivec_register, store_altivec_register): Remove.
7594         (fetch_altivec_registers): Add regno parameter. Get regset using
7595         ppc_linux_vrregset. Use regset to supply registers.
7596         (store_altivec_registers): Add regno parameter. Get regset using
7597         ppc_linux_vrregset. Use regset to collect registers.
7598         (fetch_register): Call fetch_altivec_registers instead of
7599         fetch_altivec_register.
7600         (store_register): Call store_altivec_registers instead of
7601         store_altivec_register.
7602         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
7603         the new regno parameter.
7604         (store_ppc_registers): Call store_altivec_registers with -1 for
7605         the new regno parameter.
7606
7607 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7608
7609         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
7610         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
7611         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
7612         (gdb_vrregset_t): Change array type size to
7613         PPC_LINUX_SIZEOF_VRREGSET.
7614         (gdb_vsxregset_t): Change array type size to
7615         PPC_LINUX_SIZEOF_VSXREGSET.
7616         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
7617         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
7618         PPC_LINUX_SIZEOF_VSXREGSET.
7619
7620 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7621
7622         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
7623         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
7624         nat/ppc-linux.c.
7625         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
7626         ppc_linux_target_wordsize with tid.
7627         (ppc_linux_nat_target::read_description): Call ppc_linux_target
7628         wordsize with tid.
7629         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
7630         (ppc64_64bit_inferior_p): Add static and inline specifiers.
7631         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
7632         tid parameter. Remove static specifier.
7633         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
7634         (ppc_linux_target_wordsize): New declaration.
7635
7636 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7637
7638         * arch/ppc-linux-common.c: New file.
7639         * arch/ppc-linux-common.h: New file.
7640         * arch/ppc-linux-tdesc.h: New file.
7641         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
7642         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
7643         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
7644         arch/ppc-linux-tdesc.h.
7645         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
7646         arch/ppc-linux-tdesc.h.
7647         (ppc_linux_nat_target::read_description): Remove target
7648         description matching code. Fill a ppc_linux_features struct and
7649         call ppc_linux_match_description with it. Move comment about ISA
7650         2.05 to ppc-linux-common.c.
7651         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
7652         arch/ppc-linux-tdesc.h.
7653         (ppc_linux_core_read_description): Remove target description
7654         matching code. Fill a ppc_linux_features struct and call
7655         ppc_linux_match_description with it.
7656         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
7657         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
7658         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
7659         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
7660         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
7661         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
7662         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
7663         (tdesc_powerpc_e500l): Remove.
7664
7665 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
7666
7667         * ada-lang.c (catch_assert_command): Pass empty string instead
7668         of NULL for excep_string argument.
7669
7670 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7671
7672         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
7673         the width of the requested register exceeds the width of the
7674         `ptrace' data type.
7675
7676 2018-05-21  Tom Tromey  <tom@tromey.com>
7677
7678         * printcmd.c (output_command): Remove.
7679         (output_command_const): Rename to output_command.
7680         * valprint.h (output_command): Rename from output_command_const.
7681         * tracepoint.c (trace_dump_actions): Call output_command.
7682
7683 2018-05-21  Tom Tromey  <tom@tromey.com>
7684
7685         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7686         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
7687         * ada-lang.h (create_ada_exception_catchpoint): Update.
7688         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
7689         std::string.
7690         (create_excep_cond_exprs, ~ada_catchpoint)
7691         (should_stop_exception, print_one_exception)
7692         (print_mention_exception, print_recreate_exception): Update.
7693         (ada_get_next_arg): Remove.
7694         (catch_ada_exception_command_split): Use std::string.  Change type
7695         of "excep_string", "cond_string".
7696         (catch_ada_exception_command): Update.
7697         (create_ada_exception_catchpoint): Change type of excep_string.
7698         (ada_exception_sal): Remove excep_string parameter.
7699         (~ada_catchpoint): Remove.
7700
7701 2018-05-21  Tom Tromey  <tom@tromey.com>
7702
7703         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
7704         cleanup.
7705
7706 2018-05-21  Tom Tromey  <tom@tromey.com>
7707
7708         * ada-lang.c (ada_exception_message_1, ada_exception_message):
7709         Return unique_xmalloc_ptr.
7710         (print_it_exception): Update.
7711
7712 2018-05-21  Tom Tromey  <tom@tromey.com>
7713
7714         * tracepoint.c (trace_dump_actions): Use std::string.
7715
7716 2018-05-21  Tom Tromey  <tom@tromey.com>
7717
7718         * symfile.c (reread_symbols): Use std::string for original_name.
7719
7720 2018-05-21  Tom Tromey  <tom@tromey.com>
7721
7722         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
7723         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
7724         constructor.
7725
7726 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
7727
7728         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
7729         instance to...
7730         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
7731         * objfiles.c (get_objfile_bfd_data): Allocate
7732         objfile_per_bfd_storage with obstack_new when allocating on
7733         obstack.
7734
7735 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7736
7737         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
7738         OBSTACK_ZALLOC.
7739         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
7740         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
7741         * mdebugread.c (mdebug_build_psymtabs): Likewise.
7742         (add_pending): Likewise.
7743         (parse_symbol): Likewise.
7744         (parse_partial_symbols): Likewise.
7745         (psymtab_to_symtab_1): Likewise.
7746         (new_psymtab): Likewise.
7747         (elfmdebug_build_psymtabs): Likewise.
7748         * minsyms.c (terminate_minimal_symbol_table): Likewise.
7749         * objfiles.c (get_objfile_bfd_data): Likewise.
7750         (objfile_register_static_link): Likewise.
7751         * psymtab.c (allocate_psymtab): Likewise.
7752         * stabsread.c (read_member_functions): Likewise.
7753         * xcoffread.c (xcoff_end_psymtab): Likewise.
7754
7755 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7756
7757         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
7758         compiler supports std::is_trivially_constructible.
7759         * common/poison.h: Include obstack.h.
7760         (IsMallocable): Define to is_trivially_constructible if the
7761         compiler supports it, define to true_type otherwise.
7762         (xobnew): New.
7763         (XOBNEW): Redefine.
7764         (xobnewvec): New.
7765         (XOBNEWVEC): Redefine.
7766         * gdb_obstack.h (obstack_zalloc): New.
7767         (OBSTACK_ZALLOC): Redefine.
7768         (obstack_calloc): New.
7769         (OBSTACK_CALLOC): Redefine.
7770         (obstack_new): New.
7771         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
7772         (gdbarch_obstack): New declaration in gdbarch.h, definition in
7773         gdbarch.c.
7774         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
7775         obstack_calloc/obstack_zalloc.
7776         (gdbarch_obstack_zalloc): Remove.
7777         * target-descriptions.c (tdesc_data_init): Use obstack_new.
7778
7779 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7780
7781         * stack.c (backtrace_command_1): Remove useless variable int i.
7782
7783 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7784
7785         * stack.c (print_frame_info): Fix comment.
7786
7787 2018-05-18  Tom Tromey  <tom@tromey.com>
7788
7789         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
7790         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
7791         (~dwarf2_per_objfile): Update
7792         (dwarf2_get_dwz_file): Use new.
7793         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
7794         unique_ptr.
7795
7796 2018-05-18  Tom Tromey  <tom@tromey.com>
7797
7798         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
7799         unique_ptr.
7800         * dwarf2read.c (struct dwp_file): Add constructor and
7801         initializers.
7802         (open_and_init_dwp_file): Return a unique_ptr.
7803         (dwarf2_per_objfile, create_dwp_hash_table)
7804         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
7805         (lookup_dwo_unit_in_dwp): Update.
7806         (open_and_init_dwp_file, get_dwp_file): Update.
7807
7808 2018-05-18  Tom Tromey  <tom@tromey.com>
7809
7810         * dwarf2read.c (dwarf2_per_objfile): Update.
7811         (struct mapped_index): Add initializers.
7812         (dwarf2_read_index): Use new.
7813         (dw2_symtab_iter_init): Update.
7814         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
7815         unique_ptr.
7816
7817 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7818
7819         * dwarf2read.c (mapped_index) <total_size>: Remove.
7820
7821 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7822
7823         * unittests/format_pieces-selftests.c (test_format_specifier):
7824         Add ARI comments.
7825
7826 2018-05-18  Tom Tromey  <tom@tromey.com>
7827
7828         * c-typeprint.c (maybe_print_hole): New function.
7829         (c_print_type_struct_field_offset): Update.
7830         (c_type_print_base_struct_union): Call maybe_print_hole.
7831
7832 2018-05-17  Keith Seitz  <keiths@redhat.com>
7833
7834         * breakpoint.c (build_bpstat_chain): New function, moved from
7835         bpstat_stop_status.
7836         (bpstat_stop_status): Add optional parameter, `stop_chain'.
7837         If no stop chain is passed, call build_bpstat_chain to build it.
7838         * breakpoint.h (build_bpstat_chain): Declare.
7839         (bpstat_stop_status): Move documentation here from breakpoint.c.
7840         * infrun.c (handle_signal_stop): Before eliding inlined frames,
7841         build the stop chain and pass it to skip_inline_frames.
7842         Pass this stop chain to bpstat_stop_status.
7843         * inline-frame.c: Include breakpoint.h.
7844         (stopped_by_user_bp_inline_frame): New function.
7845         (skip_inline_frames): Add parameter `stop_chain'.
7846         Move documention to inline-frame.h.
7847         If non-NULL, use stopped_by_user_bp_inline_frame to determine
7848         whether the frame should be elided.
7849         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
7850         Add moved documentation and update for new parameter.
7851
7852 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7853
7854         PR cli/14975
7855         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7856         unittests/format_pieces-selftests.c.
7857         * common/format.h (format_piece) <operator==>: New.
7858         (format_pieces) <operator[]>: Remove.
7859         * common/format.c (format_pieces::format_pieces): Handle \e.
7860         * unittests/format_pieces-selftests.c: New.
7861
7862 2018-05-17  Tom Tromey  <tom@tromey.com>
7863
7864         PR symtab/23010:
7865         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
7866         (dw2_instantiate_symtab): Add skip_partial parameter.
7867         (dw2_find_last_source_symtab, dw2_map_expand_apply)
7868         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
7869         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
7870         (dw2_expand_symtabs_matching_one)
7871         (dw2_find_pc_sect_compunit_symtab)
7872         (dw2_debug_names_lookup_symbol)
7873         (dw2_debug_names_expand_symtabs_for_function): Update.
7874         (init_cutu_and_read_dies): Add skip_partial parameter.
7875         (process_psymtab_comp_unit, build_type_psymtabs_1)
7876         (process_skeletonless_type_unit, load_partial_comp_unit)
7877         (psymtab_to_symtab_1): Update.
7878         (load_full_comp_unit): Add skip_partial parameter.
7879         (process_imported_unit_die, dwarf2_read_addr_index)
7880         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
7881         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
7882         (read_signatured_type): Update.
7883
7884 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7885
7886         * value.c (release_value): Remove unused variable.
7887         (record_latest_value): Likewise.
7888         (access_value_history): Likewise.
7889         (preserve_values): Likewise.
7890
7891 2018-05-17  Tom Tromey  <tom@tromey.com>
7892
7893         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
7894         Initialize.
7895
7896 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
7897
7898         PR gdb/22286
7899         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
7900         Also handle registers whose width is not a multiple of
7901         PTRACE_TYPE_RET.
7902         (linux_nat_trad_target::store_register): Likewise.
7903
7904 2018-05-16  Tom Tromey  <tom@tromey.com>
7905
7906         * gdbcore.h (core_bfd): Redefine.
7907         * corelow.c (core_target::close): Update.
7908         (core_target_open): Update.
7909         * progspace.h (struct program_space) <cbfd>: Now a
7910         gdb_bfd_ref_ptr.
7911
7912 2018-05-16  Tom Tromey  <tom@tromey.com>
7913
7914         PR cli/19551:
7915         * symfile-add-flags.h (enum symfile_add_flags)
7916         <SYMFILE_NOT_FILENAME>: New constant.
7917         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
7918         objfile name from BFD.
7919         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
7920         * minidebug.c (find_separate_debug_file_in_section): Put
7921         ".gnu_debugdata" into BFD's file name.
7922
7923 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
7924
7925         * regcache.c (regcache_read_ftype, regcache_write_ftype):
7926         Remove.
7927
7928 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
7929
7930         PR binutils/21446
7931         * aarch64-tdep.c (aarch64_analyze_prologue,
7932         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
7933         Indicate not interested in errors.
7934
7935 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7936
7937         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
7938         Supply the MIPS_ZERO_REGNUM register.
7939
7940 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7941
7942         * mips-tdep.c (mask_address_var): Make variable static.
7943
7944 2018-05-14  Tom Tromey  <tom@tromey.com>
7945
7946         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
7947
7948 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
7949
7950         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
7951         FXSAVE_ADDR for the mxcsr register.
7952
7953 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
7954
7955         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
7956
7957 2018-05-11  Pedro Alves  <palves@redhat.com>
7958
7959         * corelow.c (core_target) <core_target>: No longer inline.
7960         Initialize m_core_gdbarch, m_core_vec and build the section table
7961         here.
7962         <~core_target>: New.
7963         <core_gdbarch, get_core_register_section>: New methods.
7964         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
7965         factored out from ...
7966         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
7967         (core_ops): Delete.
7968         (sniff_core_bfd): Add gdbarch parameter.
7969         (core_close): Delete, merged into ...
7970         (core_target::close): ... here.  Delete self.
7971         (core_close_cleanup): Delete.
7972         (core_target_open): Allocate a core_target on the heap.  Use a
7973         unique_ptr instead of a cleanup.  Bits moved into the core_target
7974         ctor.  Adjust to use core_target methods instead of globals.
7975         (get_core_register_section): Rename to ...
7976         (core_target::get_core_register_section): ... this and adjust.
7977         (struct get_core_registers_cb_data): New.
7978         (get_core_registers_cb): Use it.  Use bool.
7979         (core_target::fetch_registers, core_target::files_info)
7980         (core_target::xfer_partial, core_target::read_description)
7981         (core_target::pid_to, core_target::thread_name): Adjust to
7982         reference class fields instead of globals.
7983         * target.h (struct target_ops_deleter, target_ops_up): New.
7984
7985 2018-05-11  Pedro Alves  <palves@redhat.com>
7986
7987         * corefile.c (core_file_command): Move to corelow.c.
7988         * corelow.c (the_core_target): Delete.
7989         (core_file_command): Moved from corefile.c.  Check exec_bfd
7990         instead of the_core_target.  Use target_detach instead of calling
7991         into the_core_target directly.
7992         (maybe_say_no_core_file_now): New.
7993         (core_target::detach): Use it.
7994         (_initialize_corelow): Remove references to the_core_target.
7995         * gdbcore.h (the_core_target): Delete.
7996
7997 2018-05-11  Tom Tromey  <tromey@redhat.com>
7998             Pedro Alves  <palves@redhat.com>
7999
8000         * corefile.c (core_bfd): Remove.
8001         * gdbcore.h (core_bfd): Now a macro.
8002         * progspace.h (struct program_space) <cbfd>: New field.
8003
8004 2018-05-11  Tom Tromey  <tom@tromey.com>
8005
8006         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
8007         gdb::def_vector.
8008
8009 2018-05-10  Tom Tromey  <tom@tromey.com>
8010
8011         * configure: Rebuild.
8012         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
8013
8014 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
8015
8016         PR server/23158:
8017         * regformats/regdat.sh: Adjust script, following the addition
8018         of the new expedite_regs parameter to init_target_desc.
8019
8020 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
8021     
8022         PR gdb/23127
8023         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
8024         set_gdbarch_significant_addr_bit.
8025         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
8026         set_gdbarch_significant_addr_bit.
8027         * utils.c (address_significant): Update to sign extend addr.
8028
8029 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
8030
8031         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
8032         (xtensa_linux_init_abi): Limit tdep->num_regs by
8033         tdep->num_nopriv_regs.
8034         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
8035         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
8036         not initialized.
8037
8038 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
8039
8040         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
8041
8042 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
8043
8044         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
8045         (I387_MXCSR_INIT_VAL): New constant.
8046         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
8047         buffer if it was supplied by the inferior.
8048         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
8049         (i387_xsave_get_clear_bv): New function.
8050         (i387_supply_xsave): Only read x87 control registers from the
8051         xsave buffer if the feature is enabled, and the state will have
8052         been written, otherwise, provide a suitable default.
8053         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
8054         including x87 control registers.  Update control registers if they
8055         have changed from the default value, and mark features as enabled
8056         as required.
8057         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
8058
8059 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
8060
8061         * spu-tdep.c (info_spu_event_command): Fix output formatting.
8062
8063 2018-05-07  Tom Tromey  <tom@tromey.com>
8064
8065         * configure: Rebuild.
8066         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
8067
8068 2018-05-07  Tom Tromey  <tom@tromey.com>
8069
8070         PR tdep/20362:
8071         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
8072         bit.  Use correct value for VDIV.
8073
8074 2018-05-04  Tom Tromey  <tom@tromey.com>
8075
8076         * configure: Rebuild.
8077         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
8078
8079 2018-05-04  Tom Tromey  <tom@tromey.com>
8080
8081         * linux-record.c (record_linux_system_call) <case
8082         RECORD_SYS_RECVFROM>: Add "break".
8083
8084 2018-05-04  Tom Tromey  <tom@tromey.com>
8085
8086         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
8087         Add missing "break".
8088         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
8089         Add missing "break".
8090
8091 2018-05-04  Tom Tromey  <tom@tromey.com>
8092
8093         * rs6000-tdep.c (ppc_process_record_op4)
8094         (ppc_process_record_op63): Add fall-through comment.
8095
8096 2018-05-04  Tom Tromey  <tom@tromey.com>
8097
8098         * i386-tdep.c (i386_process_record): Add fall-through comment.
8099
8100 2018-05-04  Tom Tromey  <tom@tromey.com>
8101
8102         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
8103         comment.
8104
8105 2018-05-04  Tom Tromey  <tom@tromey.com>
8106
8107         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
8108         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
8109         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
8110         comment.
8111         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
8112         comment.
8113         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
8114         comment.
8115
8116 2018-05-04  Tom Tromey  <tom@tromey.com>
8117
8118         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
8119
8120 2018-05-04  Tom Tromey  <tom@tromey.com>
8121
8122         * s390-tdep.c (s390_process_record): Fix fall-through comments.
8123         * xcoffread.c (scan_xcoff_symtab): Move comment later.
8124         * symfile.c (section_is_mapped): Fix fall-through comment.
8125         * stabsread.c (define_symbol, read_member_functions): Fix
8126         fall-through comment.
8127         * s390-linux-tdep.c (s390_process_record): Fix fall-through
8128         comment.
8129         * remote.c (remote_wait_as): Fix fall-through comment.
8130         * p-exp.y (yylex): Fix fall-through comment.
8131         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
8132         comment.
8133         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
8134         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
8135         * jv-exp.y (yylex): Fix fall-through comment.
8136         * go-exp.y (lex_one_token): Fix fall-through comment.
8137         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
8138         fall-through comment.
8139         * f-exp.y (yylex): Fix fall-through comment.
8140         * dwarf2read.c (process_die): Fix fall-through comments.
8141         * dbxread.c (process_one_symbol): Fix fall-through comment.
8142         * d-exp.y (lex_one_token): Fix fall-through comment.
8143         * cp-name-parser.y (yylex): Fix fall-through comment.
8144         * coffread.c (coff_symtab_read): Fix fall-through comment.
8145         * c-exp.y (lex_one_token): Fix fall-through comment.
8146         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
8147         comment.
8148         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
8149         comment.
8150
8151 2018-05-04  Tom Tromey  <tom@tromey.com>
8152
8153         PR python/22730:
8154         * NEWS: Mention gdb.execute change.
8155         * gdbcmd.h (execute_control_command): Don't declare.
8156         * python/python.c (execute_gdb_command): Use read_command_lines_1,
8157         execute_control_commands, execute_control_commands_to_string.
8158         * cli/cli-script.h (execute_control_commands)
8159         (execute_control_commands_to_string): Declare.
8160         (execute_control_command): Add from_tty parameter.
8161         * cli/cli-script.c (execute_control_commands)
8162         (execute_control_commands_to_string): New functions.
8163         (execute_user_command): Use execute_control_commands.
8164         (execute_control_command_1): Add "from_tty" parameter.  Update.
8165         (execute_control_command): Likewise.
8166
8167 2018-05-04  Tom Tromey  <tom@tromey.com>
8168
8169         PR python/22731:
8170         * NEWS: Mention that breakpoint commands are writable.
8171         * python/py-breakpoint.c (bppy_set_commands): New function.
8172         (breakpoint_object_getset) <"commands">: Use it.
8173
8174 2018-05-04  Tom Tromey  <tom@tromey.com>
8175
8176         * tracepoint.c (actions_command): Update.
8177         * mi/mi-cmd-break.c (mi_command_line_array)
8178         (mi_command_line_array_cnt, mi_command_line_array_ptr)
8179         (mi_read_next_line): Remove.
8180         (mi_cmd_break_commands): Update.
8181         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
8182         function_view.
8183         * cli/cli-script.c (get_command_line): Update.
8184         (process_next_line): Use function_view.  Constify.
8185         (recurse_read_control_structure, read_command_lines)
8186         (read_command_lines_1): Change argument types to function_view.
8187         (do_define_command, document_command): Update.
8188         * breakpoint.h (check_tracepoint_command): Don't declare.
8189         * breakpoint.c (check_tracepoint_command): Remove.
8190         (commands_command_1, create_tracepoint_from_upload): Update.
8191
8192 2018-05-04  Tom Tromey  <tom@tromey.com>
8193
8194         PR gdb/11750:
8195         * cli/cli-script.h (enum command_control_type) <define_control>:
8196         New constant.
8197         * cli/cli-script.c (multi_line_command_p): Handle define_control.
8198         (build_command_line, execute_control_command_1)
8199         (process_next_line): Likewise.
8200         (do_define_command): New function, extracted from define_command.
8201         (define_command): Use it.
8202
8203 2018-05-04  Tom Tromey  <tom@tromey.com>
8204
8205         * tracepoint.c (actions_command): Update.
8206         * cli/cli-script.h (read_command_lines): Update.
8207         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
8208         (MAX_TMPBUF): Remove define.
8209         (define_command): Use string_printf.
8210         (document_command): Likewise.
8211         * breakpoint.c (commands_command_1): Update.
8212
8213 2018-05-04  Tom Tromey  <tom@tromey.com>
8214
8215         * top.c (execute_command): Update.
8216         * cli/cli-script.h (print_command_lines): Now varargs.
8217         * cli/cli-script.c (print_command_lines): Now varargs.
8218         (execute_control_command_1) <case while_control, case if_control>:
8219         Update.
8220
8221 2018-05-04  Tom Tromey  <tom@tromey.com>
8222
8223         * tracepoint.c (all_tracepoint_actions): Rename from
8224         all_tracepoint_actions_and_cleanup.  Change return type.
8225         (actions_command, encode_actions_1, encode_actions)
8226         (trace_dump_actions, tdump_command): Update.
8227         * remote.c (remote_download_command_source): Update.
8228         * python/python.c (gdbpy_eval_from_control_command)
8229         (python_command, python_interactive_command): Update.
8230         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
8231         * guile/guile.c (guile_command)
8232         (gdbscm_eval_from_control_command, guile_command): Update.
8233         * compile/compile.c (compile_code_command)
8234         (compile_print_command, compile_to_object): Update.
8235         * cli/cli-script.h (struct command_lines_deleter): New.
8236         (counted_command_line): New typedef.
8237         (struct command_line): Add constructor, destructor.
8238         <body_list>: Remove.
8239         <body_list_0, body_list_1>: New members.
8240         (command_line_up): Remove typedef.
8241         (read_command_lines, read_command_lines_1, get_command_line):
8242         Update.
8243         (copy_command_lines): Don't declare.
8244         * cli/cli-script.c (build_command_line): Use "new".
8245         (get_command_line): Return counted_command_line.
8246         (print_command_lines, execute_user_command)
8247         (execute_control_command_1, while_command, if_command): Update.
8248         (realloc_body_list): Remove.
8249         (process_next_line, recurse_read_control_structure): Update.
8250         (read_command_lines, read_command_lines_1): Return counted_command_line.
8251         (free_command_lines): Use "delete".
8252         (copy_command_lines): Remove.
8253         (define_command, document_command, show_user_1): Update.
8254         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
8255         a counted_command_line.
8256         * breakpoint.h (counted_command_line): Remove typedef.
8257         (breakpoint_set_commands): Update.
8258         * breakpoint.c (check_no_tracepoint_commands)
8259         (validate_commands_for_breakpoint): Update.
8260         (breakpoint_set_commands): Change commands to be a
8261         counted_command_line.
8262         (commands_command_1, update_dprintf_command_list)
8263         (create_tracepoint_from_upload): Update.
8264
8265 2018-05-04  Tom Tromey  <tom@tromey.com>
8266
8267         * cli/cli-decode.h (cmd_list_element): New constructor.
8268         (~cmd_list_element): New destructor.
8269         (struct cmd_list_element): Add initializers.
8270         * cli/cli-decode.c (do_add_cmd): Use "new".
8271         (delete_cmd): Use "delete".
8272
8273 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
8274             Pedro Alves <palves@redhat.com>
8275
8276         PR breakpoints/19806 and support for PR external/20207.
8277         * NEWS: Mention Aarch64 watchpoint improvements.
8278         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
8279         watchpoints and PR external/20207 watchpoints.
8280         * nat/aarch64-linux-hw-point.c
8281         (kernel_supports_any_contiguous_range): New.
8282         (aarch64_watchpoint_offset): New.
8283         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
8284         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
8285         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
8286         (aarch64_align_watchpoint): New parameters aligned_offset_p and
8287         next_addr_orig_p.  Support PR external/20207 watchpoints.
8288         (aarch64_downgrade_regs): New.
8289         (aarch64_dr_state_insert_one_point): New parameters offset and
8290         addr_orig.
8291         (aarch64_dr_state_remove_one_point): Likewise.
8292         (aarch64_handle_breakpoint): Update caller.
8293         (aarch64_handle_aligned_watchpoint): Likewise.
8294         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
8295         aligned_offset.
8296         (aarch64_linux_set_debug_regs): Remove const from state.  Call
8297         aarch64_downgrade_regs.
8298         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
8299         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
8300         (DR_CONTROL_MASK): ... this.
8301         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
8302         (unsigned int aarch64_watchpoint_offset): New prototype.
8303         (aarch64_linux_set_debug_regs): Remove const from state.
8304         * utils.c (align_up, align_down): Move to ...
8305         * common/common-utils.c (align_up, align_down): ... here.
8306         * utils.h (align_up, align_down): Move to ...
8307         * common/common-utils.h (align_up, align_down): ... here.
8308
8309 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
8310
8311         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
8312         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
8313         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
8314         Re-implement to match the ABI as summarized in GCC's
8315         gcc/config/sparc/sparc.c.  All callers updated.
8316         (sparc32_store_arguments): Remove assertion.
8317
8318 2018-05-04  Tom Tromey  <tom@tromey.com>
8319
8320         * printcmd.c: Don't include tui.h.
8321         (decode_format): Use skip_spaces.
8322
8323 2018-05-04  Tom Tromey  <tom@tromey.com>
8324
8325         PR gdb/22619:
8326         * printcmd.c (last_count): New global.
8327         (x_command): Use saved count when repeating.
8328
8329 2018-05-04  Tom Tromey  <tom@tromey.com>
8330
8331         * nto-procfs.c (do_closedir_cleanup): Remove.
8332         (procfs_pidlist): Use gdb_dir_up.
8333         * procfs.c (do_closedir_cleanup): Remove.
8334         (proc_update_threads): Use gdb_dir_up.
8335         * common/filestuff.h (struct gdb_dir_deleter): New.
8336         (gdb_dir_up): New typedef.
8337
8338 2018-05-04  Tom Tromey  <tom@tromey.com>
8339
8340         * ada-lang.c (print_mention_exception): Use std::string.
8341
8342 2018-05-04  Tom Tromey  <tom@tromey.com>
8343
8344         * ada-lang.c (create_excep_cond_exprs): Update.
8345         (ada_exception_catchpoint_cond_string): Use std::string.
8346
8347 2018-05-04  Tom Tromey  <tom@tromey.com>
8348
8349         * ada-lang.c (xget_renaming_scope): Return std::string.
8350         (old_renaming_is_invisible): Update.
8351
8352 2018-05-04  Tom Tromey  <tom@tromey.com>
8353
8354         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
8355         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
8356
8357 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
8358
8359         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
8360
8361 2018-05-04  Tom Tromey  <tom@tromey.com>
8362
8363         * remote.c (remote_query_supported_append): Change type.
8364         (remote_check_symbols): Update.
8365
8366 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
8367
8368         PR gdb/11420
8369         * configure.ac: Prepend libpython.
8370         * python/python-config.py: Likewise.
8371         * configure: Regenerate.
8372
8373 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
8374
8375         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
8376
8377 2018-05-03  Pedro Alves  <palves@redhat.com>
8378
8379         * s390-linux-nat.c
8380         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
8381         override.  Write 'true' instead of '1'.
8382         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
8383         declaration.
8384
8385 2018-05-02  Pedro Alves  <palves@redhat.com>
8386
8387         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
8388         add_inf_child_target.
8389         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
8390         add_inf_child_target.
8391         * aix-thread.c (aix_thread_target_info): New.
8392         (aix_thread_target) <shortname, longname, doc>: Delete.
8393         <info>: New.
8394         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
8395         add_inf_child_target.
8396         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
8397         add_inf_child_target.
8398         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
8399         add_inf_child_target.
8400         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
8401         add_inf_child_target.
8402         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
8403         add_inf_child_target.
8404         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
8405         add_inf_child_target.
8406         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
8407         add_inf_child_target.
8408         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
8409         add_inf_child_target.
8410         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
8411         add_inf_child_target.
8412         * bfd-target.c (target_bfd_target_info): New.
8413         (target_bfd) <shortname, longname, doc>: Delete.
8414         <info>: New.
8415         * bsd-kvm.c (bsd_kvm_target_info): New.
8416         (bsd_kvm_target) <shortname, longname, doc>: Delete.
8417         <info>: New.
8418         (bsd_kvm_target::open): Rename to ...
8419         (bsd_kvm_target_open): ... this.  Adjust.
8420         * bsd-uthread.c (bsd_uthread_target_info): New.
8421         (bsd_uthread_target) <shortname, longname, doc>: Delete.
8422         <info>: New.
8423         * corefile.c (core_file_command): Adjust.
8424         * corelow.c (core_target_info): New.
8425         (core_target) <shortname, longname, doc>: Delete.
8426         <info>: New.
8427         (core_target::open): Rename to ...
8428         (core_target_open): ... this.  Adjust.
8429         * ctf.c (ctf_target_info): New.
8430         (ctf_target) <shortname, longname, doc>: Delete.
8431         <info>: New.
8432         (ctf_target::open): Rename to ...
8433         (ctf_target_open): ... this.
8434         (_initialize_ctf): Adjust.
8435         * exec.c (exec_target_info): New.
8436         (exec_target) <shortname, longname, doc>: Delete.
8437         <info>: New.
8438         (exec_target::open): Rename to ...
8439         (exec_target_open): ... this.
8440         * gdbcore.h (core_target_open): Declare.
8441         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
8442         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
8443         add_inf_child_target.
8444         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
8445         add_inf_child_target.
8446         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
8447         add_inf_child_target.
8448         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
8449         add_inf_child_target.
8450         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
8451         add_inf_child_target.
8452         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
8453         add_inf_child_target.
8454         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
8455         add_inf_child_target.
8456         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
8457         add_inf_child_target.
8458         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
8459         add_inf_child_target.
8460         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
8461         add_inf_child_target.
8462         * inf-child.c (inf_child_target_info): New.
8463         (inf_child_target::info): New.
8464         (inf_child_open_target): Remove 'target' parameter.  Use
8465         get_native_target instead.
8466         (inf_child_target::open): Delete.
8467         (add_inf_child_target): New.
8468         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
8469         Delete.
8470         <info>: New.
8471         (add_inf_child_target): Declare.
8472         (inf_child_open_target): Declare.
8473         * linux-thread-db.c (thread_db_target_info): New.
8474         (thread_db_target) <shortname, longname, doc>: Delete.
8475         <info>: New.
8476         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
8477         add_inf_child_target.
8478         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
8479         add_inf_child_target.
8480         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
8481         add_inf_child_target.
8482         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
8483         add_inf_child_target.
8484         * make-target-delegates (print_class): Adjust.
8485         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
8486         add_inf_child_target.
8487         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
8488         add_inf_child_target.
8489         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
8490         add_inf_child_target.
8491         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
8492         add_inf_child_target.
8493         * nto-procfs.c (nto_native_target_info): New.
8494         (nto_procfs_target_native) <shortname, longname, doc>:
8495         Delete.
8496         <info>: New.
8497         (nto_procfs_target_info): New.
8498         (nto_procfs_target_procfs) <shortname, longname, doc>:
8499         Delete.
8500         <info>: New.
8501         (init_procfs_targets): Adjust.
8502         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
8503         add_inf_child_target.
8504         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
8505         add_inf_child_target.
8506         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
8507         add_inf_child_target.
8508         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
8509         add_inf_child_target.
8510         * ravenscar-thread.c (ravenscar_target_info): New.
8511         (ravenscar_thread_target) <shortname, longname, doc>:
8512         Delete.
8513         <info>: New.
8514         * record-btrace.c (record_btrace_target_info):
8515         (record_btrace_target) <shortname, longname, doc>: Delete.
8516         <info>: New.
8517         (record_btrace_target::open): Rename to ...
8518         (record_btrace_target_open): ... this.  Adjust.
8519         * record-full.c (record_longname, record_doc): New.
8520         (record_full_base_target) <shortname, longname, doc>: Delete.
8521         <info>: New.
8522         (record_full_target_info): New.
8523         (record_full_target): <shortname>: Delete.
8524         <info>: New.
8525         (record_full_core_open_1, record_full_open_1): Update comments.
8526         (record_full_base_target::open): Rename to ...
8527         (record_full_open): ... this.
8528         (cmd_record_full_restore): Update.
8529         (_initialize_record_full): Update.
8530         * remote-sim.c (remote_sim_target_info): New.
8531         (gdbsim_target) <shortname, longname, doc>: Delete.
8532         <info>: New.
8533         (gdbsim_target::open): Rename to ...
8534         (gdbsim_target_open): ... this.
8535         (_initialize_remote_sim): Adjust.
8536         * remote.c (remote_doc): New.
8537         (remote_target_info): New.
8538         (remote_target) <shortname, longname, doc>: Delete.
8539         <info>: New.
8540         (extended_remote_target_info): New.
8541         (extended_remote_target) <shortname, longname, doc>: Delete.
8542         <info>: New.
8543         (remote_target::open_1): Make static.  Adjust.
8544         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
8545         * s390-linux-nat.c (_initialize_s390_nat): Use
8546         add_inf_child_target.
8547         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
8548         add_inf_child_target.
8549         * sol-thread.c (thread_db_target_info): New.
8550         (sol_thread_target) <shortname, longname, doc>: Delete.
8551         <info>: New.
8552         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
8553         add_inf_child_target.
8554         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
8555         add_inf_child_target.
8556         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
8557         add_inf_child_target.
8558         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
8559         add_inf_child_target.
8560         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
8561         add_inf_child_target.
8562         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
8563         add_inf_child_target.
8564         * spu-linux-nat.c (_initialize_spu_nat): Use
8565         add_inf_child_target.
8566         * spu-multiarch.c (spu_multiarch_target_info): New.
8567         (spu_multiarch_target) <shortname, longname, doc>: Delete.
8568         <info>: New.
8569         * target-delegates.c: Regenerate.
8570         * target.c: Include <unordered_map>.
8571         (target_ops_p): Delete.
8572         (DEF_VEC_P(target_ops_p)): Delete.
8573         (target_factories): New.
8574         (test_target_info): New.
8575         (test_target_ops::info): New.
8576         (open_target): Adjust to use target_factories.
8577         (add_target_with_completer): Rename to ...
8578         (add_target): ... this.  Change prototype.  Register target_info
8579         and open callback in target_factories.  Register target_info in
8580         command context instead of target_ops.
8581         (add_target): Delete old implementation.
8582         (add_deprecated_target_alias): Change prototype.  Adjust.
8583         (the_native_target): New.
8584         (set_native_target, get_native_target): New.
8585         (find_default_run_target): Use the_native_target.
8586         (find_attach_target, find_run_target): Simplify.
8587         (target_ops::open): Delete.
8588         (dummy_target_info): New.
8589         (dummy_target::shortname, dummy_target::longname)
8590         (dummy_target::doc): Delete.
8591         (dummy_target::info): New.
8592         (debug_target::shortname, debug_target::longname)
8593         (debug_target::doc): Delete.
8594         (debug_target::info): New.
8595         * target.h (struct target_info): New.
8596         (target_ops::~target_ops): Add comment.
8597         (target_ops::info): New.
8598         (target_ops::shortname, target_ops::longname, target_ops::doc): No
8599         longer virtual.  Implement in terms of target_info.
8600         (set_native_target, get_native_target): Declare.
8601         (target_open_ftype): New.
8602         (add_target, add_target_with_completer)
8603         (add_deprecated_target_alias): Change prototype.
8604         (test_target) <shortname, longname, doc>: Delete.
8605         <info>: New.
8606         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
8607         add_inf_child_target.
8608         * tracefile-tfile.c (tfile_target_info): New.
8609         (tfile_target) <shortname, longname, doc>: Delete.
8610         <info>: New.
8611         (tfile_target::open): Rename to ...
8612         (tfile_target_open): ... this.
8613         (_initialize_tracefile_tfile): Adjust.
8614         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
8615         add_inf_child_target.
8616         * windows-nat.c (_initialize_windows_nat): Use
8617         add_inf_child_target.
8618         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
8619         add_inf_child_target.
8620
8621 2018-05-02  Pedro Alves  <palves@redhat.com>
8622
8623         * linux-nat.h (linux_nat_target) <low_new_thread,
8624         low_delete_thread, low_new_fork, low_forget_process,
8625         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
8626         New virtual methods.
8627         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8628         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
8629         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
8630         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8631         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
8632         Delete.
8633         * linux-fork.c (delete_fork): Adjust to call low method.
8634         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
8635         (linux_nat_new_fork, linux_nat_forget_process_hook)
8636         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
8637         (linux_nat_status_is_event):
8638         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
8639         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
8640         to call low method.
8641         (sigtrap_is_event): Rename to ...
8642         (linux_nat_target::low_status_is_event): ... this.
8643         (linux_nat_set_status_is_event): Delete.
8644         (save_stop_reason, linux_nat_wait_1)
8645         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
8646         low methods.
8647         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8648         (linux_nat_set_new_fork, linux_nat_set_forget_process)
8649         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8650         (linux_nat_set_prepare_to_resume): Delete.
8651         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
8652         low virtual methods.
8653         * amd64-linux-nat.c: Likewise.
8654         * arm-linux-nat.c: Likewise.
8655         * i386-linux-nat.c: Likewise.
8656         * ia64-linux-nat.c: Likewise.
8657         * mips-linux-nat.c: Likewise.
8658         * ppc-linux-nat.c: Likewise.
8659         * s390-linux-nat.c: Likewise.
8660         * sparc64-linux-nat.c: Likewise.
8661         * x86-linux-nat.c: Likewise.
8662         * x86-linux-nat.h: Include "nat/x86-linux.h".
8663         (x86_linux_nat_target) <low_new_fork, low_forget_process,
8664         low_prepare_to_resume, low_new_thread, low_delete_thread>:
8665         Override methods.
8666
8667 2018-05-02  Pedro Alves  <palves@redhat.com>
8668
8669         * target.h (target_ops)
8670         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
8671         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
8672         stopped_by_watchpoint, have_continuable_watchpoint,
8673         stopped_data_address, watchpoint_addr_within_range,
8674         can_accel_watchpoint_condition, can_run, thread_alive,
8675         has_all_memory, has_memory, has_stack, has_registers,
8676         has_execution, can_async_p, is_async_p, supports_non_stop,
8677         always_non_stop_p, can_execute_reverse, supports_multi_process,
8678         supports_enable_disable_tracepoint,
8679         supports_disable_randomization, supports_string_tracing,
8680         supports_evaluation_of_breakpoint_conditions,
8681         can_run_breakpoint_commands, filesystem_is_local,
8682         can_download_tracepoint, get_trace_state_variable_value,
8683         set_trace_notes, get_tib_address, use_agent, can_use_agent,
8684         record_is_replaying, record_will_replay,
8685         augmented_libraries_svr4_read>: Adjust to return bool.
8686         * aarch64-linux-nat.c: All implementations adjusted.
8687         * aix-thread.c: All implementations adjusted.
8688         * arm-linux-nat.c: All implementations adjusted.
8689         * breakpoint.c: All implementations adjusted.
8690         * bsd-kvm.c: All implementations adjusted.
8691         * bsd-uthread.c: All implementations adjusted.
8692         * corelow.c: All implementations adjusted.
8693         * ctf.c: All implementations adjusted.
8694         * darwin-nat.c: All implementations adjusted.
8695         * darwin-nat.h: All implementations adjusted.
8696         * exec.c: All implementations adjusted.
8697         * fbsd-nat.c: All implementations adjusted.
8698         * fbsd-nat.h: All implementations adjusted.
8699         * gnu-nat.c: All implementations adjusted.
8700         * gnu-nat.h: All implementations adjusted.
8701         * go32-nat.c: All implementations adjusted.
8702         * ia64-linux-nat.c: All implementations adjusted.
8703         * inf-child.c: All implementations adjusted.
8704         * inf-child.h: All implementations adjusted.
8705         * inf-ptrace.c: All implementations adjusted.
8706         * inf-ptrace.h: All implementations adjusted.
8707         * linux-nat.c: All implementations adjusted.
8708         * linux-nat.h: All implementations adjusted.
8709         * mips-linux-nat.c: All implementations adjusted.
8710         * nto-procfs.c: All implementations adjusted.
8711         * ppc-linux-nat.c: All implementations adjusted.
8712         * procfs.c: All implementations adjusted.
8713         * ravenscar-thread.c: All implementations adjusted.
8714         * record-btrace.c: All implementations adjusted.
8715         * record-full.c: All implementations adjusted.
8716         * remote-sim.c: All implementations adjusted.
8717         * remote.c: All implementations adjusted.
8718         * s390-linux-nat.c: All implementations adjusted.
8719         * sol-thread.c: All implementations adjusted.
8720         * spu-multiarch.c: All implementations adjusted.
8721         * target-delegates.c: All implementations adjusted.
8722         * target.c: All implementations adjusted.
8723         * target.h: All implementations adjusted.
8724         * tracefile-tfile.c: All implementations adjusted.
8725         * tracefile.c: All implementations adjusted.
8726         * tracefile.h: All implementations adjusted.
8727         * windows-nat.c: All implementations adjusted.
8728         * x86-linux-nat.h: All implementations adjusted.
8729         * x86-nat.h: All implementations adjusted.
8730
8731 2018-05-02  Pedro Alves  <palves@redhat.com>
8732
8733         * make-target-delegates (scan_target_h): Don't trim lines here.
8734         Replace sequences of tabs and/or whitespace with a single
8735         whitespace.
8736         (top level, parsing methods): Trim each line before processing it
8737         here.
8738
8739 2018-05-02  Pedro Alves  <palves@redhat.com>
8740             John Baldwin  <jhb@freebsd.org>
8741
8742         * target.h (enum strata) <debug_stratum>: New.
8743         (struct target_ops) <all delegation methods>: Replace by C++
8744         virtual methods, and drop "to_" prefix.  All references updated
8745         throughout.
8746         <to_shortname, to_longname, to_doc, to_data,
8747         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
8748         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
8749         virtual methods.  All references updated throughout.
8750         <can_attach, supports_terminal_ours, can_create_inferior,
8751         get_thread_control_capabilities, attach_no_wait>: New
8752         virtual methods.
8753         <insert_breakpoint, remove_breakpoint>: Now
8754         TARGET_DEFAULT_NORETURN methods.
8755         <info_proc>: Now returns bool.
8756         <to_magic>: Delete.
8757         (OPS_MAGIC): Delete.
8758         (current_target): Delete.  All references replaced by references
8759         to ...
8760         (target_stack): ... this.  New.
8761         (target_shortname, target_longname): Adjust.
8762         (target_can_run): Now a function declaration.
8763         (default_child_has_all_memory, default_child_has_memory)
8764         (default_child_has_stack, default_child_has_registers)
8765         (default_child_has_execution): Remove target_ops parameter.
8766         (complete_target_initialization): Delete.
8767         (memory_breakpoint_target): New template class.
8768         (test_target_ops): Refactor as a C++ class with virtual methods.
8769         * make-target-delegates (NAME_PART): Tighten.
8770         (POINTER_PART, CP_SYMBOL): New.
8771         (SIMPLE_RETURN_PART): Reimplement.
8772         (VEC_RETURN_PART): Expect less.
8773         (RETURN_PART, VIRTUAL_PART): New.
8774         (METHOD): Adjust to C++ virtual methods.
8775         (scan_target_h): Remove reference to C99.
8776         (dname): Output "target_ops::" prefix.
8777         (write_function_header): Adjust to output a C++ class method.
8778         (write_declaration): New.
8779         (write_delegator): Adjust to output a C++ class method.
8780         (tdname): Output "dummy_target::" prefix.
8781         (write_tdefault, write_debugmethod): Adjust to output a C++ class
8782         method.
8783         (tdefault_names, debug_names): Delete.
8784         (return_types, tdefaults, styles, argtypes_array): New.
8785         (top level): All methods are delegators.
8786         (print_class): New.
8787         (top level): Print dummy_target and debug_target classes.
8788         * target-delegates.c: Regenerate.
8789         * target-debug.h (target_debug_print_enum_info_proc_what)
8790         (target_debug_print_thread_control_capabilities)
8791         (target_debug_print_thread_info_p): New.
8792         * target.c (dummy_target): Delete.
8793         (the_dummy_target, the_debug_target): New.
8794         (target_stack): Now extern.
8795         (set_targetdebug): Push/unpush debug target.
8796         (default_child_has_all_memory, default_child_has_memory)
8797         (default_child_has_stack, default_child_has_registers)
8798         (default_child_has_execution): Remove target_ops parameter.
8799         (complete_target_initialization): Delete.
8800         (add_target_with_completer): No longer call
8801         complete_target_initialization.
8802         (target_supports_terminal_ours): Use regular delegation.
8803         (update_current_target): Delete.
8804         (push_target): No longer check magic number.  Don't call
8805         update_current_target.
8806         (unpush_target): Don't call update_current_target.
8807         (target_is_pushed): No longer check magic number.
8808         (target_require_runnable): Skip for all stratums over
8809         process_stratum.
8810         (target_ops::info_proc): New.
8811         (target_info_proc): Use find_target_at and
8812         find_default_run_target.
8813         (target_supports_disable_randomization): Use regular delegation.
8814         (target_get_osdata): Use find_target_at.
8815         (target_ops::open, target_ops::close, target_ops::can_attach)
8816         (target_ops::attach, target_ops::can_create_inferior)
8817         (target_ops::create_inferior, target_ops::can_run)
8818         (target_can_run): New.
8819         (default_fileio_target): Use regular delegation.
8820         (target_ops::fileio_open, target_ops::fileio_pwrite)
8821         (target_ops::fileio_pread, target_ops::fileio_fstat)
8822         (target_ops::fileio_close, target_ops::fileio_unlink)
8823         (target_ops::fileio_readlink): New.
8824         (target_fileio_open_1, target_fileio_unlink)
8825         (target_fileio_readlink): Always call the target method.  Handle
8826         FILEIO_ENOSYS.
8827         (return_zero, return_zero_has_execution): Delete.
8828         (init_dummy_target): Delete.
8829         (dummy_target::dummy_target, dummy_target::shortname)
8830         (dummy_target::longname, dummy_target::doc)
8831         (debug_target::debug_target, debug_target::shortname)
8832         (debug_target::longname, debug_target::doc): New.
8833         (target_supports_delete_record): Use regular delegation.
8834         (setup_target_debug): Delete.
8835         (maintenance_print_target_stack): Skip debug_stratum.
8836         (initialize_targets): Instantiate the_dummy_target and
8837         the_debug_target.
8838         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
8839         use target_stack.
8840         (target_auxv_search, fprint_target_auxv): Adjust.
8841         (info_auxv_command): Adjust to use target_stack.
8842         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
8843         * exceptions.c (print_flush): Handle a NULL target_stack.
8844         * regcache.c (target_ops_no_register): Refactor as class with
8845         virtual methods.
8846
8847         * exec.c (exec_target): New class.
8848         (exec_ops): Now an exec_target.
8849         (exec_open, exec_close_1, exec_get_section_table)
8850         (exec_xfer_partial, exec_files_info, exec_has_memory)
8851         (exec_make_note_section): Refactor as exec_target methods.
8852         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
8853         Delete.
8854         (exec_target::find_memory_regions): New.
8855         (_initialize_exec): Don't call init_exec_ops.
8856         * gdbcore.h (exec_file_clear): Delete.
8857
8858         * corefile.c (core_target): Delete.
8859         (core_file_command): Adjust.
8860         * corelow.c (core_target): New class.
8861         (the_core_target): New.
8862         (core_close): Remove target_ops parameter.
8863         (core_close_cleanup): Adjust.
8864         (core_target::close): New.
8865         (core_open, core_detach, get_core_registers, core_files_info)
8866         (core_xfer_partial, core_thread_alive, core_read_description)
8867         (core_pid_to_str, core_thread_name, core_has_memory)
8868         (core_has_stack, core_has_registers, core_info_proc): Rework as
8869         core_target methods.
8870         (ignore, core_remove_breakpoint, init_core_ops): Delete.
8871         (_initialize_corelow): Initialize the_core_target.
8872         * gdbcore.h (core_target): Delete.
8873         (the_core_target): New.
8874
8875         * ctf.c: (ctf_target): New class.
8876         (ctf_ops): Now a ctf_target.
8877         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
8878         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
8879         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
8880         methods.
8881         (init_ctf_ops): Delete.
8882         (_initialize_ctf): Don't call it.
8883         * tracefile-tfile.c (tfile_target): New class.
8884         (tfile_ops): Now a tfile_target.
8885         (tfile_open, tfile_close, tfile_files_info)
8886         (tfile_get_tracepoint_status, tfile_trace_find)
8887         (tfile_fetch_registers, tfile_xfer_partial)
8888         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
8889         Refactor as tfile_target methods.
8890         (tfile_xfer_partial_features): Remove target_ops parameter.
8891         (init_tfile_ops): Delete.
8892         (_initialize_tracefile_tfile): Don't call it.
8893         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
8894         (tracefile_has_stack, tracefile_has_registers)
8895         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
8896         tracefile_target methods.
8897         (init_tracefile_ops): Delete.
8898         (tracefile_target::tracefile_target): New.
8899         * tracefile.h: Include "target.h".
8900         (tracefile_target): New class.
8901         (init_tracefile_ops): Delete.
8902
8903         * spu-multiarch.c (spu_multiarch_target): New class.
8904         (spu_ops): Now a spu_multiarch_target.
8905         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
8906         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
8907         (spu_search_memory, spu_mourn_inferior): Refactor as
8908         spu_multiarch_target methods.
8909         (init_spu_ops): Delete.
8910         (_initialize_spu_multiarch): Remove references to init_spu_ops,
8911         complete_target_initialization.
8912
8913         * ravenscar-thread.c (ravenscar_thread_target): New class.
8914         (ravenscar_ops): Now a ravenscar_thread_target.
8915         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
8916         (ravenscar_thread_alive, ravenscar_pid_to_str)
8917         (ravenscar_fetch_registers, ravenscar_store_registers)
8918         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
8919         (ravenscar_stopped_by_hw_breakpoint)
8920         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
8921         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
8922         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
8923         methods.
8924         (init_ravenscar_thread_ops): Delete.
8925         (_initialize_ravenscar): Remove references to
8926         init_ravenscar_thread_ops and complete_target_initialization.
8927
8928         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
8929         (bsd_uthread_target): New class.
8930         (bsd_uthread_ops): Now a bsd_uthread_target.
8931         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
8932         (bsd_uthread_close, bsd_uthread_mourn_inferior)
8933         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
8934         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
8935         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
8936         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
8937         (bsd_uthread_target): Delete function.
8938         (_initialize_bsd_uthread): Remove reference to
8939         complete_target_initialization.
8940
8941         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
8942         (target_bfd): ... this new class.
8943         (target_bfd_xfer_partial, target_bfd_get_section_table)
8944         (target_bfd_close): Refactor as target_bfd methods.
8945         (target_bfd::~target_bfd): New.
8946         (target_bfd_reopen): Adjust.
8947         (target_bfd::close): New.
8948
8949         * record-btrace.c (record_btrace_target): New class.
8950         (record_btrace_ops): Now a record_btrace_target.
8951         (record_btrace_open, record_btrace_stop_recording)
8952         (record_btrace_disconnect, record_btrace_close)
8953         (record_btrace_async, record_btrace_info)
8954         (record_btrace_insn_history, record_btrace_insn_history_range)
8955         (record_btrace_insn_history_from, record_btrace_call_history)
8956         (record_btrace_call_history_range)
8957         (record_btrace_call_history_from, record_btrace_record_method)
8958         (record_btrace_is_replaying, record_btrace_will_replay)
8959         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
8960         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
8961         (record_btrace_store_registers, record_btrace_prepare_to_store)
8962         (record_btrace_to_get_unwinder)
8963         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
8964         (record_btrace_commit_resume, record_btrace_wait)
8965         (record_btrace_stop, record_btrace_can_execute_reverse)
8966         (record_btrace_stopped_by_sw_breakpoint)
8967         (record_btrace_supports_stopped_by_sw_breakpoint)
8968         (record_btrace_stopped_by_hw_breakpoint)
8969         (record_btrace_supports_stopped_by_hw_breakpoint)
8970         (record_btrace_update_thread_list, record_btrace_thread_alive)
8971         (record_btrace_goto_begin, record_btrace_goto_end)
8972         (record_btrace_goto, record_btrace_stop_replaying_all)
8973         (record_btrace_execution_direction)
8974         (record_btrace_prepare_to_generate_core)
8975         (record_btrace_done_generating_core): Refactor as
8976         record_btrace_target methods.
8977         (init_record_btrace_ops): Delete.
8978         (_initialize_record_btrace): Remove reference to
8979         init_record_btrace_ops.
8980         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
8981         the execution_direction global.
8982         (record_full_base_target, record_full_target)
8983         (record_full_core_target): New classes.
8984         (record_full_ops): Now a record_full_target.
8985         (record_full_core_ops): Now a record_full_core_target.
8986         (record_full_target::detach, record_full_target::disconnect)
8987         (record_full_core_target::disconnect)
8988         (record_full_target::mourn_inferior, record_full_target::kill):
8989         New.
8990         (record_full_open, record_full_close, record_full_async): Refactor
8991         as methods of the record_full_base_target class.
8992         (record_full_resume, record_full_commit_resume): Refactor
8993         as methods of the record_full_target class.
8994         (record_full_wait, record_full_stopped_by_watchpoint)
8995         (record_full_stopped_data_address)
8996         (record_full_stopped_by_sw_breakpoint)
8997         (record_full_supports_stopped_by_sw_breakpoint)
8998         (record_full_stopped_by_hw_breakpoint)
8999         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
9000         methods of the record_full_base_target class.
9001         (record_full_store_registers, record_full_xfer_partial)
9002         (record_full_insert_breakpoint, record_full_remove_breakpoint):
9003         Refactor as methods of the record_full_target class.
9004         (record_full_can_execute_reverse, record_full_get_bookmark)
9005         (record_full_goto_bookmark, record_full_execution_direction)
9006         (record_full_record_method, record_full_info, record_full_delete)
9007         (record_full_is_replaying, record_full_will_replay)
9008         (record_full_goto_begin, record_full_goto_end, record_full_goto)
9009         (record_full_stop_replaying): Refactor as methods of the
9010         record_full_base_target class.
9011         (record_full_core_resume, record_full_core_kill)
9012         (record_full_core_fetch_registers)
9013         (record_full_core_prepare_to_store)
9014         (record_full_core_store_registers, record_full_core_xfer_partial)
9015         (record_full_core_insert_breakpoint)
9016         (record_full_core_remove_breakpoint)
9017         (record_full_core_has_execution): Refactor
9018         as methods of the record_full_core_target class.
9019         (record_full_base_target::supports_delete_record): New.
9020         (init_record_full_ops): Delete.
9021         (init_record_full_core_ops): Delete.
9022         (record_full_save): Refactor as method of the
9023         record_full_base_target class.
9024         (_initialize_record_full): Remove references to
9025         init_record_full_ops and init_record_full_core_ops.
9026
9027         * remote.c (remote_target, extended_remote_target): New classes.
9028         (remote_ops): Now a remote_target.
9029         (extended_remote_ops): Now an extended_remote_target.
9030         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
9031         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
9032         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
9033         (remote_pass_signals, remote_set_syscall_catchpoint)
9034         (remote_program_signals, )
9035         (remote_thread_always_alive): Remove target_ops parameter.
9036         (remote_thread_alive, remote_thread_name)
9037         (remote_update_thread_list, remote_threads_extra_info)
9038         (remote_static_tracepoint_marker_at)
9039         (remote_static_tracepoint_markers_by_strid)
9040         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
9041         (remote_open): Refactor as methods of remote_target.
9042         (extended_remote_open, extended_remote_detach)
9043         (extended_remote_attach, extended_remote_post_attach):
9044         (extended_remote_supports_disable_randomization)
9045         (extended_remote_create_inferior): : Refactor as method of
9046         extended_remote_target.
9047         (remote_set_permissions, remote_open_1, remote_detach)
9048         (remote_follow_fork, remote_follow_exec, remote_disconnect)
9049         (remote_resume, remote_commit_resume, remote_stop)
9050         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
9051         (remote_terminal_ours, remote_wait, remote_fetch_registers)
9052         (remote_prepare_to_store, remote_store_registers)
9053         (remote_flash_erase, remote_flash_done, remote_files_info)
9054         (remote_kill, remote_mourn, remote_insert_breakpoint)
9055         (remote_remove_breakpoint, remote_insert_watchpoint)
9056         (remote_watchpoint_addr_within_range)
9057         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
9058         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
9059         (remote_supports_stopped_by_sw_breakpoint)
9060         (remote_stopped_by_hw_breakpoint)
9061         (remote_supports_stopped_by_hw_breakpoint)
9062         (remote_stopped_by_watchpoint, remote_stopped_data_address)
9063         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
9064         (remote_verify_memory): Refactor as methods of remote_target.
9065         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
9066         parameter.
9067         (remote_xfer_partial, remote_get_memory_xfer_limit)
9068         (remote_search_memory, remote_rcmd, remote_memory_map)
9069         (remote_pid_to_str, remote_get_thread_local_address)
9070         (remote_get_tib_address, remote_read_description): Refactor as
9071         methods of remote_target.
9072         (remote_target::fileio_open, remote_target::fileio_pwrite)
9073         (remote_target::fileio_pread, remote_target::fileio_close): New.
9074         (remote_hostio_readlink, remote_hostio_fstat)
9075         (remote_filesystem_is_local, remote_can_execute_reverse)
9076         (remote_supports_non_stop, remote_supports_disable_randomization)
9077         (remote_supports_multi_process, remote_supports_cond_breakpoints)
9078         (remote_supports_enable_disable_tracepoint)
9079         (remote_supports_string_tracing)
9080         (remote_can_run_breakpoint_commands, remote_trace_init)
9081         (remote_download_tracepoint, remote_can_download_tracepoint)
9082         (remote_download_trace_state_variable, remote_enable_tracepoint)
9083         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
9084         (remote_trace_start, remote_get_trace_status)
9085         (remote_get_tracepoint_status, remote_trace_stop)
9086         (remote_trace_find, remote_get_trace_state_variable_value)
9087         (remote_save_trace_data, remote_get_raw_trace_data)
9088         (remote_set_disconnected_tracing, remote_core_of_thread)
9089         (remote_set_circular_trace_buffer, remote_traceframe_info)
9090         (remote_get_min_fast_tracepoint_insn_len)
9091         (remote_set_trace_buffer_size, remote_set_trace_notes)
9092         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
9093         (remote_disable_btrace, remote_teardown_btrace)
9094         (remote_read_btrace, remote_btrace_conf)
9095         (remote_augmented_libraries_svr4_read, remote_load)
9096         (remote_pid_to_exec_file, remote_can_do_single_step)
9097         (remote_execution_direction, remote_thread_handle_to_thread_info):
9098         Refactor as methods of remote_target.
9099         (init_remote_ops, init_extended_remote_ops): Delete.
9100         (remote_can_async_p, remote_is_async_p, remote_async)
9101         (remote_thread_events, remote_upload_tracepoints)
9102         (remote_upload_trace_state_variables): Refactor as methods of
9103         remote_target.
9104         (_initialize_remote): Remove references to init_remote_ops and
9105         init_extended_remote_ops.
9106
9107         * remote-sim.c (gdbsim_target): New class.
9108         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
9109         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
9110         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
9111         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
9112         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
9113         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
9114         Refactor as methods of gdbsim_target.
9115         (gdbsim_ops): Now a gdbsim_target.
9116         (init_gdbsim_ops): Delete.
9117         (gdbsim_cntrl_c): Adjust.
9118         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
9119
9120         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
9121         (the_amd64_linux_nat_target): New.
9122         (amd64_linux_fetch_inferior_registers)
9123         (amd64_linux_store_inferior_registers): Refactor as methods of
9124         amd64_linux_nat_target.
9125         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
9126         * i386-linux-nat.c: Don't include "linux-nat.h".
9127         (i386_linux_nat_target): New class.
9128         (the_i386_linux_nat_target): New.
9129         (i386_linux_fetch_inferior_registers)
9130         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
9131         as methods of i386_linux_nat_target.
9132         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
9133         * inf-child.c (inf_child_ops): Delete.
9134         (inf_child_fetch_inferior_registers)
9135         (inf_child_store_inferior_registers): Delete.
9136         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
9137         methods of inf_child_target.
9138         (inf_child_target::supports_terminal_ours)
9139         (inf_child_target::terminal_init)
9140         (inf_child_target::terminal_inferior)
9141         (inf_child_target::terminal_ours_for_output)
9142         (inf_child_target::terminal_ours, inf_child_target::interrupt)
9143         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
9144         New.
9145         (inf_child_open, inf_child_disconnect, inf_child_close)
9146         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
9147         (inf_child_post_startup_inferior, inf_child_can_run)
9148         (inf_child_pid_to_exec_file): Refactor as methods of
9149         inf_child_target.
9150         (inf_child_follow_fork): Delete.
9151         (inf_child_target::can_create_inferior)
9152         (inf_child_target::can_attach): New.
9153         (inf_child_target::has_all_memory, inf_child_target::has_memory)
9154         (inf_child_target::has_stack, inf_child_target::has_registers)
9155         (inf_child_target::has_execution): New.
9156         (inf_child_fileio_open, inf_child_fileio_pwrite)
9157         (inf_child_fileio_pread, inf_child_fileio_fstat)
9158         (inf_child_fileio_close, inf_child_fileio_unlink)
9159         (inf_child_fileio_readlink, inf_child_use_agent)
9160         (inf_child_can_use_agent): Refactor as methods of
9161         inf_child_target.
9162         (return_zero, inf_child_target): Delete.
9163         (inf_child_target::inf_child_target): New.
9164         * inf-child.h: Include "target.h".
9165         (inf_child_target): Delete function prototype.
9166         (inf_child_target): New class.
9167         (inf_child_open_target, inf_child_mourn_inferior)
9168         (inf_child_maybe_unpush_target): Delete.
9169         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
9170         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
9171         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
9172         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
9173         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
9174         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
9175         (inf_ptrace_wait, inf_ptrace_xfer_partial)
9176         (inf_ptrace_thread_alive, inf_ptrace_files_info)
9177         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
9178         methods of inf_ptrace_target.
9179         (inf_ptrace_target): Delete function.
9180         * inf-ptrace.h: Include "inf-child.h".
9181         (inf_ptrace_target): Delete function declaration.
9182         (inf_ptrace_target): New class.
9183         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
9184         * linux-nat.c (linux_target): New.
9185         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
9186         (linux_nat_target::~linux_nat_target): New.
9187         (linux_child_post_attach, linux_child_post_startup_inferior)
9188         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
9189         (linux_child_remove_fork_catchpoint)
9190         (linux_child_insert_vfork_catchpoint)
9191         (linux_child_remove_vfork_catchpoint)
9192         (linux_child_insert_exec_catchpoint)
9193         (linux_child_remove_exec_catchpoint)
9194         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
9195         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
9196         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
9197         (linux_nat_stopped_data_address)
9198         (linux_nat_stopped_by_sw_breakpoint)
9199         (linux_nat_supports_stopped_by_sw_breakpoint)
9200         (linux_nat_stopped_by_hw_breakpoint)
9201         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
9202         (linux_nat_kill, linux_nat_mourn_inferior)
9203         (linux_nat_xfer_partial, linux_nat_thread_alive)
9204         (linux_nat_update_thread_list, linux_nat_pid_to_str)
9205         (linux_nat_thread_name, linux_child_pid_to_exec_file)
9206         (linux_child_static_tracepoint_markers_by_strid)
9207         (linux_nat_is_async_p, linux_nat_can_async_p)
9208         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
9209         (linux_nat_supports_multi_process)
9210         (linux_nat_supports_disable_randomization, linux_nat_async)
9211         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
9212         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
9213         (linux_nat_fileio_open, linux_nat_fileio_readlink)
9214         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
9215         methods of linux_nat_target.
9216         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
9217         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
9218         parameter.
9219         (check_stopped_by_watchpoint): Adjust.
9220         (linux_xfer_partial): Delete.
9221         (linux_target_install_ops, linux_target, linux_nat_add_target):
9222         Delete.
9223         (linux_nat_target::linux_nat_target): New.
9224         * linux-nat.h: Include "inf-ptrace.h".
9225         (linux_nat_target): New.
9226         (linux_target, linux_target_install_ops, linux_nat_add_target):
9227         Delete function declarations.
9228         (linux_target): Declare global.
9229         * linux-thread-db.c (thread_db_target): New.
9230         (thread_db_target::thread_db_target): New.
9231         (thread_db_ops): Delete.
9232         (the_thread_db_target): New.
9233         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
9234         (thread_db_update_thread_list, thread_db_pid_to_str)
9235         (thread_db_extra_thread_info)
9236         (thread_db_thread_handle_to_thread_info)
9237         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
9238         (thread_db_resume): Refactor as methods of thread_db_target.
9239         (init_thread_db_ops): Delete.
9240         (_initialize_thread_db): Remove reference to init_thread_db_ops.
9241         * x86-linux-nat.c: Don't include "linux-nat.h".
9242         (super_post_startup_inferior): Delete.
9243         (x86_linux_nat_target::~x86_linux_nat_target): New.
9244         (x86_linux_child_post_startup_inferior)
9245         (x86_linux_read_description, x86_linux_enable_btrace)
9246         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
9247         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
9248         methods of x86_linux_nat_target.
9249         (x86_linux_create_target): Delete.  Bits folded ...
9250         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
9251         pointer.
9252         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
9253         (x86_linux_nat_target): New class.
9254         (x86_linux_create_target): Delete.
9255         (x86_linux_add_target): Now takes a linux_nat_target pointer.
9256         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
9257         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
9258         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
9259         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
9260         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
9261         make extern.
9262         (x86_use_watchpoints): Delete.
9263         * x86-nat.h: Include "breakpoint.h" and "target.h".
9264         (x86_use_watchpoints): Delete.
9265         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
9266         (x86_stopped_by_watchpoint, x86_stopped_data_address)
9267         (x86_insert_watchpoint, x86_remove_watchpoint)
9268         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
9269         (x86_stopped_by_hw_breakpoint): New declarations.
9270         (x86_nat_target): New template class.
9271
9272         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
9273         (the_ppc_linux_nat_target): New.
9274         (ppc_linux_fetch_inferior_registers)
9275         (ppc_linux_can_use_hw_breakpoint)
9276         (ppc_linux_region_ok_for_hw_watchpoint)
9277         (ppc_linux_ranged_break_num_registers)
9278         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
9279         (ppc_linux_insert_mask_watchpoint)
9280         (ppc_linux_remove_mask_watchpoint)
9281         (ppc_linux_can_accel_watchpoint_condition)
9282         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
9283         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
9284         (ppc_linux_watchpoint_addr_within_range)
9285         (ppc_linux_masked_watch_num_registers)
9286         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
9287         (ppc_linux_read_description): Refactor as methods of
9288         ppc_linux_nat_target.
9289         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
9290
9291         * procfs.c (procfs_xfer_partial): Delete forward declaration.
9292         (procfs_target): New class.
9293         (the_procfs_target): New.
9294         (procfs_target): Delete function.
9295         (procfs_auxv_parse, procfs_attach, procfs_detach)
9296         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
9297         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
9298         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
9299         (procfs_create_inferior, procfs_update_thread_list)
9300         (procfs_thread_alive, procfs_pid_to_str)
9301         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
9302         (procfs_stopped_data_address, procfs_insert_watchpoint)
9303         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
9304         (proc_find_memory_regions, procfs_info_proc)
9305         (procfs_make_note_section): Refactor as methods of procfs_target.
9306         (_initialize_procfs): Adjust.
9307         * sol-thread.c (sol_thread_target): New class.
9308         (sol_thread_ops): Now a sol_thread_target.
9309         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
9310         (sol_thread_fetch_registers, sol_thread_store_registers)
9311         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
9312         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
9313         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
9314         (init_sol_thread_ops): Delete.
9315         (_initialize_sol_thread): Adjust.  Remove references to
9316         init_sol_thread_ops and complete_target_initialization.
9317
9318         * windows-nat.c (windows_nat_target): New class.
9319         (windows_fetch_inferior_registers)
9320         (windows_store_inferior_registers, windows_resume, windows_wait)
9321         (windows_attach, windows_detach, windows_pid_to_exec_file)
9322         (windows_files_info, windows_create_inferior)
9323         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
9324         (windows_close, windows_pid_to_str, windows_xfer_partial)
9325         (windows_get_tib_address, windows_get_ada_task_ptid)
9326         (windows_thread_name, windows_thread_alive): Refactor as
9327         windows_nat_target methods.
9328         (do_initial_windows_stuff): Adjust.
9329         (windows_target): Delete function.
9330         (_initialize_windows_nat): Adjust.
9331
9332         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
9333         (darwin_mourn_inferior, darwin_kill_inferior)
9334         (darwin_create_inferior, darwin_attach, darwin_detach)
9335         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
9336         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
9337         (darwin_supports_multi_process): Refactor as darwin_nat_target
9338         methods.
9339         (darwin_resume_to, darwin_files_info): Delete.
9340         (_initialize_darwin_inferior): Rename to ...
9341         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
9342         * darwin-nat.h: Include "inf-child.h".
9343         (darwin_nat_target): New class.
9344         (darwin_complete_target): Delete.
9345         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
9346         (darwin_target): New.
9347         (i386_darwin_fetch_inferior_registers)
9348         (i386_darwin_store_inferior_registers): Refactor as methods of
9349         darwin_nat_target.
9350         (darwin_complete_target): Delete, with ...
9351         (_initialize_i386_darwin_nat): ... bits factored out here.
9352
9353         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
9354         (the_alpha_linux_nat_target): New.
9355         (alpha_linux_register_u_offset): Refactor as
9356         alpha_linux_nat_target method.
9357         (_initialize_alpha_linux_nat): Adjust.
9358         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
9359         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
9360         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
9361         methods of linux_nat_trad_target.
9362         (linux_trad_target): Delete.
9363         * linux-nat-trad.h (linux_trad_target): Delete function.
9364         (linux_nat_trad_target): New class.
9365         * mips-linux-nat.c (mips_linux_nat_target): New class.
9366         (super_fetch_registers, super_store_registers, super_close):
9367         Delete.
9368         (the_mips_linux_nat_target): New.
9369         (mips64_linux_regsets_fetch_registers)
9370         (mips64_linux_regsets_store_registers)
9371         (mips64_linux_fetch_registers, mips64_linux_store_registers)
9372         (mips_linux_register_u_offset, mips_linux_read_description)
9373         (mips_linux_can_use_hw_breakpoint)
9374         (mips_linux_stopped_by_watchpoint)
9375         (mips_linux_stopped_data_address)
9376         (mips_linux_region_ok_for_hw_watchpoint)
9377         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
9378         (mips_linux_close): Refactor as methods of mips_linux_nat.
9379         (_initialize_mips_linux_nat): Adjust to C++ification.
9380
9381         * aix-thread.c (aix_thread_target): New class.
9382         (aix_thread_ops): Now an aix_thread_target.
9383         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
9384         (aix_thread_fetch_registers, aix_thread_store_registers)
9385         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
9386         (aix_thread_thread_alive, aix_thread_pid_to_str)
9387         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
9388         Refactor as methods of aix_thread_target.
9389         (init_aix_thread_ops): Delete.
9390         (_initialize_aix_thread): Remove references to init_aix_thread_ops
9391         and complete_target_initialization.
9392         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
9393         (rs6000_nat_target): New class.
9394         (the_rs6000_nat_target): New.
9395         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
9396         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
9397         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
9398         (super_create_inferior): Delete.
9399         (_initialize_rs6000_nat): Adjust to C++ification.
9400
9401         * arm-linux-nat.c (arm_linux_nat_target): New class.
9402         (the_arm_linux_nat_target): New.
9403         (arm_linux_fetch_inferior_registers)
9404         (arm_linux_store_inferior_registers, arm_linux_read_description)
9405         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
9406         (arm_linux_remove_hw_breakpoint)
9407         (arm_linux_region_ok_for_hw_watchpoint)
9408         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
9409         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
9410         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
9411         arm_linux_nat_target.
9412         (_initialize_arm_linux_nat): Adjust to C++ification.
9413
9414         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
9415         (the_aarch64_linux_nat_target): New.
9416         (aarch64_linux_fetch_inferior_registers)
9417         (aarch64_linux_store_inferior_registers)
9418         (aarch64_linux_child_post_startup_inferior)
9419         (aarch64_linux_read_description)
9420         (aarch64_linux_can_use_hw_breakpoint)
9421         (aarch64_linux_insert_hw_breakpoint)
9422         (aarch64_linux_remove_hw_breakpoint)
9423         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
9424         (aarch64_linux_region_ok_for_hw_watchpoint)
9425         (aarch64_linux_stopped_data_address)
9426         (aarch64_linux_stopped_by_watchpoint)
9427         (aarch64_linux_watchpoint_addr_within_range)
9428         (aarch64_linux_can_do_single_step): Refactor as methods of
9429         aarch64_linux_nat_target.
9430         (super_post_startup_inferior): Delete.
9431         (_initialize_aarch64_linux_nat): Adjust to C++ification.
9432
9433         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
9434         (the_hppa_linux_nat_target): New.
9435         (hppa_linux_fetch_inferior_registers)
9436         (hppa_linux_store_inferior_registers): Refactor as methods of
9437         hppa_linux_nat_target.
9438         (_initialize_hppa_linux_nat): Adjust to C++ification.
9439
9440         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
9441         (the_ia64_linux_nat_target): New.
9442         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
9443         (ia64_linux_stopped_data_address)
9444         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
9445         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
9446         ia64_linux_nat_target methods.
9447         (super_xfer_partial): Delete.
9448         (_initialize_ia64_linux_nat): Adjust to C++ification.
9449
9450         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
9451         (the_m32r_linux_nat_target): New.
9452         (m32r_linux_fetch_inferior_registers)
9453         (m32r_linux_store_inferior_registers): Refactor as
9454         m32r_linux_nat_target methods.
9455         (_initialize_m32r_linux_nat): Adjust to C++ification.
9456
9457         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
9458         (the_m68k_linux_nat_target): New.
9459         (m68k_linux_fetch_inferior_registers)
9460         (m68k_linux_store_inferior_registers): Refactor as
9461         m68k_linux_nat_target methods.
9462         (_initialize_m68k_linux_nat): Adjust to C++ification.
9463
9464         * s390-linux-nat.c (s390_linux_nat_target): New class.
9465         (the_s390_linux_nat_target): New.
9466         (s390_linux_fetch_inferior_registers)
9467         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
9468         (s390_insert_watchpoint, s390_remove_watchpoint)
9469         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
9470         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
9471         (s390_auxv_parse, s390_read_description): Refactor as methods of
9472         s390_linux_nat_target.
9473         (_initialize_s390_nat): Adjust to C++ification.
9474
9475         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
9476         (the_sparc_linux_nat_target): New.
9477         (_initialize_sparc_linux_nat): Adjust to C++ification.
9478         * sparc-nat.c (sparc_fetch_inferior_registers)
9479         (sparc_store_inferior_registers): Remove target_ops parameter.
9480         * sparc-nat.h (sparc_fetch_inferior_registers)
9481         (sparc_store_inferior_registers): Remove target_ops parameter.
9482         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
9483         (the_sparc64_linux_nat_target): New.
9484         (_initialize_sparc64_linux_nat): Adjust to C++ification.
9485
9486         * spu-linux-nat.c (spu_linux_nat_target): New class.
9487         (the_spu_linux_nat_target): New.
9488         (spu_child_post_startup_inferior, spu_child_post_attach)
9489         (spu_child_wait, spu_fetch_inferior_registers)
9490         (spu_store_inferior_registers, spu_xfer_partial)
9491         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
9492         methods.
9493         (_initialize_spu_nat): Adjust to C++ification.
9494
9495         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
9496         (the_tilegx_linux_nat_target): New.
9497         (fetch_inferior_registers, store_inferior_registers):
9498         Refactor as methods.
9499         (_initialize_tile_linux_nat): Adjust to C++ification.
9500
9501         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
9502         (the_xtensa_linux_nat_target): New.
9503         (xtensa_linux_fetch_inferior_registers)
9504         (xtensa_linux_store_inferior_registers): Refactor as
9505         xtensa_linux_nat_target methods.
9506         (_initialize_xtensa_linux_nat): Adjust to C++ification.
9507
9508         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
9509         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
9510         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
9511         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
9512         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
9513         (fbsd_stopped_by_sw_breakpoint)
9514         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
9515         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
9516         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
9517         (fbsd_post_startup_inferior, fbsd_post_attach)
9518         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
9519         (fbsd_set_syscall_catchpoint)
9520         (super_xfer_partial, super_resume, super_wait)
9521         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
9522         (fbsd_handle_debug_trap): Remove target_ops parameter.
9523         (fbsd_nat_add_target): Delete.
9524         * fbsd-nat.h: Include "inf-ptrace.h".
9525         (fbsd_nat_add_target): Delete.
9526         (USE_SIGTRAP_SIGINFO): Define.
9527         (fbsd_nat_target): New class.
9528
9529         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
9530         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
9531         (amd64bsd_target): Delete.
9532         * amd64-bsd-nat.h: New file.
9533         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
9534         "x86-bsd-nat.h".
9535         (amd64_fbsd_nat_target): New class.
9536         (the_amd64_fbsd_nat_target): New.
9537         (amd64fbsd_read_description): Refactor as method of
9538         amd64_fbsd_nat_target.
9539         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9540         (_initialize_amd64fbsd_nat): Adjust to C++ification.
9541         * amd64-nat.h (amd64bsd_target): Delete function declaration.
9542         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
9543         (i386bsd_store_inferior_registers): Remove target_ops parameter.
9544         (i386bsd_target): Delete.
9545         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
9546         (i386bsd_fetch_inferior_registers)
9547         (i386bsd_store_inferior_registers): Declare.
9548         (i386_bsd_nat_target): New class.
9549         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
9550         (the_i386_fbsd_nat_target): New.
9551         (i386fbsd_resume, i386fbsd_read_description): Refactor as
9552         i386_fbsd_nat_target methods.
9553         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9554         (_initialize_i386fbsd_nat): Adjust to C++ification.
9555         * x86-bsd-nat.c (super_mourn_inferior): Delete.
9556         (x86bsd_mourn_inferior, x86bsd_target): Delete.
9557         (_initialize_x86_bsd_nat): Adjust to C++ification.
9558         * x86-bsd-nat.h: Include "x86-nat.h".
9559         (x86bsd_target): Delete declaration.
9560         (x86bsd_nat_target): New class.
9561
9562         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
9563         (the_aarch64_fbsd_nat_target): New.
9564         (aarch64_fbsd_fetch_inferior_registers)
9565         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
9566         aarch64_fbsd_nat_target.
9567         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
9568         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
9569         (the_alpha_bsd_nat_target): New.
9570         (alphabsd_fetch_inferior_registers)
9571         (alphabsd_store_inferior_registers): Refactor as
9572         alpha_bsd_nat_target methods.
9573         (_initialize_alphabsd_nat): Refactor as methods of
9574         alpha_bsd_nat_target.
9575         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
9576         (the_amd64_nbsd_nat_target): New.
9577         (_initialize_amd64nbsd_nat): Adjust to C++ification.
9578         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
9579         (the_amd64_obsd_nat_target): New.
9580         (_initialize_amd64obsd_nat): Adjust to C++ification.
9581         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
9582         (the_arm_fbsd_nat_target): New.
9583         (arm_fbsd_fetch_inferior_registers)
9584         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
9585         (_initialize_arm_fbsd_nat): Refactor as methods of
9586         arm_fbsd_nat_target.
9587         (_initialize_arm_fbsd_nat): Adjust to C++ification.
9588         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
9589         (the_arm_netbsd_nat_target): New.
9590         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
9591         arm_netbsd_nat_target.
9592         (_initialize_arm_netbsd_nat): Adjust to C++ification.
9593         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
9594         (the_hppa_nbsd_nat_target): New.
9595         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
9596         hppa_nbsd_nat_target methods.
9597         (_initialize_hppanbsd_nat): Adjust to C++ification.
9598         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
9599         (the_hppa_obsd_nat_target): New.
9600         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
9601         methods of hppa_obsd_nat_target.
9602         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
9603         add_target.
9604         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
9605         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
9606         add_target.
9607         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
9608         (_initialize_i386obsd_nat): Use add_target.
9609         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
9610         (the_m68k_bsd_nat_target): New.
9611         (m68kbsd_fetch_inferior_registers)
9612         (m68kbsd_store_inferior_registers): Refactor as methods of
9613         m68k_bsd_nat_target.
9614         (_initialize_m68kbsd_nat): Adjust to C++ification.
9615         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
9616         (the_mips_fbsd_nat_target): New.
9617         (mips_fbsd_fetch_inferior_registers)
9618         (mips_fbsd_store_inferior_registers): Refactor as methods of
9619         mips_fbsd_nat_target.
9620         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
9621         add_target.
9622         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
9623         (the_mips_nbsd_nat_target): New.
9624         (mipsnbsd_fetch_inferior_registers)
9625         (mipsnbsd_store_inferior_registers): Refactor as methods of
9626         mips_nbsd_nat_target.
9627         (_initialize_mipsnbsd_nat): Adjust to C++ification.
9628         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
9629         (the_mips64_obsd_nat_target): New.
9630         (mips64obsd_fetch_inferior_registers)
9631         (mips64obsd_store_inferior_registers): Refactor as methods of
9632         mips64_obsd_nat_target.
9633         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
9634         add_target.
9635         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
9636         nbsd_nat_target.
9637         * nbsd-nat.h: Include "inf-ptrace.h".
9638         (nbsd_nat_target): New class.
9639         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
9640         (obsd_wait): Refactor as methods of obsd_nat_target.
9641         (obsd_add_target): Delete.
9642         * obsd-nat.h: Include "inf-ptrace.h".
9643         (obsd_nat_target): New class.
9644         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
9645         (the_ppc_fbsd_nat_target): New.
9646         (ppcfbsd_fetch_inferior_registers)
9647         (ppcfbsd_store_inferior_registers): Refactor as methods of
9648         ppc_fbsd_nat_target.
9649         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
9650         add_target.
9651         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
9652         (the_ppc_nbsd_nat_target): New.
9653         (ppcnbsd_fetch_inferior_registers)
9654         (ppcnbsd_store_inferior_registers): Refactor as methods of
9655         ppc_nbsd_nat_target.
9656         (_initialize_ppcnbsd_nat): Adjust to C++ification.
9657         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
9658         (the_ppc_obsd_nat_target): New.
9659         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
9660         methods of ppc_obsd_nat_target.
9661         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
9662         add_target.
9663         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
9664         (the_sh_nbsd_nat_target): New.
9665         (shnbsd_fetch_inferior_registers)
9666         (shnbsd_store_inferior_registers): Refactor as methods of
9667         sh_nbsd_nat_target.
9668         (_initialize_shnbsd_nat): Adjust to C++ification.
9669         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
9670         (inf_ptrace_xfer_partial): Delete.
9671         (sparc_xfer_partial, sparc_target): Delete.
9672         * sparc-nat.h (sparc_fetch_inferior_registers)
9673         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
9674         (sparc_target): Delete function declaration.
9675         (sparc_target): New template class.
9676         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
9677         (_initialize_sparcnbsd_nat): Adjust to C++ification.
9678         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
9679         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
9680         add_target.
9681         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
9682         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
9683         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
9684         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
9685         add_target.
9686         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
9687         (the_vax_bsd_nat_target): New.
9688         (vaxbsd_fetch_inferior_registers)
9689         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
9690         methods.
9691         (_initialize_vaxbsd_nat): Adjust to C++ification.
9692
9693         * bsd-kvm.c (bsd_kvm_target): New class.
9694         (bsd_kvm_ops): Now a bsd_kvm_target.
9695         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
9696         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
9697         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
9698         bsd_kvm_target.
9699         (bsd_kvm_return_one): Delete.
9700         (bsd_kvm_add_target): Adjust to C++ification.
9701
9702         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
9703         (nto_procfs_target_procfs): New classes.
9704         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
9705         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
9706         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
9707         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
9708         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
9709         (procfs_remove_hw_breakpoint, procfs_resume)
9710         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
9711         (procfs_kill_inferior, procfs_store_registers)
9712         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
9713         as methods of nto_procfs_target.
9714         (nto_procfs_ops): Now an nto_procfs_target_procfs.
9715         (nto_native_ops): Delete.
9716         (procfs_open, procfs_native_open): Delete.
9717         (nto_native_ops): Now an nto_procfs_target_native.
9718         (init_procfs_targets): Adjust to C++ification.
9719         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
9720         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
9721         Refactor as methods of nto_procfs_target.
9722
9723         * go32-nat.c (go32_nat_target): New class.
9724         (the_go32_nat_target): New.
9725         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
9726         (go32_store_registers, go32_xfer_partial, go32_files_info)
9727         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
9728         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
9729         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
9730         (go32_pid_to_str): Refactor as methods of go32_nat_target.
9731         (go32_target): Delete.
9732         (_initialize_go32_nat): Adjust to C++ification.
9733
9734         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
9735         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
9736         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
9737         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
9738         gnu_nat_target.
9739         (gnu_target): Delete.
9740         * gnu-nat.h (gnu_target): Delete.
9741         (gnu_nat_target): New class.
9742         * i386-gnu-nat.c (gnu_base_target): New.
9743         (i386_gnu_nat_target): New class.
9744         (the_i386_gnu_nat_target): New.
9745         (_initialize_i386gnu_nat): Adjust to C++ification.
9746
9747 2018-05-02  Pedro Alves  <palves@redhat.com>
9748
9749         * bfd-target.c (target_bfd_xclose): Rename to ...
9750         (target_bfd_close): ... this.
9751         (target_bfd_reopen): Adjust.
9752         * target.c (target_close): Remove references to to_xclose.
9753         * target.h (target_ops::to_xclose): Delete.
9754         (target_ops::to_close): Update comments.
9755
9756 2018-05-02  Pedro Alves  <palves@redhat.com>
9757
9758         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
9759         "linux-nat.h".
9760         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
9761         * inf-ptrace.c (inf_ptrace_register_u_offset)
9762         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
9763         (inf_ptrace_store_register, inf_ptrace_store_registers)
9764         (inf_ptrace_trad_target): Move to ...
9765         * linux-nat-trad.c: ... this new file.
9766         * linux-nat-trad.h: New file.
9767         * linux-nat.c (linux_target_install_ops): Make extern.
9768         (linux_trad_target): Delete.
9769         * linux-nat.h (linux_trad_target): Delete declaration.
9770         (linux_target_install_ops): Declare.
9771         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
9772         "linux-nat.h".
9773
9774 2018-05-02  Pedro Alves  <palves@redhat.com>
9775
9776         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9777         procfs_target/add_target here.
9778         * procfs.c (procfs_target): Make static.
9779         (_initialize_procfs): Call add_target here.
9780         * procfs.h (struct target_ops): Remove forward declaration.
9781         (procfs_target): Remove declaration.
9782         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
9783
9784 2018-05-02  Pedro Alves  <palves@redhat.com>
9785
9786         * procfs.c (procfs_stopped_by_watchpoint)
9787         (procfs_insert_watchpoint, procfs_remove_watchpoint)
9788         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
9789         Forward declare.
9790         (procfs_use_watchpoints): Delete, move contents...
9791         (procfs_target): ... here.
9792         * procfs.h (procfs_use_watchpoints): Delete declaration.
9793         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9794         procfs_use_watchpoints.
9795         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
9796         procfs_use_watchpoints.
9797
9798 2018-05-02  Tom Tromey  <tom@tromey.com>
9799
9800         PR python/20084:
9801         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
9802         and var_zuinteger_unlimited.
9803         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
9804         and PARAM_ZUINTEGER_UNLIMITED.
9805         (set_parameter_value): Handle var_zuinteger and
9806         var_zuinteger_unlimited.
9807         (add_setshow_generic): Likewise.
9808         (parmpy_init): Likewise.
9809
9810 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
9811
9812         PR rust/23124
9813         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
9814         pointer is not null before dereferencing it.
9815
9816 2018-04-30  Tom Tromey  <tom@tromey.com>
9817
9818         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
9819         is_mi_like_p.
9820
9821 2018-04-30  Tom Tromey  <tom@tromey.com>
9822
9823         * breakpoint.c (mention): Remove use of is_mi_like_p.
9824         (print_mention_ranged_breakpoint): Likewise.
9825         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
9826         of is_mi_like_p.
9827
9828 2018-04-30  Tom Tromey  <tom@tromey.com>
9829
9830         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
9831
9832 2018-04-30  Tom Tromey  <tom@tromey.com>
9833
9834         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
9835         (info_spu_event_command): Remove some uses of is_mi_like_p.
9836
9837 2018-04-30  Tom Tromey  <tom@tromey.com>
9838
9839         * python/py-framefilter.c (py_print_single_arg)
9840         (enumerate_locals, py_print_args, py_print_frame): Remove some
9841         uses of is_mi_like_p.
9842
9843 2018-04-30  Tom Tromey  <tom@tromey.com>
9844
9845         * ui-out.c: Update.
9846         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
9847         * ui-out.h (ui_out::is_mi_like_p): Now const.
9848         (ui_out::do_is_mi_like_p): Now const.
9849         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
9850
9851 2018-04-30  Tom Tromey  <tom@tromey.com>
9852
9853         * varobj.c (varobj_set_visualizer): Use new_reference.
9854         * python/python.c (gdbpy_decode_line): Use new_reference.
9855         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
9856         new_reference.
9857
9858 2018-04-30  Tom Tromey  <tom@tromey.com>
9859
9860         * varobj.c (install_new_value): Use new_reference.
9861         * value.h (value_incref): Return void.  Swap intro comment with
9862         value_decref.
9863         * value.c (set_value_parent): Use new_reference.
9864         (value_incref): Return void.  Update intro comment.
9865         (release_value): Use new_reference.
9866         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
9867
9868 2018-04-30  Tom Tromey  <tom@tromey.com>
9869
9870         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
9871         * gdb_bfd.h (new_bfd_ref): Remove.
9872         (gdb_bfd_open): Update comment.
9873         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
9874         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
9875         (gdb_bfd_fdopenr): Use new_reference.
9876         * exec.c (exec_file_attach): Use new_reference.
9877
9878 2018-04-30  Tom Tromey  <tom@tromey.com>
9879
9880         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
9881         method.
9882
9883 2018-04-30  Tom Tromey  <tom@tromey.com>
9884
9885         * jit.c (jit_read_code_entry): Use type_align.
9886         * i386-tdep.c (i386_gdbarch_init): Don't call
9887         set_gdbarch_long_long_align_bit.
9888         * gdbarch.sh: Remove long_long_align_bit.
9889         * gdbarch.c, gdbarch.h: Rebuild.
9890         * arc-tdep.c (arc_type_align): New function.
9891         (arc_gdbarch_init): Use arc_type_align.  Don't call
9892         set_gdbarch_long_long_align_bit.
9893
9894 2018-04-30  Tom Tromey  <tom@tromey.com>
9895
9896         * rust-lang.c (rust_type_alignment): Remove.
9897         (rust_composite_type): Use type_align.
9898
9899 2018-04-30  Tom Tromey  <tom@tromey.com>
9900
9901         * NEWS: Mention Type.align.
9902         * python/py-type.c (typy_get_alignof): New function.
9903         (type_object_getset): Add "alignof".
9904
9905 2018-04-30  Tom Tromey  <tom@tromey.com>
9906
9907         PR exp/17095:
9908         * NEWS: Update.
9909         * std-operator.def (UNOP_ALIGNOF): New operator.
9910         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
9911         New.
9912         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
9913         * c-lang.c (c_op_print_tab): Add alignof.
9914         * c-exp.y (ALIGNOF): New token.
9915         (exp): Add "ALIGNOF" production.
9916         (ident_tokens): Add _Alignof and alignof.
9917
9918 2018-04-30  Tom Tromey  <tom@tromey.com>
9919
9920         * i386-tdep.c (i386_type_align): New function.
9921         (i386_gdbarch_init): Update.
9922         * gdbarch.sh (type_align): New method.
9923         * gdbarch.c, gdbarch.h: Rebuild.
9924         * arch-utils.h (default_type_align): Declare.
9925         * arch-utils.c (default_type_align): New function.
9926         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
9927         (struct type) <align_log2>: New field.
9928         <instance_flags>: Now a bitfield.
9929         (TYPE_RAW_ALIGN): New macro.
9930         (type_align, type_raw_align, set_type_align): Declare.
9931         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
9932         functions.
9933         * dwarf2read.c (quirk_rust_enum): Set type alignment.
9934         (get_alignment, maybe_set_alignment): New functions.
9935         (read_structure_type, read_enumeration_type, read_array_type)
9936         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
9937         (read_subrange_type, read_base_type): Set type alignment.
9938
9939 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
9940
9941         * dwarf2read.c (read_index_from_section): Use bool.
9942
9943 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
9944
9945         PR gdb/22950
9946         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
9947         with #ifdef.
9948
9949 2018-04-29  John Reiser  <jreiser@BitWagon.com>
9950
9951         PR build/22873
9952         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
9953         last step, and do it atomically.
9954
9955 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
9956
9957         * compile/compile-c-types.c (convert_int, convert_float):
9958         Update for C FE v1.
9959
9960 2018-04-27  Tom Tromey  <tom@tromey.com>
9961
9962         PR rust/22545:
9963         * rust-lang.c (rust_inclusive_range_type_p): New function.
9964         (rust_range): Handle inclusive ranges.
9965         (rust_compute_range): Likewise.
9966         * rust-exp.y (struct rust_op) <inclusive>: New field.
9967         (DOTDOTEQ): New constant.
9968         (range_expr): Add "..=" productions.
9969         (operator_tokens): Add "..=" token.
9970         (ast_range): Add "inclusive" parameter.
9971         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
9972         ranges.
9973         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
9974         bounds values.
9975         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
9976         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
9977         Update comments.
9978         * expprint.c (print_subexp_standard): Handle new bounds values.
9979         (dump_subexp_body_standard): Likewise.
9980
9981 2018-04-27  Tom Tromey  <tom@tromey.com>
9982
9983         * configure: Rebuild.
9984         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
9985         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
9986         "OVERRIDE".
9987         (class symbol_needs_eval_context): Likewise.
9988         * dwarf2read.c (mock_mapped_index::symbol_name_count)
9989         (mock_mapped_index::symbol_name_at): Use "override".  Remove
9990         "virtual".
9991         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
9992         "override".
9993         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
9994         * aarch64-tdep.c (instruction_reader::read): Use "override".
9995         (instruction_reader_test::read): Likewise.
9996         * arm-tdep.c (instruction_reader::read): Use "override".
9997         (instruction_reader_thumb::read): Likewise.
9998
9999 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
10000
10001         PR remote/9665
10002         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
10003         instead of remote_send.
10004         (remote_send): Remove.
10005
10006 2018-04-26  Pedro Alves  <palves@redhat.com>
10007
10008         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
10009         find_function_start_sal instead of find_pc_line.
10010
10011 2018-04-26  Pedro Alves  <palves@redhat.com>
10012
10013         * breakpoint.c (set_breakpoint_location_function): Handle
10014         mst_data_gnu_ifunc.
10015         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
10016         * elfread.c (elf_symtab_read): Give data symbols with
10017         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
10018         (elf_rel_plt_read): Update comment.
10019         * linespec.c (convert_linespec_to_sals): Handle
10020         mst_data_gnu_ifunc.
10021         (minsym_found): Handle mst_data_gnu_ifunc.
10022         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
10023         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
10024         * parse.c (find_minsym_type_and_address): Handle
10025         mst_data_gnu_ifunc.
10026         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
10027         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
10028         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
10029         comment.
10030         <mst_data_gnu_ifunc>: New enumerator.
10031
10032 2018-04-26  Pedro Alves  <palves@redhat.com>
10033
10034         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
10035         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
10036         'want_trampoline' parameter by a lookup_msym_prefer parameter.
10037         Handle it.
10038         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
10039         (lookup_minimal_symbol_by_pc): Adjust.
10040         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
10041         (lookup_solib_trampoline_symbol_by_pc): Adjust.
10042         * minsyms.h (lookup_msym_prefer): New enum.
10043         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
10044         parameter by a lookup_msym_prefer parameter.
10045
10046 2018-04-26  Pedro Alves  <palves@redhat.com>
10047
10048         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
10049         ends in "@plt" instead of looking at the symbol's section.
10050
10051 2018-04-26  Pedro Alves  <palves@redhat.com>
10052
10053         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
10054         all references.
10055         (find_pc_partial_function_gnu_ifunc): Rename to ...
10056         (find_pc_partial_function): ... this, and remove references to
10057         'is_gnu_ifunc_p'.
10058         (find_pc_partial_function): Delete old implementation.
10059         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
10060
10061 2018-04-26  Pedro Alves  <palves@redhat.com>
10062
10063         * linespec.c (struct bound_minimal_symbol_search_key): New.
10064         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
10065         skip first line if we found a GNU ifunc minimal symbol by name.
10066         (compare_msymbols): Change parameters to work with a destructured
10067         lhs minsym.
10068         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
10069         functions.
10070
10071 2018-04-26  Pedro Alves  <palves@redhat.com>
10072
10073         * breakpoint.c (set_breakpoint_location_function): Don't resolve
10074         ifunc targets here.  Instead, if we have an ifunc minsym, use its
10075         address/name.
10076         (add_location_to_breakpoint): Store the minsym and the objfile in
10077         the breakpoint location.
10078         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
10079         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
10080         Record the minsym in the sal.
10081         * symtab.h (symtab_and_line) <msymbol>: New field.
10082
10083 2018-04-26  Pedro Alves  <palves@redhat.com>
10084
10085         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
10086         unless we actually resolved the ifunc.
10087
10088 2018-04-26  Pedro Alves  <palves@redhat.com>
10089
10090         * c-exp.y (variable production): Prefer ifunc minsyms over
10091         regular function symbols.
10092         * symtab.c (find_gnu_ifunc): New function.
10093         * minsyms.h (lookup_msym_prefer): New enum.
10094         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
10095         parameter by a lookup_msym_prefer parameter.
10096         * symtab.h (find_gnu_ifunc): New declaration.
10097
10098 2018-04-26  Pedro Alves  <palves@redhat.com>
10099
10100         * blockframe.c (find_gnu_ifunc_target_type): New function.
10101         (find_function_type): New.
10102         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
10103         return a value with a memory address.
10104         (eval_call): For calls to GNU ifunc functions, try to find the
10105         type of the target function from the type that the resolver
10106         returns.
10107         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
10108         symbols.
10109         * infcall.c (find_function_return_type): Delete.
10110         (find_function_addr): Add 'function_type' parameter.  For calls to
10111         GNU ifunc functions, try to find the type of the target function
10112         from the type that the resolver returns, and return it via
10113         FUNCTION_TYPE.
10114         (call_function_by_hand_dummy): Adjust to use the function type
10115         returned by find_function_addr.
10116         (find_function_addr): Add 'function_type' parameter and move
10117         description here.
10118         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
10119         declarations.
10120
10121 2018-04-26  Pedro Alves  <palves@redhat.com>
10122
10123         * c-exp.y (variable production): Skip finding an alias for ifunc
10124         symbols.
10125
10126 2018-04-26  Pedro Alves  <palves@redhat.com>
10127
10128         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
10129
10130 2018-04-25  Pedro Alves  <palves@redhat.com>
10131
10132         * infcmd.c (kill_command): Print the pid as string, not the whole
10133         thread's ptid.  Add comment.  s/has been killed/killed/ in output
10134         message.
10135         * remote.c (remote_detach_1): Print the pid as string, not the
10136         whole thread's ptid.
10137
10138 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
10139             Sergio Durigan Junior  <sergiodj@redhat.com>
10140             Pedro Alves  <palves@redhat.com>
10141
10142         * infcmd.c (kill_command): Print message when inferior has
10143         been killed.
10144         * inferior.c (print_inferior_events): Remove 'static'.  Set as
10145         '1'.
10146         (add_inferior): Improve message printed when
10147         'print_inferior_events' is on.
10148         (exit_inferior): Remove message printed when
10149         'print_inferior_events' is on.
10150         (detach_inferior): Improve message printed when
10151         'print_inferior_events' is on.
10152         (initialize_inferiors): Use 'add_inferior_silent' to set
10153         'current_inferior_'.
10154         * inferior.h (print_inferior_events): Declare here as
10155         'extern'.
10156         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
10157         '[Detaching...]' messages when 'print_inferior_events' is on.
10158         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
10159         as prefix/suffix for messages.  Remove periods.  Fix erroneous
10160         'Detaching after fork from child...', replace it by '... from
10161         parent...'.
10162         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
10163         prefix/suffix when printing 'Detaching...' messages.  Print
10164         them when 'print_inferior_events' is on.
10165         * remote.c (remote_detach_1): Print message when detaching
10166         from inferior and '!is_fork_parent'.
10167
10168 2018-04-24  Tom Tromey  <tom@tromey.com>
10169
10170         * cli-out.h: Reindent.
10171
10172 2018-04-24  Tom Tromey  <tom@tromey.com>
10173
10174         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
10175         (cli_ui_out::do_field_string): Use fputs_filtered.
10176         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
10177
10178 2018-04-23  Tom Tromey  <tom@tromey.com>
10179
10180         * guile/scm-frame.c (gdbscm_frame_read_var): Use
10181         gdb::unique_xmalloc_ptr.
10182
10183 2018-04-23  Tom Tromey  <tom@tromey.com>
10184
10185         * configure: Rebuild.
10186
10187 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
10188
10189         PR gdb/23095
10190         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
10191         prepare_for_testing.  Set normal_bp to r_debug_state if target
10192         is bsd.
10193
10194 2018-04-21  Pedro Alves  <palves@redhat.com>
10195             Rajendra SY  <rajendra.sy@gmail.com>
10196
10197         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
10198         * remote.c (extended_remote_attach): In all-stop mode, mark the
10199         thread as executing.
10200
10201 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
10202
10203         * thread.c (thread_apply_all_command): Fix comment.
10204         (thread_command): Fix comment.
10205
10206 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
10207
10208         * common/tdesc.h (tdesc_create_feature): Remove xml filename
10209         parameter.
10210         * features/aarch64-core.c (create_feature_aarch64_core):
10211         Regenerate.
10212         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
10213         Likewise.
10214         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
10215         Likewise.
10216         * features/i386/32bit-avx512.c
10217         (create_feature_i386_32bit_avx512): Likewise.
10218         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
10219         Likewise.
10220         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
10221         Likewise.
10222         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
10223         Likewise.
10224         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
10225         Likewise.
10226         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
10227         Likewise.
10228         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
10229         Likewise.
10230         * features/i386/64bit-avx512.c
10231         (create_feature_i386_64bit_avx512): Likewise.
10232         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
10233         Likewise.
10234         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
10235         Likewise.
10236         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
10237         Likewise.
10238         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
10239         Likewise.
10240         * features/i386/64bit-segments.c
10241         (create_feature_i386_64bit_segments): Likewise.
10242         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
10243         Likewise.
10244         * features/i386/x32-core.c
10245         (create_feature_i386_x32_core): Likewise.
10246         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
10247         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
10248         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
10249         * target-descriptions.c: In generated code, don't pass xml
10250         filename.
10251
10252 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10253
10254         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
10255         (print_xml_feature::visit_post): Likewise.
10256         (print_xml_feature::visit): Likewise.
10257         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
10258         (print_xml_feature): Add new class.
10259         * regformats/regdat.sh: Null xmltarget on feature targets.
10260         * target-descriptions.c (struct target_desc): Add xmltarget.
10261         (maintenance_check_tdesc_xml_convert): Add unittest function.
10262         (tdesc_get_features_xml): Add function to get xml.
10263         (maintenance_check_xml_descriptions): Test xml generation.
10264         * xml-tdesc.c (string_read_description_xml): Add function.
10265         * xml-tdesc.h (string_read_description_xml): Add declaration.
10266
10267 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10268
10269         * features/Makefile: Add feature marker to targets with new style
10270         target descriptions.
10271         * regformats/aarch64.dat: Regenerate.
10272         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
10273         * regformats/i386/amd64-avx-linux.dat: Likewise.
10274         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
10275         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
10276         * regformats/i386/amd64-linux.dat: Likewise.
10277         * regformats/i386/amd64-mpx-linux.dat: Likewise.
10278         * regformats/i386/amd64.dat: Likewise.
10279         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
10280         * regformats/i386/i386-avx-linux.dat: Likewise.
10281         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
10282         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
10283         * regformats/i386/i386-linux.dat: Likewise.
10284         * regformats/i386/i386-mmx-linux.dat: Likewise.
10285         * regformats/i386/i386-mpx-linux.dat: Likewise.
10286         * regformats/i386/i386.dat: Likewise.
10287         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
10288         * regformats/i386/x32-avx-linux.dat: Likewise.
10289         * regformats/i386/x32-linux.dat: Likewise.
10290         * regformats/tic6x-c62x-linux.dat: Likewise.
10291         * regformats/tic6x-c64x-linux.dat: Likewise.
10292         * regformats/tic6x-c64xp-linux.dat: Likewise.
10293         * regformats/regdat.sh: Parse feature marker.
10294
10295 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10296
10297         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
10298         (tdesc_osabi_name): Likewise.
10299         * target-descriptions.c (tdesc_architecture_name): Add new
10300         function.
10301         (tdesc_osabi_name): Likewise.
10302
10303 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10304
10305         * common/tdesc.c (tdesc_predefined_type): Move to here.
10306         (tdesc_named_type): Likewise.
10307         (tdesc_create_vector): Likewise.
10308         (tdesc_create_struct): Likewise.
10309         (tdesc_set_struct_size): Likewise.
10310         (tdesc_create_union): Likewise.
10311         (tdesc_create_flags): Likewise.
10312         (tdesc_create_enum): Likewise.
10313         (tdesc_add_field): Likewise.
10314         (tdesc_add_typed_bitfield): Likewise.
10315         (tdesc_add_bitfield): Likewise.
10316         (tdesc_add_flag): Likewise.
10317         (tdesc_add_enum_value): Likewise.
10318         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
10319         (struct tdesc_type_vector): Likewise.
10320         (struct tdesc_type_field): Likewise.
10321         (struct tdesc_type_with_fields): Likewise.
10322         (tdesc_create_enum): Add declaration.
10323         (tdesc_add_typed_bitfield): Likewise.
10324         (tdesc_add_enum_value): Likewise.
10325         * target-descriptions.c (tdesc_type_field): Move from here.
10326         (tdesc_type_builtin): Likewise.
10327         (tdesc_type_vector): Likewise.
10328         (tdesc_type_with_fields): Likewise.
10329         (tdesc_predefined_types): Likewise.
10330         (tdesc_named_type): Likewise.
10331         (tdesc_create_vector): Likewise.
10332         (tdesc_create_struct): Likewise.
10333         (tdesc_set_struct_size): Likewise.
10334         (tdesc_create_union): Likewise.
10335         (tdesc_create_flags): Likewise.
10336         (tdesc_create_enum): Likewise.
10337         (tdesc_add_field): Likewise.
10338         (tdesc_add_typed_bitfield): Likewise.
10339         (tdesc_add_bitfield): Likewise.
10340         (tdesc_add_flag): Likewise.
10341         (tdesc_add_enum_value): Likewise.
10342         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
10343         (tdesc_add_typed_bitfield): Likewise.
10344         (tdesc_add_enum_value): Likewise.
10345
10346 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10347
10348         * common/tdesc.c (tdesc_feature::accept): Move to here.
10349         (tdesc_feature::operator==): Likewise.
10350         (tdesc_create_reg): Likewise.
10351         * common/tdesc.h (tdesc_type_kind): Likewise.
10352         (struct tdesc_type): Likewise.
10353         (struct tdesc_feature): Likewise.
10354         * regformats/regdat.sh: Create a feature.
10355         * target-descriptions.c (tdesc_type_kind): Move from here.
10356         (tdesc_type): Likewise.
10357         (tdesc_type_up): Likewise.
10358         (tdesc_feature): Likewise.
10359         (tdesc_create_reg): Likewise.
10360
10361 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10362
10363         * Makefile.in: Add arch/tdesc.c
10364         * common/tdesc.c: New file.
10365         * common/tdesc.h (tdesc_element_visitor): Move to here.
10366         (tdesc_element): Likewise.
10367         (tdesc_reg): Likewise.
10368         (tdesc_reg_up): Likewise.
10369         * regformats/regdef.h (reg): Add offset to constructors.
10370         * target-descriptions.c (tdesc_element_visitor): Move from here.
10371         (tdesc_element): Likewise.
10372         (tdesc_reg): Likewise.
10373         (tdesc_reg_up): Likewise.
10374
10375 2018-04-17  Tom Tromey  <tom@tromey.com>
10376
10377         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
10378         discriminant field.
10379
10380 2018-04-17  Tom Tromey  <tom@tromey.com>
10381
10382         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
10383
10384 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10385
10386         * symtab.c (print_symbol_info): Skip printing filename and line
10387         number when `last' is NULL.
10388         (symtab_symbol_info): Use empty string instead of NULL for first
10389         invocation of print_symbol_info.
10390         (rbreak_command): Pass NULL to `last' parameter of
10391         print_symbol_info.
10392
10393 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
10394
10395         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
10396         instead of nullptr.
10397
10398 2018-04-16  Pedro Alves  <palves@redhat.com>
10399
10400         * MAINTAINERS (sh): Remove.
10401         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
10402         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
10403         (ALLDEPFILES): Remove sh64-tdep.c.
10404         * NEWS: Mentions that support for SH-5/SH64 is removed.
10405         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
10406         (sh*-*-openbsd*): Ditto.
10407         (sh64-*-elf*): Remove.
10408         (sh*): Remove.
10409         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
10410         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
10411         * sh-tdep.c: No longer include "sh64-tdep.h".
10412         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
10413         * sh64-tdep.c, sh64-tdep.h: Remove files.
10414
10415 2018-04-16  Pedro Alves  <palves@redhat.com>
10416
10417         * MAINTAINERS: Remove m88k.
10418         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
10419         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
10420         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
10421         * NEWS: Mention that support for m88k was removed.
10422         * configure.host (m88*-*-*): Remove support.
10423         * configure.nat (m88k-*-*): Remove support.
10424         * configure.tgt (m88*-*-openbsd*): Remove.
10425         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
10426
10427 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
10428
10429         * configure.tgt (x86_tobjs): New variable.
10430         (amd64_tobjs, i386_tobjs): Use it.
10431
10432 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10433
10434         * symtab.c (print_symbol_info): Precede the symbol definition by
10435         the line number when available.
10436         * NEWS: Advertise this enhancement.
10437
10438 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10439
10440         * NEWS (New options): announce set/show record btrace cpu.
10441         * btrace.c: Include record-btrace.h.
10442         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
10443         the vendor is unknown.
10444         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
10445         Maybe overwrite the btrace configuration's cpu.
10446         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
10447         (btrace_fetch): Add cpu parameter.  Update callers.
10448         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
10449         Maybe overwrite the btrace configuration's cpu.  Skip enabling
10450         errata workarounds if the vendor is unknown.
10451         * python/py-record-btrace.c: Include record-btrace.h.
10452         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
10453         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
10454         * record-btrace.c (record_btrace_cpu_state_kind): New.
10455         (record_btrace_cpu): New.
10456         (set_record_btrace_cpu_cmdlist): New.
10457         (record_btrace_get_cpu): New.
10458         (require_btrace_thread, record_btrace_info)
10459         (record_btrace_resume_thread): Call record_btrace_get_cpu.
10460         (cmd_set_record_btrace_cpu_none): New.
10461         (cmd_set_record_btrace_cpu_auto): New.
10462         (cmd_set_record_btrace_cpu): New.
10463         (cmd_show_record_btrace_cpu): New.
10464         (_initialize_record_btrace): Initialize set/show record btrace cpu
10465         commands.
10466         * record-btrace.h (record_btrace_get_cpu): New.
10467
10468 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10469
10470         * record.c (set_record_command): Fix typo in message.
10471
10472 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10473
10474         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
10475
10476 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10477
10478         * infrun.c (process_event_stop_test): Call
10479         gdbarch_in_indirect_branch_thunk.
10480         * gdbarch.sh (in_indirect_branch_thunk): New.
10481         * gdbarch.c: Regenerated.
10482         * gdbarch.h: Regenerated.
10483         * x86-tdep.h: New.
10484         * x86-tdep.c: New.
10485         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
10486         (HFILES_NO_SRCDIR): Add x86-tdep.h.
10487         (ALLDEPFILES): Add x86-tdep.c.
10488         * arch-utils.h (default_in_indirect_branch_thunk): New.
10489         * arch-utils.c (default_in_indirect_branch_thunk): New.
10490         * i386-tdep: Include x86-tdep.h.
10491         (i386_in_indirect_branch_thunk): New.
10492         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
10493         function.
10494         * amd64-tdep: Include x86-tdep.h.
10495         (amd64_in_indirect_branch_thunk): New.
10496         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
10497
10498 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
10499
10500         PR gdb/23053
10501         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
10502         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
10503         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
10504         regression.
10505
10506 2018-04-12  Tom Tromey  <tom@tromey.com>
10507
10508         * rust-lang.c (rust_print_struct_def): Remove univariant code.
10509         (rust_evaluate_subexp): Likewise.
10510
10511 2018-04-12  Pedro Alves  <palves@redhat.com>
10512
10513         * procfs.c (procfs_detach): Make forward declaration's prototype
10514         match definition's protototype.
10515         (proc_get_LDT_entry): Remove stale do_cleanups call.
10516
10517 2018-04-12  Pedro Alves  <palves@redhat.com>
10518
10519         * target.h (target_ops::to_has_exited): Delete.
10520         (target_has_exited): Delete.
10521         * target-delegates.c: Regenerate.
10522
10523 2018-04-11  Pedro Alves  <palves@redhat.com>
10524
10525         * target.c (fileio_fh_t::t): Add comment.
10526         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10527         (target_fileio_close): Handle a NULL target.
10528         (invalidate_fileio_fh): New.
10529         (target_close): Call it.
10530         * remote.c (remote_hostio_send_command): No longer check whether
10531         remote_desc is open.
10532
10533 2018-04-11  Pedro Alves  <palves@redhat.com>
10534
10535         * target.c (fileio_fh_t): Make it a named struct instead of a
10536         typedef.
10537         (fileio_fh_t::is_closed): New method.
10538         (DEF_VEC_O (fileio_fh_t)): Remove.
10539         (fileio_fhandles): Now a std::vector.
10540         (is_closed_fileio_fh): Delete.
10541         (acquire_fileio_fd): Adjust.  Rename parameters.
10542         (release_fileio_fd): Adjust.
10543         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
10544         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10545         (target_fileio_close): Adjust.
10546
10547 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
10548
10549         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
10550         index.
10551
10552 2018-04-10  Pedro Alves  <palves@redhat.com>
10553
10554         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
10555         (scoped_finish_thread_state): New class.
10556         * infcmd.c (run_command_1): Use it instead of finish_thread_state
10557         cleanup.
10558         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
10559         (fetch_inferior_event, normal_stop): Likewise.
10560         * thread.c (finish_thread_state_cleanup): Delete.
10561
10562 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10563             Pedro Alves  <palves@redhat.com>
10564
10565         * value.c: Include "selftest.h" and "common/array-view.h".
10566         (struct range) <operator ==>: New.
10567         (test_ranges_contain): New.
10568         (check_ranges_vector): New.
10569         (test_insert_into_bit_range_vector): New.
10570         (_initialize_values): Register selftests.
10571         * common/array-view.h (operator==, operator!=): New.
10572
10573 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10574
10575         * common/gdb_vecs.h (unordered_remove): Add overload that takes
10576         an iterator.
10577         * inline-frame.c: Include <algorithm>.
10578         (struct inline_state): Add constructor.
10579         (inline_state_s): Remove.
10580         (DEF_VEC_O(inline_state_s)): Remove.
10581         (inline_states): Change type to std::vector.
10582         (find_inline_frame_state): Adjust to std::vector.
10583         (allocate_inline_frame_state): Remove.
10584         (clear_inline_frame_state): Adjust to std::vector.
10585         (skip_inline_frames): Adjust to std::vector.
10586
10587 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10588
10589         * tracepoint.h (struct trace_state_variable): Add constructor.
10590         <name>: Change type to std::string.
10591         * tracepoint.c (tsv_s): Remove.
10592         (DEF_VEC_O(tsv_s)): Remove.
10593         (tvariables): Change to std::vector.
10594         (create_trace_state_variable): Adjust to std::vector.
10595         (find_trace_state_variable): Likewise.
10596         (find_trace_state_variable_by_number): Likewise.
10597         (delete_trace_state_variable): Likewise.
10598         (trace_variable_command): Adjust to std::string.
10599         (delete_trace_variable_command): Likewise.
10600         (tvariables_info_1): Adjust to std::vector.
10601         (save_trace_state_variables): Likewise.
10602         (start_tracing): Likewise.
10603         (merge_uploaded_trace_state_variables): Adjust to std::vector
10604         and std::string.
10605         * target.h (struct target_ops)
10606         <to_download_trace_state_variable>: Pass reference to
10607         trace_state_variable.
10608         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
10609         * target-delegates.c: Re-generate.
10610         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
10611         (mi_tsv_deleted): Likewise.
10612         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
10613         * remote.c (remote_download_trace_state_variable): Change
10614         pointer to reference and adjust.
10615         * make-target-delegates (parse_argtypes): Handle references.
10616         (write_function_header): Likewise.
10617         (munge_type): Likewise.
10618
10619 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10620
10621         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10622         string_view-selftests.c.
10623         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
10624         testsuite.
10625         * unittests/basic_string_view/cons/char/1.cc: Likewise.
10626         * unittests/basic_string_view/cons/char/2.cc: Likewise.
10627         * unittests/basic_string_view/cons/char/3.cc: Likewise.
10628         * unittests/basic_string_view/element_access/char/1.cc:
10629         Likewise.
10630         * unittests/basic_string_view/element_access/char/empty.cc:
10631         Likewise.
10632         * unittests/basic_string_view/element_access/char/front_back.cc:
10633         Likewise.
10634         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
10635         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
10636         Likewise.
10637         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
10638         Likewise.
10639         * unittests/basic_string_view/modifiers/swap/char/1.cc:
10640         Likewise.
10641         * unittests/basic_string_view/operations/compare/char/1.cc:
10642         Likewise.
10643         * unittests/basic_string_view/operations/compare/char/13650.cc:
10644         Likewise.
10645         * unittests/basic_string_view/operations/copy/char/1.cc:
10646         Likewise.
10647         * unittests/basic_string_view/operations/data/char/1.cc:
10648         Likewise.
10649         * unittests/basic_string_view/operations/find/char/1.cc:
10650         Likewise.
10651         * unittests/basic_string_view/operations/find/char/2.cc:
10652         Likewise.
10653         * unittests/basic_string_view/operations/find/char/3.cc:
10654         Likewise.
10655         * unittests/basic_string_view/operations/find/char/4.cc:
10656         Likewise.
10657         * unittests/basic_string_view/operations/rfind/char/1.cc:
10658         Likewise.
10659         * unittests/basic_string_view/operations/rfind/char/2.cc:
10660         Likewise.
10661         * unittests/basic_string_view/operations/rfind/char/3.cc:
10662         Likewise.
10663         * unittests/basic_string_view/operations/substr/char/1.cc:
10664         Likewise.
10665         * unittests/basic_string_view/operators/char/2.cc: Likewise.
10666         * unittests/string_view-selftests.c: New file.
10667
10668 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10669
10670         * unittests/basic_string_view/capacity/1.cc: New file.
10671         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
10672         * unittests/basic_string_view/cons/char/1.cc: New file.
10673         * unittests/basic_string_view/cons/char/2.cc: New file.
10674         * unittests/basic_string_view/cons/char/3.cc: New file.
10675         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
10676         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
10677         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
10678         * unittests/basic_string_view/element_access/char/1.cc: New file.
10679         * unittests/basic_string_view/element_access/char/2.cc: New file.
10680         * unittests/basic_string_view/element_access/char/empty.cc: New file.
10681         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
10682         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
10683         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
10684         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
10685         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
10686         * unittests/basic_string_view/include.cc: New file.
10687         * unittests/basic_string_view/inserters/char/1.cc: New file.
10688         * unittests/basic_string_view/inserters/char/2.cc: New file.
10689         * unittests/basic_string_view/inserters/char/3.cc: New file.
10690         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
10691         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
10692         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
10693         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
10694         * unittests/basic_string_view/literals/types.cc: New file.
10695         * unittests/basic_string_view/literals/values.cc: New file.
10696         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
10697         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
10698         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
10699         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
10700         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
10701         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
10702         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
10703         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
10704         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
10705         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
10706         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
10707         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
10708         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
10709         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
10710         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
10711         * unittests/basic_string_view/operations/data/char/1.cc: New file.
10712         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
10713         * unittests/basic_string_view/operations/find/char/1.cc: New file.
10714         * unittests/basic_string_view/operations/find/char/2.cc: New file.
10715         * unittests/basic_string_view/operations/find/char/3.cc: New file.
10716         * unittests/basic_string_view/operations/find/char/4.cc: New file.
10717         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
10718         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
10719         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
10720         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
10721         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
10722         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
10723         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
10724         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
10725         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
10726         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
10727         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
10728         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
10729         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
10730         * unittests/basic_string_view/operators/char/2.cc: New file.
10731         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
10732         * unittests/basic_string_view/range_access/char/1.cc: New file.
10733         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
10734         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
10735         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
10736         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
10737         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
10738         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
10739         * unittests/basic_string_view/requirements/typedefs.cc: New file.
10740         * unittests/basic_string_view/typedefs.cc: New file.
10741         * unittests/basic_string_view/types/1.cc: New file.
10742
10743 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10744
10745         * common/gdb_string_view.h: Remove libstdc++ implementation
10746         details, adjust to gdb reality.
10747         * common/gdb_string_view.tcc: Likewise.
10748         * cli/cli-script.c (struct string_view): Remove.
10749         (user_args) <m_args>: Change element type to gdb::string_view.
10750         (user_args::insert_args): Adjust.
10751
10752 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10753
10754         * common/gdb_string_view.h: New file.
10755         * common/gdb_string_view.tcc: New file.
10756
10757 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10758
10759         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
10760         * configure: Re-generate.
10761
10762 2018-04-09  Pedro Alves  <palves@redhat.com>
10763
10764         * gdbarch.sh: Include "observable.h" instead of "observer.h".
10765         (set_target_gdbarch): Call
10766         gdb::observers::architecture_changed.notify instead of
10767         observer_notify_architecture_changed.
10768
10769 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10770
10771         * tracepoint.c (struct current_traceframe_cleanup): Remove.
10772         (do_restore_current_traceframe_cleanup): Remove.
10773         (restore_current_traceframe_cleanup_dtor): Remove.
10774         (make_cleanup_restore_current_traceframe): Remove.
10775         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
10776         New.
10777         * tracepoint.h (struct scoped_restore_current_traceframe): New.
10778         * infrun.c (fetch_inferior_event): Use
10779         scoped_restore_current_traceframe.
10780
10781 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10782
10783         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
10784         Remove.
10785         <n_allocated_type_units>: Remove.
10786         <all_type_units>: Change to std::vector.
10787         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10788         to std::vector change.
10789         (dwarf2_per_objfile::get_cutu): Likewise.
10790         (dwarf2_per_objfile::get_tu): Likewise.
10791         (create_signatured_type_table_from_index): Likewise.
10792         (create_signatured_type_table_from_debug_names): Likewise.
10793         (dw2_symtab_iter_next): Likewise.
10794         (dw2_print_stats): Likewise.
10795         (dw2_expand_all_symtabs): Likewise.
10796         (dw2_expand_marked_cus): Likewise.
10797         (dw2_debug_names_iterator::next): Likewise.
10798         (dwarf2_initialize_objfile): Likewise.
10799         (add_signatured_type_cu_to_table): Likewise.
10800         (create_all_type_units): Likewise.
10801         (add_type_unit): Likewise.
10802         (struct tu_abbrev_offset): Add constructor.
10803         (build_type_psymtabs_1): Adjust to std::vector change.
10804         (print_tu_stats): Likewise.
10805         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10806         (write_debug_names): Likewise.
10807
10808 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10809
10810         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
10811         Make an std::vector.
10812         <n_comp_units>: Remove.
10813         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10814         to std::vector change.
10815         (dwarf2_per_objfile::get_cutu): Likewise.
10816         (dwarf2_per_objfile::get_cu): Likewise.
10817         (create_cus_from_index): Likewise.
10818         (create_addrmap_from_index): Likewise.
10819         (create_addrmap_from_aranges): Likewise.
10820         (dwarf2_read_index): Likewise.
10821         (dw2_find_last_source_symtab): Likewise.
10822         (dw2_map_symtabs_matching_filename): Likewise.
10823         (dw2_symtab_iter_next): Likewise.
10824         (dw2_print_stats): Likewise.
10825         (dw2_expand_all_symtabs): Likewise.
10826         (dw2_expand_symtabs_with_fullname): Likewise.
10827         (dw2_expand_marked_cus): Likewise.
10828         (dw2_map_symbol_filenames): Likewise.
10829         (create_cus_from_debug_names): Likewise.
10830         (dwarf2_read_debug_names): Likewise.
10831         (dw2_debug_names_iterator::next): Likewise.
10832         (dwarf2_initialize_objfile): Likewise.
10833         (set_partial_user): Likewise.
10834         (dwarf2_build_psymtabs_hard): Likewise.
10835         (read_comp_units_from_section): Remove arguments, adjust to
10836         std::vector change.
10837         (create_all_comp_units): Adjust to std::vector and
10838         read_comp_units_from_section changes.
10839         (dwarf2_find_containing_comp_unit): Adjust to std::vector
10840         change.
10841         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10842         (psyms_seen_size): Likewise.
10843         (write_gdbindex): Likewise.
10844         (write_debug_names): Likewise.
10845
10846 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10847
10848         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
10849         with dwarf2_per_objfile.
10850         (create_cus_from_index): Likewise.
10851         (create_signatured_type_table_from_index): Likewise.
10852         (dwarf2_read_index): Likewise.
10853         (dwarf2_initialize_objfile): Likewise.
10854         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
10855         per_cu rather than get_dwarf2_per_objfile.
10856
10857 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10858
10859         * dwarf2read.h (struct signatured_type): Forward declare.
10860         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
10861         New methods.
10862         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
10863         (dw2_get_cutu): ...this.
10864         (dwarf2_per_objfile::get_cu): Rename from...
10865         (dw2_get_cu): ...this.
10866         (dwarf2_per_objfile::get_tu): New.
10867         (create_addrmap_from_index): Adjust.
10868         (create_addrmap_from_aranges): Adjust.
10869         (dw2_find_last_source_symtab): Adjust.
10870         (dw2_map_symtabs_matching_filename): Adjust.
10871         (dw2_symtab_iter_next): Adjust.
10872         (dw2_print_stats): Adjust.
10873         (dw2_expand_all_symtabs): Adjust.
10874         (dw2_expand_symtabs_with_fullname): Adjust.
10875         (dw2_expand_marked_cus): Adjust.
10876         (dw_expand_symtabs_matching_file_matcher): Adjust.
10877         (dw2_map_symbol_filenames): Adjust.
10878         (dw2_debug_names_iterator::next): Adjust.
10879         (dwarf2_initialize_objfile): Adjust.
10880         (set_partial_user): Adjust.
10881         (dwarf2_build_psymtabs_hard): Adjust.
10882
10883 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10884
10885         * dwarf2read.c (create_signatured_type_table_from_debug_names):
10886         Remove unused variables.
10887         (dw2_map_symtabs_matching_filename): Likewise.
10888         (dwarf2_record_block_ranges): Likewise.
10889         (dwarf2_read_addr_index): Likewise.
10890         (follow_die_offset): Likewise.
10891
10892 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10893
10894         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
10895         to symbol_file_add_main.
10896
10897 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10898
10899         PR mi/22299
10900         * mi/mi-console.c (do_fputc_async_safe): New.
10901         (mi_console_file::write_async_safe): New.
10902         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
10903         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
10904         New.
10905         * ui-file.c (ui_file::putstrn): Adjust call to
10906         fputstrn_unfiltered.
10907         * utils.c (printchar): Replace do_fputs and do_fprintf
10908         parameters by do_fputc.
10909         (fputstr_filtered): Adjust call to printchar.
10910         (fputstr_unfiltered): Likewise.
10911         (fputstrn_filtered): Likewise.
10912         (fputstrn_unfiltered): Add do_fputc parameter, pass to
10913         printchar.
10914         * utils.h (do_fputc_ftype): New typedef.
10915         (fputstrn_unfiltered): Add do_fputc parameter.
10916
10917 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10918
10919         * regformats/i386/i386-avx.dat: Remove.
10920
10921 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10922
10923         PR gdb/22979
10924         * amd64-tdep.c (amd64_none_init_abi): New function.
10925         (amd64_x32_none_init_abi): New function.
10926         (_initialize_amd64_tdep): Register handlers for x86-64 and
10927         x64_32 with GDB_OSABI_NONE.
10928         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
10929         GDB_OSABI_NONE osabi.
10930
10931 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10932
10933         PR gdb/22980
10934         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
10935         GDB_OSABI_NONE.
10936         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
10937         * osabi.c (gdb_osabi_names): Add "unknown" entry.
10938
10939 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10940
10941         * common/byte-vector.h (char_vector): New type.
10942         * target.h (target_read_alloc): Return
10943         gdb::optional<byte_vector>.
10944         (target_read_stralloc): Return gdb::optional<char_vector>.
10945         (target_get_osdata): Return gdb::optional<char_vector>.
10946         * target.c (target_read_alloc_1): Templatize.  Replacement
10947         manual memory management with vector.
10948         (target_read_alloc): Change return type, adjust.
10949         (target_read_stralloc): Change return type, adjust.
10950         (target_get_osdata): Change return type, adjust.
10951         * auxv.c (struct auxv_info) <length>: Remove.
10952         <data>: Change type to gdb::optional<byte_vector>.
10953         (auxv_inferior_data_cleanup): Free auxv_info with delete.
10954         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
10955         (target_auxv_search): Adjust.
10956         (fprint_target_auxv): Adjust.
10957         * avr-tdep.c (avr_io_reg_read_command): Adjust.
10958         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
10959         (linux_make_corefile_notes): Adjust.
10960         * osdata.c (get_osdata): Adjust.
10961         * remote.c (remote_get_threads_with_qxfer): Adjust.
10962         (remote_memory_map): Adjust.
10963         (remote_traceframe_info): Adjust.
10964         (btrace_read_config): Adjust.
10965         (remote_read_btrace): Adjust.
10966         (remote_pid_to_exec_file): Adjust.
10967         * solib-aix.c (solib_aix_get_library_list): Adjust.
10968         * solib-dsbt.c (decode_loadmap): Don't free buf.
10969         (dsbt_get_initial_loadmaps): Adjust.
10970         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
10971         * solib-target.c (solib_target_current_sos): Adjust.
10972         * tracepoint.c (sdata_make_value): Adjust.
10973         * xml-support.c (xinclude_start_include): Adjust.
10974         (xml_fetch_content_from_file): Adjust.
10975         * xml-support.h (xml_fetch_another): Change return type.
10976         (xml_fetch_content_from_file): Change return type.
10977         * xml-syscall.c (xml_init_syscalls_info): Adjust.
10978         * xml-tdesc.c (file_read_description_xml): Adjust.
10979         (fetch_available_features_from_target): Change return type.
10980         (target_fetch_description_xml): Adjust.
10981         (target_read_description_xml): Adjust.
10982
10983 2018-04-06  Tom Tromey  <tom@tromey.com>
10984
10985         * value.c (~value): Update.
10986         (struct value) <contents>: Now unique_xmalloc_ptr.
10987         (value_contents_bits_eq, allocate_value_contents)
10988         (value_contents_raw, value_contents_all_raw)
10989         (value_contents_for_printing, value_contents_for_printing_const)
10990         (set_value_enclosing_type): Update.
10991
10992 2018-04-06  Tom Tromey  <tom@tromey.com>
10993
10994         * value.c (range_s): Remove typedef, VEC.
10995         (struct range): Add operator<.
10996         (range_lessthan): Remove.
10997         (ranges_contain): Change type.
10998         (~value): Update.
10999         (struct value) <unavailable, optimized_out>: Now std::vector.
11000         (value_entirely_available)
11001         (value_entirely_covered_by_range_vector)
11002         (value_entirely_unavailable, value_entirely_optimized_out):
11003         Update.
11004         (insert_into_bit_range_vector): Change argument type.
11005         (find_first_range_overlap): Likewise.
11006         (struct ranges_and_idx, value_contents_bits_eq)
11007         (require_not_optimized_out, require_available): Update.
11008         (ranges_copy_adjusted): Change argument types.
11009         (value_optimized_out, value_copy, value_fetch_lazy): Update.
11010
11011 2018-04-06  Tom Tromey  <tom@tromey.com>
11012
11013         * value.c (~value): Update.
11014         (struct value) <parent>: Now a value_ref_ptr.
11015         (value_parent, set_value_parent, value_address, value_copy):
11016         Update.
11017
11018 2018-04-06  Tom Tromey  <tom@tromey.com>
11019
11020         * value.c (struct value): Add constructor, destructor, and member
11021         initializers.
11022         (allocate_value_lazy, value_decref): Update.
11023
11024 2018-04-06  Tom Tromey  <tom@tromey.com>
11025
11026         * value.c (struct value) <released, next>: Remove.
11027         (all_values): Now a std::vector.
11028         (allocate_value_lazy): Update.
11029         (value_next): Remove.
11030         (value_mark, value_free_to_mark, release_value)
11031         (value_release_to_mark): Update.
11032
11033 2018-04-06  Tom Tromey  <tom@tromey.com>
11034
11035         * value.h (fetch_subexp_value, value_release_to_mark): Update.
11036         (free_value_chain): Remove.
11037         * value.c (free_value_chain): Remove.
11038         (value_release_to_mark): Return a std::vector.
11039         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
11040         std::vector.
11041         (check_condition): Update.
11042         * eval.c (fetch_subexp_value): Change "val_chain" to a
11043         std::vector.
11044         * breakpoint.c (update_watchpoint): Update.
11045         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
11046
11047 2018-04-06  Tom Tromey  <tom@tromey.com>
11048
11049         * value.h (free_all_values): Remove.
11050         * value.c (free_all_values): Remove.
11051
11052 2018-04-06  Tom Tromey  <tom@tromey.com>
11053
11054         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
11055         (value_history_chain, value_history_count): Remove.
11056         (value_history): New global.
11057         (record_latest_value, access_value_history, show_values)
11058         (preserve_values): Update.
11059
11060 2018-04-06  Tom Tromey  <tom@tromey.com>
11061
11062         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
11063         * varobj.c (varobj_set_display_format, varobj_set_value)
11064         (install_default_visualizer, construct_visualizer)
11065         (install_new_value, ~varobj, varobj_get_value_type)
11066         (my_value_of_variable, varobj_editable_p): Update.
11067         * c-varobj.c (c_describe_child, c_value_of_variable)
11068         (cplus_number_of_children, cplus_describe_child): Update.
11069         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
11070         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
11071         (ada_value_of_variable, ada_value_is_changeable_p): Update.
11072
11073 2018-04-06  Tom Tromey  <tom@tromey.com>
11074
11075         * printcmd.c (last_examine_address): Change type to
11076         value_ref_ptr.
11077         (do_examine, x_command): Update.
11078
11079 2018-04-06  Tom Tromey  <tom@tromey.com>
11080
11081         * value.c (release_value): Update.
11082         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
11083         (struct bpstats) <val>: Now a value_ref_ptr.
11084         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
11085         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
11086         (~watchpoint, print_it_watchpoint, watch_command_1)
11087         (invalidate_bp_value_on_memory_change): Update.
11088
11089 2018-04-06  Tom Tromey  <tom@tromey.com>
11090
11091         * varobj.c (varobj_clear_saved_item)
11092         (update_dynamic_varobj_children, install_new_value, ~varobj):
11093         Update.
11094         * value.h (value_incref): Move declaration earlier.
11095         (value_decref): Rename from value_free.
11096         (struct value_ref_policy): New.
11097         (value_ref_ptr): New typedef.
11098         (struct value_deleter): Remove.
11099         (gdb_value_up): Remove typedef.
11100         (release_value): Change return type.
11101         (release_value_or_incref): Remove.
11102         * value.c (set_value_parent): Update.
11103         (value_incref): Change return type.
11104         (value_decref): Rename from value_free.
11105         (value_free_to_mark, free_all_values, free_value_chain): Update.
11106         (release_value): Return value_ref_ptr.
11107         (release_value_or_incref): Remove.
11108         (record_latest_value, set_internalvar, clear_internalvar):
11109         Update.
11110         * stack.c (info_frame_command): Don't call value_free.
11111         * python/py-value.c (valpy_dealloc, valpy_new)
11112         (value_to_value_object): Update.
11113         * printcmd.c (do_examine): Update.
11114         * opencl-lang.c (lval_func_free_closure): Update.
11115         * mi/mi-main.c (register_changed_p): Don't call value_free.
11116         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
11117         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
11118         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
11119         value_free.
11120         * guile/scm-value.c (vlscm_free_value_smob)
11121         (vlscm_scm_from_value): Update.
11122         * frame.c (frame_register_unwind, frame_unwind_register_signed)
11123         (frame_unwind_register_unsigned, get_frame_register_bytes)
11124         (put_frame_register_bytes): Don't call value_free.
11125         * findvar.c (address_from_register): Don't call value_free.
11126         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
11127         * dwarf2loc.c (entry_data_value_free_closure)
11128         (value_of_dwarf_reg_entry, free_pieced_value_closure)
11129         (dwarf2_evaluate_loc_desc_full): Update.
11130         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
11131         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
11132         (~watchpoint, watch_command_1)
11133         (invalidate_bp_value_on_memory_change): Update.
11134         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
11135
11136 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
11137
11138         PR gdb/23022
11139         * warning.m4: Add -Wno-error=deprecated-register.
11140         * configure: Re-generate.
11141
11142 2018-04-05  Tom Tromey  <tom@tromey.com>
11143
11144         * linespec.h: Remove include of "vec.h".
11145
11146 2018-04-05  Tom Tromey  <tom@tromey.com>
11147
11148         * linespec.c (typep): Remove typedef.
11149         (find_methods, find_superclass_methods): Take a std::vector.
11150         (find_method): Use std::vector.
11151
11152 2018-04-05  Tom Tromey  <tom@tromey.com>
11153
11154         * utils.c (compare_strings): Remove.
11155         * utils.h (compare_strings): Remove.
11156         * objc-lang.h (find_imps): Update.
11157         * objc-lang.c (find_methods): Take a std::vector.
11158         (uniquify_strings, find_imps): Likewise.
11159         * linespec.c (find_methods): Take a std::vector.
11160         (decode_objc): Use std::vector.
11161         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
11162         a std::vector.
11163         (find_method, find_function_symbols): Use std::vector.
11164
11165 2018-04-05  Tom Tromey  <tom@tromey.com>
11166
11167         * completer.c (completion_tracker::completion_tracker): Remove
11168         cast.
11169         (completion_tracker::discard_completions): Likewise.
11170         * breakpoint.c (ambiguous_names_p): Remove cast.
11171         * ada-lang.c (_initialize_ada_language): Remove cast.
11172         * utils.h (streq): Update.
11173         (streq_hash): Add new declaration.
11174         * utils.c (streq): Return bool.
11175         (streq_hash): New function.
11176
11177 2018-04-05  Tom Tromey  <tom@tromey.com>
11178
11179         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
11180         Remove a string copy.
11181
11182 2018-04-05  Tom Tromey  <tom@tromey.com>
11183
11184         * linespec.c (filter_results): Use std::vector.
11185         (decode_line_2, decode_line_full): Update.
11186
11187 2018-04-05  Tom Tromey  <tom@tromey.com>
11188
11189         * linespec.c (canonical_to_fullform): Return std::string.
11190         (filter_results): Update.
11191         (struct decode_line_2_item): Add constructor.
11192         <fullform, displayform>: Now std::string.
11193         (decode_line_2_compare_items): Now a std::sort comparator.
11194         (decode_line_2): Update.
11195
11196 2018-04-05  Tom Tromey  <tom@tromey.com>
11197
11198         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
11199         (unexpected_linespec_error): Update.
11200         (linespec_parse_basic, parse_linespec): Update.
11201
11202 2018-04-05  Tom Tromey  <tom@tromey.com>
11203
11204         * linespec.c (linespec_parse_basic): Reindent.
11205
11206 2018-04-05  Tom Tromey  <tom@tromey.com>
11207
11208         * minsyms.h (iterate_over_minimal_symbols): Update.
11209         * minsyms.c (iterate_over_minimal_symbols): Take a
11210         gdb::function_view.
11211         * linespec.c (struct collect_minsyms): Remove.
11212         (compare_msyms): Now a std::sort comparator.
11213         (add_minsym): Add parameters.
11214         (search_minsyms_for_name): Update.  Use std::vector.
11215
11216 2018-04-03  Tom Tromey  <tom@tromey.com>
11217
11218         * mipsread.c (read_alphacoff_dynamic_symtab): Use
11219         gdb::byte_vector.
11220
11221 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
11222
11223         * MAINTAINERS (Write After Approval): Add Weimin Pan.
11224
11225 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
11226
11227         PR gdb/16959
11228         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
11229         printing static type.
11230
11231 2018-04-01  Tom Tromey  <tom@tromey.com>
11232
11233         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
11234         (rs6000_xfer_shared_libraries): Update.
11235
11236 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
11237
11238         * common/gdb_vecs.h (char_ptr): Remove.
11239         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
11240
11241 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
11242
11243         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
11244         with std::vector.
11245         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
11246
11247 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
11248
11249         * tracepoint.h (struct uploaded_tp): Initialize fields.
11250         <actions, step_actions, cmd_strings>: Change type to
11251         std::vector<char *>.
11252         * tracepoint.c (get_uploaded_tp): Allocate with new.
11253         (free_uploaded_tps): Free with delete.
11254         (parse_tracepoint_definition): Adjust to std::vector change.
11255         * breakpoint.c (read_uploaded_action): Likewise.
11256         (create_tracepoint_from_upload): Likewise.
11257         * ctf.c (ctf_write_uploaded_tp): Likewise.
11258         (SET_ARRAY_FIELD): Likewise.
11259         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
11260
11261 2018-03-30  Tom Tromey  <tom@tromey.com>
11262
11263         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
11264         std::unique_ptr.
11265         (svr4_keep_data_in_core): Update.
11266         (svr4_read_so_list): Update.
11267
11268 2018-03-30  Tom Tromey  <tom@tromey.com>
11269
11270         * windows-nat.c (handle_output_debug_string, handle_exception):
11271         Update.
11272         * target.h (target_read_string): Update.
11273         * target.c (target_read_string): Change "string" to
11274         unique_xmalloc_ptr.
11275         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
11276         Update.
11277         * solib-frv.c (frv_current_sos): Update.
11278         * solib-dsbt.c (dsbt_current_sos): Update.
11279         * solib-darwin.c (darwin_current_sos): Update.
11280         * linux-thread-db.c (inferior_has_bug): Update.
11281         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
11282         Update.  Remove alloca.
11283         * ada-lang.c (ada_main_name): Update.
11284
11285 2018-03-30  Tom Tromey  <tom@tromey.com>
11286
11287         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
11288         (struct dwo_file_deleter): New.
11289         (dwo_file_up): New typedef.
11290         (open_and_init_dwo_file): Use dwo_file_up.
11291         (free_dwo_file_cleanup): Remove.
11292
11293 2018-03-30  Tom Tromey  <tom@tromey.com>
11294
11295         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
11296         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
11297
11298 2018-03-30  Tom Tromey  <tom@tromey.com>
11299
11300         * dwarf2read.c (class free_cached_comp_units): New class.
11301         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
11302         (free_cached_comp_units): Remove function.
11303
11304 2018-03-30  Tom Tromey  <tom@tromey.com>
11305
11306         * utils.h (make_cleanup_unpush_target): Remove.
11307         * inf-ptrace.c (struct target_unpusher): New.
11308         (target_unpush_up) New typedef.
11309         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
11310         target_unpush_up.
11311         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
11312
11313 2018-03-27  Tom Tromey  <tom@tromey.com>
11314
11315         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
11316
11317 2018-03-27  Pedro Alves  <palves@redhat.com>
11318             Tom Tromey  <tom@tromey.com>
11319
11320         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
11321         destructor.  Now a class.
11322         (gdb_readline_wrapper_cleanup): Remove function.
11323         (gdb_readline_wrapper): Remove cleanups.
11324
11325 2018-03-27  Tom Tromey  <tom@tromey.com>
11326
11327         * typeprint.h (struct type_print_options) <local_typedefs,
11328         global_typedefs>: Remove "struct" keyword.
11329         (class typedef_hash_table): New class.
11330         (recursively_update_typedef_hash, add_template_parameters)
11331         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
11332         (find_typedef_in_hash): Don't declare.
11333         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
11334         (typedef_hash_table::recursively_update): Rename from
11335         recursively_update_typedef_hash.  Now a member.
11336         (typedef_hash_table::add_template_parameters): Rename from
11337         add_template_parameters.  Now a member.
11338         (typedef_hash_table::typedef_hash_table): Now a constructor;
11339         rename from create_typedef_hash.
11340         (typedef_hash_table::~typedef_hash_table): Now a destructor;
11341         rename from free_typedef_hash.
11342         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
11343         (do_free_global_table): Remove.
11344         (typedef_hash_table::typedef_hash_table): New constructor; renamed
11345         from copy_type_recursive.
11346         (create_global_typedef_table): Remove.
11347         (typedef_hash_table::find_global_typedef): Now a member of
11348         typedef_hash_table.
11349         (typedef_hash_table::find_typedef): Rename from
11350         find_typedef_in_hash; now a member.
11351         (whatis_exp): Update.
11352         * extension.h (struct ext_lang_type_printers): Add constructor and
11353         destructor.
11354         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
11355         declare.
11356         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
11357         Now a constructor; rename from start_ext_lang_type_printers.
11358         (ext_lang_type_printers): Now a destructor; rename from
11359         free_ext_lang_type_printers.
11360         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
11361         Update.
11362         (c_type_print_base_struct_union): Update.  Remove cleanups.
11363
11364 2018-03-27  Tom Tromey  <tom@tromey.com>
11365
11366         * dwarf-index-write.c: Include <cmath>.
11367
11368 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
11369
11370         * NEWS: Add entry describing new "set|show varsize-limit" command.
11371         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
11372         command.
11373         * printcmd.c (_initialize_printcmd): Add "set var" alias of
11374         "set variable".
11375
11376 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
11377
11378         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
11379         dwarf-index-write.c
11380         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
11381         * dwarf-index-common.c: New file.
11382         * dwarf-index-common.h: New file.
11383         * dwarf-index-write.c: New file.
11384         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
11385         (struct dwarf2_section_info): Move from here.
11386         (dwarf2_section_info_def): Likewise.
11387         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
11388         (offset_type): Likewise.
11389         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
11390         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
11391         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
11392         (byte_swap): Likewise.
11393         (MAYBE_SWAP): Likewise.
11394         (dwarf2_per_cu_ptr): Likewise.
11395         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
11396         (struct tu_stats): Likewise.
11397         (struct dwarf2_per_objfile): Likewise.
11398         (struct dwarf2_per_cu_data): Likewise.
11399         (struct signatured_type): Likewise.
11400         (sig_type_ptr): Likewise.
11401         (DEF_VEC_P (sig_type_ptr)): Likewise.
11402         (INDEX4_SUFFIX): Likewise.
11403         (INDEX5_SUFFIX): Likewise.
11404         (DEBUG_STR_SUFFIX): Likewise.
11405         (dwarf2_read_section): Make non-static.
11406         (mapped_index_string_hash): Move from here.
11407         (dwarf5_djb_hash): Likewise.
11408         (file_write): Likewise.
11409         (class data_buf): Likewise.
11410         (struct symtab_index_entry): Likewise.
11411         (struct mapped_symtab): Likewise.
11412         (find_slot): Likewise.
11413         (hash_expand): Likewise.
11414         (add_index_entry): Likewise.
11415         (uniquify_cu_indices): Likewise.
11416         (class c_str_view): Likewise.
11417         (class c_str_view_hasher): Likewise.
11418         (class vector_hasher): Likewise.
11419         (write_hash_table): Likewise.
11420         (psym_index_map): Likewise.
11421         (struct addrmap_index_data): Likewise.
11422         (add_address_entry): Likewise.
11423         (add_address_entry_worker): Likewise.
11424         (write_address_map): Likewise.
11425         (symbol_kind): Likewise.
11426         (write_psymbols): Likewise.
11427         (struct signatured_type_index_data): Likewise.
11428         (write_one_signatured_type): Likewise.
11429         (recursively_count_psymbols): Likewise.
11430         (recursively_write_psymbols): Likewise.
11431         (class debug_names): Likewise.
11432         (check_dwarf64_offsets): Likewise.
11433         (psyms_seen_size): Likewise.
11434         (write_gdbindex): Likewise.
11435         (write_debug_names): Likewise.
11436         (assert_file_size): Likewise.
11437         (write_psymtabs_to_index): Likewise.
11438         (save_gdb_index_command): Likewise.
11439         (_initialize_dwarf2_read): Don't register the "save gdb-index"
11440         command.
11441         * dwarf2read.h: New file.
11442
11443 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
11444
11445         PR gdb/22670
11446         * dwarf2read.c (dwarf2_physname): Do not return the demangled
11447         symbol name if the CU's language stores symbol names in linkage
11448         format.
11449         * language.h (struct language_defn)
11450         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
11451         all instances of this struct.
11452
11453 2018-03-26  Tom Tromey  <tom@tromey.com>
11454
11455         * stack.c (backtrace_command_1): Remove verbose code.
11456
11457 2018-03-26  Tom Tromey  <tom@tromey.com>
11458
11459         * python/py-framefilter.c (py_print_type): Don't catch
11460         exceptions.  Return void.
11461         (py_print_value): Likewise.
11462         (py_print_single_arg): Likewise.
11463         (enumerate_args): Don't catch exceptions.
11464         (py_print_args): Likewise.
11465         (py_print_frame): Likewise.
11466         (gdbpy_apply_frame_filter): Catch exceptions here.
11467
11468 2018-03-26  Tom Tromey  <tom@tromey.com>
11469
11470         * stack.c (_initialize_stack): Remove trailing newlines from help
11471         text.  Add "Usage" line to "backtrace" help.
11472
11473 2018-03-26  Tom Tromey  <tom@tromey.com>
11474
11475         PR python/16486:
11476         * python/py-framefilter.c (py_print_args): Call wrap_hint.
11477
11478 2018-03-26  Tom Tromey  <tom@tromey.com>
11479
11480         * python/py-framefilter.c (py_print_single_arg): Return
11481         EXT_LANG_BT_ERROR from catch.
11482
11483 2018-03-26  Tom Tromey  <tom@tromey.com>
11484
11485         PR backtrace/15584:
11486         * stack.c (backtrace_command_1): Move some code into no-filters
11487         "if".
11488
11489 2018-03-26  Tom Tromey  <tom@tromey.com>
11490
11491         * python/py-framefilter.c (throw_quit_or_print_exception): New
11492         function.
11493         (gdbpy_apply_frame_filter): Use it.
11494
11495 2018-03-26  Tom Tromey  <tom@tromey.com>
11496
11497         PR cli/17716:
11498         * python/py-framefilter.c (py_print_type, py_print_value)
11499         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
11500         RETURN_MASK_ERROR.
11501
11502 2018-03-26  Tom Tromey  <tom@tromey.com>
11503
11504         * python/py-framefilter.c (enumerate_args): Use
11505         gdb::unique_xmalloc_ptr.
11506
11507 2018-03-26  Tom Tromey  <tom@tromey.com>
11508
11509         * python/py-framefilter.c (py_print_frame): Return
11510         EXT_LANG_BT_OK.
11511         (gdbpy_apply_frame_filter): Update comment.
11512         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
11513         Remove.
11514         <EXT_LANG_BT_NO_FILTERS>: Change value.
11515
11516 2018-03-26  Tom Tromey  <tom@tromey.com>
11517
11518         PR backtrace/15582:
11519         * stack.c (backtrace_command): Parse "hide" argument.
11520         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
11521         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
11522         constant.
11523
11524 2018-03-26  Tom Tromey  <tom@tromey.com>
11525
11526         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
11527         add "flags".
11528         (backtrace_command): Remove "fulltrace", add "flags".
11529
11530 2018-03-26  Tom Tromey  <tom@tromey.com>
11531
11532         * stack.c (backtrace_command): Rewrite command line parsing.
11533
11534 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11535
11536         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
11537
11538 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11539
11540         * filename-seen-cache.h: Add include guard.
11541
11542 2018-03-26  Keith Seitz  <keiths@redhat.com>
11543
11544         * symfile.c (place_section): Remove "struct" from section_addr_info
11545         in comment.
11546         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
11547         "struct" keyword from section_addr_info.
11548
11549 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
11550
11551         * regformats/regdef.h (reg): Add constructors.
11552
11553 2018-03-25  Pedro Alves  <palves@redhat.com>
11554
11555         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
11556         if then/else bodies in var_func_name extraction.
11557
11558 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
11559
11560         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
11561         lookup_minimal_symbol() to find symbol entry.
11562         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
11563
11564 2018-03-23  Keith Seitz  <keiths@redhat.com>
11565
11566         PR c++/22968
11567         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
11568         nested type definitions for C++, too.
11569
11570 2018-03-23  Tom Tromey  <tom@tromey.com>
11571
11572         * machoread.c (struct oso_el): Add a constructor.  Don't define as
11573         a typedef.
11574         (macho_register_oso): Remove.
11575         (macho_symtab_read): Take a std::vector.
11576         (oso_el_compare_name): Now a std::sort comparator.
11577         (macho_symfile_read_all_oso): Take a std::vector.
11578         (macho_symfile_read): Use std::vector.  Remove cleanups.
11579
11580 2018-03-22  Tom Tromey  <tom@tromey.com>
11581
11582         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
11583         (record_full_goto_bookmark): Use std::string.
11584
11585 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11586
11587         PR tdep/18295
11588         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
11589         a single mask.
11590
11591 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11592
11593         * rs6000-tdep.c (store_insn_p): New function.
11594         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
11595         and cr_reg to their unshifted values. Use store_insn_p to
11596         match LR saves using either R1 or fdata->alloca_reg. Use
11597         store_insn_p to match CR saves. Set alloca_reg_offset
11598         when alloca_reg and framep are set. Remove lr_reg shift
11599         when assigning to fdata->lr_register.
11600
11601 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11602
11603         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
11604         command line args instead of emitting a warning.
11605
11606 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11607
11608         * tracepoint.h (struct static_tracepoint_marker): Initialize
11609         fields, define default constructor, move constructor and move
11610         assignment, disable the rest.
11611         <str_id, extra>: Make std::string.
11612         (release_static_tracepoint_marker): Remove.
11613         (free_current_marker): Remove.
11614         * tracepoint.c (free_current_marker): Remove.
11615         (parse_static_tracepoint_marker_definition): Adjust to
11616         std::string, use new hex2str overload.
11617         (release_static_tracepoint_marker): Remove.
11618         (print_one_static_tracepoint_marker): Get marker by reference
11619         and adjust to std::string.
11620         (info_static_tracepoint_markers_command): Adjust to std::vector
11621         changes
11622         * target.h (static_tracepoint_marker_p): Remove typedef.
11623         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
11624         (struct target_ops) <to_static_tracepoint_marker_at>: Return
11625         bool.
11626         <to_static_tracepoint_markers_by_strid>: Return std::vector.
11627         * target-debug.h
11628         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
11629         (target_debug_print_std_vector_static_tracepoint_marker): New.
11630         (target_debug_print_struct_static_tracepoint_marker_p): Rename
11631         to...
11632         (target_debug_print_static_tracepoint_marker_p): ... this.
11633         * target-delegates.c: Re-generate.
11634         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
11635         Make std::string.
11636         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
11637         (decode_static_tracepoint_spec): Adjust to std::vector.
11638         (tracepoint_print_one_detail): Adjust to std::string.
11639         (strace_marker_decode_location): Adjust to std::string.
11640         (update_static_tracepoint): Adjust to std::string, remove call
11641         to release_static_tracepoint_marker.
11642         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
11643         Adjust to std::vector.
11644         * remote.c (remote_static_tracepoint_marker_at): Return bool.
11645         (remote_static_tracepoint_markers_by_strid): Adjust to
11646         std::vector.
11647         * common/rsp-low.h (hex2str): New overload with explicit count
11648         of bytes.
11649         * common/rsp-low.c (hex2str): New overload with explicit count
11650         of bytes.
11651         * unittests/rsp-low-selftests.c (test_hex2str): New function.
11652         (_initialize_rsp_low_selftests): Add test_hex2str test.
11653         * unittests/tracepoint-selftests.c
11654         (test_parse_static_tracepoint_marker_definition): Adjust to
11655         std::string.
11656
11657 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11658
11659         * tracepoint.c (parse_static_tracepoint_marker_definition):
11660         Consider case where the definition is followed by more
11661         definitions.
11662         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11663         tracepoint-selftests.c.
11664         * unittests/tracepoint-selftests.c: New.
11665
11666 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11667
11668         * MAINTAINERS (Write After Approval): Add Pedro Franco de
11669         Carvalho.
11670
11671 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11672
11673         * symtab.c (find_pc_sect_line): fixed indentation.
11674
11675 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11676
11677         * symtab.c (find_pc_sect_line): now uses binary search.
11678
11679 2018-03-19  Tom Tromey  <tom@tromey.com>
11680
11681         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
11682         "IDENT" production.
11683
11684 2018-03-19  Pedro Alves  <palves@redhat.com>
11685             Tom Tromey  <tom@tromey.com>
11686
11687         * unittests/observable-selftests.c: New file.
11688         * common/observable.h: New file.
11689         * observable.h: New file.
11690         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
11691         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
11692         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
11693         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
11694         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
11695         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
11696         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
11697         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
11698         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
11699         python/py-breakpoint.c, python/py-finishbreakpoint.c,
11700         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
11701         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
11702         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
11703         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
11704         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
11705         tui/tui-interp.c, valops.c: Update all users.
11706         * tui/tui-hooks.c (tui_bp_created_observer)
11707         (tui_bp_deleted_observer, tui_bp_modified_observer)
11708         (tui_inferior_exit_observer, tui_before_prompt_observer)
11709         (tui_normal_stop_observer, tui_register_changed_observer):
11710         Remove.
11711         (tui_observers_token): New global.
11712         (attach_or_detach, tui_attach_detach_observers): New functions.
11713         (tui_install_hooks, tui_remove_hooks): Use
11714         tui_attach_detach_observers.
11715         * record-btrace.c (record_btrace_thread_observer): Remove.
11716         (record_btrace_thread_observer_token): New global.
11717         * observer.sh: Remove.
11718         * observer.c: Rename to observable.c.
11719         * observable.c (namespace gdb_observers): Define new objects.
11720         (observer_debug): Move into gdb_observers namespace.
11721         (struct observer, struct observer_list, xalloc_observer_list_node)
11722         (xfree_observer_list_node, generic_observer_attach)
11723         (generic_observer_detach, generic_observer_notify): Remove.
11724         (_initialize_observer): Update.
11725         Don't include observer.inc.
11726         * Makefile.in (generated_files): Remove observer.h, observer.inc.
11727         (clean mostlyclean): Likewise.
11728         (observer.h, observer.inc): Remove targets.
11729         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
11730         (COMMON_SFILES): Use observable.c, not observer.c.
11731         * .gitignore: Remove observer.h.
11732
11733 2018-03-18  Tom Tromey  <tom@tromey.com>
11734
11735         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
11736         gdb::def_vector.
11737         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
11738
11739 2018-03-17  Tom Tromey  <tom@tromey.com>
11740
11741         * auto-load.c (auto_load_objfile_script_1): Use std::string.
11742
11743 2018-03-17  Tom Tromey  <tom@tromey.com>
11744
11745         * target.c (class scoped_target_fd): New.
11746         (target_fileio_close_cleanup): Remove.
11747         (target_fileio_read_alloc_1): Use scoped_target_fd.
11748
11749 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
11750
11751         * silent-rules.mk: New.
11752         * Makefile.in: Include silent-rules.mk
11753         (srcdir, VPATH, top_srcdir): Move up.
11754         (COMPILE): Add ECHO_CXX.
11755         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
11756         (init.c): Add ECHO_INIT_C.
11757         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
11758         (version.c): Add ECHO_GEN.
11759         (printcmd.o): Add ECHO_CXX.
11760         (target-float.o): Add ECHO_CXX.
11761         (ada-exp.o): Add ECHO_CXX.
11762         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
11763         (insight$(EXEEXT)): Add ECHO_CXXLD.
11764         * gnulib/configure.ac: Add AM_SILENT_RULES.
11765         * gnulib/aclocal.m4: Re-generate.
11766         * gnulib/configure: Re-generate.
11767         * gnulib/import/Makefile.in: Re-generate.
11768
11769 2018-03-16  Tom Tromey  <tom@tromey.com>
11770
11771         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
11772         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
11773         * utils.c (do_free_section_addr_info)
11774         (make_cleanup_free_section_addr_info): Remove.
11775         * symfile.h (struct other_sections): Add constructor.
11776         (struct section_addr_info): Remove.
11777         (section_addr_info): New typedef.
11778         (struct sym_fns) <sym_offsets>: Change type of parameter.
11779         (build_section_addr_info_from_objfile)
11780         (relative_addr_info_to_section_offsets, addr_info_make_relative)
11781         (default_symfile_offsets, symbol_file_add)
11782         (symbol_file_add_from_bfd)
11783         (build_section_addr_info_from_section_table): Update.
11784         (alloc_section_addr_info, free_section_addr_info): Don't declare.
11785         * symfile.c (alloc_section_addr_info): Remove.
11786         (build_section_addr_info_from_section_table): Change return type.
11787         Update.
11788         (build_section_addr_info_from_bfd)
11789         (build_section_addr_info_from_objfile): Likewise.
11790         (free_section_addr_info): Remove.
11791         (relative_addr_info_to_section_offsets): Change type of "addrs".
11792         (addrs_section_compar): Now a std::sort comparator.
11793         (addrs_section_sort): Change return type.
11794         (addr_info_make_relative): Change type of "addrs".  Update.
11795         (default_symfile_offsets, syms_from_objfile_1)
11796         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
11797         (symbol_file_add_separate): Update.
11798         (symbol_file_add): Change type of "addrs".  Update.
11799         (add_symbol_file_command): Update.  Remove cleanups.
11800         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
11801         cleanups.
11802         * symfile-debug.c (debug_sym_offsets): Change type of "info".
11803         * solib.c (solib_read_symbols): Update.
11804         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
11805         * machoread.c (macho_symfile_offsets): Update.
11806         * jit.c (jit_bfd_try_read_symtab): Update.
11807
11808 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
11809
11810         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11811         unittests/utils-selftests.c.
11812         * unittests/utils-selftests.c: New file.
11813
11814 2018-03-14  Tom Tromey  <tom@tromey.com>
11815
11816         PR cli/14977:
11817         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
11818         for NULL.
11819
11820 2018-03-14  Tom Tromey  <tom@tromey.com>
11821
11822         PR cli/19918:
11823         * printcmd.c (printf_pointer): Allow "-" in format.
11824
11825 2018-03-14  Tom Tromey  <tom@tromey.com>
11826
11827         * printcmd.c (_initialize_printcmd): Add usage to printf.
11828
11829 2018-03-14  Yao Qi  <qiyao@sourceware.org>
11830
11831         * MAINTAINERS: Update my email address.
11832
11833 2018-03-13  Tom Tromey  <tom@tromey.com>
11834
11835         * machoread.c (macho_check_dsym): Change filenamep to a
11836         std::string*.
11837         (macho_symfile_read): Update.
11838         * symfile.c (load_command): Use std::string.
11839
11840 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11841
11842         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
11843         to error message string.
11844         (riscv_register_name): Use xsnprintf instead of sprintf.
11845         (riscv_insn::fetch_instruction): Use gdb_assert instead of
11846         internal_error.
11847         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
11848         error.
11849         (riscv_push_dummy_call): Likewise.
11850
11851 2018-03-12  Tom Tromey  <tom@tromey.com>
11852
11853         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
11854         Use gdb::byte_vector.
11855         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
11856
11857 2018-03-12  Yao Qi  <yao.qi@linaro.org>
11858
11859         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
11860         parameter type to readable_regcache.
11861         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
11862         the declaration.
11863
11864 2018-03-11  Tom Tromey  <tom@tromey.com>
11865
11866         * dwarf2read.c (struct nextfield): Add initializers.
11867         (struct nextfnfield): Remove.
11868         (struct fnfieldlist): Add initializers.  Remove "length" and
11869         "head", use std::vector.
11870         (struct decl_field_list): Remove.
11871         (struct field_info): Add initializers.
11872         <fields, baseclasses>: Now std::vector.
11873         <nbaseclasses, nfnfields, typedef_field_list_count,
11874         nested_types_list_count>: Remove.
11875         (dwarf2_add_field, dwarf2_add_type_defn)
11876         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
11877         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
11878         (process_structure_scope): Update.
11879
11880 2018-03-11  Tom Tromey  <tom@tromey.com>
11881
11882         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
11883         for use by std::sort.
11884         (build_type_psymtabs_1): Use std::vector.
11885
11886 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
11887
11888         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
11889         and LIBMPFR in the printed configuration.
11890
11891 2018-03-08  Tom Tromey  <tom@tromey.com>
11892
11893         * source.c (get_filename_and_charpos): Use scoped_fd.
11894         * nto-procfs.c (procfs_open_1): Use scoped_fd.
11895         (procfs_pidlist): Likewise.
11896         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
11897         (iterate_over_mappings): Likewise.
11898
11899 2018-03-08  Tom Tromey  <tom@tromey.com>
11900
11901         * infcall.c (struct call_return_meta_info)
11902         <stack_temporaries_enabled>: Remove.
11903         (get_call_return_value, call_function_by_hand_dummy): Update.
11904         * thread.c (disable_thread_stack_temporaries): Remove.
11905         (enable_thread_stack_temporaries): Remove.
11906         (thread_stack_temporaries_enabled_p): Return bool.
11907         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
11908         (get_last_thread_stack_temporary): Update.
11909         * eval.c (evaluate_subexp): Update.
11910         * gdbthread.h (class enable_thread_stack_temporaries): Now a
11911         class, not a function.
11912         (value_ptr, value_vec): Remove typedefs.
11913         (class thread_info) <stack_temporaries_enabled>: Now bool.
11914         <stack_temporaries>: Now a std::vector.
11915         (thread_stack_temporaries_enabled_p)
11916         (value_in_thread_stack_temporaries): Return bool.
11917
11918 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
11919
11920         * remote.c (putpkt_binary): Fix omitted bytes reporting.
11921         (getpkt_or_notif_sane_1): Likewise.
11922
11923 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11924
11925         * build-id.c (build_id_to_debug_bfd): Use std::string.
11926
11927 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11928
11929         * build-id.c (find_separate_debug_file_by_buildid): Return
11930         std::string.
11931         * build-id.h (find_separate_debug_file_by_buildid): Return
11932         std::string.
11933         * coffread.c (coff_symfile_read): Adjust to std::string.
11934         * elfread.c (elf_symfile_read): Adjust to std::string.
11935         * symfile.c (separate_debug_file_exists): Change parameter to
11936         std::string.
11937         (find_separate_debug_file): Return std::string.
11938         (find_separate_debug_file_by_debuglink): Return std::string.
11939         * symfile.h (find_separate_debug_file_by_debuglink): Return
11940         std::string.
11941
11942 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11943
11944         * common/xml-utils.c (xml_escape_text): Move code to...
11945         (xml_escape_text_append): ... this new function.
11946         * common/xml-utils.h (xml_escape_text_append): New declaration.
11947         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
11948         New function.
11949         (_initialize_xml_utils): register test_xml_escape_text_append as
11950         a selftest.
11951
11952 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
11953
11954         * defs.h: Remove MAX_REGISTER_SIZE.
11955         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
11956         asserts.
11957         * python/py-unwind.c (pyuw_sniffer): Likewise.
11958
11959 2018-03-07  Tom Tromey  <tom@tromey.com>
11960
11961         * linux-tdep.c (linux_info_proc): Update.
11962         * target.h (struct target_ops) <to_fileio_readlink>: Return
11963         optional<string>.
11964         (target_fileio_readlink): Return optional<string>.
11965         * remote.c (remote_hostio_readlink): Return optional<string>.
11966         * inf-child.c (inf_child_fileio_readlink): Return
11967         optional<string>.
11968         * target.c (target_fileio_readlink): Return optional<string>.
11969
11970 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
11971
11972         * regcache.c (cooked_read_test): Add riscv to the list of
11973         architectures that have a save_reggroup.
11974
11975 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11976
11977         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
11978         value is not a dynamic class object.
11979
11980 2018-03-06  Tom Tromey  <tom@tromey.com>
11981
11982         * rust-exp.y: Formatting fixes.
11983
11984 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11985
11986         * riscv-tdep.c (riscv_register_name): Remove target description
11987         support.
11988         (riscv_gdbarch_init): Remove target description check.
11989
11990 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11991
11992         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
11993         comment.
11994         * riscv-tdep.h: Likewise.
11995
11996 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
11997
11998         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
11999         (riscv_pseudo_register_write): Delete.
12000         (riscv_gdbarch_init): Remove all use of pseudo registers.
12001
12002 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
12003
12004         * record-btrace.c (btrace_print_lines): Replace cleanup
12005         parameter with RAII equivalents.
12006         (btrace_insn_history): Replace cleanup with RAII equivalents.
12007         * ui-out.h (make_cleanup_ui_out_list_begin_end,
12008         make_cleanup_ui_out_tuple_begin_end): Remove.
12009         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
12010         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
12011         make_cleanup_ui_out_list_begin_end): Remove.
12012
12013 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
12014
12015         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
12016         parameter types to std::vector.  Use bool.
12017         (record_btrace_wait): Replace VEC(tp_t) with
12018         std::vector<thread_info *>.
12019         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
12020
12021 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
12022
12023         * record-btrace.c (record_btrace_disable_callback): Remove.
12024         (struct scoped_btrace_disable): New.
12025         (record_btrace_open): Use scoped_btrace_disable.
12026
12027 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12028
12029         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
12030         reading values from registers.
12031
12032 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12033
12034         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
12035         where appropriate.
12036
12037 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12038
12039         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
12040         change parameter type.  Use GDB's print functions, and use
12041         core_addr_to_string where appropriate.
12042         (riscv_push_dummy_call): Use core_addr_to_string where
12043         appropriate, update call to riscv_print_arg_location, and reindent
12044         a few lines.
12045         (riscv_return_value): Update call to riscv_print_arg_location.
12046
12047 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12048             Tim Newsome <tim@sifive.com>
12049             Albert Ou <a0u@eecs.berkeley.edu>
12050             Darius Rad <darius@bluespec.com>
12051
12052         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
12053         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
12054         (ALLDEPFILES): Add riscv-tdep.c
12055         * configure.tgt: Add riscv support.
12056         * riscv-tdep.c: New file.
12057         * riscv-tdep.h: New file.
12058         * NEWS: Mention new target.
12059         * MAINTAINERS: Add entry for riscv.
12060
12061 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12062
12063         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
12064         fields within aggregates.
12065
12066 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
12067
12068         * record-btrace.c (btrace_print_lines): Change type of flags to
12069         gdb_disassembly_flags.
12070
12071 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
12072
12073         * fbsd-nat.c: Include "inf-ptrace.h".
12074         (USE_SIGTRAP_SIGINFO): Conditionally define.
12075         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
12076         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
12077         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
12078         function.
12079         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
12080         Likewise.
12081         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
12082         Likewise.
12083         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
12084         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
12085         "supports_stopped_by_hw_breakpoint" target methods.
12086
12087 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
12088
12089         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
12090         * fbsd-nat.c (debug_fbsd_nat): New variable.
12091         (show_fbsd_nat_debug): New function.
12092         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
12093         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
12094
12095 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
12096
12097         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
12098         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
12099         prototype.
12100         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
12101         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
12102         method.
12103
12104 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12105
12106         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
12107         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
12108
12109 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12110
12111         * charset.c (struct charset_vector): New.
12112         (charsets): Change type to charset_vector.
12113         (find_charset_names): Adjust.
12114         (add_one): Adjust.
12115         (_initialize_charset): Adjust.
12116
12117 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12118
12119         * progspace.h (struct program_space) <deleted_solibs>: Change
12120         type to std::vector<std::string>.
12121         * progspace.c (clear_program_space_solib_cache): Adjust.
12122         * breakpoint.c (print_solib_event): Adjust.
12123         (check_status_catch_solib): Adjust.
12124         * solib.c (update_solib_list): Adjust.
12125         * ui-out.h (class ui_out) <field_string>: New overload.
12126         * ui-out.c (ui_out::field_string): New overload.
12127
12128 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12129
12130         * progspace.h (struct program_space): Add constructor and
12131         destructor, initialize fields.
12132         (add_program_space): Remove.
12133         * progspace.c (add_program_space): Rename to...
12134         (program_space::program_space): ... this.
12135         (release_program_space): Rename to...
12136         (program_space::~program_space): ... this.
12137         (delete_program_space): Use delete to delete program_space.
12138         (initialize_progspace): Use new to allocate program_space.
12139         * inferior.c (add_inferior_with_spaces): Likewise.
12140         (clone_inferior_command): Likewise.
12141         * infrun.c (follow_fork_inferior): Likewise.
12142         (handle_vfork_child_exec_or_exit): Likewise.
12143
12144 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12145
12146         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
12147         (delim_string_to_char_ptr_vec): Return std::vector of
12148         gdb::unique_xmalloc_ptr.
12149         (dirnames_to_char_ptr_vec_append): Take std::vector of
12150         gdb::unique_xmalloc_ptr.
12151         (dirnames_to_char_ptr_vec): Return std::vector of
12152         gdb::unique_xmalloc_ptr.
12153         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
12154         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
12155         (delim_string_to_char_ptr_vec): Return an std::vector of
12156         gdb::unique_xmalloc_ptr, adjust the code.
12157         (dirnames_to_char_ptr_vec_append): Take an std::vector of
12158         gdb::unique_xmalloc_ptr, adjust the code.
12159         (dirnames_to_char_ptr_vec): Return an std::vector of
12160         gdb::unique_xmalloc_ptr, adjust the code.
12161         * auto-load.c (auto_load_safe_path_vec): Change type to
12162         std::vector of gdb::unique_xmalloc_ptr.
12163         (auto_load_expand_dir_vars): Return an std::vector of
12164         gdb::unique_xmalloc_ptr, adjust the code.
12165         (auto_load_safe_path_vec_update): Adjust.
12166         (filename_is_in_auto_load_safe_path_vec): Adjust.
12167         (auto_load_objfile_script_1): Adjust.
12168         * build-id.c (build_id_to_debug_bfd): Adjust.
12169         * linux-thread-db.c (thread_db_load_search): Adjust.
12170         * source.c (add_path): Adjust.
12171         (openp): Adjust.
12172         * symfile.c (find_separate_debug_file): Adjust.
12173         * utils.c (do_free_char_ptr_vec): Remove.
12174         (make_cleanup_free_char_ptr_vec): Remove.
12175
12176 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
12177
12178         PR gdb/22907
12179         * common/pathstuff.c: Conditionally include "<windows.h>".
12180
12181 2018-03-01  Georg Sauthoff  <mail@georg.so>
12182
12183         PR gdb/22888
12184         * gcore.in: Quote variables and switch interpreter to bash.
12185
12186 2018-03-01  Tom Tromey  <tom@tromey.com>
12187
12188         * dwarf2read.c (alloc_discriminant_info): Fix default_index
12189         assertion.  Add assertion for discriminant_index.
12190         (quirk_rust_enum): Use correct base type name in univariant case.
12191
12192 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
12193
12194         * record.c (get_call_history_modifiers): Return a
12195         record_print_flags.
12196         (cmd_record_call_history): Adjust.
12197         * record-btrace.c (record_btrace_call_history): Adjust.
12198         (record_btrace_call_history_range): Adjust.
12199         (record_btrace_call_history_from): Adjust.
12200         * target-debug.h (target_debug_print_record_print_flags): New.
12201         * target-delegates.c: Re-generate.
12202         * target.c (target_call_history): Change flags type.
12203         (target_call_history_from): Likewise.
12204         (target_call_history_range): Likewise.
12205         * target.h (struct target_ops) <target_call_history>: Likewise.
12206         (target_call_history_from): Likewise.
12207         (target_call_history_range): Likewise.
12208
12209 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
12210             Simon Marchi  <simon.marchi@polymtl.ca>
12211
12212         * common/common-utils.c: Include "sys/stat.h".
12213         (is_regular_file): Move here from "source.c"; change return
12214         type to "bool".
12215         * common/common-utils.h (is_regular_file): New prototype.
12216         * common/pathstuff.c (contains_dir_separator): New function.
12217         * common/pathstuff.h (contains_dir_separator): New prototype.
12218         * source.c: Don't include "sys/stat.h".
12219         (is_regular_file): Move to "common/common-utils.c".
12220
12221 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
12222
12223         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
12224         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
12225         * auto-load.c: Include "common/pathstuff.h".
12226         * common/common-def.h (current_directory): Move here.
12227         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
12228         function.
12229         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
12230         prototype.
12231         * common/pathstuff.c: New file.
12232         * common/pathstuff.h: New file.
12233         * compile/compile.c: Include "common/pathstuff.h".
12234         * defs.h (current_directory): Move to "common/common-defs.h".
12235         * dwarf2read.c: Include "common/pathstuff.h".
12236         * exec.c: Likewise.
12237         * guile/scm-safe-call.c: Likewise.
12238         * linux-thread-db.c: Likewise.
12239         * main.c: Likewise.
12240         * nto-tdep.c: Likewise.
12241         * objfiles.c: Likewise.
12242         * source.c: Likewise.
12243         * symtab.c: Likewise.
12244         * utils.c: Include "common/pathstuff.h".
12245         (gdb_realpath): Move to "common/pathstuff.c".
12246         (gdb_realpath_keepfile): Likewise.
12247         (gdb_abspath): Likewise.
12248         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
12249         (gdb_realpath_keepfile): Likewise.
12250         (gdb_abspath): Likewise.
12251
12252 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
12253
12254         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
12255         wildcard process pid for super_resume for kernels with a
12256         specific bug.
12257
12258 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
12259
12260         * compile/compile.c (get_args): Add additional comments
12261         explaining function.
12262
12263 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
12264             Tom Tromey  <tom@tromey.com>
12265
12266         * target.h (memory_write_request_s): Remove typedef.  Don't define
12267         VEC.
12268         (target_write_memory_blocks): Change argument to std::vector.
12269         (struct memory_write_request): Add constructor.
12270         * target-memory.c (compare_block_starting_address): Return bool.
12271         Change argument types.
12272         (claim_memory): Change arguments to use std::vector.
12273         (split_regular_and_flash_blocks, blocks_to_erase)
12274         (compute_garbled_blocks): Likewise.
12275         (cleanup_request_data, cleanup_write_requests_vector): Remove.
12276         (target_write_memory_blocks): Change argument to std::vector.
12277         * symfile.c (struct load_section_data): Add constructor and
12278         destructor.  Use std::vector for "requests".
12279         (struct load_progress_data): Add initializers.
12280         (load_section_callback): Update.  Use "new".
12281         (clear_memory_write_data): Remove.
12282         (generic_load): Update.
12283
12284 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
12285
12286         * arch/aarch64.h: Use common/tdesc.h.
12287
12288 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
12289
12290         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
12291         architecture with a 64-bit ABI.
12292
12293 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
12294
12295         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
12296         ahead of target description loading.
12297
12298 2018-02-26  Tom Tromey  <tom@tromey.com>
12299
12300         * stack.c (backtrace_command_1): Update.
12301         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
12302         of "flags".
12303         * python/py-framefilter.c (py_print_frame)
12304         (gdbpy_apply_frame_filter): Change type of "flags".
12305         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
12306         of "flags".
12307         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
12308         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
12309         * extension.h (enum frame_filter_flag): Rename from
12310         frame_filter_flags.
12311         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
12312         (apply_ext_lang_frame_filter): Change type of "flags".
12313         * extension.c (apply_ext_lang_frame_filter): Change type of
12314         "flags".
12315         * extension-priv.h (struct extension_language_ops)
12316         <apply_frame_filter>: Change type of "flags".
12317
12318 2018-02-26  Tom Tromey  <tom@tromey.com>
12319
12320         PR python/16497:
12321         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
12322         off-by-one in py_end computation.
12323         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
12324         PRINT_MORE_FRAMES.
12325         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
12326         constant.
12327
12328 2018-02-26  Tom Tromey  <tom@tromey.com>
12329
12330         * dwarf2read.c (struct variant_field): New.
12331         (struct nextfield) <variant>: New field.
12332         (dwarf2_add_field): Handle DW_TAG_variant_part.
12333         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
12334         discriminated union.
12335         (read_structure_type): Handle DW_TAG_variant_part.
12336         (handle_struct_member_die): New function, extracted from
12337         process_structure_scope.  Handle DW_TAG_variant.
12338         (process_structure_scope): Handle discriminated unions.  Call
12339         handle_struct_member_die.
12340
12341 2018-02-26  Tom Tromey  <tom@tromey.com>
12342
12343         * rust-lang.h (rust_last_path_segment): Declare.
12344         * rust-lang.c (rust_last_path_segment): Now public.  Change
12345         contract.
12346         (struct disr_info): Remove.
12347         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
12348         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
12349         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
12350         (rust_enum_p, rust_enum_variant): New function.
12351         (rust_underscore_fields): Remove "offset" parameter.
12352         (rust_print_enum): New function.
12353         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
12354         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
12355         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
12356         enums.
12357         (rust_internal_print_type): New function, from rust_print_type.
12358         Remove enum code.
12359         (rust_print_type): Call rust_internal_print_type.
12360         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
12361         Update enum handling.
12362         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
12363         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
12364         (rust_union_quirks): New functions.
12365         (process_full_comp_unit, process_full_type_unit): Call
12366         rust_union_quirks.
12367         (process_structure_scope): Update rust_unions if necessary.
12368
12369 2018-02-26  Tom Tromey  <tom@tromey.com>
12370
12371         * value.h (value_union_variant): Declare.
12372         * valops.c (value_union_variant): New function.
12373         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
12374         (struct discriminant_info): New.
12375         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
12376         enumerator.
12377         (struct main_type) <flag_discriminated_union>: New field.
12378
12379 2018-02-26  Tom Tromey  <tom@tromey.com>
12380
12381         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12382         unittests/unpack-selftests.c.
12383         * unittests/unpack-selftests.c: New file.
12384         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
12385
12386 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12387
12388         * dwarf2read.c (struct partial_die_info) <read>: New method.
12389         (read_partial_die): Remove the declaration.
12390         (load_partial_dies): Update.
12391         (partial_die_info::partial_die_info):
12392         (read_partial_die): Change it to partial_die_info::read.
12393
12394 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12395
12396         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
12397         (fixup_partial_die): Remove declaration.
12398         (scan_partial_symbols): Update.
12399         (partial_die_parent_scope): Likewise.
12400         (partial_die_full_name): Likewise.
12401         (fixup_partial_die): Change it to partial_die_info::fixup.
12402
12403 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12404
12405         * dwarf2read.c (read_partial_die): Update the declaration.
12406         (load_partial_dies): Caller update.
12407         (read_partial_die): Remove one argument abbrev_len.
12408
12409 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12410
12411         * dwarf2read.c (struct partial_die_info): Add ctor, delete
12412         assignment operator.
12413         (load_partial_dies): Use ctor and copy ctor.
12414         (read_partial_die): Update.
12415         (dwarf2_cu::find_partial_die): Use ctor.
12416
12417 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12418
12419         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
12420         (find_partial_die_in_comp_unit): Change it to
12421         dwarf2_cu::find_partial_die.
12422         (find_partial_die): Update.
12423
12424 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12425
12426         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
12427         is NULL.
12428
12429 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12430
12431         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
12432
12433 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
12434
12435         * arch/amd64.h: Use common/tdesc.h.
12436         * arch/i386.c: Likewise.
12437         * arch/i386.h: Likewise.
12438         * arch/tic6x.c: Likewise.
12439         * arch/tdesc.h: Move file from here...
12440         * common/tdesc.h: ...to here.
12441         * features/aarch64-core.c: Regenerate.
12442         * features/aarch64-fpu.c: Regenerate.
12443         * features/i386/32bit-avx.c: Regenerate.
12444         * features/i386/32bit-avx512.c: Regenerate.
12445         * features/i386/32bit-core.c: Regenerate.
12446         * features/i386/32bit-linux.c: Regenerate.
12447         * features/i386/32bit-mpx.c: Regenerate.
12448         * features/i386/32bit-pkeys.c: Regenerate.
12449         * features/i386/32bit-sse.c: Regenerate.
12450         * features/i386/64bit-avx.c: Regenerate.
12451         * features/i386/64bit-avx512.c: Regenerate.
12452         * features/i386/64bit-core.c: Regenerate.
12453         * features/i386/64bit-linux.c: Regenerate.
12454         * features/i386/64bit-mpx.c: Regenerate.
12455         * features/i386/64bit-pkeys.c: Regenerate.
12456         * features/i386/64bit-segments.c: Regenerate.
12457         * features/i386/64bit-sse.c: Regenerate.
12458         * features/i386/x32-core.c: Regenerate.
12459         * features/tic6x-c6xp.c: Regenerate.
12460         * features/tic6x-core.c: Regenerate.
12461         * features/tic6x-gp.c: Regenerate.
12462         * target-descriptions.c: Use common/tdesc.h.
12463         * target-descriptions.h: Likewise.
12464
12465 2018-02-24  Tom Tromey  <tom@tromey.com>
12466
12467         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
12468         (try_thread_db_load_from_dir, thread_db_load_search): Use
12469         std::string.
12470         (info_auto_load_libthread_db_compare): Return bool.  Change
12471         argument types.
12472         (info_auto_load_libthread_db): Use std::vector, std::string.
12473         Remove cleanups.
12474
12475 2018-02-24  Tom Tromey  <tom@tromey.com>
12476
12477         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
12478         std::string.
12479         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
12480         std::string*.
12481         * gdbarch.c: Rebuild.
12482         * gdbarch.h: Rebuild.
12483         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
12484         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
12485         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
12486         std::string*.
12487
12488 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
12489
12490         * gdbtypes.h (sect_offset): Change type to uint64_t.
12491         (sect_offset_str): New function.
12492         * dwarf2read.c (create_addrmap_from_aranges): Use
12493         sect_offset_str.
12494         (error_check_comp_unit_head): Likewise.
12495         (create_debug_type_hash_table): Likewise.
12496         (read_cutu_die_from_dwo): Likewise.
12497         (init_cutu_and_read_dies): Likewise.
12498         (init_cutu_and_read_dies_no_follow): Likewise.
12499         (process_psymtab_comp_unit_reader): Likewise.
12500         (partial_die_parent_scope): Likewise.
12501         (peek_die_abbrev): Likewise.
12502         (process_queue): Likewise.
12503         (dwarf2_physname): Likewise.
12504         (read_namespace_alias): Likewise.
12505         (read_import_statement): Likewise.
12506         (create_dwo_cu_reader): Likewise.
12507         (create_cus_hash_table): Likewise.
12508         (lookup_dwo_cutu): Likewise.
12509         (inherit_abstract_dies): Likewise.
12510         (read_func_scope): Likewise.
12511         (read_call_site_scope): Likewise.
12512         (dwarf2_add_member_fn): Likewise.
12513         (read_common_block): Likewise.
12514         (read_module_type): Likewise.
12515         (read_typedef): Likewise.
12516         (read_subrange_type): Likewise.
12517         (load_partial_dies): Likewise.
12518         (read_partial_die): Likewise.
12519         (find_partial_die): Likewise.
12520         (read_str_index): Likewise.
12521         (dwarf2_string_attr): Likewise.
12522         (build_error_marker_type): Likewise.
12523         (lookup_die_type): Likewise.
12524         (dump_die_shallow): Likewise.
12525         (follow_die_ref): Likewise.
12526         (dwarf2_fetch_die_loc_sect_off): Likewise.
12527         (dwarf2_fetch_constant_bytes): Likewise.
12528         (follow_die_sig): Likewise.
12529         (get_signatured_type): Likewise.
12530         (get_DW_AT_signature_type): Likewise.
12531         (dwarf2_find_containing_comp_unit): Likewise.
12532         (set_die_type): Likewise.
12533
12534 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
12535
12536         * arch/aarch64.c: Include "common-defs.h".
12537         * arch/amd64.c: Likewise.
12538         * arch/i386.c: Likewise.
12539
12540 2018-02-21  Tom Tromey  <tom@tromey.com>
12541
12542         * value.h: (extract_field_op): Update.
12543         * eval.c (extract_field_op): Return a const char *.
12544         * expression.h (parse_expression_for_completion): Update.
12545         * completer.c (complete_expression): Update.
12546         (add_struct_fields): Make fieldname const.
12547         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
12548         (mark_completion_tag, parse_exp_in_context_1): Update.
12549         (parse_expression_for_completion): Change "name" to
12550         unique_xmalloc_ptr*.
12551
12552 2018-02-21  Tom Tromey  <tom@tromey.com>
12553
12554         * infcall.c (call_function_by_hand_dummy): Use std::vector.
12555
12556 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12557
12558         * avr-tdep.c (avr_read_pc): Change parameter type to
12559         readable_regcache.
12560         * gdbarch.sh (read_pc): Likewise.
12561         * gdbarch.c: Re-generated.
12562         * gdbarch.h: Re-generated.
12563         * hppa-tdep.c (hppa_read_pc): Change parameter type to
12564         readable_regcache.
12565         * ia64-tdep.c (ia64_read_pc): Likewise.
12566         * mips-tdep.c (mips_read_pc): Likewise.
12567         * spu-tdep.c (spu_read_pc): Likewise.
12568
12569 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12570
12571         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
12572         * regcache-dump.c: New file.
12573         * regcache.c: Move register_dump to regcache-dump.c.
12574         (maintenance_print_registers): Likewise.
12575         (maintenance_print_raw_registers): Likewise.
12576         (maintenance_print_cooked_registers): Likewise.
12577         (maintenance_print_register_groups): Likewise.
12578         (maintenance_print_remote_registers): Likewise.
12579         (_initialize_regcache): Likewise.
12580         * regcache.h (register_dump): Moved from regcache.c.
12581
12582 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12583
12584         * regcache.c (regcache::regcache): Update.
12585         (regcache::invalidate): Move it to detached_regcache::invalidate.
12586         (get_thread_arch_aspace_regcache): Update.
12587         (regcache::raw_update): Update.
12588         (regcache::cooked_read): Remove some code.
12589         (regcache::cooked_read_value): Likewise.
12590         (regcache::raw_write): Remove assert on m_readonly_p.
12591         (regcache::raw_supply_integer): Move it to
12592         detached_regcache::raw_supply_integer.
12593         (regcache::raw_supply_zeroed): Likewise.
12594         * regcache.h (detached_regcache) <raw_supply_integer>: New
12595         declaration.
12596         <raw_supply_zeroed, invalidate>: Likewise.
12597         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
12598         <invalidate>: Likewise.
12599         <m_readonly_p>: Removed.
12600
12601 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12602
12603         * infcmd.c (get_return_value): Let stop_regs point to
12604         get_current_regcache.
12605         * regcache.c (regcache::regcache): Remove.
12606         (register_dump_reg_buffer): New class.
12607         (regcache_print): Adjust.
12608         * regcache.h (regcache): Remove constructors.
12609
12610 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12611
12612         * regcache.c (class register_dump): New class.
12613         (register_dump_regcache, register_dump_none): New class.
12614         (register_dump_remote, register_dump_groups): New class.
12615         (regcache_print): Update.
12616         * regcache.h (regcache_dump_what): Move it to regcache.c.
12617         (regcache) <dump>: Remove.
12618
12619 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12620
12621         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
12622          reg_buffer_rw *.
12623         (jit_unwind_reg_set_impl): Call raw_supply.
12624         (jit_frame_sniffer): Use reg_buffer_rw.
12625         * record-full.c (record_full_core_regbuf): Change its type.
12626         (record_full_core_open_1): Use reg_buffer_rw.
12627         (record_full_close): Likewise.
12628         (record_full_core_fetch_registers): Use regcache->raw_supply.
12629         (record_full_core_store_registers): Likewise.
12630         * regcache.c (regcache::get_register_status): Move it to
12631         reg_buffer.
12632         (regcache_raw_set_cached_value): Remove.
12633         (regcache::raw_set_cached_value): Remove.
12634         (regcache::raw_write): Call raw_supply.
12635         (regcache::raw_supply): Move it to reg_buffer_rw.
12636         * regcache.h (regcache_raw_set_cached_value): Remove.
12637         (reg_buffer_rw): New class.
12638
12639 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12640
12641         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
12642         readonly_detached_regcache.
12643         (dummy_frame_prev_register): Use regcache->cooked_read.
12644         * frame.c (frame_save_as_regcache): Change return type.
12645         (frame_pop): Update.
12646         * frame.h (frame_save_as_regcache): Update declaration.
12647         * inferior.h (get_infcall_suspend_state_regcache): Update
12648         declaration.
12649         * infrun.c (infcall_suspend_state) <registers>: use
12650         readonly_detached_regcache.
12651         (save_infcall_suspend_state): Don't use regcache_dup.
12652         (get_infcall_suspend_state_regcache): Change return type.
12653         * linux-fork.c (struct fork_info) <savedregs>: Change to
12654         readonly_detached_regcache.
12655         <pc>: New field.
12656         (fork_save_infrun_state): Don't use regcache_dup.
12657         (info_checkpoints_command): Adjust.
12658         * mi/mi-main.c (register_changed_p): Update declaration.
12659         (mi_cmd_data_list_changed_registers): Use
12660         readonly_detached_regcache.
12661         (register_changed_p): Change parameter type to
12662         readonly_detached_regcache.
12663         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
12664         readonly_detached_regcache.
12665         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
12666         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
12667         New.
12668         (regcache::save): Move it to reg_buffer.
12669         (regcache::restore): Change parameter type.
12670         (regcache_dup): Remove.
12671         * regcache.h (reg_buffer) <save>: New method.
12672         (readonly_detached_regcache): New class.
12673         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
12674         readonly_detached_regcache.
12675         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
12676
12677 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12678
12679         * frame.c (frame_save_as_regcache): Use regcache method save.
12680         (frame_pop): Use regcache method restore.
12681         * infrun.c (restore_infcall_suspend_state): Likewise.
12682         * linux-fork.c (fork_load_infrun_state): Likewise.
12683         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
12684         save.
12685         * regcache.c (regcache_save): Remove.
12686         (regcache::restore): More asserts.
12687         (regcache_cpy): Remove.
12688         * regcache.h (regcache_save): Remove the declaration.
12689         (regcache::restore): Move from private to public.
12690         Remove the friend declaration of regcache_cpy.
12691         (regcache_cpy): Remove declaration.
12692
12693 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12694
12695         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
12696         parameter type to 'readable_regcache *'.
12697         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12698         * arm-tdep.c (arm_neon_quad_read): Likewise.
12699         (arm_pseudo_read): Likewise.
12700         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12701         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12702         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12703         * gdbarch.c: Re-generated.
12704         * gdbarch.h: Re-generated.
12705         * gdbarch.sh (pseudo_register_read): Change parameter type to
12706         'readable_regcache *'.
12707         (pseudo_register_read_value): Likewise.
12708         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
12709         (h8300_pseudo_register_read): Likewise.
12710         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
12711         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12712         (i386_pseudo_register_read_into_value): Likewise.
12713         (i386_pseudo_register_read_value): Likewise.
12714         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
12715         declaration.
12716         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
12717         * m32c-tdep.c (m32c_raw_read): Likewise.
12718         (m32c_read_flg): Likewise.
12719         (m32c_banked_register): Likewise.
12720         (m32c_banked_read): Likewise.
12721         (m32c_sb_read): Likewise.
12722         (m32c_part_read): Likewise.
12723         (m32c_cat_read): Likewise.
12724         (m32c_r3r2r1r0_read): Likewise.
12725         (m32c_pseudo_register_read): Likewise.
12726         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12727         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12728         (mep_pseudo_cr64_read): Likewise.
12729         (mep_pseudo_register_read): Likewise.
12730         * mips-tdep.c (mips_pseudo_register_read): Likewise.
12731         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12732         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12733         * regcache.c (regcache::raw_read): Move it to readable_regcache.
12734         (regcache::cooked_read): Likewise.
12735         (regcache::cooked_read_value): Likewise.
12736         (regcache_cooked_read_signed):
12737         (regcache::cooked_read): Likewise.
12738         * regcache.h (readable_regcache): New class.
12739         (regcache): Inherit readable_regcache.  Move some methods to
12740         readable_regcache.
12741         * rl78-tdep.c (rl78_pseudo_register_read): Change
12742         parameter type to 'readable_regcache *'.
12743         * rs6000-tdep.c (do_regcache_raw_read): Remove.
12744         (e500_pseudo_register_read): Change parameter type to
12745         'readable_regcache *'.
12746         (dfp_pseudo_register_read): Likewise.
12747         (vsx_pseudo_register_read): Likewise.
12748         (efpr_pseudo_register_read): Likewise.
12749         * s390-tdep.c (s390_pseudo_register_read): Likewise.
12750         * sh-tdep.c (sh_pseudo_register_read): Likewise.
12751         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
12752         (sh64_pseudo_register_read): Likewise.
12753         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
12754         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12755         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
12756         (spu_pseudo_register_read): Likewise.
12757         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12758         (xtensa_pseudo_register_read): Likewise.
12759
12760 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12761
12762         * regcache.c (regcache::regcache): Call reg_buffer ctor.
12763         (regcache::arch): Move it to reg_buffer::arch.
12764         (regcache::register_buffer): Likewise.
12765         (regcache::assert_regnum): Likewise.
12766         (regcache::num_raw_registers): Likewise.
12767         * regcache.h (reg_buffer): New class.
12768         (regcache): Inherit reg_buffer.
12769
12770 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
12771
12772         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
12773         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
12774
12775 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
12776
12777         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
12778
12779 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
12780
12781         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
12782         (SFILES): Remove common/*.c files.
12783         (COMMON_OBS): Remove some *.o files built from common/*.c files.
12784         * common/common.host: Add common reference.
12785         * configure.ac: Likewise.
12786         * configure: Regenerate.
12787
12788 2018-02-16  Yao Qi  <yao.qi@linaro.org>
12789
12790         * block.c (block_namespace_info): Inherit allocate_on_obstack.
12791         (block_initialize_namespace): Use new.
12792         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
12793         (dwarf2_free_objfile): Use delete.
12794         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
12795         (copy_type_recursive): Use new.
12796         * gdb_obstack.h (allocate_on_obstack): New.
12797
12798 2018-02-15  Yao Qi  <yao.qi@linaro.org>
12799
12800         PR gdb/22849
12801         * inferior.c (exit_inferior_1): Reset inf->control.
12802
12803 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
12804
12805         * ada-lang.c (ada_to_fixed_value_create): Delete advance
12806         declaration.
12807
12808 2018-02-14  Pedro Alves  <palves@redhat.com>
12809
12810         * frame-unwind.c (frame_unwind_try_unwinder): Always call
12811         frame_cleanup_after_sniffer on exception.
12812
12813 2018-02-14  Tom Tromey  <tom@tromey.com>
12814
12815         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
12816         const.
12817         (solib_bfd_open): Make pathname const.
12818         * solib.c (solib_bfd_open): Make pathname const.
12819         * solib-spu.c (spu_bfd_fopen): Make name const.
12820         (spu_bfd_open): Make pathname const.
12821         * solib-darwin.c (darwin_bfd_open): Make pathname const.
12822         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
12823
12824 2018-02-14  Tom Tromey  <tom@tromey.com>
12825
12826         * symfile.c (symfile_bfd_open): Update.
12827         * source.h (openp, source_full_path_of, find_and_open_source):
12828         Change argument type to unique_xmalloc_ptr.
12829         * source.c (openp): Take a unique_xmalloc_ptr.
12830         (source_full_path_of, find_and_open_source): Likewise.
12831         (open_source_file, symtab_to_fullname): Update.
12832         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
12833         unique_xmalloc_ptr.
12834         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
12835         (exec_file_find): Update.
12836         * psymtab.c (psymtab_to_fullname): Update.
12837         * nto-tdep.h (nto_find_and_open_solib): Update.
12838         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
12839         unique_xmalloc_ptr.
12840         * exec.c (exec_file_attach): Update.
12841         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
12842         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
12843
12844 2018-02-14  Tom Tromey  <tom@tromey.com>
12845
12846         * solib.c: Include source.h.
12847         * nto-tdep.c: Include source.h.
12848         * mi/mi-cmd-env.c: Include source.h.
12849         * infcmd.c: Include source.h.
12850         * exec.c: Include source.h.
12851         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
12852         (add_path, directory_switch, source_path, init_source_path): Move
12853         declarations...
12854         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
12855         (add_path, directory_switch, source_path, init_source_path):
12856         ...here.
12857
12858 2018-02-14  Tom Tromey  <tom@tromey.com>
12859
12860         * solist.h (exec_file_find, solib_find): Return
12861         unique_xmalloc_ptr.
12862         (solib_bfd_fopen): Take a const char *.
12863         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
12864         (exec_file_find, solib_find): Likewise.
12865         (solib_bfd_fopen): Do not take ownership of "pathname".
12866         (solib_bfd_open): Use unique_xmalloc_ptr.
12867         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
12868         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
12869         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
12870         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
12871
12872 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
12873
12874         * ada-lang.c (name_match_type_from_name): Remove reference to
12875         ada_name_for_lookup in function's documentation.
12876         * ada-lang.h (ada_name_for_lookup): Delete declaration.
12877
12878 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12879
12880         * defs.h (enum openp_flags): New enum.
12881         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
12882         Move to enum openp_flags.
12883         (openp_flags): New enum flags.
12884         (openp): Change parameter type to openp_flags.
12885         * source.c (openp): Change parameter type to openp_flags.
12886         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
12887         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
12888
12889 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12890
12891         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
12892         per-command.
12893
12894 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
12895
12896         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
12897         into...
12898         (class dwarf2_queue_guard): ...the destructor of this new class.
12899         (dw2_do_instantiate_symtab): Create instance of the new class
12900         dwarf2_queue_guard, remove cleanup.
12901
12902 2018-02-09  Tom Tromey  <tom@tromey.com>
12903
12904         * source.c (find_source_lines): Don't reference past the end of
12905         the vector.
12906
12907 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12908
12909         * remote.c (remote_btrace_maybe_reopen): Change error message.
12910         * btrace.c (btrace_enable): Likewise.
12911         (parse_xml_btrace): Likewise.
12912         (parse_xml_btrace_conf): Likewise.
12913
12914 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12915
12916         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
12917         (linux_enable_pt, linux_enable_bts): Call
12918         diagnose_perf_event_open_fail.
12919
12920 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12921
12922         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
12923         Remove parameter and change return type.  Update callers.  Move it.
12924         (linux_enable_bts, linux_enable_pt): Improve error message.
12925         (linux_enable_pt): Remove zero buffer size check.
12926         (linux_enable_btrace): Improve error messages.  Remove NULL return
12927         check.
12928
12929 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12930
12931         * btrace.c (btrace_enable): Remove target_supports_btrace call.
12932         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
12933         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
12934         (linux_supports_pt, linux_supports_btrace): Remove.
12935         (linux_enable_bts): Call cpu_supports_bts.
12936         * nat/linux-btrace.h (linux_supports_btrace): Remove.
12937         * remote.c (remote_supports_btrace): Remove.
12938         (init_remote_ops): Remove remote_supports_btrace.
12939         * target-delegates.c: Regenerated.
12940         * target.c (target_supports_btrace): Remove.
12941         * target.h (target_ops) <to_supports_btrace>: Remove
12942         (target_supports_btrace): Remove.
12943         * x86-linux-nat.c (x86_linux_create_target): Remove
12944         linux_supports_btrace.
12945
12946 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12947
12948         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
12949         btrace failed.
12950         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
12951         exception and use message in own exception.
12952
12953 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12954
12955         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
12956         (perf_event_pt_event_type): Use gdb_file_up.
12957         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
12958         scoped_fd, and scoped_mmap.
12959
12960 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12961
12962         * common/scoped_mmap.h: New.
12963         * unittests/scoped_mmap-selftest.c: New.
12964         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12965         unittests/scoped_mmap-selftest.c.
12966
12967 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12968
12969         * common/scoped_fd.h: New.
12970         * unittests/scoped_fd-selftest.c: New.
12971         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12972         unittests/scoped_fd-selftest.c.
12973
12974 2018-02-09  Tom Tromey  <tom@tromey.com>
12975
12976         * auto-load.c (auto_load_section_scripts): Use
12977         gdb::unique_xmalloc_ptr.
12978
12979 2018-02-09  Tom Tromey  <tom@tromey.com>
12980
12981         * auto-load.c (execute_script_contents): Use std::string.
12982
12983 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
12984
12985         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
12986         Python function, rather than a new command.
12987
12988 2018-02-08  Tom Tromey  <tom@tromey.com>
12989
12990         * solib.c (solib_find_1): Use std::string.
12991         (solib_bfd_fopen): Use unique_xmalloc_ptr.
12992
12993 2018-02-08  Tom Tromey  <tom@tromey.com>
12994
12995         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
12996
12997 2018-02-08  Tom Tromey  <tom@tromey.com>
12998
12999         * source.c (find_source_lines): Use gdb::def_vector.
13000
13001 2018-02-08  Tom Tromey  <tom@tromey.com>
13002
13003         * macrocmd.c (struct temporary_macro_definition): New.
13004         (macro_define_command): Use temporary_macro_definition.  Remove
13005         cleanups.
13006         (free_macro_definition_ptr): Remove.
13007
13008 2018-02-08  Tom Tromey  <tom@tromey.com>
13009
13010         * macroexp.c (maybe_expand): Use std::string.
13011
13012 2018-02-08  Tom Tromey  <tom@tromey.com>
13013
13014         * macroexp.c (struct macro_buffer): Add initializers for some
13015         members.
13016         (init_buffer, init_shared_buffer, free_buffer)
13017         (free_buffer_return_text): Remove.
13018         (macro_buffer): New constructors.
13019         (~macro_buffer): New destructor.
13020         (macro_buffer::set_shared): New method.
13021         (macro_buffer::resize_buffer, macro_buffer::appendc)
13022         (macro_buffer::appendmem): Now methods, not free functions.
13023         (set_token, append_tokens_without_splicing, stringify)
13024         (macro_stringify): Update.
13025         (gather_arguments): Change return type.  Remove argc_p argument,
13026         add args_ptr argument.  Use std::vector.
13027         (substitute_args): Remove argc argument.  Accept std::vector.
13028         (expand): Update.  Use std::vector.
13029         (scan, macro_expand, macro_expand_next): Update.
13030
13031 2018-02-08  Tom Tromey  <tom@tromey.com>
13032
13033         * symtab.c (default_collect_symbol_completion_matches_break_on):
13034         Use unique_xmalloc_ptr.
13035         * macroscope.h: (sal_macro_scope, user_macro_scope)
13036         (default_macro_scope): Return unique_xmalloc_ptr.
13037         * macroscope.c (sal_macro_scope, user_macro_scope)
13038         (default_macro_scope): Return unique_xmalloc_ptr.
13039         * macroexp.h (macro_expand, macro_expand_once): Return
13040         unique_xmalloc_ptr.
13041         * macroexp.c (macro_expand, macro_expand_once): Return
13042         unique_xmalloc_ptr.
13043         * macrocmd.c (macro_expand_command, macro_expand_once_command)
13044         (info_macro_command, info_macros_command): Use
13045         unique_xmalloc_ptr.
13046         * compile/compile-c-support.c (write_macro_definitions): Use
13047         unique_xmalloc_ptr.
13048         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
13049
13050 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
13051
13052         * value.c (value_static_field): Assign field type instead of
13053         containing type when returning an optimized out value.
13054
13055 2018-02-06  Yao Qi  <yao.qi@linaro.org>
13056
13057         * ft32-tdep.c (ft32_read_pc): Remove.
13058         (ft32_write_pc): Remove.
13059         (ft32_gdbarch_init): Update.
13060         * m32r-tdep.c (m32r_read_pc): Remove.
13061         (m32r_gdbarch_init): Update.
13062         * mep-tdep.c (mep_read_pc): Remove.
13063         (mep_gdbarch_init): Update.
13064         * microblaze-tdep.c (microblaze_write_pc): Remove.
13065         (microblaze_gdbarch_init): Update.
13066         * mn10300-tdep.c (mn10300_read_pc): Remove.
13067         (mn10300_write_pc): Remove.
13068         (mn10300_gdbarch_init): Update.
13069         * moxie-tdep.c (moxie_read_pc): Remove.
13070         (moxie_write_pc): Remove.
13071         (moxie_gdbarch_init): Update.
13072
13073 2018-02-06  Yao Qi  <yao.qi@linaro.org>
13074
13075         * expprint.c (print_subexp_standard): Handle
13076         OP_F77_UNDETERMINED_ARGLIST.
13077         (dump_subexp_body_standard): Likewise.
13078
13079 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
13080
13081         * target-descriptions.c (tdesc_element_visitor) Add empty
13082         implementations.
13083         (tdesc_type): Move make_gdb_type from here.
13084         (tdesc_type_builtin): Likewise.
13085         (tdesc_type_vector): Likewise.
13086         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
13087         (make_gdb_type_struct): Move from tdesc_type_with_fields.
13088         (make_gdb_type_union): Likewise.
13089         (make_gdb_type_flags): Likewise.
13090         (make_gdb_type_enum): Likewise.
13091         (make_gdb_type): New function.
13092         (tdesc_register_type): Use static make_gdb_type.
13093
13094 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
13095
13096         * infcmd.c (default_print_one_register_info): Align natural-format
13097         column values consistently one under another.
13098         (pad_to_column): New function.
13099
13100 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
13101
13102         * dwarf2read.c (dwarf2_physname): Move commment.
13103
13104 2018-02-01  Leszek Swirski  <leszeks@google.com>
13105
13106         * varobj.c (varobj_formatted_print_options): Allow recursive
13107         pretty printing if pretty printing is enabled.
13108
13109 2018-02-01  Leszek Swirski  <leszeks@google.com>
13110
13111         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
13112         names after a structop as a filename.
13113
13114 2018-02-01  Yao Qi  <yao.qi@linaro.org>
13115
13116         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
13117         (arm_record_coproc_data_proc): Likewise.
13118
13119 2018-02-01  Yao Qi  <yao.qi@linaro.org>
13120
13121         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
13122
13123 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
13124
13125         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
13126         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
13127
13128 2018-01-31  Pedro Alves  <palves@redhat.com>
13129
13130         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
13131         * inflow.c (child_terminal_save_inferior): Wrap reference to
13132         tcgetpgrp in HAVE_TERMIOS_H.
13133         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
13134         _WIN32.
13135         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
13136         always iterate over all inferiors.
13137         (gdbsim_cntrl_c): Adjust.
13138         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
13139
13140 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
13141
13142         * gdbtypes.c (lookup_array_range_type): Make sure the array's
13143         index type is objfile-owned if the element type is as well.
13144
13145 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
13146
13147         GDB 8.1 released.
13148
13149 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13150
13151         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
13152         "features/s390x-linux64.c".
13153         (_initialize_s390_linux_tdep): Remove initialization of tdescs
13154         s390_linux32 and s390x_linux64.
13155         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
13156         default tdesc.
13157         * s390-tdep.c: Include "features/s390-linux32.c" and
13158         "features/s390x-linux64.c".
13159         (s390_tdesc_valid): Add check for tdesc_has_registers.
13160         (s390_gdbarch_init): Make sure there is always a valid tdesc.
13161         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
13162         tdesc_s390x_linux64.
13163         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
13164         tdesc_s390x_linux64 to...
13165         * s390-tdep.h: ...here.
13166
13167 2018-01-30  Pedro Alves  <palves@redhat.com>
13168
13169         PR gdb/13211
13170         * config.in, configure: Regenerate.
13171         * configure.ac: Check for getpgid.
13172         * go32-nat.c (go32_pass_ctrlc): New.
13173         (go32_target): Install it.
13174         * inf-child.c (inf_child_target): Install
13175         child_terminal_save_inferior, child_pass_ctrlc and
13176         child_interrupt.
13177         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
13178         (inf_ptrace_target): No longer install it.
13179         * infcmd.c (interrupt_target_1): Adjust.
13180         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
13181         (child_interrupt): Declare.
13182         (inferior::terminal_state): New.
13183         * inflow.c (struct terminal_info): Update comments.
13184         (inferior_process_group): Delete.
13185         (terminal_is_ours): Delete.
13186         (gdb_tty_state): New.
13187         (child_terminal_init): Adjust.
13188         (is_gdb_terminal, sharing_input_terminal_1)
13189         (sharing_input_terminal): New functions.
13190         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
13191         Set the process's actual process group in the foreground if
13192         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
13193         mark terminal as the inferior's if not sharing GDB's terminal.
13194         Don't check attach_flag.
13195         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
13196         pass down a target_terminal_state.
13197         (child_terminal_save_inferior): New, factored out from ...
13198         (child_terminal_ours_1): ... this.  Handle
13199         target_terminal_state::is_ours_for_output.
13200         (child_interrupt, child_pass_ctrlc): New.
13201         (inflow_inferior_exit): Clear the inferior's terminal_state.
13202         (copy_terminal_info): Copy the inferior's terminal state.
13203         (_initialize_inflow): Remove reference to terminal_is_ours.
13204         * inflow.h (inferior_process_group): Delete.
13205         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
13206         * procfs.c (procfs_target): Don't install procfs_interrupt.
13207         (procfs_interrupt): Delete.
13208         * remote.c (remote_serial_quit_handler): Adjust.
13209         (remote_interrupt): Remove ptid parameter.  Adjust.
13210         * target-delegates.c: Regenerate.
13211         * target.c: Include "terminal.h".
13212         (target_terminal::terminal_state): Rename to ...
13213         (target_terminal::m_terminal_state): ... this.
13214         (target_terminal::init): Adjust.
13215         (target_terminal::inferior): Adjust to per-inferior
13216         terminal_state.
13217         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
13218         (target_terminal::ours, target_terminal::ours_for_output): Use
13219         target_terminal_is_ours_kind.
13220         (target_interrupt): Remove ptid parameter.  Adjust.
13221         (default_target_pass_ctrlc): Adjust.
13222         * target.h (target_ops::to_terminal_save_inferior): New field.
13223         (target_ops::to_interrupt): Remove ptid_t parameter.
13224         (target_interrupt): Remove ptid_t parameter.  Update comment.
13225         (target_pass_ctrlc): Update comment.
13226         * target/target.h (target_terminal_state): New scoped enum,
13227         factored out of ...
13228         (target_terminal::terminal_state): ... here.
13229         (target_terminal::inferior): Update comments.
13230         (target_terminal::restore_inferior): New.
13231         (target_terminal::is_inferior, target_terminal::is_ours)
13232         (target_terminal::is_ours_for_output): Adjust.
13233         (target_terminal::scoped_restore_terminal_state): Adjust to
13234         rename, and call restore_inferior() instead of inferior().
13235         (target_terminal::scoped_restore_terminal_state::m_state): Change
13236         type.
13237         (target_terminal::terminal_state): Rename to ...
13238         (target_terminal::m_terminal_state): ... this and change type.
13239
13240 2018-01-30  Pedro Alves  <palves@redhat.com>
13241
13242         * linux-nat.c (wait_for_signal): New function.
13243         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
13244         directly.
13245         (async_terminal_is_ours)
13246         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
13247         (linux_nat_add_target): Don't override
13248         to_terminal_inferior/to_terminal_ours.
13249
13250 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
13251
13252         * remote.c (remote_follow_fork): Don't call "detach_inferior".
13253
13254 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
13255
13256         * dwarf2read.c (free_dwo_files): Add forward-declaration.
13257         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
13258         dwarf2_per_objfile_free here.
13259         (dwarf2_per_objfile_free): Remove.
13260         (_initialize_dwarf2_read): Don't register
13261         dwarf2_per_objfile_free as a registry cleanup.
13262
13263 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
13264
13265         Avoid compilation errors in MinGW native builds
13266
13267         The error is triggered by including python-internal.h, and the
13268         error message is:
13269
13270              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
13271                       from build-gnulib/import/math.h:27,
13272                       from d:/usr/Python26/include/pyport.h:235,
13273                       from d:/usr/Python26/include/Python.h:58,
13274                       from python/python-internal.h:94,
13275                       from python/py-arch.c:24:
13276              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
13277         using ::hypot;
13278                 ^~~~~
13279
13280         This happens because Python headers define 'hypot' to expand t
13281         '_hypot' in the Windows builds.
13282         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
13283         'hypoth'.  This avoids a compilation error.
13284
13285 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
13286
13287         * MAINTAINERS (Write After Approval): Fix ordering.
13288
13289 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
13290
13291         * MAINTAINERS (Write After Approval): Add Alan Hayward.
13292
13293 2018-01-26  Alan Modra  <amodra@gmail.com>
13294
13295         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
13296         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
13297         Remove nop.  Make const.  Comment.
13298         (powerpc32_plt_stub_so_2): New.
13299         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
13300         Correct count.  Update uses.
13301         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
13302         Move common code reading PLT entry word.  Correct
13303         powerpc32_plt_stub PLT address calculation.
13304         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
13305         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
13306         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
13307         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
13308         (ppc64_standard_linkage8): Likewise.
13309         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
13310         Correct insns description.
13311         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
13312
13313 2018-01-24  Pedro Alves  <palves@redhat.com>
13314
13315         GCC PR libstdc++/83906
13316         * gdbtypes.c (operator==(const dynamic_prop &,
13317         const dynamic_prop &)): New.
13318         (operator==(const range_bounds &, const range_bounds &)): New.
13319         (check_types_equal): Use them instead of memcmp.
13320         * gdbtypes.h (operator==(const dynamic_prop &,
13321         const dynamic_prop &)): Declare.
13322         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
13323         (operator==(const range_bounds &, const range_bounds &)): Declare.
13324         (operator!=(const range_bounds &, const range_bounds &)): Declare.
13325
13326 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13327
13328         * s390-linux-tdep.c (s390_record_address_mask)
13329         (s390_record_calc_disp_common, s390_record_calc_disp)
13330         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
13331         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
13332         (s390_process_record): Move to s390-tdep.c.
13333         (s390_linux_init_abi_any): Adjust.
13334         * s390-tdep.c (s390_record_address_mask)
13335         (s390_record_calc_disp_common, s390_record_calc_disp)
13336         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
13337         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
13338         (s390_process_record): Moved from s390-linux-tdep.c
13339         (s390_gdbarch_init): Adjust.
13340
13341 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13342
13343         * s390-linux-nat.c (s390-tdep.h): New include.
13344         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
13345         (HFILES_NO_SRCDIR): Add s390-tdep.h.
13346         (ALLDEPFILES): Add s390-tdep.c.
13347         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
13348         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
13349         * s390-tdep.h: ...this.  New file.
13350         * s390-linux-tdep.c (s390-tdep.h): New include.
13351         (_initialize_s390_tdep): Rename to...
13352         (_initialize_s390_linux_tdep): ...this and adjust.
13353         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
13354         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
13355         s390-tdep.h.
13356         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
13357         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
13358         (s390_is_partial_instruction, s390_software_single_step)
13359         (is_non_branch_ril, s390_displaced_step_copy_insn)
13360         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
13361         (s390_prologue_data, s390_addr, s390_store, s390_load)
13362         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
13363         (s390_register_call_saved, s390_guess_tracepoint_registers)
13364         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
13365         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
13366         (s390_pseudo_register_name, s390_pseudo_register_type)
13367         (s390_pseudo_register_read, s390_pseudo_register_write)
13368         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
13369         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
13370         (s390_addr_bits_remove, s390_address_class_type_flags)
13371         (s390_address_class_type_flags_to_name)
13372         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
13373         (s390_function_arg_float, s390_function_arg_vector)
13374         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
13375         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
13376         (s390_frame_align, s390_register_return_value, s390_return_value)
13377         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
13378         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
13379         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
13380         (s390_trad_frame_prev_register, s390_unwind_cache)
13381         (s390_prologue_frame_unwind_cache)
13382         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
13383         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
13384         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
13385         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
13386         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
13387         (s390_frame_base_address, s390_local_base_address)
13388         (s390_frame_base, s390_gcc_target_options)
13389         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
13390         (s390_validate_reg_range, s390_tdesc_valid)
13391         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
13392         * s390-tdep.c: ...this.  New file.
13393
13394 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13395
13396         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
13397         (s390_process_record, s390_gdbarch_tdep_alloc)
13398         (s390_linux_init_abi_any): Use/set new hook.
13399
13400 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13401
13402         * s390-linux-tdep.c (osabi.h): New include.
13403         (s390_linux_init_abi_31, s390_linux_init_abi_64)
13404         (s390_linux_init_abi_any): New functions.
13405         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
13406
13407 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13408
13409         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
13410         tdesc_has_registers check
13411
13412 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13413
13414         * s390-linux-tdep.c (s390_tdesc_valid): New function.
13415         (s390_validate_reg_range): New macro.
13416         (s390_gdbarch_init): Adjust.
13417
13418 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13419
13420         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
13421         (s390_gdbarch_tdep_alloc): Adjust.
13422         (s390_gdbarch_init): Adjust.
13423
13424 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13425
13426         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
13427         <have_tdb>: Change type to bool.
13428         (s390_gdbarch_tdep_alloc): Adjust.
13429         (s390_gdbarch_init): Adjust.
13430
13431 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13432
13433         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
13434         (gdbarch_tdep) <have_upper, have_vx>: New fields.
13435         (s390_gdbarch_tdep_alloc): New function.
13436         (s390_gdbarch_init): Allocate tdep at start and use its fields
13437         instead of separate variables.
13438
13439 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13440
13441         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
13442         when looking for cached gdbarch and add comment for remaining.
13443
13444 2018-01-22  Pedro Alves  <palves@redhat.com>
13445             Sergio Durigan Junior  <sergiodj@redhat.com>
13446
13447         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
13448         case.
13449
13450 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
13451
13452         * MAINTAINERS: Update my company e-mail address.
13453
13454 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13455
13456         * regcache.c (cooked_write_test): New function.
13457         (_initialize_regcache): Register the test.
13458
13459 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13460
13461         * ia64-tdep.c (ia64_pseudo_register_read): Call
13462         regcache->cooked_read instead of regcache_cooked_read_unsigned.
13463         * m32c-tdep.c (m32c_cat_read): Likewise.
13464         (m32c_r3r2r1r0_read): Likewise.
13465         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
13466         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
13467
13468 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13469
13470         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
13471         method raw_read instead of regcache_raw_read.
13472         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
13473         * arm-tdep.c (arm_neon_quad_read): Likewise.
13474         * avr-tdep.c (avr_pseudo_register_read): Likewise.
13475         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
13476         * frv-tdep.c (frv_pseudo_register_read): Likewise.
13477         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
13478         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
13479         (i386_pseudo_register_read_into_value): Likewise.
13480         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
13481         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
13482         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
13483         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
13484         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
13485         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
13486         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
13487         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
13488         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
13489
13490 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13491
13492         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
13493         * configure.tgt: Remove target mt.
13494         * mt-tdep.c: Remove.
13495         * regcache.c (cooked_read_test): Remove the check for mt.
13496
13497 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13498
13499         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
13500         instead of gdbarch_pseudo_register_read_value.
13501
13502 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13503
13504         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
13505         language is Ada.
13506
13507 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13508
13509         * linespec.c (create_sals_line_offset): Remove code that preserved
13510         the symtab_and_line's line number.
13511
13512 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13513
13514         * varobj.c (varobj_create): Don't set valid_block when creating a
13515         floating varobj.
13516
13517 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13518
13519         * varobj.c (varobj_create): Remove out of date comment.
13520
13521 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13522
13523         PR mi/20395
13524         * ada-exp.y (write_var_from_sym): Pass extra parameter when
13525         updating innermost block.
13526         * parse.c (innermost_block_tracker::update): Take extra type
13527         parameter, and check types match before updating innermost block.
13528         (write_dollar_variable): Update innermost block for registers.
13529         * parser-defs.h (enum innermost_block_tracker_type): New enum.
13530         (innermost_block_tracker::innermost_block_tracker): Initialise
13531         m_types member.
13532         (innermost_block_tracker::reset): Take type parameter.
13533         (innermost_block_tracker::update): Take type parameter, and pass
13534         type through as needed.
13535         (innermost_block_tracker::m_types): New member.
13536         * varobj.c (varobj_create): Pass type when reseting innermost
13537         block.
13538
13539 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13540
13541         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
13542         * ada-lang.c (resolve_subexp): Likewise.
13543         * breakpoint.c (set_breakpoint_condition) Likewise.
13544         (watch_command_1) Likewise.
13545         * c-exp.y (variable): Likewise.
13546         * d-exp.y (PrimaryExpression): Likewise.
13547         * f-exp.y (variable): Likewise.
13548         * go-exp.y (variable): Likewise.
13549         * m2-exp.y (variable): Likewise.
13550         * objfiles.c (objfile::~objfile): Likewise.
13551         * p-exp.y (variable): Likewise.
13552         * parse.c (innermost_block): Change type.
13553         * parser-defs.h (class innermost_block_tracker): New.
13554         (innermost_block): Change to innermost_block_tracker.
13555         * printcmd.c (display_command): Switch to innermost_block API.
13556         (do_one_display): Likewise.
13557         * rust-exp.y (do_one_display): Likewise.
13558         * symfile.c (clear_symtab_users): Likewise.
13559         * varobj.c (varobj_create): Switch to innermost_block API, replace
13560         use of innermost_block with block stored on varobj object.
13561
13562 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13563
13564         * expression.h (innermost_block): Remove declaration.
13565         * varobj.c: Add 'parser-defs.h' include.
13566
13567 2018-01-19  Tom Tromey  <tom@tromey.com>
13568
13569         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
13570         symbols in the static and global blocks.
13571
13572 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
13573
13574         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
13575         gdb_ptrace.h, and move including gdb_wait.h ...
13576         * nat/linux-ptrace.h: ... to here.
13577
13578 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13579
13580         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
13581         inf_ptrace_detach_success.
13582         (inf_ptrace_detach_success): Add inferior parameter, use it
13583         instead of inferior_ptid, pass it to detach_inferior.
13584         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
13585         parameter.
13586         * inferior.c (detach_inferior): Add overload that takes an
13587         inferior object.
13588         * inferior.h (detach_inferior): Likewise.
13589         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
13590         use inferior_ptid, adjust call to inf_ptrace_detach_success.
13591         * linux-thread-db.c (thread_db_detach): Use inf parameter.
13592
13593 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13594
13595         * target.h (struct target_ops) <to_detach>: Add inferior
13596         parameter.
13597         (target_detach): Likewise.
13598         * target.c (dispose_inferior): Pass inferior down.
13599         (target_detach): Pass inferior down.  Assert that it is equal to
13600         the current inferior.
13601         * aix-thread.c (aix_thread_detach): Pass inferior down.
13602         * corefile.c (core_file_command): Pass current_inferior() down.
13603         * corelow.c (core_detach): Add inferior parameter.
13604         * darwin-nat.c (darwin_detach): Likewise.
13605         * gnu-nat.c (gnu_detach): Likewise.
13606         * inf-ptrace.c (inf_ptrace_detach): Likewise.
13607         * infcmd.c (detach_command): Pass current_inferior() down to
13608         target_detach.
13609         * infrun.c (follow_fork_inferior): Pass parent_inf to
13610         target_detach.
13611         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
13612         target_detach.
13613         * linux-nat.c (linux_nat_detach): Add inferior parameter.
13614         * linux-thread-db.c (thread_db_detach): Likewise.
13615         * nto-procfs.c (procfs_detach): Likewise.
13616         * procfs.c (procfs_detach): Likewise.
13617         * record.c (record_detach): Likewise.
13618         * record.h (struct inferior): Forward-declare.
13619         (record_detach): Add inferior parameter.
13620         * remote-sim.c (gdbsim_detach): Likewise.
13621         * remote.c (remote_detach_1): Likewise.
13622         (remote_detach): Likewise.
13623         (extended_remote_detach): Likewise.
13624         * sol-thread.c (sol_thread_detach): Likewise.
13625         * target-debug.h (target_debug_print_inferior_p): New macro.
13626         * target-delegates.c: Re-generate.
13627         * top.c (kill_or_detach): Pass inferior down to target_detach.
13628         * windows-nat.c (windows_detach): Add inferior parameter.
13629
13630 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13631
13632         * target.h (struct target_ops) <to_detach>: Remove args
13633         parameter.
13634         (target_detach): Likewise.
13635         * target.c (dispose_inferior): Adjust.
13636         (target_detach): Remove args parameter, adjust.
13637         * aix-thread.c (aix_thread_detach): Adjust.
13638         * corefile.c (core_file_command): Adjust.
13639         * corelow.c (core_detach): Adjust.
13640         * darwin-nat.c (darwin_detach): Adjust.
13641         * gnu-nat.c (gnu_detach): Adjust.
13642         * inf-ptrace.c (inf_ptrace_detach): Adjust.
13643         * infcmd.c (detach_command): Adjust
13644         * infrun.c (follow_fork_inferior): Adjust.
13645         (handle_vfork_child_exec_or_exit): Adjust.
13646         * linux-fork.c (linux_fork_detach): Remove args parameter.
13647         * linux-fork.h (linux_fork_detach): Likewise.
13648         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
13649         * linux-thread-db.c (thread_db_detach): Likewise.
13650         * nto-procfs.c (procfs_detach): Likewise.
13651         * procfs.c (procfs_detach): Likewise.
13652         (do_detach): Remove signo parameter.
13653         * record.c (record_detach): Remove args parameter.
13654         * record.h (record_detach): Likewise.
13655         * remote-sim.c (gdbsim_detach): Likewise.
13656         * remote.c (remote_detach_1): Likewise.
13657         (remote_detach): Likewise.
13658         (extended_remote_detach): Likewise.
13659         * sol-thread.c (sol_thread_detach): Likewise.
13660         * target-delegates.c: Re-generate.
13661         * top.c (struct qt_args) <args>: Remove field.
13662         (kill_or_detach): Don't pass args.
13663         (quit_force): Don't set args.
13664         * windows-nat.c (windows_detach): Remove args parameter.
13665
13666 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13667
13668         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
13669         (arm_linux_init_abi): Install it.
13670
13671 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13672
13673         * osabi.c (gdb_osabi_names): Extend the regexp for
13674         arm-linux-gnueabihf.
13675
13676 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13677
13678         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
13679         m_abbrevs.
13680         (abbrev_table::add_abbrev): Update.
13681         (abbrev_table::lookup_abbrev): Update.
13682
13683 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13684
13685         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
13686
13687 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
13688
13689         * compile/compile.c (compile_to_object): Convert "triplet_rx"
13690         to "std::string".
13691
13692 2018-01-17  Tom Tromey  <tom@tromey.com>
13693
13694         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
13695
13696 2018-01-17  Tom Tromey  <tom@tromey.com>
13697
13698         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
13699         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
13700         (create_array_type_with_stride): Update.
13701         * dwarf2read.c (set_die_type): Update.
13702
13703 2018-01-17  Tom Tromey  <tom@tromey.com>
13704
13705         * dwarf2read.c (delayed_method_info): Remove typedef.
13706         (dwarf2_cu::method_info): Now a std::vector.
13707         (add_to_method_list): Update.
13708         (free_delayed_list): Remove.
13709         (compute_delayed_physnames): Update.
13710         (process_full_comp_unit, process_full_type_unit): Clear the method
13711         list.  Remove cleanups.
13712         (psymtab_include_file_name): Add name_holder parameter.  Use
13713         unique_xmalloc_ptr.
13714         (dwarf_decode_lines): Update.
13715
13716 2018-01-17  Tom Tromey  <tom@tromey.com>
13717             Simon Marchi  <simon.marchi@ericsson.com>
13718
13719         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
13720         (dwarf2_per_objfile::free_cached_comp_units)
13721         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13722         (init_cutu_and_read_dies_no_follow): Update.
13723         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
13724         (dwarf2_cu::~dwarf2_cu): New.
13725         (free_heap_comp_unit, free_stack_comp_unit): Remove.
13726         (age_cached_comp_units, free_one_cached_comp_unit): Update.
13727
13728 2018-01-17  Tom Tromey  <tom@tromey.com>
13729             Simon Marchi  <simon.marchi@ericsson.com>
13730
13731         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
13732         (struct die_reader_specs) <abbrev_table>: New member.
13733         (struct abbrev_table): Add constructor.
13734         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
13735         <abbrev_obstack>: Now an auto_obstack.
13736         (abbrev_table_up): New typedef.
13737         (init_cu_die_reader): Add abbrev_table parameter.
13738         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
13739         Add result_dwo_abbrev_table.
13740         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13741         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
13742         Update.
13743         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
13744         parameter.
13745         (skip_children): Update.
13746         (abbrev_table::alloc_abbrev): Rename from
13747         abbrev_table_alloc_abbrev.
13748         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
13749         (abbrev_table::lookup_abbrev): Rename from
13750         abbrev_table_lookup_abbrev.
13751         (abbrev_table_read_table): Return abbrev_table_up.
13752         (abbrev_table_free, abbrev_table_free_cleanup)
13753         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
13754         (load_partial_dies): Update.
13755
13756 2018-01-17  Tom Tromey  <tom@tromey.com>
13757
13758         * dwarf2read.c (dwarf2_compute_name): Update comment.
13759         (read_func_scope, read_variable): Update.
13760         (new_symbol): Remove.
13761         (new_symbol_full): Rename to new_symbol.
13762
13763 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
13764
13765         PR gdb/16577
13766         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
13767         a warning instead of throwing an error, set section size to 0 and return
13768         NULL.
13769         * gdb_bfd.h (gdb_bfd_map_section): Update description.
13770
13771 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13772
13773         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
13774         std::string.
13775         (linux_ptrace_attach_fail_reason_string): Likewise.
13776         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
13777         Likewise.
13778         (linux_ptrace_attach_fail_reason_string): Likewise.
13779         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
13780
13781 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13782
13783         * linux-nat.c (linux_nat_attach): Remove xstrdup.
13784
13785 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
13786
13787         PR gdb/21559
13788         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
13789         checking for fs_base/gs_base fields in struct user_regs_struct.
13790         * configure: Regenerate.
13791
13792 2018-01-17  Yao Qi  <yao.qi@linaro.org>
13793
13794         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
13795         function.
13796         (aarch64_linux_init_abi): Install it to gdbarch hook
13797         gcc_target_options.
13798
13799 2018-01-15  Pedro Alves  <palves@redhat.com>
13800
13801         * common/signals-state-save-restore.c
13802         (save_original_signals_state): Fix typos.
13803
13804 2017-01-12  Tom Tromey  <tom@tromey.com>
13805             Sergio Durigan Junior  <sergiodj@redhat.com>
13806
13807         * Makefile.in (install-only): Install gdb-add-index.
13808
13809 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
13810
13811         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
13812
13813 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13814
13815         * infrun.c (keep_going_pass_signal): Clear step-over info when
13816         insert_breakpoints fails.
13817
13818 2018-01-11  Pedro Alves  <palves@redhat.com>
13819
13820         PR gdb/22583
13821         * infrun.c (resume): Rename to ...
13822         (resume_1): ... this.
13823         (resume): Reimplement as wrapper around resume_1.
13824
13825 2018-01-11  Pedro Alves  <palves@redhat.com>
13826
13827         PR remote/22597
13828         * remote.c (remote_parse_stop_reply): Default to the last-set
13829         general thread instead of to 'magic_null_ptid'.
13830
13831 2018-01-10  Pedro Alves  <palves@redhat.com>
13832
13833         * language.h (language_get_symbol_name_matcher): Rename ...
13834         (get_symbol_name_matcher): ... this.
13835         * language.c (language_get_symbol_name_matcher): Ditto.
13836         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
13837         callers adjusted.
13838
13839 2018-01-10  Pedro Alves  <palves@redhat.com>
13840
13841         PR gdb/22670
13842         * dwarf2read.c
13843         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
13844         Adjust to use language_get_symbol_name_matcher instead of
13845         language_defn::la_get_symbol_name_matcher.
13846         * language.c (language_get_symbol_name_matcher): If in Ada mode
13847         and the lookup name is a verbatim match, return Ada's matcher.
13848         * language.h (language_get_symbol_name_matcher): Adjust comment.
13849         (ada_lookup_name_info::verbatim_p):: New method.
13850
13851 2018-01-10  Pedro Alves  <palves@redhat.com>
13852
13853         PR gdb/22670
13854         * ada-lang.c (ada_collect_symbol_completion_matches): If the
13855         minsym's language is language_auto or language_cplus, pass down
13856         language_ada instead.
13857         * symtab.c (compare_symbol_name): Don't frob symbol language here.
13858
13859 2018-01-10  Pedro Alves  <palves@redhat.com>
13860
13861         PR gdb/22670
13862         * minsyms.c (linkage_name_str): New function.
13863         (iterate_over_minimal_symbols): Use it.
13864
13865 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13866
13867         * NEWS: Document that 'info proc' now works on FreeBSD.
13868
13869 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13870
13871         * configure.ac: Check for kinfo_getfile in libutil.
13872         * configure: Regenerate.
13873         * config.in: Regenerate.
13874         * fbsd-nat.c: Include "fbsd-tdep.h".
13875         (fbsd_fetch_cmdline): New.
13876         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
13877         rather than calling error.
13878         (fbsd_info_proc): New.
13879         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
13880         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
13881         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
13882
13883 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13884
13885         * fbsd-nat.c (struct free_deleter): Remove.
13886         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
13887
13888 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13889
13890         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
13891         NULL for an empty pathname.
13892
13893 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13894
13895         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
13896         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
13897         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
13898         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
13899         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
13900         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
13901         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
13902         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
13903         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
13904         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
13905         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
13906         (fbsd_core_fetch_timeval, fbsd_print_sigset)
13907         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
13908         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
13909         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
13910
13911 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
13912
13913         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
13914         (gnu_xfer_auxv): New function.
13915         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
13916         TARGET_OBJECT_AUXV.
13917
13918 2018-01-08  Yao Qi  <yao.qi@linaro.org>
13919             Simon Marchi  <simon.marchi@ericsson.com>
13920
13921         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
13922         common/selftest.c.
13923         (COMMON_OBS): Remove selftest.o.
13924         * configure.ac: Append selftest-arch.c and common/selftest.c to
13925         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
13926         * configure: Re-generated.
13927         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
13928         GDB_SELF_TEST.
13929         (maintenance_info_selftests): Likewise.
13930
13931 2018-01-08  Xavier Roirand  <roirand@adacore.com>
13932
13933         * ada-valprint.c (val_print_packed_array_elements): Use
13934         proper number of elements when printing an array indexed
13935         by an enumeration type.
13936
13937 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13938
13939         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
13940         (dw2_get_file_names_reader): Adjust.
13941         (lookup_dwo_signatured_type): Adjust.
13942         (lookup_dwp_signatured_type): Adjust.
13943         (lookup_signatured_type): Adjust.
13944         (create_type_unit_group): Adjust.
13945         (get_type_unit_group): Adjust.
13946         (process_psymtab_comp_unit_reader): Adjust.
13947         (build_type_psymtabs_reader): Adjust.
13948         (scan_partial_symbols): Adjust.
13949         (add_partial_symbol): Adjust.
13950         (add_partial_subprogram): Adjust.
13951         (peek_die_abbrev): Adjust.
13952         (fixup_go_packaging): Adjust.
13953         (process_imported_unit_die): Adjust.
13954         (dwarf2_compute_name): Adjust.
13955         (dwarf2_physname): Adjust.
13956         (read_import_statement): Adjust.
13957         (handle_DW_AT_stmt_list): Adjust.
13958         (read_file_scope): Adjust.
13959         (read_func_scope): Adjust.
13960         (read_lexical_block_scope): Adjust.
13961         (read_call_site_scope): Adjust.
13962         (read_variable): Adjust.
13963         (dwarf2_rnglists_process): Adjust.
13964         (dwarf2_ranges_process): Adjust.
13965         (dwarf2_ranges_read): Adjust.
13966         (dwarf2_get_pc_bounds): Adjust.
13967         (dwarf2_record_block_ranges): Adjust.
13968         (dwarf2_add_field): Adjust.
13969         (dwarf2_add_member_fn): Adjust.
13970         (read_structure_type): Adjust.
13971         (process_structure_scope): Adjust.
13972         (read_enumeration_type): Adjust.
13973         (read_array_type): Adjust.
13974         (mark_common_block_symbol_computed): Adjust.
13975         (read_common_block): Adjust.
13976         (read_namespace_type): Adjust.
13977         (read_namespace): Adjust.
13978         (read_module_type): Adjust.
13979         (read_tag_pointer_type): Adjust.
13980         (read_tag_ptr_to_member_type): Adjust.
13981         (read_tag_string_type): Adjust.
13982         (read_subroutine_type): Adjust.
13983         (read_typedef): Adjust.
13984         (read_base_type): Adjust.
13985         (attr_to_dynamic_prop): Adjust.
13986         (read_subrange_type): Adjust.
13987         (read_unspecified_type): Adjust.
13988         (dwarf2_read_abbrevs): Adjust.
13989         (load_partial_dies): Adjust.
13990         (read_partial_die): Adjust.
13991         (find_partial_die): Adjust.
13992         (guess_partial_die_structure_name): Adjust.
13993         (fixup_partial_die): Adjust.
13994         (read_attribute_value): Adjust.
13995         (read_addr_index): Adjust.
13996         (read_addr_index_from_leb128): Adjust.
13997         (read_str_index): Adjust.
13998         (dwarf2_string_attr): Adjust.
13999         (get_debug_line_section): Adjust.
14000         (dwarf_decode_line_header): Adjust.
14001         (lnp_state_machine::check_line_address): Adjust.
14002         (dwarf_decode_lines_1): Adjust.
14003         (dwarf_decode_lines): Adjust.
14004         (dwarf2_start_symtab): Adjust.
14005         (var_decode_location): Adjust.
14006         (new_symbol_full): Adjust.
14007         (dwarf2_const_value_data): Adjust.
14008         (dwarf2_const_value_attr): Adjust.
14009         (dwarf2_const_value): Adjust.
14010         (die_type): Adjust.
14011         (die_containing_type): Adjust.
14012         (build_error_marker_type): Adjust.
14013         (lookup_die_type): Adjust.
14014         (guess_full_die_structure_name): Adjust.
14015         (anonymous_struct_prefix): Adjust.
14016         (determine_prefix): Adjust.
14017         (dwarf2_name): Adjust.
14018         (follow_die_ref_or_sig): Adjust.
14019         (follow_die_offset): Adjust.
14020         (follow_die_ref): Adjust.
14021         (follow_die_sig_1): Adjust.
14022         (follow_die_sig): Adjust.
14023         (get_signatured_type): Adjust.
14024         (get_DW_AT_signature_type): Adjust.
14025         (decode_locdesc): Adjust.
14026         (dwarf_decode_macros): Adjust.
14027         (cu_debug_loc_section): Adjust.
14028         (fill_in_loclist_baton): Adjust.
14029         (dwarf2_symbol_mark_computed): Adjust.
14030         (init_one_comp_unit): Don't assign
14031         dwarf2_cu::dwarf2_per_objfile.
14032         (set_die_type): Adjust.
14033
14034 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14035
14036         * dwarf2read.c (struct mapped_debug_names): Add constructor.
14037         <dwarf2_per_objfile>: New field.
14038         (dwarf2_per_objfile): Remove global.
14039         (get_dwarf2_per_objfile): New function.
14040         (set_dwarf2_per_objfile): New function.
14041         (dwarf2_build_psymtabs_hard): Change objfile parameter to
14042         dwarf2_per_objfile.
14043         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
14044         (read_abbrev_offset): Likewise.
14045         (read_indirect_string): Likewise.
14046         (read_indirect_line_string): Likewise.
14047         (read_indirect_string_at_offset): Likewise.
14048         (read_indirect_string_from_dwz): Likewise.
14049         (dwarf2_find_containing_comp_unit): Change objfile parameter to
14050         dwarf2_per_objfile.
14051         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
14052         (create_all_comp_units): Change objfile parameter to
14053         dwarf2_per_objfile.
14054         (create_all_type_units): Likewise.
14055         (process_queue): Add dwarf2_per_objfile parameter.
14056         (read_and_check_comp_unit_head): Likewise.
14057         (lookup_dwo_unit_in_dwp): Likewise.
14058         (get_dwp_file): Likewise.
14059         (process_cu_includes): Likewise.
14060         (struct free_dwo_file_cleanup_data): New struct.
14061         (dwarf2_has_info): Use get_dwarf2_per_objfile and
14062         set_dwarf2_per_objfile.
14063         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
14064         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
14065         context, adjust calls.
14066         (dw2_instantiate_symtab): Likewise.
14067         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
14068         (dw2_get_cu): Likewise.
14069         (create_cu_from_index_list): Change objfile parameter to
14070         dwarf2_per_objfile.
14071         (create_cus_from_index_list): Get dwarf2_per_objfile from
14072         context, adjust calls.
14073         (create_cus_from_index): Likewise.
14074         (create_signatured_type_table_from_index): Change objfile
14075         parameter to dwarf2_per_objfile.
14076         (create_signatured_type_table_from_debug_names): Change objfile
14077         parameter to dwarf2_per_objfile.
14078         (create_addrmap_from_index): Likewise.
14079         (create_addrmap_from_aranges): Likewise.
14080         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
14081         (dw2_setup): Remove.
14082         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
14083         context.
14084         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
14085         get_dwarf2_per_objfile.
14086         (dw2_forget_cached_source_info): Likewise.
14087         (dw2_map_symtabs_matching_filename): Likewise.
14088         (struct dw2_symtab_iterator) <index>: Remove.
14089         <dwarf2_per_objfile>: New field.
14090         (dw2_symtab_iter_init): Replace index parameter with
14091         dwarf2_per_objfile.
14092         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
14093         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
14094         (dw2_print_stats): Likewise.
14095         (dw2_dump): Likewise.
14096         (dw2_expand_symtabs_for_function): Likewise.
14097         (dw2_expand_all_symtabs): Likewise.
14098         (dw2_expand_symtabs_with_fullname): Likewise.
14099         (dw2_expand_marked_cus): Replace index and objfile parameters
14100         with dwarf2_per_objfile.
14101         (dw_expand_symtabs_matching_file_matcher): Add
14102         dwarf2_per_objfile parameter and adjust calls.
14103         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
14104         adjust calls.
14105         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
14106         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
14107         adjust calls.
14108         (create_cus_from_debug_names_list): Replace objfile parameter
14109         with dwarf2_per_objfile and adjust calls.
14110         (create_cus_from_debug_names): Likewise.
14111         (dwarf2_read_debug_names): Likewise.
14112         (mapped_debug_names::namei_to_name): Adjust call.
14113         (dw2_debug_names_iterator::next): Likewise.
14114         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
14115         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
14116         (dw2_debug_names_dump): Likewise.
14117         (dw2_debug_names_expand_symtabs_for_function): Likewise.
14118         (dw2_debug_names_expand_symtabs_matching): Likewise.
14119         (dwarf2_initialize_objfile): Likewise.
14120         (dwarf2_build_psymtabs): Likewise.
14121         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
14122         this_cu.
14123         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
14124         (read_and_check_comp_unit_head): Likewise.
14125         (read_abbrev_offset): Likewise.
14126         (create_debug_type_hash_table): Likewise.
14127         (create_debug_types_hash_table): Likewise.
14128         (create_all_type_units): Replace objfile parameter with
14129         dwarf2_per_objfile.
14130         (add_type_unit): Add dwarf2_per_objfile parameter.
14131         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
14132         with dwarf2_per_objfile.
14133         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
14134         (lookup_dwp_signatured_type): Likewise.
14135         (lookup_signatured_type): Likewise.
14136         (read_cutu_die_from_dwo): Likewise.
14137         (init_tu_and_read_dwo_dies): Likewise.
14138         (init_cutu_and_read_dies): Likewise.
14139         (init_cutu_and_read_dies_no_follow): Likewise.
14140         (allocate_type_unit_groups_table): Add objfile parameter.
14141         (create_type_unit_group): Use dwarf2_per_objfile from cu.
14142         (get_type_unit_group): Likewise.
14143         (process_psymtab_comp_unit): Update call.
14144         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
14145         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
14146         (print_tu_stats): Likewise.
14147         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
14148         in void* parameter.
14149         (build_type_psymtabs): Change objfile parameter to
14150         dwarf2_per_objfile.
14151         (process_skeletonless_type_unit): Use dwarf2_per_objfile
14152         passed in void* parameter.
14153         (process_skeletonless_type_units): Change objfile parameter to
14154         dwarf2_per_objfile.
14155         (set_partial_user): Likewise.
14156         (dwarf2_build_psymtabs_hard): Likewise.
14157         (read_comp_units_from_section): Likewise.
14158         (create_all_comp_units): Likewise.
14159         (scan_partial_symbols): Update calls.
14160         (add_partial_symbol): Likewise.
14161         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
14162         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
14163         (process_queue): Add dwarf2_per_objfile parameter.
14164         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
14165         (compute_compunit_symtab_includes): Likewise.
14166         (process_cu_includes): Add dwarf2_per_objfile parameter.
14167         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
14168         (process_full_type_unit): Likewise.
14169         (process_imported_unit_die): Update call.
14170         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
14171         (read_file_scope): Likewise.
14172         (allocate_dwo_file_hash_table): Add objfile parameter.
14173         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
14174         (create_cus_hash_table): Likewise.
14175         (create_dwp_hash_table): Likewise.
14176         (create_dwo_unit_in_dwp_v1): Likewise.
14177         (create_dwp_v2_section): Likewise.
14178         (create_dwo_unit_in_dwp_v2): Likewise.
14179         (lookup_dwo_unit_in_dwp): Likewise.
14180         (try_open_dwop_file): Likewise.
14181         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
14182         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
14183         cleanup to include a reference to dwarf2_per_objfile.
14184         (open_dwp_file): Add dwarf2_per_objfile parameter.
14185         (open_and_init_dwp_file): Likewise.
14186         (get_dwp_file): Likewise.
14187         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
14188         (queue_and_load_all_dwo_tus): Update call.
14189         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
14190         data.
14191         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
14192         (dwarf2_ranges_process): Likewise.
14193         (dwarf2_get_pc_bounds): Likewise.
14194         (mark_common_block_symbol_computed): Likewise.
14195         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
14196         (dwarf2_read_abbrevs): Update call.
14197         (read_partial_die): Use dwarf2_per_objfile from cu.
14198         (find_partial_die): Likewise.
14199         (fixup_partial_die): Likewise.
14200         (read_attribute_value): Likewise.
14201         (read_indirect_string_at_offset_from): Add objfile parameter.
14202         (read_indirect_string_at_offset): Add dwarf2_per_objfile
14203         parameter.
14204         (read_indirect_string_from_dwz): Add objfile parameter.
14205         (read_indirect_string): Add objfile parameter.
14206         (read_addr_index_1): Add dwarf2_per_objfile parameter.
14207         (read_addr_index): Use dwarf2_per_objfile from cu.
14208         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
14209         call dw2_setup.
14210         (read_str_index): Use dwarf2_per_objfile from cu.
14211         (get_debug_line_section): Likewise.
14212         (read_formatted_entries): Add dwarf2_per_objfile parameter.
14213         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
14214         (new_symbol_full): Use dwarf2_per_objfile from cu.
14215         (build_error_marker_type): Likewise.
14216         (lookup_die_type): Likewise.
14217         (determine_prefix): Likewise.
14218         (follow_die_offset): Likewise.
14219         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
14220         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
14221         (dwarf2_fetch_die_type_sect_off): Likewise.
14222         (dwarf2_get_die_type): Likewise.
14223         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
14224         (get_signatured_type): Likewise.
14225         (get_DW_AT_signature_type): Likewise.
14226         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
14227         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
14228         (cu_debug_loc_section): Likewise.
14229         (fill_in_loclist_baton): Likewise.
14230         (dwarf2_symbol_mark_computed): Likewise.
14231         (dwarf2_find_containing_comp_unit): Change objfile parameter to
14232         dwarf2_per_objfile.
14233         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
14234         parameter.
14235         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
14236         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
14237         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
14238         (set_die_type): Use dwarf2_free_objfile from cu.
14239         (get_die_type_at_offset): Likewise.
14240         (dwarf2_per_objfile_free): Don't assign global variable.
14241         (debug_names) <constructor>: Add dwarf2_per_objfile
14242         parameter, update m_debugstrlookup construction.
14243         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
14244         parameter.
14245         <m_dwarf2_per_objfile>: New field.
14246         <lookup>: Use m_dwarf2_per_objfile.
14247         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
14248         (psyms_seen_size): Likewise.
14249         (write_gdbindex): Replace objfile parameter with
14250         dwarf2_per_objfile.
14251         (write_debug_names): Likewise.
14252         (write_psymtabs_to_index): Likewise.
14253         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
14254         calls.
14255
14256 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14257
14258         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
14259         <dwarf2_per_objfile>: New field.
14260         (struct dwarf2_per_cu_data) <objfile>: Remove.
14261         <dwarf2_per_objfile>: New field.
14262         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
14263         of objfile.
14264         (create_signatured_type_table_from_index): Likewise.
14265         (create_debug_type_hash_table): Likewise.
14266         (fill_in_sig_entry_from_dwo_entry): Likewise.
14267         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
14268         (create_type_unit_group): Assign dwarf2_per_objfile instead of
14269         objfile.
14270         (create_partial_symtab): Access objfile through
14271         dwarf2_per_objfile.
14272         (process_psymtab_comp_unit_reader): Likewise.
14273         (read_comp_units_from_section): Likewise.
14274         (scan_partial_symbols): Likewise.
14275         (add_partial_symbol): Likewise.
14276         (add_partial_subprogram): Likewise.
14277         (peek_die_abbrev): Likewise.
14278         (fixup_go_packaging): Likewise.
14279         (process_full_comp_unit): Likewise.
14280         (process_full_type_unit): Likewise.
14281         (process_imported_unit_die): Likewise.
14282         (dwarf2_compute_name): Likewise.
14283         (dwarf2_physname): Likewise.
14284         (read_import_statement): Likewise.
14285         (create_cus_hash_table): Assign dwarf2_physname instead of
14286         objfile.
14287         (read_func_scope): Access objfile through dwarf2_per_objfile.
14288         (read_lexical_block_scope): Likewise.
14289         (read_call_site_scope): Likewise.
14290         (read_variable): Likewise.
14291         (dwarf2_rnglists_process): Likewise.
14292         (dwarf2_ranges_process): Likewise.
14293         (dwarf2_ranges_read): Likewise.
14294         (dwarf2_record_block_ranges): Likewise.
14295         (dwarf2_add_field): Likewise.
14296         (dwarf2_add_member_fn): Likewise.
14297         (read_structure_type): Likewise.
14298         (process_structure_scope): Likewise.
14299         (read_enumeration_type): Likewise.
14300         (read_array_type): Likewise.
14301         (read_common_block): Likewise.
14302         (read_namespace_type): Likewise.
14303         (read_namespace): Likewise.
14304         (read_module_type): Likewise.
14305         (read_tag_pointer_type): Likewise.
14306         (read_tag_ptr_to_member_type): Likewise.
14307         (read_tag_string_type): Likewise.
14308         (read_subroutine_type): Likewise.
14309         (read_typedef): Likewise.
14310         (read_base_type): Likewise.
14311         (attr_to_dynamic_prop): Likewise.
14312         (read_subrange_type): Likewise.
14313         (read_unspecified_type): Likewise.
14314         (load_partial_dies): Likewise.
14315         (read_partial_die): Likewise.
14316         (find_partial_die): Likewise.
14317         (guess_partial_die_structure_name): Likewise.
14318         (fixup_partial_die): Likewise.
14319         (read_attribute_value): Likewise.
14320         (read_addr_index_from_leb128): Likewise.
14321         (dwarf2_read_addr_index): Likewise.
14322         (dwarf2_string_attr): Likewise.
14323         (lnp_state_machine::check_line_address): Likewise.
14324         (dwarf_decode_lines_1): Likewise.
14325         (dwarf_decode_lines): Likewise.
14326         (dwarf2_start_symtab): Likewise.
14327         (var_decode_location): Likewise.
14328         (new_symbol_full): Likewise.
14329         (dwarf2_const_value_data): Likewise.
14330         (dwarf2_const_value_attr): Likewise.
14331         (dwarf2_const_value): Likewise.
14332         (die_type): Likewise.
14333         (die_containing_type): Likewise.
14334         (lookup_die_type): Likewise.
14335         (guess_full_die_structure_name): Likewise.
14336         (anonymous_struct_prefix): Likewise.
14337         (dwarf2_name): Likewise.
14338         (follow_die_ref_or_sig): Likewise.
14339         (follow_die_offset): Likewise.
14340         (follow_die_ref): Likewise.
14341         (dwarf2_fetch_die_loc_sect_off): Likewise.
14342         (dwarf2_fetch_constant_bytes): Likewise.
14343         (dwarf2_fetch_die_type_sect_off): Likewise.
14344         (dwarf2_get_die_type): Likewise.
14345         (follow_die_sig): Likewise.
14346         (decode_locdesc): Likewise.
14347         (dwarf2_per_cu_objfile): Likewise.
14348         (dwarf2_per_cu_text_offset): Likewise.
14349         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
14350         objfile.
14351         (set_die_type): Access objfile through
14352         dwarf2_per_objfile.
14353
14354 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14355
14356         * valprint.c (converted_character_d): Remove typedef.
14357         (DEF_VEC_O (converted_character_d)): Remove.
14358         (count_next_character): Use std::vector.
14359         (print_converted_chars_to_obstack): Likewise.
14360         (generic_printstr): Likewise.
14361
14362 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14363
14364         * xml-support.h (struct gdb_xml_value): Add constructor.
14365         <value>: Change type to unique_xmalloc_ptr.
14366         (gdb_xml_value_s): Remove typedef.
14367         (DEF_VEC_O (gdb_xml_value_s)): Remove.
14368         (gdb_xml_element_start_handler): Change parameter type to
14369         std::vector.
14370         (xml_find_attribute): Likewise.
14371         * xml-support.c (xml_find_attribute): Change parameter type to
14372         std::vector and adjust.
14373         (gdb_xml_values_cleanup): Remove.
14374         (gdb_xml_parser::start_element): Adjust to std::vector.
14375         (xinclude_start_include): Change paraeter type to std::vector
14376         and adjust.
14377         * btrace.c (check_xml_btrace_version): Likewise.
14378         (parse_xml_btrace_block): Likewise.
14379         (parse_xml_btrace_pt_config_cpu): Likewise.
14380         (parse_xml_btrace_pt): Likewise.
14381         (parse_xml_btrace_conf_bts): Likewise.
14382         (parse_xml_btrace_conf_pt): Likewise.
14383         * memory-map.c (memory_map_start_memory): Likewise.
14384         (memory_map_start_property): Likewise.
14385         * osdata.c (osdata_start_osdata): Likewise.
14386         (osdata_start_item): Likewise.
14387         (osdata_start_column): Likewise.
14388         * remote.c (start_thread): Likewise.
14389         * solib-aix.c (library_list_start_library): Likewise.
14390         (library_list_start_list): Likewise.
14391         * solib-svr4.c (library_list_start_library): Likewise.
14392         (svr4_library_list_start_list): Likewise.
14393         * solib-target.c (library_list_start_segment): Likewise.
14394         (library_list_start_section): Likewise.
14395         (library_list_start_library): Likewise.
14396         (library_list_start_list): Likewise.
14397         * tracepoint.c (traceframe_info_start_memory): Likewise.
14398         (traceframe_info_start_tvar): Likewise.
14399         * xml-syscall.c (syscall_start_syscall): Likewise.
14400         * xml-tdesc.c (tdesc_start_target): Likewise.
14401         (tdesc_start_feature): Likewise.
14402         (tdesc_start_reg): Likewise.
14403         (tdesc_start_union): Likewise.
14404         (tdesc_start_struct): Likewise.
14405         (tdesc_start_flags): Likewise.
14406         (tdesc_start_enum): Likewise.
14407         (tdesc_start_field): Likewise.
14408         (tdesc_start_enum_value): Likewise.
14409         (tdesc_start_vector): Likewise.
14410
14411 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14412
14413         * extension.h (struct xmethod_worker) <clone>: Remove.
14414         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
14415         Remove.
14416         (python_xmethod_worker::clone): Remove.
14417         * valops.c (find_overload_match): Use std::move instead of
14418         clone.
14419
14420 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14421
14422         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
14423         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
14424         <free_xmethod_worker_data>: Remove.
14425         <get_matching_xmethod_workers>: Chance VEC to std::vector.
14426         <get_xmethod_arg_types>: Remove.
14427         <get_xmethod_result_type>: Remove.
14428         <invoke_xmethod>: Remove.
14429         * extension.c (new_xmethod_worker): Remove.
14430         (clone_xmethod_worker): Remove.
14431         (get_matching_xmethod_workers): Return void, pass std::vector by
14432         pointer.
14433         (get_xmethod_arg_types): Rename to...
14434         (xmethod_worker::get_arg_types): ... this, and adjust.
14435         (get_xmethod_result_type): Rename to...
14436         (xmethod_worker::get_result_type): ... this, and adjust.
14437         (invoke_xmethod): Remove.
14438         (free_xmethod_worker): Remove.
14439         (free_xmethod_worker_vec): Remove.
14440         * extension.h (enum ext_lang_rc): Move here from
14441         extension-priv.h.
14442         (struct xmethod_worker): Add constructor and destructor.
14443         <data>: Remove.
14444         <value>: Remove.
14445         <invoke, clone, do_get_result_type, do_get_arg_types>: New
14446         virtual pure methods.
14447         <get_arg_types, get_result_type>: New methods.
14448         (xmethod_worker_ptr): Remove typedef.
14449         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
14450         (xmethod_worker_vec): Remove typedef.
14451         (xmethod_worker_up): New typedef.
14452         (invoke_xmethod): Remove.
14453         (clone_xmethod_worker): Remove.
14454         (free_xmethod_worker): Remove.
14455         (free_xmethod_worker_vec): Remove.
14456         (get_xmethod_arg_types): Remove.
14457         (get_xmethod_result_type): Remove.
14458         * valops.c (find_method_list): Use std::vector, don't use
14459         intermediate vector.
14460         (value_find_oload_method_list): Use std::vector.
14461         (find_overload_match): Use std::vector.
14462         (find_oload_champ): Use std::vector.
14463         * value.c (value_free): Use operator delete.
14464         (value_of_xmethod): Rename to...
14465         (value_from_xmethod): ... this.  Don't assign
14466         xmethod_worker::value, take rvalue-reference.
14467         (result_type_of_xmethod): Adjust.
14468         (call_xmethod): Adjust.
14469         * value.h: Include extension.h.
14470         (struct xmethod_worker): Don't forward-declare.
14471         (value_of_xmethod): Rename to...
14472         (value_from_xmethod): ... this, take rvalue-reference.
14473         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
14474         (struct python_xmethod_worker): ... this, add constructor and
14475         destructor.
14476         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
14477         (gdbpy_free_xmethod_worker_data): Rename to...
14478         (python_xmethod_worker::~python_xmethod_worker): ... this and
14479         adjust.
14480         (gdbpy_clone_xmethod_worker_data): Rename to...
14481         (python_xmethod_worker::clone): ... this and adjust.
14482         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
14483         temporary vector.
14484         (gdbpy_get_xmethod_arg_types): Rename to...
14485         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
14486         (gdbpy_get_xmethod_result_type): Rename to...
14487         (python_xmethod_worker::do_get_result_type): ... this and
14488         adjust.
14489         (gdbpy_invoke_xmethod): Rename to...
14490         (python_xmethod_worker::invoke): ... this and adjust.
14491         (new_python_xmethod_worker): Rename to...
14492         (python_xmethod_worker::python_xmethod_worker): ... this and
14493         adjust.
14494         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
14495         Remove.
14496         (gdbpy_free_xmethod_worker_data): Remove.
14497         (gdbpy_get_matching_xmethod_workers): Use std::vector.
14498         (gdbpy_get_xmethod_arg_types): Remove.
14499         (gdbpy_get_xmethod_result_type): Remove.
14500         (gdbpy_invoke_xmethod): Remove.
14501         * python/python.c (python_extension_ops): Remove obsolete
14502         callbacks.
14503
14504 2018-01-05  Pedro Alves  <palves@redhat.com>
14505
14506         PR gdb/18653
14507         * common/signals-state-save-restore.c
14508         (save_original_signals_state): New parameter 'quiet'.  Warn if we
14509         find a custom handler preinstalled, instead of internal erroring.
14510         But only warn if !quiet.
14511         * common/signals-state-save-restore.h
14512         (save_original_signals_state): New parameter 'quiet'.
14513         * main.c (captured_main_1): Move save_original_signals_state call
14514         after option handling, and pass QUIET.
14515
14516 2018-01-05  Pedro Alves  <palves@redhat.com>
14517
14518         * spu-tdep.c (spu_catch_start): Pass
14519         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
14520
14521 2018-01-05  Pedro Alves  <palves@redhat.com>
14522
14523         PR gdb/22670
14524         * ada-lang.c (literal_symbol_name_matcher): New function.
14525         (ada_get_symbol_name_matcher): Use it for
14526         symbol_name_match_type::SEARCH_NAME.
14527         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
14528         it down instead of assuming symbol_name_match_type::FULL.
14529         * block.h (block_lookup_symbol): New parameter 'match_type'.
14530         * c-valprint.c (print_unpacked_pointer): Use
14531         lookup_symbol_search_name instead of lookup_symbol.
14532         * compile/compile-object-load.c (get_out_value_type): Pass down
14533         symbol_name_match_type::SEARCH_NAME.
14534         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
14535         symbol_name_match_type::FULL.
14536         * cp-support.c (cp_get_symbol_name_matcher): Handle
14537         symbol_name_match_type::SEARCH_NAME.
14538         * infrun.c (insert_exception_resume_breakpoint): Use
14539         lookup_symbol_search_name.
14540         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
14541         * psymtab.c (maintenance_check_psymtabs): Use
14542         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
14543         * stack.c (print_frame_args): Use lookup_symbol_search_name and
14544         SYMBOL_SEARCH_NAME.
14545         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
14546         if symbol_name_match_type::SEARCH_NAME.
14547         (lookup_symbol_in_language): Pass down
14548         symbol_name_match_type::FULL.
14549         (lookup_symbol_search_name): New.
14550         (lookup_language_this): Pass down
14551         symbol_name_match_type::SEARCH_NAME.
14552         (lookup_symbol_aux, lookup_local_symbol): New parameter
14553         'match_type'.  Pass it down.
14554         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
14555         (lookup_symbol_search_name): New declaration.
14556         (lookup_symbol_in_block): New 'match_type' parameter.
14557
14558 2018-01-05  Pedro Alves  <palves@redhat.com>
14559
14560         PR gdb/22670
14561         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
14562         ada_lookup_symbol.
14563         (ada_lookup_symbol): Reimplement in terms of
14564         ada_lookup_symbol_list, bits factored out from
14565         ada_lookup_encoded_symbol.
14566
14567 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14568
14569         * ada-exp.y (write_object_renaming): When subscripting an array
14570         using a symbol as the index, pass the block in call to
14571         ada_lookup_encoded_symbol when looking that symbol up.
14572
14573 2018-01-05  Jerome Guitton  <guitton@adacore.com>
14574
14575         * ada-lang.c (ada_array_length): Use ada_index_type instead of
14576         TYPE_INDEX_TYPE.
14577
14578 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14579
14580         * ada-lang.c (ada_to_fixed_value_create): Add handling of
14581         the case where VALUE_LVAL (val0) is not lval_memory.
14582
14583 2018-01-05  Xavier Roirand  <roirand@adacore.com>
14584
14585         * ada-valprint.c (print_optional_low_bound): Handle
14586         character-indexed array printing like boolean-indexed array
14587         printing.
14588
14589 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14590
14591         * NEWS: Create a new section for the next release branch.
14592         Rename the section of the current branch, now that it has
14593         been cut.
14594
14595 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14596
14597         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
14598         * version.in: Bump version to 8.1.50.DATE-git.
14599
14600 2018-01-03  Xavier Roirand  <roirand@adacore.com>
14601
14602         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
14603         Add field.
14604         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
14605         Add field.
14606         (default_exception_support_info) <catch_handlers_sym>: Add field.
14607         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
14608         (ada_exception_name_addr_1): Add "catch handlers" handling.
14609         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
14610         Update all callers.
14611         (create_excep_cond_exprs) <ex>: Add parameter.
14612         (re_set_exception): Update create_excep_cond_exprs call.
14613         (print_it_exception, print_one_exception, print_mention_exception)
14614         (print_recreate_exception): Add "catch handler" handling.
14615         (allocate_location_catch_handlers, re_set_catch_handlers)
14616         (check_status_catch_handlers, print_it_catch_handlers)
14617         (print_one_catch_handlers, print_mention_catch_handlers)
14618         (print_recreate_catch_handlers): New function.
14619         (catch_handlers_breakpoint_ops): New variable.
14620         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
14621         Add parameter.  Add "catch handler" handling.
14622         (ada_exception_sym_name, ada_exception_breakpoint_ops):
14623         Add "catch handler" handling.
14624         (ada_exception_catchpoint_cond_string): Add "catch handler"
14625         handling.
14626         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
14627         call.
14628         (catch_ada_handlers_command): New function.
14629         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
14630         operations structure.
14631         (_initialize_ada_language): Add "catch handlers" command entry.
14632         * NEWS: Document "catch handlers" feature.
14633
14634 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14635
14636         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
14637         account when creating the array type of the slice.
14638         (ada_value_slice): Likewise.
14639
14640 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14641
14642         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
14643         New enum value.
14644         (create_array_type_with_stride): Add byte_stride_prop parameter.
14645         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
14646         New parameter.  Update all callers in this file.
14647         (array_type_has_dynamic_stride): New function.
14648         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
14649         of arrays with dynamic byte strides.
14650         * dwarf2read.c (read_array_type): Add support for dynamic
14651         DW_AT_byte_stride attributes.
14652
14653 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14654
14655         * dwarf2read.c (read_unspecified_type): Treat
14656         DW_TAG_enumeration_type DIEs from Ada units as stubs.
14657
14658 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14659
14660         Update copyright year range in all GDB files.
14661
14662 2018-01-01, 18  Joel Brobecker  <brobecker@adacore.com>
14663
14664         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
14665         and gdb/testsuite/gdb.base/step-line.c.
14666
14667 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14668
14669         * copyright.py (main): Dump the contents of
14670         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
14671         even if BY_HAND is empty.
14672
14673 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14674
14675         * top.c (print_gdb_version): Update Copyright year in version
14676         message.
14677
14678 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14679
14680         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
14681
14682 For older changes see ChangeLog-2017.
14683 \f
14684 Local Variables:
14685 mode: change-log
14686 left-margin: 8
14687 fill-column: 74
14688 version-control: never
14689 coding: utf-8
14690 End: