S390: Fix crash when remote tdesc doesn't define vec128
[external/binutils.git] / gdb / ChangeLog
1 2018-10-19  Andreas Arnez  <arnez@linux.ibm.com>
2
3         * s390-tdep.c (s390_pseudo_register_type): For v0-v15 don't yield
4         the possibly non-existent tdesc type 'vec128', but the type of raw
5         register v16 instead.
6
7 2018-10-19  Gary Benson <gbenson@redhat.com>
8
9         * cli/cli-interp.c (cli_interp::~cli_interp): New function.
10
11 2018-10-18  Sergio Durigan Junior  <sergiodj@redhat.com>
12
13         PR cli/23785
14         * cli/cli-dump.c (restore_binary_file): Check if "file" is
15         NULL.
16
17 2018-10-17  Paul Koning  <paul_koning@dell.com>
18
19         * charset.c (convert_between_encodings): Fix unsigned overflow.
20
21 2018-10-17  John Baldwin  <jhb@FreeBSD.org>
22
23         * fbsd-nat.c (fbsd_nat_target::info_proc) Use
24         fbsd_info_proc_mappings_header and fbsd_info_proc_mappings_entry.
25         * fbsd-tdep.c (fbsd_vm_map_entry_flags): Mark static.
26         (fbsd_info_proc_mappings_header, fbsd_info_proc_mappings_entry):
27         New functions.
28         (fbsd_core_info_proc_mappings): Use fbsd_info_proc_mappings_header
29         and fbsd_info_proc_mappings_header.
30         * fbsd-tdep.h (fbsd_vm_map_entry_flags): Remove.
31         (fbsd_info_proc_mappings_header, fbsd_info_proc_mappings_entry):
32         New.
33
34 2018-10-17  Joel Brobecker  <brobecker@adacore.com>
35
36         * MAINTAINERS (Responsible Maintainers): Add Rainer Orth as
37         Solaris Maintainer.
38
39 2018-10-15  Tom Tromey  <tom@tromey.com>
40
41         * tui/tui.c (strcat_to_buf): Remove casts.
42         * tui/tui-winsource.c (tui_show_source_line)
43         (tui_set_is_exec_point_at, tui_line_is_displayed): Remove casts.
44         * tui/tui-wingeneral.c (tui_refresh_win, box_win): Remove casts.
45         * tui/tui-windata.c (tui_first_data_item_displayed)
46         (tui_delete_data_content_windows, tui_erase_data_content)
47         (tui_display_all_data, tui_display_data_from)
48         (tui_refresh_data_win, tui_vertical_data_scroll): Remove casts.
49         * tui/tui-win.c (tui_set_win_height)
50         (make_invisible_and_set_new_height, parse_scrolling_args): Remove
51         casts.
52         * tui/tui-win.c (tui_resize_all): Remove casts.
53         (tui_scroll_backward_command, tui_set_focus)
54         (tui_set_tab_width_command): Likewise.
55         * tui/tui-source.c (tui_vertical_source_scroll): Remove cast.
56         * tui/tui-regs.c (tui_show_register_group): Remove cast.
57         * tui/tui-layout.c (tui_set_layout_by_name): Remove cast.
58         * tui/tui-disasm.c (tui_vertical_disassem_scroll): Remove cast.
59         * tui/tui-data.c (tui_partial_win_by_name, tui_free_win_content):
60         Remove casts.
61
62 2018-10-15  Simon Marchi  <simon.marchi@ericsson.com>
63
64         * MAINTAINERS (Responsible Maintainers): Add Alan Hayward as
65         AArch64/ARM maintainer.
66
67 2018-10-11  Gary Benson <gbenson@redhat.com>
68
69         * interps.h (interp::m_name): Make private and mutable.
70         * interps.c (interp::~interp): Free m_name.
71
72 2018-10-10  Sergio Durigan Junior  <sergiodj@redhat.com>
73             Simon Marchi <simark@simark.ca>
74
75         * README (`configure' options): Add documentation for new
76         "--enable-unit-tests" option.
77         * acinclude.m4: Include "selftest.m4".
78         * configure: Regenerate.
79         * configure.ac: Use "GDB_AC_SELFTEST".
80         * maint.c (maintenance_selftest): Update message informing
81         that selftests have been disabled.
82         (maintenance_info_selftests): Likewise.
83         * selftest.m4: New file.
84
85 2018-10-10  Gary Benson <gbenson@redhat.com>
86
87         * remote.c (remote_target::remote_send_printf): Add
88         missing va_end found by Coverity.
89
90 2018-10-10  Markus Metzger  <markus.t.metzger@intel.com>
91
92         * btrace.c (ftrace_update_function): Add indirect jump heuristic.
93
94 2018-10-09  Tom Tromey  <tom@tromey.com>
95
96         * configure: Rebuild.
97         * sanitize.m4 (AM_GDB_UBSAN): Default to no.
98         * NEWS: Update --enable-ubsan documentation.
99
100 2018-10-09  Gary Benson <gbenson@redhat.com>
101
102         * dwarf2read.c (create_dwp_hash_table): Fix buffer overrun
103         found by Coverity.
104
105 2018-10-08  Tom Tromey  <tom@tromey.com>
106
107         * riscv-fbsd-tdep.c (riscv_fbsd_sigframe_init): Remove unused
108         variable.
109         (riscv_fbsd_init_abi): Likewise.
110
111 2018-10-08  Weimin Pan  <weimin.pan@oracle.com>
112         * valops.c (value_struct_elt_for_reference): Rename local variable
113         to work around the shadowing a previous local warning.
114
115 2018-10-08  John Baldwin  <jhb@FreeBSD.org>
116
117         * Makefile.in (ALLDEPFILES): Add riscv-fbsd-nat.c.
118         * NEWS: Mention new FreeBSD/riscv native configuration.
119         * configure.host: Add riscv*-*-freebsd*.
120         * configure.nat: Likewise.
121         * riscv-fbsd-nat.c: New file.
122
123 2018-10-08  John Baldwin  <jhb@FreeBSD.org>
124
125         * Makefile.in (ALL_TARGET_OBS): Add riscv-fbsd-tdep.o.
126         (HFILES_NO_SRCDIR): Add riscv-fbsd-tdep.h.
127         (ALLDEPFILES): Add riscv-fbsd-tdep.c.
128         * NEWS: Mention new FreeBSD/riscv target.
129         * configure.tgt: Add riscv*-*-freebsd*.
130         * riscv-fbsd-tdep.c: New file.
131         * riscv-fbsd-tdep.h: New file.
132
133 2018-10-08  John Baldwin  <jhb@FreeBSD.org>
134
135         * regcache.h (struct regcache_map_entry): Note that this type can
136         be used with traditional frame caches.
137         * trad-frame.c (trad_frame_set_reg_regmap): New.
138         * trad-frame.h (trad_frame_set_reg_regmap): New.
139
140 2018-10-08  Weimin Pan  <weimin.pan@oracle.com>
141
142         PR c++/16841
143         * valops.c (get_virtual_base_offset): New function.
144         (value_struct_elt_for_reference): Use it to get virtual base offset
145         and add it in calculating class member address.
146
147 2018-10-08   John Darrington <john@darrington.wattle.id.au>
148
149     * dwarf2read.c (dwarf2_cu) <producer_is_codewarrior>: New field.
150       (check_producer): Check if the producer is codewarrior.
151       (producer_is_codewarrior): New function.
152       (lnp_state_machine::record_line): Ignore is_stmt flag for records
153        produced by codewarrior.
154       (dwarf2_cu::dwarf2_cu): Initialize producer_is_codewarrior.
155
156 2018-10-06  Tom Tromey  <tom@tromey.com>
157
158         PR python/19399:
159         * python/py-inferior.c: Add "architecture" entry.
160         (infpy_architecture): New function.
161
162 2018-10-06  Tom Tromey  <tom@tromey.com>
163
164         PR python/21765:
165         * python/py-symbol.c (gdbpy_initialize_symbols): Redefine
166         SYMBOL_VARIABLES_DOMAIN, SYMBOL_FUNCTIONS_DOMAIN,
167         SYMBOL_TYPES_DOMAIN.  Define SYMBOL_MODULE_DOMAIN,
168         SYMBOL_COMMON_BLOCK_DOMAIN, SYMBOL_LOC_COMMON_BLOCK.
169
170 2018-10-06  Tom Tromey  <tom@tromey.com>
171
172         PR build/17077:
173         * Makefile.in (OPCODES_CFLAGS): Remove "-I$(OPCODES_SRC)/..".
174         * arc-tdep.c, frv-tdep.c, lm32-tdep.c, mep-tdep.c,
175         microblaze-tdep.c, or1k-tdep.h: Use ../opcodes, not opcodes, in
176         #include.
177
178 2018-10-06  Tom Tromey  <tom@tromey.com>
179
180         * python/py-breakpoint.c (bppy_get_location): Handle a
181         bp_breakpoint without a location.
182
183 2018-10-06  Tom Tromey  <tom@tromey.com>
184
185         * python/lib/gdb/function/strfns.py (_MemEq, _StrLen, _StrEq)
186         (_RegEx): Reformat help text.
187         * python/lib/gdb/function/caller_is.py (CallerIs, CallerMatches)
188         (AnyCallerIs, AnyCallerMatches): Reformat help text.
189         * python/lib/gdb/function/as_string.py (_AsString): Reformat help
190         text.
191         * python/lib/gdb/command/xmethods.py (InfoXMethod)
192         (EnableXMethod, DisableXMethod): Remove help indentation.
193         Capitalize meta-syntactic variables.
194         * python/lib/gdb/command/unwinders.py (InfoUnwinder)
195         (EnableUnwinder, DisableUnwinder): Remove help indentation.
196         Capitalize meta-syntactic variables.
197         * python/lib/gdb/command/explore.py (ExploreCommand)
198         (ExploreValueCommand, ExploreTypeCommand): Reformat help text.
199         * python/lib/gdb/command/type_printers.py (InfoTypePrinter)
200         (EnableTypePrinter, DisableTypePrinter): Remove help indentation.
201         * python/lib/gdb/command/pretty_printers.py (InfoPrettyPrinter):
202         Remove help indentation.
203         (EnablePrettyPrinter, DisablePrettyPrinter): Likewise.
204         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter)
205         (DisableFrameFilter, SetFrameFilterPriority)
206         (ShowFrameFilterPriority, InfoFrameFilter): Reword help text.
207
208 2018-10-06  Tom Tromey  <tom@tromey.com>
209
210         PR tui/28819:
211         * tui/tui-io.c (gdb_wgetch): New function.
212         (tui_mld_getc, tui_getc): Use it.
213
214 2018-10-05  Tom Tromey  <tom@tromey.com>
215
216         * sol-thread.c (sol_thread_target::wait): Rename inner
217         "save_ptid".
218
219 2018-10-04  Tom Tromey  <tom@tromey.com>
220
221         * configure: Rebuild.
222         * warning.m4 (AM_GDB_WARNINGS): Add -Wshadow=local.
223
224 2018-10-04  Tom Tromey  <tom@tromey.com>
225
226         * guile/scm-frame.c (gdbscm_frame_read_var): Remove inner
227         declaration of "block".
228
229 2018-10-04  Tom Tromey  <tom@tromey.com>
230
231         * common/filestuff.c (fdwalk): Remove inner declaration of
232         "result".
233
234 2018-10-04  Tom Tromey  <tom@tromey.com>
235
236         * msp430-tdep.c (msp430_push_dummy_call): Rename inner
237         "structs_addr" and hoist declaration.
238
239 2018-10-04  Tom Tromey  <tom@tromey.com>
240
241         * linux-tdep.c (linux_make_mappings_corefile_notes): Introduce new
242         variable "size".
243
244 2018-10-04  Tom Tromey  <tom@tromey.com>
245
246         * mdebugread.c (parse_partial_symbols): Use std::string.
247
248 2018-10-04  Tom Tromey  <tom@tromey.com>
249
250         * ctf.c (SET_ARRAY_FIELD): Rename "u32".
251         * p-valprint.c (pascal_val_print): Split inner "i" variable.
252         * xtensa-tdep.c (xtensa_push_dummy_call): Declare "i" in loop
253         header.
254         * xstormy16-tdep.c (xstormy16_push_dummy_call): Declare "val" in
255         more inner scope.
256         * xcoffread.c (read_xcoff_symtab): Rename inner "symbol".
257         * varobj.c (varobj_update): Rename inner "newobj",
258         "type_changed".
259         * valprint.c (generic_emit_char): Rename inner "buf".
260         * valops.c (find_overload_match): Rename inner "temp".
261         (value_struct_elt_for_reference): Declare "v" in more inner
262         scope.
263         * v850-tdep.c (v850_push_dummy_call): Rename "len".
264         * unittests/array-view-selftests.c (run_tests): Rename inner
265         "vec".
266         * tui/tui-stack.c (tui_show_frame_info): Declare "i" in loop
267         header.
268         * tracepoint.c (merge_uploaded_trace_state_variables): Declare
269         "tsv" in more inner scope.
270         (print_one_static_tracepoint_marker): Rename inner
271         "tuple_emitter".
272         * tic6x-tdep.c (tic6x_analyze_prologue): Declare "inst" lower.
273         (tic6x_push_dummy_call): Don't redeclare "addr".
274         * target-float.c: Declare "dto" lower.
275         * symtab.c (lookup_local_symbol): Rename inner "sym".
276         (find_pc_sect_line): Rename inner "pc".
277         * stack.c (print_frame): Don't redeclare "gdbarch".
278         (return_command): Rename inner "gdbarch".
279         * s390-tdep.c (s390_prologue_frame_unwind_cache): Renam inner
280         "sp".
281         * rust-lang.c (rust_internal_print_type): Declare "i" in loop
282         header.
283         * rs6000-tdep.c (ppc_process_record): Rename inner "addr".
284         * riscv-tdep.c (riscv_push_dummy_call): Declare "info" in inner
285         scope.
286         * remote.c (remote_target::update_thread_list): Don't redeclare
287         "tp".
288         (remote_target::process_initial_stop_replies): Rename inner
289         "thread".
290         (remote_target::remote_parse_stop_reply): Don't redeclare "p".
291         (remote_target::wait_as): Don't redeclare "stop_reply".
292         (remote_target::get_thread_local_address): Rename inner
293         "result".
294         (remote_target::get_tib_address): Likewise.
295
296         * regcache.c (cooked_read_test): Rename "regnum".
297         * record-btrace.c (cmd_record_btrace_start): Rename inner
298         "exception".
299         * ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Declare "i" in
300         loop header.
301         * ppc-linux-tdep.c (ppc_linux_syscall_record): Declare "i" in loop
302         header.
303         (ppu2spu_sniffer): Rename inner "buf".
304         * parse.c (operator_check_standard): Rename inner "type",
305         "objfile".
306         * p-valprint.c (pascal_val_print): Introduce new scope for
307         "low_bound", "high_bound".
308         * p-exp.y (yylex): Declare "i" in loop header.
309         * objfiles.c (objfile_relocate1): Declare "i" in loop header.
310         Lower declaration of "s".
311         * nios2-tdep.c (nios2_analyze_prologue): Declare "i" in loop
312         header.
313         (nios2_push_dummy_call): Rename "len".
314         * nat/linux-osdata.c (linux_xfer_osdata_cpus): Rename static
315         "buf".
316         (linux_xfer_osdata_fds, linux_xfer_osdata_shm)
317         (linux_xfer_osdata_sem, linux_xfer_osdata_msg)
318         (linux_xfer_osdata_modules): Likewise.
319         * mips-tdep.c (mips_eabi_push_dummy_call): Rename outer "len".
320         (mips_n32n64_push_dummy_call, mips_o32_push_dummy_call)
321         (mips_o64_push_dummy_call): Likewise.
322         * microblaze-tdep.c (microblaze_analyze_prologue): Rename inner
323         "op".
324         * mi/mi-main.c (list_available_thread_groups): Rename inner
325         "tuple_emitter".
326         (mi_cmd_data_read_memory): Rename inner "opts".
327         * mi/mi-cmd-var.c (varobj_update_one): Rename inner
328         "tuple_emitter".
329         * mep-tdep.c (mep_analyze_prologue): Declare "rn" in loop header.
330         * mdebugread.c (parse_symbol): Rename inner "b".  Declare "f" in
331         more inner scope.
332         (parse_partial_symbols): Rename inner "pst", "p", "name"
333         * main.c (captured_main_1): Rename inner "i"s.
334         * machoread.c (macho_symfile_read_all_oso): Don't redeclare
335         "oso2".
336         * linux-tdep.c (linux_info_proc): Rename inner "filename".
337         * linespec.c (linespec_lexer_lex_string): Rename inner "p".
338         * infrun.c (handle_no_resumed): Don't redeclare "thread".
339         (handle_signal_stop): Rename inner "gdbarch".
340         (handle_command): Declare "signum" in loop header.
341         * ia64-tdep.c (ia64_pseudo_register_read): Don't redeclare
342         "status".
343         (examine_prologue): Rename inner "sol" and "sof".
344         (ia64_extract_return_value): Rename inner "val".  Declare another
345         "val" in a more inner scope.
346         * hppa-bsd-tdep.c (hppabsd_find_global_pointer): Declare "buf" in
347         inner scope.
348         * guile/scm-symbol.c (gdbscm_lookup_symbol): Rename inner
349         "except".
350         * findvar.c (default_read_var_value): Don't redeclare "addr".
351         * f-exp.y (yylex): Declare "i" in loop header.
352         * eval.c (evaluate_subexp_standard): Don't redeclare "type".
353         Rename inner "type", "expect_type".
354         (evaluate_subexp_for_sizeof): Rename inner "pc".
355         * elfread.c (elf_symfile_read): Rename inner "abfd".
356         * dwarf2read.c (read_debug_names_from_section): Don't redeclare
357         "bytes_read".
358         (process_psymtab_comp_unit_reader): Don't redeclare "gdbarch".
359         (add_partial_subprogram): Rename inner "lowpc" and "highpc".
360         (dwarf_decode_line_header): Rename inner "lh".
361         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Don't redeclare
362         "offset".  Declare "i" in loop header.
363         (disassemble_dwarf_expression): Rename inner "addr_size".
364         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Rename
365         inner "result".
366         (dwarf_expr_context::execute_stack_op): Rename inner "offset".
367         * dwarf2-frame.c (decode_frame_entry_1): Rename inner "length"s.
368         * disasm.c (do_mixed_source_and_assembly_deprecated): Rename inner
369         "inner_list_emitter".
370         (do_mixed_source_and_assembly): Rename inner "tuple_emitter".
371         * disasm-selftests.c (print_one_insn_test): Wrap "bplen"
372         declaration in a block.
373         * csky-tdep.c (csky_analyze_prologue): Declare "offset" lower.
374         * cp-valprint.c (cp_print_value_fields): Don't redeclare
375         "obstack_final_size".
376         * cp-support.c (inspect_type): Declare "i" in loop header.
377         * compile/compile.c (compile_instance::insert_symbol_error):
378         Rename inner "e".
379         * common/agent.c (agent_run_command): Remove inner "ret"
380         declaration.
381         * coffread.c (coff_symfile_read): Rename inner "name".
382         (coff_symfile_read): Rename inner "abfd".
383         * cli/cli-utils.c (get_number_trailer): Rename inner "val".
384         * cli/cli-cmds.c (print_disassembly): Rename inner "low" and
385         "high".
386         * c-exp.y (lex_one_token): Move "len" declaration lower.
387         * breakpoint.c (create_longjmp_master_breakpoint): Don't redeclare
388         "gdbarch".
389         (create_exception_master_breakpoint): Likewise.  Don't redeclare
390         "b".
391         (watch_command_1): Declare "mark" later.
392         (clear_command): Don't shadow "a" or "b".
393         (delete_command): Rename inner "b".
394         (delete_trace_command): Likewise.
395         * arm-tdep.c (thumb_process_displaced_32bit_insn): Rename inner
396         "op".
397         (arm_gdbarch_init): Remove inner "e_flags".
398         * arch/arm-get-next-pcs.c (thumb_get_next_pcs_raw): Declare
399         "offset" in inner blocks.
400
401 2018-10-04  Simon Marchi  <simon.marchi@ericsson.com>
402
403         * dwarf-index-write.c (file_write): Don't write if the vector is
404         empty.
405
406 2018-10-05  Tom de Vries  <tdevries@suse.de>
407
408         * python/py-progspace.c (pspy_solib_name): Fix type mismatch in
409         PyArg_ParseTuple call.
410
411 2018-10-05  Tom de Vries  <tdevries@suse.de>
412
413         * python/py-record-btrace.c (recpy_bt_goto): Fix type mismatch in
414         PyArg_ParseTuple call.
415
416 2018-10-04  Joel Brobecker  <brobecker@adacore.com>
417
418         * psymtab.c (recursively_search_psymtabs): Reformat parameters
419         to avoid exceeding 80 characters per line limit.
420
421 2018-10-04  Tom Tromey  <tom@tromey.com>
422
423         * symfile.c (syms_from_objfile_1, finish_new_objfile)
424         (reread_symbols): Update.
425         * complaints.h (clear_complaints): Remove argument.
426         * complaints.c (enum complaint_series): Remove.
427         (series): Remove global.
428         (complaint_internal): Update.
429         (clear_complaints): Remove argument.
430
431 2018-10-04  Tom Tromey  <tom@tromey.com>
432
433         * symfile.c (symbol_file_add_with_addrs): Do not print "no
434         debugging symbols" message if there is a separate debug objfile.
435
436 2018-10-04  Tom Tromey  <tom@tromey.com>
437
438         PR cli/19551:
439         * symfile.c (symbol_file_add_with_addrs): Update output.
440         * psymtab.c (require_partial_symbols): Update output.
441
442 2018-10-04  Tom Tromey  <tom@tromey.com>
443
444         PR cli/22234:
445         * complaints.c: Emit \n.
446
447 2018-10-04  Tom Tromey  <tom@tromey.com>
448
449         * symfile.c (symbol_file_add_with_addrs, symbol_file_clear)
450         (separate_debug_file_exists, find_separate_debug_file)
451         (add_symbol_file_command, reread_symbols, allocate_symtab)
452         (allocate_compunit_symtab): Use filtered printing, not
453         unfiltered.
454         * psymtab.c (require_partial_symbols, dump_psymtab)
455         (allocate_psymtab): Use filtered printing, not unfiltered.
456
457 2018-10-04  Tom Tromey  <tom@tromey.com>
458
459         * complaints.c (complaint_internal): Correctly check complaint
460         count.
461
462 2018-10-04  Tom Tromey  <tom@tromey.com>
463
464         * complaints.h (struct complaints): Remove declaration.
465         * complaints.c (clear_complaints): Remove an unused variable.
466
467 2018-10-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
468
469         * MAINTAINERS (Write After Approval): Add self.
470
471 2018-10-03  Tom Tromey  <tom@tromey.com>
472
473         * guile/scm-value.c (gdbscm_value_to_string): Initialize
474         "buffer_contents".
475         * coffread.c (coff_symtab_read): Initialize "newobj".
476
477 2018-10-03  Simon Marchi  <simon.marchi@polymtl.ca>
478
479         * dwarf2read.c (read_func_scope): Remove struct keyword in
480         range-based for.
481
482 2018-10-03  Tom Tromey  <tom@tromey.com>
483
484         * README: Mention --enable-ubsan.
485         * NEWS: Mention --enable-ubsan.
486         * acinclude.m4: Include sanitize.m4.
487         * configure: Rebuild.
488         * configure.ac: Call AM_GDB_UBSAN.
489         * sanitize.m4: New file.
490
491 2018-10-03  Tom Tromey  <tom@tromey.com>
492
493         * expression.h (enum exp_opcode): Use uint8_t as base type.
494         * expprint.c (op_name): Handle invalid opcodes.
495
496 2018-10-03  Tom Tromey  <tom@tromey.com>
497
498         * parse.c (prefixify_expression): Add assert.
499         (parse_exp_in_context_1): Throw exception if the expression is
500         empty.
501
502 2018-10-03  Tom Tromey  <tom@tromey.com>
503
504         * dwarf2read.c (read_signed_leb128): Work in ULONGEST.
505
506 2018-10-03  Tom Tromey  <tom@tromey.com>
507
508         * c-exp.y (parse_number): Work in unsigned.  Remove casts.
509
510 2018-10-03  Tom Tromey  <tom@tromey.com>
511
512         * dwarf2read.c (read_subrange_type): Make "negative_mask"
513         unsigned.
514
515 2018-10-03  Tom Tromey  <tom@tromey.com>
516
517         * findvar.c (extract_integer): Do work in an unsigned type.
518
519 2018-10-03  Tom Tromey  <tom@tromey.com>
520
521         * common/enum-flags.h (enum_flags::operator~): Add static assert.
522         * symfile-add-flags.h (enum symfile_add_flag): Use unsigned as
523         base type.
524         * objfile-flags.h (enum objfile_flag): Use unsigned as base type.
525         * gdbtypes.h (enum type_instance_flag_value): Use unsigned as base
526         type.
527         * c-lang.h (enum c_string_type_values): Use unsigned as base
528         type.
529         * btrace.h (enum btrace_thread_flag): Use unsigned as base type.
530
531 2018-10-03  Tom Tromey  <tom@tromey.com>
532
533         * dwarf2-frame.h (dwarf2_frame_state_reg_info)
534         <~dwarf2_frame_state_reg_info>: Update.
535         <dwarf2_frame_state_reg_info>: Update.
536         <alloc_regs>: Add assertion.  Update.
537         <reg>: Now a std::vector.
538         <num_regs>: Remove.
539         <swap>: Update.
540         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
541         (execute_cfa_program_test, dwarf2_frame_cache): Update.
542
543 2018-10-03  Tom Tromey  <tom@tromey.com>
544
545         * namespace.c (add_using_directive): Don't pass NULL to memcpy.
546
547 2018-10-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
548
549         * tid-parse.c (tid_is_in_list): Fix wrong 'See' comment.
550
551 2018-10-02  Tom Tromey  <tom@tromey.com>
552
553         * aarch64-linux-tdep.c (aarch64_linux_sigframe_init): Use pulongest.
554
555 2018-10-02  John Darrington <john@darrington.wattle.id.au>
556
557         * NEWS: Mention changed commands.
558         * ser-uds.c: New file.
559         * configure.ac (SER_HARDWIRE): Add ser-uds.o.
560         * configure: Regenerate.
561         * Makefile.in: Add new file.
562         * serial.c (serial_open): Check if filename is a socket
563           and lookup the appropriate interface accordingly.
564
565 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
566
567         * aarch64-linux-tdep.c (AARCH64_SIGCONTEXT_RESERVED_OFFSET): Add
568         define.
569         (AARCH64_EXTRA_MAGIC): Likewise.
570         (AARCH64_FPSIMD_MAGIC): Likewise.
571         (AARCH64_SVE_MAGIC): Likewise.
572         (AARCH64_EXTRA_DATAP_OFFSET): Likewise.
573         (AARCH64_FPSIMD_FPSR_OFFSET): Likewise.
574         (AARCH64_FPSIMD_FPCR_OFFSET): Likewise.
575         (AARCH64_FPSIMD_V0_OFFSET): Likewise.
576         (AARCH64_FPSIMD_VREG_SIZE): Likewise.
577         (AARCH64_SVE_CONTEXT_VL_OFFSET): Likewise.
578         (AARCH64_SVE_CONTEXT_REGS_OFFSET): Likewise.
579         (AARCH64_SVE_CONTEXT_P_REGS_OFFSET): Likewise.
580         (AARCH64_SVE_CONTEXT_FFR_OFFSET): Likewise.
581         (AARCH64_SVE_CONTEXT_SIZE): Likewise.
582         (read_aarch64_ctx): Add function.
583         (aarch64_linux_sigframe_init): Detect FP registers.
584
585 2018-10-01  Alan Hayward  <alan.hayward@arm.com>
586
587         * aarch64-tdep.c (AARCH64_Q0_REGNUM): Move to here.
588         (AARCH64_D0_REGNUM): Likewise.
589         (AARCH64_S0_REGNUM): Likewise.
590         (AARCH64_H0_REGNUM): Likewise.
591         (AARCH64_B0_REGNUM): Likewise.
592         (AARCH64_SVE_V0_REGNUM): Likewise.
593         * arch/aarch64.h (AARCH64_Q0_REGNUM): Move from here.
594         (AARCH64_D0_REGNUM): Likewise.
595         (AARCH64_S0_REGNUM): Likewise.
596         (AARCH64_H0_REGNUM): Likewise.
597         (AARCH64_B0_REGNUM): Likewise.
598         (AARCH64_SVE_V0_REGNUM): Likewise.
599
600 2018-10-01  Gary Benson <gbenson@redhat.com>
601
602         * gdb_proc_service.h (gdb_prfpregset_t): Remove typedef.
603         * proc-service.c (ps_lgetfpregs, ps_lsetfpregs): Use
604         prfpregset_t instead of gdb_prfpregset_t.
605         * configure.ac (PRFPREGSET_T_BROKEN): Remove check.
606         * configure, config.in: Rebuild.
607
608 2018-10-01  Gary Benson <gbenson@redhat.com>
609
610         * common/gdb_proc_service.h: New file, factored out from...
611         * gdb_proc_service.h: Moved common code to the above file.
612         * Makefile.in (HFILES_NO_SRCDIR): Add the above new file.
613
614 2018-10-01  Gary Benson <gbenson@redhat.com>
615
616         * gdb_proc_service.h: Use elf_gregset_t if prgregset_t is
617         undefined.  Use elf_fpregset_t if prfpregset_t is undefined.
618
619 2018-10-01  Gary Benson <gbenson@redhat.com>
620
621         * configure.ac: Check if sys/procfs.h defines elf_fpregset_t.
622         (AC_CHECK_HEADERS): Check for linux/elf.h.
623         * configure, config.in: Rebuild.
624         * gdb_proc_service.h: Include linux/elf.h if sys/procfs.h
625         doesn't define elf_fpregset_t.
626
627 2018-10-01  Gary Benson <gbenson@redhat.com>
628
629         * gdb_proc_service.h: Whitespace change.
630
631 2018-10-01  Tom Tromey  <tom@tromey.com>
632
633         * unittests/scoped_mmap-selftests.c: Don't check HAVE_UNISTD_H.
634         * unittests/scoped_fd-selftests.c: Don't check HAVE_UNISTD_H.
635         * common/scoped_fd.h: Don't check HAVE_UNISTD_H.
636
637 2018-10-01  Tom Tromey  <tom@tromey.com>
638
639         * README: Minor change.
640
641 2018-09-30  Pedro Alves  <palves@redhat.com>
642
643         * darwin-nat-info.c (darwin_debug_regions_recurse)
644         (info_mach_exceptions_command): Remove unused local variables.
645         * darwin-nat.c (darwin_decode_notify_message)
646         (darwin_nat_target::resume, darwin_nat_target::mourn_inferior)
647         (darwin_stop_inferior, darwin_setup_exceptions)
648         (darwin_nat_target::kill, darwin_attach_pid, darwin_ptrace_him)
649         (darwin_nat_target::attach, darwin_nat_target::detach)
650         (darwin_read_write_inferior, darwin_read_dyld_info): Remove unused
651         local variables.
652         * i386-darwin-nat.c (i386_darwin_dr_set): Remove unused local
653         variables.
654
655 2018-09-29  Tom Tromey  <tom@tromey.com>
656
657         * README: Remove some leftover text.
658
659 2018-09-29  Tom Tromey  <tom@tromey.com>
660
661         * PROBLEMS: Rewrite.
662         * README: Update.
663
664 2018-09-28  John Baldwin  <jhb@FreeBSD.org>
665
666         * disasm-selftests.c (print_one_insn_test): Add bfd_arch_riscv to
667         case with explicit breakpoint kind.
668         * riscv-tdep.c (show_use_compressed_breakpoints): Remove
669         'additional_info' and related logic.
670         (riscv_debug_breakpoints): New variable.
671         (riscv_breakpoint_kind_from_pc): Use the length of the existing
672         instruction to determine the breakpoint kind.
673         (_initialize_riscv_tdep): Add 'set/show debug riscv breakpoints'
674         flag.  Update description of 'set/show riscv
675         use-compressed-breakpoints' flag.
676
677 2018-09-28  Andrew Burgess  <andrew.burgess@embecosm.com>
678
679         (NEWS): Mention changes to frame related commands.
680         * cli/cli-decode.c (add_cmd_suppress_notification): New function.
681         (add_prefix_cmd_suppress_notification): New function.
682         (add_com_suppress_notification): Call
683         add_cmd_suppress_notification.
684         * command.h (add_cmd_suppress_notification): Declare.
685         (add_prefix_cmd_suppress_notification): Declare.
686         * mi/mi-cmd-stack.c: Add 'safe-ctype.h' include.
687         (parse_frame_specification): Moved from stack.c, with
688         simplification to handle a single argument.
689         (mi_cmd_stack_select_frame): Use parse_frame_specification, the
690         switch to the selected frame.  Add a header comment.
691         * stack.c: Remove 'safe-ctype.h' include.
692         (find_frame_for_function): Add declaration.
693         (find_frame_for_address): New function.
694         (parse_frame_specification): Moved into mi/mi-cmd-stack.c.
695         (frame_selection_by_function_completer): New function.
696         (info_frame_command): Rename to...
697         (info_frame_command_core): ...this, and update parameter types.
698         (select_frame_command): Rename to...
699         (select_frame_command_core): ...this, and update parameter types.
700         (frame_command): Rename to...
701         (frame_command_core): ...this, and update parameter types.
702         (class frame_command_helper): New class to wrap implementations of
703         frame related sub-commands.
704         (frame_apply_cmd_list): New static global.
705         (frame_cmd_list): Make static.
706         (select_frame_cmd_list): New global for sub-commands.
707         (info_frame_cmd_list): New global for sub-commands.
708         (_initialize_stack): Register sub-commands for 'frame',
709         'select-frame', and 'info frame'.  Update 'frame apply' commands
710         to use frame_apply_cmd_list.  Move function local static
711         frame_apply_list to file static frame_apply_cmd_list for
712         consistency.
713         * stack.h (select_frame_command): Delete declarationn.
714         (select_frame_for_mi): Declare new function.
715
716 2018-09-26  Andrew Burgess  <andrew.burgess@embecosm.com>
717
718         * riscv-tdep.c (riscv_insn::decode): Decode c.lui.
719         (riscv_scan_prologue): Split handling of AUIPC, LUI, ADD, ADDI,
720         and NOP.
721
722 2018-09-26  Simon Marchi  <simon.marchi@ericsson.com>
723
724         * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): Remove.
725
726 2018-09-26  Tom Tromey  <tom@tromey.com>
727
728         * valops.c (auto_abandon): Remove dead code.
729
730 2018-09-26  Tom Tromey  <tom@tromey.com>
731
732         * tui/tui-win.c (WIN_HEIGHT_USAGE): Remove extra ">"s.
733
734 2018-09-24  Tom Tromey  <tom@tromey.com>
735
736         * common/pathstuff.c (get_standard_cache_dir): Make
737         "xdg_cache_home" and "home" const.
738         * top.c (init_history): Make "tmpenv" const.
739         * main.c (get_init_files): Make "homedir" const.
740
741 2018-09-23  Tom Tromey  <tom@tromey.com>
742
743         PR python/18852:
744         * python/py-param.c (get_set_value): Use gdbpy_handle_exception.
745
746 2018-09-23  Tom Tromey  <tom@tromey.com>
747
748         * python/py-function.c (fnpy_call): Use gdbpy_handle_exception.
749         * python/py-cmd.c (cmdpy_function): Use gdbpy_handle_exception.
750         * python/python-internal.h (gdbpy_handle_exception): Declare.
751         * python/py-utils.c (gdbpy_handle_exception): New function.
752
753 2018-09-23  Tom Tromey  <tom@tromey.com>
754
755         PR python/17284:
756         * python/py-type.c (typy_template_argument): Check for negative
757         argument number.
758
759 2018-09-23  Tom Tromey  <tom@tromey.com>
760
761         PR python/14062:
762         * python/python.c (gdbpy_run_events): Do not ignore exceptions.
763
764 2018-09-23  Tom Tromey  <tom@tromey.com>
765
766         PR python/18170:
767         * python/py-value.c (valpy_int): Allow conversion from pointer
768         type.
769
770 2018-09-23  Tom Tromey  <tom@tromey.com>
771
772         PR python/20126:
773         * python/py-value.c (valpy_int): Respect type sign.
774
775 2018-09-23  Tom Tromey  <tom@tromey.com>
776
777         PR python/18352;
778         * python/py-value.c (valpy_float): Allow conversions from int or
779         char.
780         (valpy_int, valpy_long): Allow conversions from float.
781
782 2018-09-23  Tom Tromey  <tom@tromey.com>
783
784         * ctf.c (ctf_start): Use gdb_fopen_cloexec.
785         * common/scoped_mmap.c (mmap_file): Use gdb_open_cloexec.
786
787 2018-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
788
789         * amd64-sol2-tdep.c (amd64_sol2_sigtramp_p): Also recognize
790         __sighndlr.
791         * i386-sol2-tdep.c (i386_sol2_sigtramp_p): Likewise.
792
793 2018-08-02  Jon Turney  <jon.turney@dronecode.org.uk>
794
795         * windows-nat.c (windows_nat_target::wait): Remove a spurious
796         target_terminal::ours().
797
798 2018-09-23  Simon Marchi  <simon.marchi@ericsson.com>
799
800         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): Change type
801         of vl to ULONGEST.
802
803 2018-09-21  Yacov Simhony  <ysimhony@gmail.com>
804
805         * breakpoint.c (update_inserted_breakpoint_locations): Remove
806         redundant condition.
807
808 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
809
810         * proc-utils.h (PROC_CTL_WORD_TYPE): Remove.
811
812         * procfs.c: Don't check for PR_MODEL_NATIVE definition.
813         * sparc-sol2-nat.c: Likewise.  Remove Linux, __arch64__ references.
814         * sol-thread.c (ps_pdmodel): Don't guard definition.
815
816         * procfs.c: Fix formatting.
817
818         * procfs.c (sysset_t_alloc): Remove.
819         (create_procinfo): Use XNEW instead of sysset_t_alloc.
820         (procfs_debug_inferior): Likewise.
821         (procfs_set_exec_trap): Likewise.
822         (proc_set_traced_sysentry): Don't allocate argp dynamically.
823         (proc_set_traced_sysexit): Likewise.
824
825         * procfs.c (create_procinfo): Use xsnprintf to fix ARI warning.
826         (dead_procinfo): Likewise.
827         (proc_warn): Likewise.
828         (proc_error): Likewise.
829         (proc_get_LDT_entry): Likewise.
830         (do_attach): Likewise.
831         (procfs_target::pid_to_str): Likewise.
832         (iterate_over_mappings): Likewise.
833
834         * procfs.c (create_procinfo): Fix ARI warning.
835         (proc_get_status): Likewise.
836         (proc_stop_process): Likewise.
837         (proc_run_process): Likewise.
838         (proc_kill): Likewise.
839         (proc_get_LDT_entry): Likewise.
840         (procfs_find_LDT_entry): Likewise.
841         (proc_update_threads): Likewise.
842         (proc_iterate_over_threads): Likewise.
843         (do_attach): Likewise.
844         (procfs_xfer_memory): Likewise.
845         (invalidate_cache): Likewise.
846         (procfs_target::resume): Likewise.
847         (procfs_init_inferior): Likewise.
848         (procfs_set_exec_trap): Likewise.
849         (procfs_target::thread_alive): Likewise.
850         (procfs_target::pid_to_exec_file): Likewise.
851         (iterate_over_mappings): Likewise.
852         (procfs_target::make_corefile_notes): Likewise.
853         * sol-thread.c (sol_thread_target::thread_alive): Likewise.
854
855         * procfs.c (procfs_find_LDT_entry): Silence ARI warning.
856         (procfs_find_LDT_entry): Likewise.
857         * sol-thread.c (ps_lgetLDT): Likewise.
858
859 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
860
861         PR tdep/17903
862         * procfs.c (procfs_target): Declare pid_to_exec_file.
863         (procfs_target::pid_to_exec_file): New.
864
865 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
866
867         * auxv.c (default_print_auxv_entry): Reflect AT_SUN_CAP_HW1
868         renaming.
869         Handle AT_SUN_EMULATOR, AT_SUN_BRANDNAME, AT_SUN_BRAND_AUX1,
870         AT_SUN_BRAND_AUX2, AT_SUN_BRAND_AUX3, AT_SUN_CAP_HW2.
871
872 2018-09-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
873
874         * i386-v4-nat.c (regmap, supply_gregset, fill_gregset)
875         (supply_fpregset, fill_fpregset): Move ...
876         * i386-sol2-nat.c [PR_MODEL_NATIVE != PR_MODEL_LP64]: ... here.
877         Remove HAVE_GREGSET_T, HAVE_FPREGET_T guards.
878         Remove references to ioctl-based procfs.
879         Include <sys/reg.h>.
880         Remove PR_MODEL_NATIVE guards.
881         * configure.nat <sol2, i386> (NATDEPFILES): Remove i386-v4-nat.o.
882         * Makefile.in (ALLDEPFILES): Remove i386-v4-nat.c.
883
884 2018-09-19  Xavier Roirand  <roirand@adacore.com>
885
886         PR gdb/20981:
887         * solib-darwin.c (darwin_get_dyld_bfd): New function.
888         (darwin_solib_get_all_image_info_addr_at_init): Update call.
889         (darwin_solib_create_inferior_hook): Handle unrelocated dyld.
890
891 2018-09-19  John Baldwin  <jhb@FreeBSD.org>
892
893         * fbsd-tdep.c (fbsd_print_sockaddr_in): Style fix.
894         (fbsd_print_sockaddr_in6): Likewise.
895
896 2018-09-19  Richard Bunt  <richard.bunt@arm.com>
897             Chris January  <chris.january@arm.com>
898
899         * eval.c (skip_undetermined_arglist): Skip argument list helper.
900         (evaluate_subexp_standard): Return a dummy type when
901         honoring EVAL_SKIP in OP_VAR_VALUE and handle skipping in the
902         OP_F77_UNDETERMINED_ARGLIST case.
903         * expression.h (enum noside): Update comment.
904
905 2018-09-19  George Vasick <george.vasick@oracle.com>
906
907         * solib-svr4.c (svr4_same_1): Also handle amd64 ld.so.1.
908
909 2018-09-19  Stefan Teleman <stefan.teleman@oracle.com>
910             April Chin <april.chin@oracle.com>
911             Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
912
913         * procfs.c (MAX_PROC_NAME_SIZE): Allow for 6-digit PID_MAX and
914         uint_t lwpid_t.
915         (create_procinfo): Print pids in /proc without leading zeros.
916
917 2018-09-18  Sandra Loosemore  <sandra@codesourcery.com>
918
919         * nios2-tdep.c (nios2_gcc_target_options): New.
920         (nios2_gdb_arch_init): Install new hook.
921
922 2018-09-18  Simon Marchi  <simon.marchi@ericsson.com>
923
924         * patches/0001-Fix-PR-gdb-23558-Use-system-s-getcwd-when-cross-comp.patch:
925         New file.
926         * update-gnulib.sh: Apply patch.
927         * configure: Re-generate.
928
929 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
930
931         * infcmd.c (_initialize_infcmd): Remove "running" from "info proc"
932         description.  Make "info proc" command descriptions more
933         consistent.
934
935 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
936
937         * NEWS: Mention 'info proc files' command.
938
939 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
940
941         * fbsd-nat.c (fbsd_nat_target::info_proc): List open file
942         descriptors for IP_FILES and IP_ALL.
943
944 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
945
946         * fbsd-tdep.c (KF_FLAGS, KF_OFFSET, KF_VNODE_TYPE, KF_SOCK_DOMAIN)
947         (KF_SOCK_TYPE, KF_SOCK_PROTOCOL, KF_SA_LOCAL, KF_SA_PEER)
948         (KINFO_FILE_TYPE_SOCKET, KINFO_FILE_TYPE_PIPE)
949         (KINFO_FILE_TYPE_FIFO, KINFO_FILE_TYPE_KQUEUE)
950         (KINFO_FILE_TYPE_CRYPTO, KINFO_FILE_TYPE_MQUEUE)
951         (KINFO_FILE_TYPE_SHM, KINFO_FILE_TYPE_SEM, KINFO_FILE_TYPE_PTS)
952         (KINFO_FILE_TYPE_PROCDESC, KINFO_FILE_FD_TYPE_ROOT)
953         (KINFO_FILE_FD_TYPE_JAIL, KINFO_FILE_FD_TYPE_TRACE)
954         (KINFO_FILE_FD_TYPE_CTTY, KINFO_FILE_FLAG_READ)
955         (KINFO_FILE_FLAG_WRITE, KINFO_FILE_FLAG_APPEND)
956         (KINFO_FILE_FLAG_ASYNC, KINFO_FILE_FLAG_FSYNC)
957         (KINFO_FILE_FLAG_NONBLOCK, KINFO_FILE_FLAG_DIRECT)
958         (KINFO_FILE_FLAG_HASLOCK, KINFO_FILE_FLAG_EXEC)
959         (KINFO_FILE_VTYPE_VREG, KINFO_FILE_VTYPE_VDIR)
960         (KINFO_FILE_VTYPE_VCHR, KINFO_FILE_VTYPE_VLNK)
961         (KINFO_FILE_VTYPE_VSOCK, KINFO_FILE_VTYPE_VFIFO, FBSD_AF_UNIX)
962         (FBSD_AF_INET, FBSD_AF_INET6, FBSD_SOCK_STREAM, FBSD_SOCK_DGRAM)
963         (FBSD_SOCK_SEQPACKET, FBSD_IPPROTO_ICMP, FBSD_IPPROTO_TCP)
964         (FBSD_IPPROTO_UDP, FBSD_IPPROTO_SCTP): New defines.
965         (struct fbsd_sockaddr_in, struct fbsd_sockaddr_in6)
966         (struct fbsd_sockaddr_un): New types.
967         (fbsd_file_fd, fbsd_file_type, fbsd_file_flags, fbsd_ipproto)
968         (fbsd_print_sockaddr_in, fbsd_print_sockaddr_in6)
969         (fbsd_info_proc_files_header, fbsd_info_proc_files_entry)
970         (fbsd_core_info_proc_files): New functions.
971         (fbsd_core_info_proc): List open file descriptors for IP_FILES and
972         IP_ALL.
973         * fbsd-tdep.h (fbsd_info_proc_files_header)
974         (fbsd_info_proc_files_entry): New.
975
976 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
977
978         * defs.h (enum info_proc_what) [IP_FILES]: New value.
979         * infcmd.c (info_proc_cmd_files): New function.
980         (_initialize_infcmd): Register 'info proc files' command.
981
982 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
983
984         * gnulib/aclocal-m4-deps.mk: Re-generate.
985         * gnulib/aclocal.m4: Re-generate.
986         * gnulib/config.in: Re-generate.
987         * gnulib/configure: Re-generate.
988         * gnulib/import/Makefile.am: Re-generate.
989         * gnulib/import/Makefile.in: Re-generate.
990         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
991         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
992         * gnulib/import/arpa_inet.in.h: New file.
993         * gnulib/import/inet_ntop.c: New file.
994         * gnulib/import/m4/arpa_inet_h.m4: New file.
995         * gnulib/import/m4/inet_ntop.m4: New file.
996         * gnulib/import/m4/netinet_in_h.m4: New file.
997         * gnulib/import/m4/socklen.m4: New file.
998         * gnulib/import/m4/sockpfaf.m4: New file.
999         * gnulib/import/m4/stdalign.m4: New file.
1000         * gnulib/import/m4/sys_uio_h.m4: New file.
1001         * gnulib/import/netinet_in.in.h: New file.
1002         * gnulib/import/stdalign.in.h: New file.
1003         * gnulib/import/sys_socket.c: New file.
1004         * gnulib/import/sys_socket.in.h: New file.
1005         * gnulib/import/sys_uio.in.h: New file.
1006         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add inet_ntop
1007         module.
1008
1009 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1010
1011         * gnulib/aclocal-m4-deps.mk: New file.
1012         * gnulib/update-gnulib.sh: Generate "aclocal-m4-deps.mk"
1013         deterministically.
1014
1015 2018-09-18  John Baldwin  <jhb@FreeBSD.org>
1016
1017         * fbsd-tdep.c (fbsd_core_vnode_path): Use KF_PATH instead of
1018         KVE_PATH.
1019
1020 2018-09-18  Tom Tromey  <tom@tromey.com>
1021
1022         * compile/compile-object-load.c (struct
1023         link_hash_table_cleanup_data): Add constructor and destructor.
1024         Use DISABLE_COPY_AND_ASSIGN.
1025         (~link_hash_table_cleanup_data): Rename from
1026         link_hash_table_free.  Now a destructor.
1027         (copy_sections): Use gdb::unique_xmalloc_ptr.  Remove cleanups.
1028
1029 2018-09-18  Tom Tromey  <tom@tromey.com>
1030
1031         * compile/compile-object-run.c (do_module_cleanup): Use delete.
1032         * compile/compile-object-load.c (struct munmap_list): Move to
1033         header file.
1034         (munmap_list::add): Rename from munmap_list_add; rewrite.
1035         (munmap_list::~munmap_list): Rename from munmap_list_free.
1036         (munmap_listp_free_cleanup): Remove.
1037         (compile_object_load): Update.
1038         * compile/compile-object-load.h (struct munmap_list): Move from
1039         compile-object-load.c.  Rewrite.
1040
1041 2018-09-18  Alan Hayward  <alan.hayward@arm.com>
1042
1043         * aarch64-tdep.c (pass_in_v): Use register size.
1044         (aarch64_extract_return_value): Likewise.
1045         (aarch64_store_return_value): Likewise.
1046
1047 2018-09-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1048
1049         * utils.c (dump_core) [HAVE_SETRLIMIT]: Cast RLIM_INFINITY to
1050         rlim_t.
1051
1052 2018-09-17  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
1053
1054         * python/lib/gdb/command/frame_filters.py (EnableFrameFilter):
1055         Fix short help line.
1056
1057 2018-09-17  Tom Tromey  <tom@tromey.com>
1058
1059         PR python/20445:
1060         * configure: Rebuild.
1061         * configure.ac: Conditionally use -DNDEBUG for Python.
1062
1063 2018-09-17  Tom Tromey  <tom@tromey.com>
1064
1065         * configure: Rebuild.
1066         * configure.ac: Use gmp as a library dependency when checking for
1067         mpfr.
1068
1069 2018-09-17  Pedro Alves  <palves@redhat.com>
1070
1071         * python/py-inferior.c (find_inferior_object): Delete.
1072
1073 2018-09-17  Simon Marchi  <simon.marchi@ericsson.com>
1074
1075         * compile/compile-cplus-types.c
1076         (compile_cplus_instance::enter_scope): Don't use new_scope after
1077         std::move.
1078
1079 2018-09-17  Tom Tromey  <tom@tromey.com>
1080
1081         * common/pathstuff.c (get_standard_cache_dir): Use
1082         ~/Library/Caches on macOS.
1083         * common/pathstuff.h (get_standard_cache_dir): Update comment.
1084
1085 2018-09-17  Simon Marchi  <simon.marchi@polymtl.ca>
1086
1087         PR python/23669
1088         * breakpoint.c (commands_cmd_element): New.
1089         (_initialize_breakpoint): Assign commands_cmd_element.
1090         * breakpoint.h (commands_cmd_element): New.
1091         * cli/cli-script.c (while_cmd_element, if_command,
1092         define_cmd_element): New.
1093         (command_name_equals): Remove.
1094         (process_next_line): Compare commands by pointer, not by name.
1095         (_initialize_cli_script): Assign the various cmd_list_element
1096         variables.
1097         * compile/compile.c (compile_cmd_element): New.
1098         (_initialize_compile): Assign compile_cmd_element.
1099         * compile/compile.h (compile_cmd_element): New.
1100         * guile/guile.c (guile_cmd_element): New.
1101         (install_gdb_commands): Assign guile_cmd_element.
1102         * guile/guile.h (guile_cmd_element): New.
1103         * python/python.c (python_cmd_element): New.
1104         (_initialize_python): Assign python_cmd_element.
1105         * python/python.h (python_cmd_element): New.
1106         * tracepoint.c (while_stepping_cmd_element): New.
1107         (_initialize_tracepoint): Assign while_stepping_cmd_element.
1108         * tracepoint.h (while_stepping_cmd_element): New.
1109
1110 2018-09-17  Tom Tromey  <tom@tromey.com>
1111
1112         * infrun.c (save_infcall_suspend_state): Return
1113         infcall_suspend_state_up.
1114         (save_infcall_control_state): Return infcall_control_state_up.
1115         * inferior.h (save_infcall_suspend_state)
1116         (save_infcall_control_state): Declare later.  Return unique
1117         pointers.
1118
1119 2018-09-17  Tom Tromey  <tom@tromey.com>
1120
1121         * infrun.c (struct stop_context): Declare constructor,
1122         destructor, "changed" method.
1123         (stop_context::stop_context): Rename from save_stop_context.
1124         (stop_context::~stop_context): Rename from
1125         release_stop_context_cleanup.
1126         (normal_stop): Update.
1127         (stop_context::changed): Rename from stop_context_changed.  Return
1128         bool.
1129
1130 2018-09-17  Tom Tromey  <tom@tromey.com>
1131
1132         * inferior.h (struct infcall_suspend_state_deleter): New.
1133         (infcall_suspend_state_up): New typedef.
1134         (struct infcall_control_state_deleter): New.
1135         (infcall_control_state_up): New typedef.
1136         (make_cleanup_restore_infcall_suspend_state)
1137         (make_cleanup_restore_infcall_control_state): Don't declare.
1138         * infcall.c (call_function_by_hand_dummy): Update.
1139         * infrun.c (do_restore_infcall_suspend_state_cleanup)
1140         (make_cleanup_restore_infcall_suspend_state): Remove.
1141         (do_restore_infcall_control_state_cleanup)
1142         (make_cleanup_restore_infcall_control_state): Remove.
1143
1144 2018-09-17  Tom Tromey  <tom@tromey.com>
1145
1146         * gdbthread.h (struct thread_control_state): Add initializer.
1147         (class thread_info) <control>: Remove initializer.
1148         * inferior.h (struct inferior_control_state): Add initializer.
1149         (class inferior) <control>: Remove initializer.
1150         (exit_inferior_1): Update.
1151         * infrun.c (struct infcall_control_state): Add constructors.
1152         (save_infcall_control_state): Use new.
1153         (restore_infcall_control_state, discard_infcall_control_state):
1154         Use delete.
1155
1156 2018-09-17  Tom Tromey  <tom@tromey.com>
1157
1158         * infrun.c (struct infcall_suspend_state) <registers>: Now a
1159         unique_ptr.
1160         <siginfo_data>: Now a unique_xmalloc_ptr.
1161         (save_infcall_suspend_state, restore_infcall_suspend_state)
1162         (discard_infcall_suspend_state)
1163         (get_infcall_suspend_state_regcache): Update.
1164
1165 2018-09-17  Tom Tromey  <tom@tromey.com>
1166
1167         * gdbthread.h (struct thread_suspend_state): Add initializers.
1168         (class thread_info) <suspend>: Remove initializer.
1169         * infrun.c (struct infcall_suspend_state): Add initializers.
1170         (save_infcall_suspend_state): Use new.
1171         (discard_infcall_suspend_state): Use delete.
1172
1173 2018-09-16  Tom Tromey  <tom@tromey.com>
1174
1175         * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG):
1176         Remove.
1177         * python/py-varobj.c (py_varobj_iter_ctor): Change pyiter to
1178         rvalue reference.  Remove CPYCHECKER_STEALS_REFERENCE_TO_ARG.
1179         (py_varobj_iter_new): Likewise.
1180         (py_varobj_get_iterator): Use gdbpy_ref.
1181
1182 2018-09-16  Tom Tromey  <tom@tromey.com>
1183
1184         * python/py-threadevent.c (py_get_event_thread): Simplify.
1185         * python/py-inferior.c (infpy_thread_from_thread_handle):
1186         Return immediately after calling thread_to_thread_object.  Use
1187         Py_RETURN_NONE.
1188         (thread_to_thread_object): Set the exception on a NULL return.
1189
1190 2018-09-16  Simon Marchi  <simon.marchi@polymtl.ca>
1191
1192         * Makefile.in (LIBGDB_OBS): Sort COMMON_OBS.
1193
1194 2018-09-16  Tom Tromey  <tom@tromey.com>
1195
1196         * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF):
1197         Remove.
1198
1199 2018-09-16  Tom Tromey  <tom@tromey.com>
1200
1201         * python/python-internal.h (thread_to_thread_object): Change
1202         return type.
1203         * python/py-inferior.c (thread_to_thread_object): Return a new
1204         reference.
1205         (infpy_thread_from_thread_handle): Update.
1206         * python/py-infthread.c (gdbpy_selected_thread): Update.
1207         * python/py-stopevent.c (create_stop_event_object): Update.
1208         * python/py-threadevent.c (py_get_event_thread): Return a new
1209         reference.
1210         (py_get_event_thread): Update.
1211         * python/py-event.h (py_get_event_thread): Change return type.
1212         * python/py-continueevent.c (create_continue_event_object):
1213         Update.
1214
1215 2018-09-16  Tom Tromey  <tom@tromey.com>
1216
1217         * python/py-progspace.c (pspy_get_objfiles): Update.
1218         * python/python-internal.h (objfile_to_objfile_object): Change
1219         return type.
1220         * python/py-newobjfileevent.c (create_new_objfile_event_object):
1221         Update.
1222         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
1223         Update.
1224         * python/python.c (gdbpy_get_current_objfile): Update.
1225         (gdbpy_objfiles): Update.
1226         * python/py-objfile.c (objfpy_get_owner, gdbpy_lookup_objfile):
1227         Update.
1228         (objfile_to_objfile_object): Return a new reference.
1229         * python/py-symtab.c (stpy_get_objfile): Update.
1230         * python/py-prettyprint.c (find_pretty_printer_from_objfiles):
1231         Update.
1232
1233 2018-09-16  Tom Tromey  <tom@tromey.com>
1234
1235         * python/py-inferior.c (infpy_get_progspace): Update.
1236         * python/python-internal.h (pspace_to_pspace_object): Change
1237         return type.
1238         * python/py-newobjfileevent.c
1239         (create_clear_objfiles_event_object): Update.
1240         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers):
1241         Update.
1242         * python/python.c (gdbpy_get_current_progspace): Update.
1243         (gdbpy_progspaces): Update.
1244         * python/py-progspace.c (pspace_to_pspace_object): Return a new
1245         reference.
1246         * python/py-objfile.c (objfpy_get_progspace): Update.
1247         * python/py-prettyprint.c (find_pretty_printer_from_progspace):
1248         Update.
1249
1250 2018-09-16  Tom Tromey  <tom@tromey.com>
1251
1252         * python/lib/gdb/__init__.py (current_progspace, objfiles)
1253         (solib_name, block_for_pc, find_pc_line): New functions.
1254         (execute_unwinders): Update.
1255         * python/py-block.c (gdbpy_block_for_pc): Remove.
1256         * python/py-inferior.c (infpy_get_progspace): New function.
1257         (inferior_object_getset) <progspace>: Add.
1258         * python/py-progspace.c (pspy_objfiles): Rewrite.
1259         (pspy_solib_name, pspy_block_for_pc)
1260         (pspy_find_pc_line, pspy_is_valid): New functions.
1261         (progspace_object_methods): Add entries for solib_name,
1262         block_for_pc, find_pc_line, is_valid.
1263         * python/python-internal.h (gdbpy_block_for_pc)
1264         (build_objfiles_list): Don't declare.
1265         * python/python.c: Don't include solib.h.
1266         (gdbpy_solib_name, gdbpy_find_pc_line)
1267         (gdbpy_get_current_progspace, build_objfiles_list)
1268         (gdbpy_objfiles): Remove.
1269         (GdbMethods) <current_progspace, objfiles, block_for_pc,
1270         solib_name, find_pc_line>: Remove entries.
1271
1272 2018-09-16  Tom Tromey  <tom@tromey.com>
1273
1274         * top.c (new_ui_command): Use GNU style for metasyntactic
1275         variables.
1276         * breakpoint.c (stopat_command): Use GNU style for metasyntactic
1277         variables.
1278         * maint.c (maintenance_translate_address): Remove "<>" around
1279         text.
1280         * interps.c (interpreter_exec_cmd): Use GNU style for
1281         metasyntactic variables.
1282         * nto-procfs.c (nto_procfs_target_info): Use GNU style for
1283         metasyntactic variables.
1284         * tracepoint.c (tfind_range_command): Use GNU style for
1285         metasyntactic variables.
1286         (tfind_outside_command): Likewise.
1287         (_initialize_tracepoint): Likewise.
1288         * remote.c (extended_remote_target::create_inferior): Use GNU
1289         style for metasyntactic variables.
1290         * sparc64-tdep.c (adi_examine_command): Use GNU style for
1291         metasyntactic variables.
1292         (adi_assign_command): Likewise.
1293
1294 2018-09-16  Tom Tromey  <tom@tromey.com>
1295
1296         * disasm.c (show_disassembler_options_sfunc): Use GNU style for
1297         metasyntactic variables.  Print message if no disassembler options
1298         are available.
1299
1300 2018-09-15  Tom Tromey  <tom@tromey.com>
1301
1302         * infcmd.c (get_inferior_args): Return const char *.
1303         * inferior.h (get_inferior_args): Return type now const.
1304         * linux-tdep.c (linux_fill_prpsinfo): Update.
1305         * procfs.c (procfs_target::make_corefile_notes): Update.
1306
1307 2018-09-07  Tom Tromey  <tom@tromey.com>
1308
1309         * python/python.c (execute_gdb_command): Call bpstat_do_actions
1310         inside the TRY.
1311
1312 2018-09-14  Sandra Loosemore  <sandra@codesourcery.com>
1313
1314         * nios2-tdep.c (nios2_type_align): New.
1315         (nios2_gdb_arch_init): Install type_align hook.
1316
1317 2018-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
1318
1319         * eval.c (fake_method::fake_method): Call xzalloc directly for a
1320         type that is neither object file owned, nor gdbarch owned.
1321         * gdbtypes.c (get_type_gdbarch): Add an assert that returned
1322         gdbarch is non-NULL.
1323         (alloc_type_instance): Allocate non-objfile owned types on the
1324         gdbarch obstack.
1325         (copy_type_recursive): Allocate TYPE_FIELDS and TYPE_RANGE_DATA
1326         using TYPE_ALLOC to ensure memory is allocated on the correct
1327         obstack.
1328         * gdbtypes.h (TYPE_ALLOC): Allocate space on either the objfile
1329         obstack, or the gdbarch obstack.
1330         (TYPE_ZALLOC): Rewrite using TYPE_ALLOC.
1331
1332 2018-09-14  Tom Tromey  <tom@tromey.com>
1333
1334         * infcall.c (call_function_by_hand_dummy): Remove unnecessary
1335         block.
1336
1337 2018-09-14  Tom Tromey  <tom@tromey.com>
1338
1339         * nat/fork-inferior.c (get_startup_shell): Remove "static".
1340
1341 2018-09-13  Tom Tromey  <tom@tromey.com>
1342
1343         * python/py-inferior.c (infpy_thread_from_thread_handle): Now
1344         static.
1345
1346 2018-09-13  Tom Tromey  <tom@tromey.com>
1347
1348         * exec.c (try_open_exec_file): Use std::string.
1349
1350 2018-09-13  Tom Tromey  <tom@tromey.com>
1351
1352         * utils.h (gdb_bfd_errmsg): Return std::string.
1353         * exec.c (exec_file_attach): Update.
1354         * compile/compile-object-load.c (compile_object_load): Update.
1355         * utils.c (gdb_bfd_errmsg): Return std::string.
1356
1357 2018-09-13  Tom Tromey  <tom@tromey.com>
1358
1359         * procfs.c (struct procinfo_deleter): New.
1360         (procinfo_up): New typedef.
1361         (do_destroy_procinfo_cleanup): Remove.
1362         (procfs_target::info_proc): Use procinfo_up.  Remove cleanups.
1363
1364 2018-09-13  Tom Tromey  <tom@tromey.com>
1365
1366         * source.c (add_path): Use gdb::unique_xmalloc_ptr.
1367
1368 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
1369 2018-09-13  Tom Tromey  <tom@tromey.com>
1370
1371         * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro.
1372         (pspy_get_objfiles): New function.
1373         (progspace_object_methods): New.
1374         (pspace_object_type): Add tp_methods callback.
1375         * python/python-internal.h (build_objfiles_list): New
1376         declaration.
1377         * python/python.c (build_objfiles_list): New function.
1378         (gdbpy_objfiles): Implement using build_objfiles_list.
1379         * NEWS: Mention the Progspace.objfiles method.
1380
1381 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
1382
1383         * python/py-inferior.c (infpy_get_progspace): New function.
1384         (inferior_object_getset): Add progspace property.
1385         * NEWS: Mention the new property.
1386
1387 2018-09-13  Tom Tromey  <tom@tromey.com>
1388
1389         PR rust/23650:
1390         * rust-lang.c (rust_evaluate_subexp): Use field name, not "foo".
1391
1392 2018-09-13  Tom Tromey  <tom@tromey.com>
1393
1394         PR rust/23626:
1395         * rust-lang.c (rust_enum_variant): Now static.
1396         (rust_empty_enum_p): New function.
1397         (rust_print_enum, rust_evaluate_subexp, rust_print_struct_def):
1398         Handle empty enum.
1399
1400 2018-09-13  Simon Marchi  <simon.marchi@ericsson.com>
1401
1402         * python/py-inferior.c (infpy_repr): New.
1403         (inferior_object_type): Register infpy_repr.
1404         * python/py-objfile.c (objfpy_repr): New.
1405         (objfile_object_type): Register objfpy_repr.
1406
1407 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
1408
1409         * fbsd-nat.c (fbsd_nat_target::info_proc): Remove unused variable.
1410
1411 2018-09-12  John Baldwin  <jhb@FreeBSD.org>
1412
1413         * aarch64-fbsd-tdep.h (AARCH64_FBSD_SIZEOF_GREGSET): Fix comment
1414         typo.
1415
1416 2018-09-12  Sergio Durigan Junior  <sergiodj@redhat.com>
1417
1418         * common/common-utils.c: Don't include '<sys/stat.h>'.
1419         (is_regular_file): Move to...
1420         * common/filestuff.c (is_regular_file): ... here.
1421         * common/common-utils.h (is_regular_file): Move to...
1422         * common/filestuff.h (is_regular_file): ... here.
1423
1424 2018-09-12  Simon Marchi  <simon.marchi@ericsson.com>
1425
1426         * skip.c (debug_skip): New variable.
1427         (skiplist_entry::do_skip_file_p): Add debug output.
1428         (skiplist_entry::do_skip_gfile_p): Likewise.
1429         (skiplist_entry::skip_function_p): Likewise.
1430         (_initialize_step_skip): Create debug command.
1431         * NEWS: Mention set/show debug skip.
1432
1433 2018-09-11  Xavier Roirand  <roirand@adacore.com>
1434
1435         * darwin-nat.c (should_disable_startup_with_shell):
1436         New function.
1437         (darwin_nat_target::create_inferior): Add call.
1438
1439 2018-09-11  Xavier Roirand  <roirand@adacore.com>
1440
1441         * darwin-nat.h (struct darwin_thread_info) <gdb_port,
1442         inf_port, msg_state>: Initialize.
1443         (struct darwin_thread_info) <signaled, single_step>: Change
1444         type and initialize.
1445         (struct darwin_thread_info) <event>: Initialize.
1446
1447 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
1448
1449         PR gdb/23555
1450         PR gdb/23558
1451         * gnulib/import/m4/getcwd-path-max.m4: Add cross-compilation
1452         guesses.
1453
1454 2018-09-10  Sergio Durigan Junior  <sergiodj@redhat.com>
1455
1456         Revert:
1457         2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
1458
1459         PR gdb/23555
1460         PR gdb/23558
1461         * gnulib/aclocal.m4: Regenerate.
1462         * gnulib/config.in: Regenerate.
1463         * gnulib/configure: Regenerate.
1464         * gnulib/import/Makefile.am: Update.
1465         * gnulib/import/Makefile.in: Update.
1466         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
1467         * gnulib/import/_Noreturn.h: ... this.
1468         * gnulib/import/alloca.in.h: Update.
1469         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
1470         * gnulib/import/arg-nonnull.h: ... this.
1471         * gnulib/import/assure.h: Update.
1472         * gnulib/import/at-func.c: Update.
1473         * gnulib/import/basename-lgpl.c: Update.
1474         * gnulib/import/extra/snippet/c++defs.h: Rename to...
1475         * gnulib/import/c++defs.h: ... this.
1476         * gnulib/import/canonicalize-lgpl.c: Update.
1477         * gnulib/import/cdefs.h: Update.
1478         * gnulib/import/chdir-long.c: Update.
1479         * gnulib/import/chdir-long.h: Update.
1480         * gnulib/import/cloexec.c: Update.
1481         * gnulib/import/cloexec.h: Update.
1482         * gnulib/import/close.c: Update.
1483         * gnulib/import/closedir.c: Update.
1484         * gnulib/import/config.charset: Update.
1485         * gnulib/import/dirent-private.h: Update.
1486         * gnulib/import/dirent.in.h: Update.
1487         * gnulib/import/dirfd.c: Update.
1488         * gnulib/import/dirname-lgpl.c: Update.
1489         * gnulib/import/dirname.h: Update.
1490         * gnulib/import/dosname.h: Update.
1491         * gnulib/import/dup-safer-flag.c: Update.
1492         * gnulib/import/dup-safer.c: Update.
1493         * gnulib/import/dup.c: Update.
1494         * gnulib/import/dup2.c: Update.
1495         * gnulib/import/errno.in.h: Update.
1496         * gnulib/import/error.c: Update.
1497         * gnulib/import/error.h: Update.
1498         * gnulib/import/exitfail.c: Update.
1499         * gnulib/import/exitfail.h: Update.
1500         * gnulib/import/extra/update-copyright: Update.
1501         * gnulib/import/fchdir.c: Update.
1502         * gnulib/import/fcntl.c: Update.
1503         * gnulib/import/fcntl.in.h: Update.
1504         * gnulib/import/fd-hook.c: Update.
1505         * gnulib/import/fd-hook.h: Update.
1506         * gnulib/import/fd-safer-flag.c: Update.
1507         * gnulib/import/fd-safer.c: Update.
1508         * gnulib/import/fdopendir.c: Update.
1509         * gnulib/import/filename.h: Update.
1510         * gnulib/import/filenamecat-lgpl.c: Update.
1511         * gnulib/import/filenamecat.h: Update.
1512         * gnulib/import/flexmember.h: Update.
1513         * gnulib/import/float+.h: Update.
1514         * gnulib/import/float.c: Update.
1515         * gnulib/import/float.in.h: Update.
1516         * gnulib/import/fnmatch.c: Update.
1517         * gnulib/import/fnmatch.in.h: Update.
1518         * gnulib/import/fnmatch_loop.c: Update.
1519         * gnulib/import/fpucw.h: Update.
1520         * gnulib/import/frexp.c: Update.
1521         * gnulib/import/frexpl.c: Update.
1522         * gnulib/import/fstat.c: Update.
1523         * gnulib/import/fstatat.c: Update.
1524         * gnulib/import/getcwd-lgpl.c: Update.
1525         * gnulib/import/getcwd.c: Update.
1526         * gnulib/import/getdtablesize.c: Update.
1527         * gnulib/import/getlogin_r.c: Update.
1528         * gnulib/import/getprogname.c: Update.
1529         * gnulib/import/getprogname.h: Update.
1530         * gnulib/import/gettext.h: Update.
1531         * gnulib/import/gettimeofday.c: Update.
1532         * gnulib/import/glob-libc.h: Update.
1533         * gnulib/import/glob.c: Update.
1534         * gnulib/import/glob.in.h: Update.
1535         * gnulib/import/glob_internal.h: Update.
1536         * gnulib/import/glob_pattern_p.c: Update.
1537         * gnulib/import/globfree.c: Update.
1538         * gnulib/import/hard-locale.c: Update.
1539         * gnulib/import/hard-locale.h: Update.
1540         * gnulib/import/intprops.h: Update.
1541         * gnulib/import/inttypes.in.h: Update.
1542         * gnulib/import/isnan.c: Update.
1543         * gnulib/import/isnand-nolibm.h: Update.
1544         * gnulib/import/isnand.c: Update.
1545         * gnulib/import/isnanl-nolibm.h: Update.
1546         * gnulib/import/isnanl.c: Update.
1547         * gnulib/import/itold.c: Update.
1548         * gnulib/import/libc-config.h: Update.
1549         * gnulib/import/limits.in.h: Update.
1550         * gnulib/import/localcharset.c: Update.
1551         * gnulib/import/localcharset.h: Update.
1552         * gnulib/import/localtime-buffer.c: Update.
1553         * gnulib/import/localtime-buffer.h: Update.
1554         * gnulib/import/lstat.c: Update.
1555         * gnulib/import/m4/00gnulib.m4: Update.
1556         * gnulib/import/m4/__inline.m4: Update.
1557         * gnulib/import/m4/absolute-header.m4: Update.
1558         * gnulib/import/m4/alloca.m4: Update.
1559         * gnulib/import/m4/builtin-expect.m4: Update.
1560         * gnulib/import/m4/canonicalize.m4: Update.
1561         * gnulib/import/m4/chdir-long.m4: Update.
1562         * gnulib/import/m4/close.m4: Update.
1563         * gnulib/import/m4/closedir.m4: Update.
1564         * gnulib/import/m4/configmake.m4: Update.
1565         * gnulib/import/m4/d-ino.m4: Update.
1566         * gnulib/import/m4/d-type.m4: Update.
1567         * gnulib/import/m4/dirent_h.m4: Update.
1568         * gnulib/import/m4/dirfd.m4: Update.
1569         * gnulib/import/m4/dirname.m4: Update.
1570         * gnulib/import/m4/double-slash-root.m4: Update.
1571         * gnulib/import/m4/dup.m4: Update.
1572         * gnulib/import/m4/dup2.m4: Update.
1573         * gnulib/import/m4/eealloc.m4: Update.
1574         * gnulib/import/m4/environ.m4: Update.
1575         * gnulib/import/m4/errno_h.m4: Update.
1576         * gnulib/import/m4/error.m4: Update.
1577         * gnulib/import/m4/exponentd.m4: Update.
1578         * gnulib/import/m4/exponentl.m4: Update.
1579         * gnulib/import/m4/extensions.m4: Update.
1580         * gnulib/import/m4/extern-inline.m4: Update.
1581         * gnulib/import/m4/fchdir.m4: Update.
1582         * gnulib/import/m4/fcntl-o.m4: Update.
1583         * gnulib/import/m4/fcntl.m4: Update.
1584         * gnulib/import/m4/fcntl_h.m4: Update.
1585         * gnulib/import/m4/fdopendir.m4: Update.
1586         * gnulib/import/m4/filenamecat.m4: Update.
1587         * gnulib/import/m4/flexmember.m4: Update.
1588         * gnulib/import/m4/float_h.m4: Update.
1589         * gnulib/import/m4/fnmatch.m4: Update.
1590         * gnulib/import/m4/fnmatch_h.m4: Update.
1591         * gnulib/import/m4/fpieee.m4: Update.
1592         * gnulib/import/m4/frexp.m4: Update.
1593         * gnulib/import/m4/frexpl.m4: Update.
1594         * gnulib/import/m4/fstat.m4: Update.
1595         * gnulib/import/m4/fstatat.m4: Update.
1596         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
1597         * gnulib/import/m4/getcwd-path-max.m4: Update.
1598         * gnulib/import/m4/getcwd.m4: Update.
1599         * gnulib/import/m4/getdtablesize.m4: Update.
1600         * gnulib/import/m4/getlogin.m4: Update.
1601         * gnulib/import/m4/getlogin_r.m4: Update.
1602         * gnulib/import/m4/getpagesize.m4: Update.
1603         * gnulib/import/m4/getprogname.m4: Update.
1604         * gnulib/import/m4/gettimeofday.m4: Update.
1605         * gnulib/import/m4/glibc21.m4: Update.
1606         * gnulib/import/m4/glob.m4: Update.
1607         * gnulib/import/m4/glob_h.m4: Update.
1608         * gnulib/import/m4/gnulib-cache.m4: Update.
1609         * gnulib/import/m4/gnulib-common.m4: Update.
1610         * gnulib/import/m4/gnulib-comp.m4: Update.
1611         * gnulib/import/m4/gnulib-tool.m4: Update.
1612         * gnulib/import/m4/hard-locale.m4: Update.
1613         * gnulib/import/m4/include_next.m4: Update.
1614         * gnulib/import/m4/inttypes-pri.m4: Update.
1615         * gnulib/import/m4/inttypes.m4: Update.
1616         * gnulib/import/m4/isnand.m4: Update.
1617         * gnulib/import/m4/isnanl.m4: Update.
1618         * gnulib/import/m4/largefile.m4: Update.
1619         * gnulib/import/m4/limits-h.m4: Update.
1620         * gnulib/import/m4/localcharset.m4: Update.
1621         * gnulib/import/m4/locale-fr.m4: Update.
1622         * gnulib/import/m4/locale-ja.m4: Update.
1623         * gnulib/import/m4/locale-zh.m4: Update.
1624         * gnulib/import/m4/localtime-buffer.m4: Update.
1625         * gnulib/import/m4/longlong.m4: Update.
1626         * gnulib/import/m4/lstat.m4: Update.
1627         * gnulib/import/m4/malloc.m4: Update.
1628         * gnulib/import/m4/malloca.m4: Update.
1629         * gnulib/import/m4/math_h.m4: Update.
1630         * gnulib/import/m4/mbrtowc.m4: Update.
1631         * gnulib/import/m4/mbsinit.m4: Update.
1632         * gnulib/import/m4/mbsrtowcs.m4: Update.
1633         * gnulib/import/m4/mbstate_t.m4: Update.
1634         * gnulib/import/m4/memchr.m4: Update.
1635         * gnulib/import/m4/memmem.m4: Update.
1636         * gnulib/import/m4/mempcpy.m4: Update.
1637         * gnulib/import/m4/memrchr.m4: Update.
1638         * gnulib/import/m4/mkdir.m4: Update.
1639         * gnulib/import/m4/mkstemp.m4: Update.
1640         * gnulib/import/m4/mmap-anon.m4: Update.
1641         * gnulib/import/m4/mode_t.m4: Update.
1642         * gnulib/import/m4/msvc-inval.m4: Update.
1643         * gnulib/import/m4/msvc-nothrow.m4: Update.
1644         * gnulib/import/m4/multiarch.m4: Update.
1645         * gnulib/import/m4/nocrash.m4: Update.
1646         * gnulib/import/m4/off_t.m4: Update.
1647         * gnulib/import/m4/onceonly.m4: Update.
1648         * gnulib/import/m4/open-cloexec.m4: Update.
1649         * gnulib/import/m4/open.m4: Update.
1650         * gnulib/import/m4/openat.m4: Update.
1651         * gnulib/import/m4/opendir.m4: Update.
1652         * gnulib/import/m4/pathmax.m4: Update.
1653         * gnulib/import/m4/rawmemchr.m4: Update.
1654         * gnulib/import/m4/readdir.m4: Update.
1655         * gnulib/import/m4/readlink.m4: Update.
1656         * gnulib/import/m4/realloc.m4: Update.
1657         * gnulib/import/m4/rename.m4: Update.
1658         * gnulib/import/m4/rewinddir.m4: Update.
1659         * gnulib/import/m4/rmdir.m4: Update.
1660         * gnulib/import/m4/save-cwd.m4: Update.
1661         * gnulib/import/m4/secure_getenv.m4: Update.
1662         * gnulib/import/m4/setenv.m4: Update.
1663         * gnulib/import/m4/signal_h.m4: Update.
1664         * gnulib/import/m4/ssize_t.m4: Update.
1665         * gnulib/import/m4/stat-time.m4: Update.
1666         * gnulib/import/m4/stat.m4: Update.
1667         * gnulib/import/m4/std-gnu11.m4: Update.
1668         * gnulib/import/m4/stdbool.m4: Update.
1669         * gnulib/import/m4/stddef_h.m4: Update.
1670         * gnulib/import/m4/stdint.m4: Update.
1671         * gnulib/import/m4/stdio_h.m4: Update.
1672         * gnulib/import/m4/stdlib_h.m4: Update.
1673         * gnulib/import/m4/strchrnul.m4: Update.
1674         * gnulib/import/m4/strdup.m4: Update.
1675         * gnulib/import/m4/strerror.m4: Update.
1676         * gnulib/import/m4/string_h.m4: Update.
1677         * gnulib/import/m4/strstr.m4: Update.
1678         * gnulib/import/m4/strtok_r.m4: Update.
1679         * gnulib/import/m4/sys_socket_h.m4: Update.
1680         * gnulib/import/m4/sys_stat_h.m4: Update.
1681         * gnulib/import/m4/sys_time_h.m4: Update.
1682         * gnulib/import/m4/sys_types_h.m4: Update.
1683         * gnulib/import/m4/tempname.m4: Update.
1684         * gnulib/import/m4/time_h.m4: Update.
1685         * gnulib/import/m4/unistd-safer.m4: Update.
1686         * gnulib/import/m4/unistd_h.m4: Update.
1687         * gnulib/import/m4/warn-on-use.m4: Update.
1688         * gnulib/import/m4/wchar_h.m4: Update.
1689         * gnulib/import/m4/wchar_t.m4: Update.
1690         * gnulib/import/m4/wctype_h.m4: Update.
1691         * gnulib/import/m4/wint_t.m4: Update.
1692         * gnulib/import/malloc.c: Update.
1693         * gnulib/import/malloc/scratch_buffer.h: Update.
1694         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
1695         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
1696         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
1697         * gnulib/import/malloca.c: Update.
1698         * gnulib/import/malloca.h: Update.
1699         * gnulib/import/malloca.valgrind: Update.
1700         * gnulib/import/math.in.h: Update.
1701         * gnulib/import/mbrtowc.c: Update.
1702         * gnulib/import/mbsinit.c: Update.
1703         * gnulib/import/mbsrtowcs-impl.h: Update.
1704         * gnulib/import/mbsrtowcs-state.c: Update.
1705         * gnulib/import/mbsrtowcs.c: Update.
1706         * gnulib/import/memchr.c: Update.
1707         * gnulib/import/memmem.c: Update.
1708         * gnulib/import/mempcpy.c: Update.
1709         * gnulib/import/memrchr.c: Update.
1710         * gnulib/import/mkdir.c: Update.
1711         * gnulib/import/mkstemp.c: Update.
1712         * gnulib/import/msvc-inval.c: Update.
1713         * gnulib/import/msvc-inval.h: Update.
1714         * gnulib/import/msvc-nothrow.c: Update.
1715         * gnulib/import/msvc-nothrow.h: Update.
1716         * gnulib/import/open.c: Update.
1717         * gnulib/import/openat-die.c: Update.
1718         * gnulib/import/openat-priv.h: Update.
1719         * gnulib/import/openat-proc.c: Update.
1720         * gnulib/import/openat.c: Update.
1721         * gnulib/import/openat.h: Update.
1722         * gnulib/import/opendir.c: Update.
1723         * gnulib/import/pathmax.h: Update.
1724         * gnulib/import/pipe-safer.c: Update.
1725         * gnulib/import/rawmemchr.c: Update.
1726         * gnulib/import/readdir.c: Update.
1727         * gnulib/import/readlink.c: Update.
1728         * gnulib/import/realloc.c: Update.
1729         * gnulib/import/ref-add.sin: Update.
1730         * gnulib/import/ref-del.sin: Update.
1731         * gnulib/import/rename.c: Update.
1732         * gnulib/import/rewinddir.c: Update.
1733         * gnulib/import/rmdir.c: Update.
1734         * gnulib/import/same-inode.h: Update.
1735         * gnulib/import/save-cwd.c: Update.
1736         * gnulib/import/save-cwd.h: Update.
1737         * gnulib/import/scratch_buffer.h: Update.
1738         * gnulib/import/secure_getenv.c: Update.
1739         * gnulib/import/setenv.c: Update.
1740         * gnulib/import/signal.in.h: Update.
1741         * gnulib/import/stat-time.c: Update.
1742         * gnulib/import/stat-time.h: Update.
1743         * gnulib/import/stat-w32.c: Update.
1744         * gnulib/import/stat-w32.h: Update.
1745         * gnulib/import/stat.c: Update.
1746         * gnulib/import/stdbool.in.h: Update.
1747         * gnulib/import/stddef.in.h: Update.
1748         * gnulib/import/stdint.in.h: Update.
1749         * gnulib/import/stdio.in.h: Update.
1750         * gnulib/import/stdlib.in.h: Update.
1751         * gnulib/import/str-two-way.h: Update.
1752         * gnulib/import/strchrnul.c: Update.
1753         * gnulib/import/strdup.c: Update.
1754         * gnulib/import/streq.h: Update.
1755         * gnulib/import/strerror-override.c: Update.
1756         * gnulib/import/strerror-override.h: Update.
1757         * gnulib/import/strerror.c: Update.
1758         * gnulib/import/string.in.h: Update.
1759         * gnulib/import/stripslash.c: Update.
1760         * gnulib/import/strnlen1.c: Update.
1761         * gnulib/import/strnlen1.h: Update.
1762         * gnulib/import/strstr.c: Update.
1763         * gnulib/import/strtok_r.c: Update.
1764         * gnulib/import/sys_stat.in.h: Update.
1765         * gnulib/import/sys_time.in.h: Update.
1766         * gnulib/import/sys_types.in.h: Update.
1767         * gnulib/import/tempname.c: Update.
1768         * gnulib/import/tempname.h: Update.
1769         * gnulib/import/time.in.h: Update.
1770         * gnulib/import/unistd--.h: Update.
1771         * gnulib/import/unistd-safer.h: Update.
1772         * gnulib/import/unistd.in.h: Update.
1773         * gnulib/import/unsetenv.c: Update.
1774         * gnulib/import/verify.h: Update.
1775         * gnulib/import/extra/snippet/warn-on-use.h: Update.
1776         * gnulib/import/wchar.in.h: Update.
1777         * gnulib/import/wctype.in.h: Update.
1778         * gnulib/import/xalloc-oversized.h: Update.
1779         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
1780         "53e2c179f26a890fa6685af4b6c1397ee370433b".
1781
1782 2018-09-10  Simon Marchi  <simon.marchi@ericsson.com>
1783
1784         * record-btrace.c (get_thread_current_frame): Remove
1785         old_inferior_ptid.
1786
1787 2018-09-10  Jerome Guitton  <guitton@adacore.com>
1788
1789         * ada-lang.c (ada_value_struct_elt): Call ada_to_fixed_type
1790         with check_tag to 1 if and only if the type is tagged and the
1791         component being searched cannot been found in the current
1792         view. Otherwise, always call ada_to_fixed_type with
1793         check_tag to 0.
1794
1795 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1796
1797         * ada-lang.c (ada_is_access_to_unconstrained_array): Remove static
1798         declaration.
1799         * ada-lang.h: add ada_is_access_to_unconstrained_array prototype.
1800         * ada-varobj.c (ada_varobj_get_number_of_children,
1801         ada_varobj_describe_child, ada_value_is_changeable_p): Cleanup code.
1802
1803 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1804
1805         * ada-valprint.c (ada_value_print): Use type instead of
1806         enclosing type.
1807
1808 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1809
1810         * ada-lang.c (ada_value_subscript): Handle case when parameter is
1811         an array of access to unconstrained array.
1812
1813 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1814
1815         * ada-lang.c (ada_is_access_to_unconstrained_array): New function.
1816         (ada_check_typedef): Use it.
1817
1818 2018-09-10  Xavier Roirand  <roirand@adacore.com>
1819
1820         * ada-varobj.c (ada_varobj_describe_struct_child)
1821         (ada_varobj_describe_child): Handle union case like struct one.
1822
1823 2018-09-10  Tom Tromey  <tom@tromey.com>
1824
1825         PR python/18380:
1826         * python/python.c (_initialize_python): Make example in "python"
1827         help work in Python 3.
1828
1829 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
1830
1831         * Makefile.in (transformed_name): Use INSTALL_SCRIPT instead of
1832         INSTALL_PROGRAM to install gdb-add-index.sh.  Don't append
1833         $(EXEEXT) to the script, as it is not a program.
1834
1835 2018-09-09  Simon Marchi  <simon.marchi@ericsson.com>
1836
1837         * python/py-prettyprint.c (pretty_print_one_value): Return
1838         gdbpy_ref<>.
1839         (print_string_repr): Adjust.
1840         (apply_varobj_pretty_printer): Return gdbpy_ref<>.
1841         * python/python-internal.h (apply_varobj_pretty_printer): Return
1842         gdbpy_ref<>.
1843         * varobj.c (varobj_value_get_print_value): Adjust.
1844
1845 2018-09-08  Tom Tromey  <tom@tromey.com>
1846
1847         PR python/16047:
1848         * python/py-prettyprint.c (pretty_print_one_value): Check for
1849         to_string method.
1850
1851 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1852
1853         * ada-lang.c (resolve_subexp): Pass correct OPLEN in call to
1854         replace_operator_with_call.
1855
1856 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1857
1858         * ada-lang.c (ada_value_cast): Remove unnecessary parentheses.
1859
1860 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1861
1862         * ada-typeprint.c (print_range): Print the bounds using TYPE
1863         rather than its TYPE_TARGET_TYPE.
1864
1865 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1866
1867         * ada-lang.c (ada_to_fixed_value): Minor reformatting in
1868         call to ada_to_fixed_value_create.
1869
1870 2018-09-08  Jerome Guitton  <guitton@adacore.com>
1871
1872         * ada-lang.c (ada_decode): strip dot prefix in symbol name.
1873
1874 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1875
1876         * ada-lang.c (ada_exception_sal): Replace gdb_assert calls
1877         by calls to error.
1878
1879 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1880
1881         * ada-lang.c (ada_unhandled_exception_name_addr_from_raise):
1882         Move update of loop variable "fi".
1883
1884 2018-09-08  Joel Brobecker  <brobecker@adacore.com>
1885
1886         * ada-lang.c (value_assign_to_component): In the case of
1887         big-endian targets, extract the bits of the given VAL
1888         using an src_offset of zero if container is not a scalar.
1889
1890 2018-09-06  Simon Ser  <contact@emersion.fr>
1891
1892         PR gdb/23105
1893         * fbsd-nat.c (fbsd_nat_target::xfer_partial): Add support for
1894         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1895         * fbsd-tdep.c (fbsd_make_note_desc): New.
1896         (fbsd_make_corefile_notes): Write NT_PROCSTAT_AUXV,
1897         NT_PROCSTAT_VMMAP and NT_PROCSTAT_PS_STRINGS notes.
1898         * target.h (enum target_object) Add FreeBSD-specific
1899         TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS.
1900
1901 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1902
1903         * compile/compile-c.h (generate_c_for_variable_locations):
1904         Change reference to pointer.
1905         * compile/compile-c-support.c (compile_program) <compute>:
1906         Likewise.
1907         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
1908         (generate_c_for_for_one_variable): Likewise
1909         (generate_c_for_variable_locations): Likewise
1910         * compile/compile-c-types.c (compile_c_instance::convert_type):
1911         Likewise
1912         * compile/compile-cplus-symbols.c (convert_one_symbol):
1913         std::move the scope passed to enter_scope.
1914         * compile/compile-cplus-types.c
1915         (compile_cplus_instance::enter_scope): Make parameter
1916         rvalue-reference.
1917         (compile_cplus_instance::new_scope): Change reference to
1918         pointer.
1919         (compile_cplus_instance::convert_type): Likewise
1920         (compile_cplus_convert_typedef): std::move the scope passed to
1921         enter_scope.
1922         (compile_cplus_convert_struct_or_union): Likewise.
1923         (compile_cplus_convert_enum): Likewise.
1924         (compile_cplus_convert_namespace): Likewise.
1925         * compile/compile-cplus.h (compile_cplus_instance)
1926         <enter_scope>: Make parameter rvalue-reference.
1927         * compile/compile-internal.h (compile_instance)
1928         <get_cached_type>: Likewise
1929         * compile/compile-loc2c.c (push): Likewise
1930         (pushf): Likewise
1931         (unary): Likewise
1932         (binary): Likewise
1933         (print_label): Likewise
1934         (pushf_register_address): Likewise
1935         (pushf_register): Likewise
1936         (do_compile_dwarf_expr_to_c): Likewise
1937         (compile_dwarf_expr_to_c): Likewise
1938         (compile_dwarf_bounds_to_c): Likewise
1939         * compile/compile.c (compile_instance::get_cached_type):
1940         Likewise
1941         * compile/compile.h (compile_dwarf_expr_to_c): Likewise.
1942         (compile_dwarf_bounds_to_c): Likewise
1943         * dwarf2loc.c (locexpr_generate_c_location): Likewise.
1944         (dwarf2_compile_property_to_c): Likewise
1945         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise
1946         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
1947         Likewise
1948
1949 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1950
1951         * tui/tui-data.h (struct tui_win_element) <highlight>: Remove.
1952         * tui/tui-data.c (init_content_element): Don't initialize it.
1953
1954 2018-09-06  Simon Marchi  <simon.marchi@ericsson.com>
1955
1956         * tui/tui-data.h (struct tui_win_info)
1957         <detail::opaque>: Remove.
1958         * tui/tui-data.c (init_win_info): Remove assignment.
1959
1960 2018-09-05  Tom Tromey  <tom@tromey.com>
1961
1962         * warning.m4 (AM_GDB_WARNINGS): Add -Wformat when testing
1963         -Wformat-nonliteral.
1964         * target-float.c (host_float_ops<T>::to_string)
1965         (host_float_ops<T>::from_string): Use
1966         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1967         * configure: Rebuild.
1968
1969 2018-09-05  Simon Marchi  <simon.marchi@ericsson.com>
1970
1971         * printcmd.c (printf_c_string): Use
1972         DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL.
1973         (printf_wide_c_string, printf_pointer, ui_printf): Likewise.
1974
1975 2018-09-05  Tom Tromey  <tom@tromey.com>
1976
1977         * cli/cli-cmds.c (shell_escape, edit_command): Remove cast.
1978
1979 2018-09-05  Tom de Vries  <tdevries@suse.de>
1980
1981         * dwarf2loc.c (sect_variable_value): Call indirect_synthetic_pointer
1982         with resolve_abstract_p == true.
1983         (indirect_synthetic_pointer): Add resolve_abstract_p parameter,
1984         defaulting to false. Propagate resolve_abstract_p to
1985         dwarf2_fetch_die_loc_sect_off.
1986         * dwarf2loc.h (dwarf2_fetch_die_loc_sect_off): Add resolve_abstract_p
1987         parameter, defaulting to false.
1988         * dwarf2read.c (read_variable): Add variable to abstract_to_concrete.
1989         (dwarf2_fetch_die_loc_sect_off): Add and handle resolve_abstract_p
1990         parameter.
1991         * dwarf2read.h (struct die_info): Forward-declare.
1992         (die_info_ptr): New typedef.
1993         (struct dwarf2_per_objfile): Add abstract_to_concrete field.
1994
1995 2018-09-05  Joel Brobecker  <brobecker@adacore.com>
1996
1997         GDB 8.2 released.
1998
1999 2018-09-04  Sergio Durigan Junior  <sergiodj@redhat.com>
2000             Pedro Alves  <palves@redhat.com>
2001
2002         * gnulib/Makefile.in (aclocal_m4_deps): Move to
2003         "aclocal-m4-deps.mk".  Include file here.
2004         $(srcdir)/aclocal.m4: Add "configure.ac".
2005         * gnulib/aclocal-m4-deps.mk: New file.
2006         * gnulib/update-gnulib.sh: Automatically update
2007         "aclocal-m4-deps.mk".
2008
2009 2018-09-04  Tom Tromey  <tom@tromey.com>
2010
2011         * configure: Rebuild.
2012         * configure.ac: Remove multi-ice code.
2013
2014 2018-09-04  Tom Tromey  <tom@tromey.com>
2015
2016         * Makefile.in (GDB_WARN_CFLAGS_NO_DEFS): Remove.
2017         (ada-exp.o): Update.
2018
2019 2018-09-04  Tom Tromey  <tom@tromey.com>
2020
2021         * Makefile.in (printcmd.o, target-float.o): Remove.
2022         (GDB_WARN_CFLAGS_NO_FORMAT): Remove.
2023
2024 2018-09-04  Tom Tromey  <tom@tromey.com>
2025
2026         * gnulib/Makefile.in: Remove obsolete comment.
2027         * Makefile.in: Remove obsolete comment.
2028
2029 2018-09-04  Andrew Burgess  <andrew.burgess@embecosm.com>
2030
2031         * riscv-tdep.c (riscv_frame_cache): Fix ARI warning, don't end a
2032         line with '+'.
2033
2034 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
2035
2036         * riscv-tdep.c: Add 'prologue-value.h' include.
2037         (struct riscv_unwind_cache): New struct.
2038         (riscv_debug_unwinder): New global.
2039         (riscv_scan_prologue): Update arguments, capture register details
2040         from prologue scan.
2041         (riscv_skip_prologue): Reformat arguments line, move end of
2042         prologue calculation into riscv_scan_prologue.
2043         (riscv_frame_cache): Update return type, create
2044         riscv_unwind_cache, scan the prologue, and fill in remaining cache
2045         details.
2046         (riscv_frame_this_id): Use frame id computed in riscv_frame_cache.
2047         (riscv_frame_prev_register): Use the trad_frame within the
2048         riscv_unwind_cache.
2049         (_initialize_riscv_tdep): Add 'set/show debug riscv unwinder'
2050         flag.
2051
2052 2018-09-03  Andrew Burgess  <andrew.burgess@embecosm.com>
2053
2054         * trad-frame.h (trad_frame_set_realreg): Declare.
2055         (trad_frame_set_addr): Declare.
2056         * trad-frame.c (trad_frame_set_realreg): Define new function.
2057         (trad_frame_set_addr): Define new function.
2058         (trad_frame_set_reg_realreg): Use new function.
2059         (trad_frame_set_reg_addr): Use new function.
2060
2061 2018-09-01  Keith Seitz  <keiths@redhat.com>
2062
2063         * compile/compile-cplus-types.c (compile_cplus_debug_output_1): Use
2064         pulongest instead of "%lld".
2065         * compile/compile-cplus-symbols.c (gcc_cplus_convert_symbol): Remove
2066         ATTRIBUTE_UNUSED.
2067
2068 2018-08-31  Tom Tromey  <tom@tromey.com>
2069
2070         * dwarf2read.c (dwarf2_add_field): Set the TYPE_LENGTH of the
2071         variant part type.
2072
2073 2018-08-31  Pedro Alves  <palves@redhat.com>
2074
2075         * gdbarch.h: Regenerate.
2076
2077 2018-08-31  Pedro Alves  <palves@redhat.com>
2078
2079         * gdbarch.sh (have_nonsteppable_watchpoint): Add comment.
2080         * target.h (Hardware watchpoint interfaces): Describe
2081         continuable/steppable/non-steppable watchpoints.
2082         * gdbarch.h, gdbarch.c: Regenerate.
2083
2084 2018-08-31  Pedro Alves  <palves@redhat.com>
2085
2086         * nto-procfs.c (nto_procfs_target::have_continuable_watchpoint):
2087         Delete.
2088         * s390-linux-nat.c
2089         (s390_linux_nat_target::have_continuable_watchpoint): Delete.
2090         * target.h (target_ops::have_continuable_watchpoint): Delete.
2091         (target_have_continuable_watchpoint): Delete.
2092         * x86-nat.h (x86_nat_target::have_continuable_watchpoint): Delete.
2093         * target-delegates.c: Regenerate.
2094
2095 2018-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
2096
2097         * gnulib/Makefile.in (aclocal_m4_deps): Update according to
2098         the files present in "gnulib/import/m4/".
2099
2100 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2101
2102         * riscv-tdep.c (riscv_insn::decode): Decode c.addi4spn, c.sd,
2103         c.sw, c.swsp, and c.sdsp.
2104
2105 2018-08-30  Andrew Burgess  <andrew.burgess@embecosm.com>
2106
2107         * riscv-tdep.c (struct riscv_inferior_data): Delete.
2108         (riscv_read_misa_reg): Don't cache value read into inferior data.
2109         (riscv_new_inferior_data): Delete.
2110         (riscv_inferior_data_cleanup): Delete.
2111         (riscv_inferior_data): Delete.
2112         (riscv_invalidate_inferior_data): Delete.
2113         (_initialize_riscv_tdep): Remove initialisation of inferior data.
2114
2115 2018-08-30  Simon Marchi  <simon.marchi@ericsson.com>
2116
2117         * compile/compile-cplus-types.c
2118         (compile_cplus_instance::leave_scope): Take the address of scope
2119         object.
2120         (compile_cplus_instance::convert_qualified_base): Compare quals
2121         to 0.
2122
2123 2018-08-30  Keith Seitz  <keiths@redhat.com>
2124
2125         * compile/compile-cplus-types.c (compile_cplus_instance::enter_scope):
2126         Use "%s" and host_address_to_string instead of "%p" in printf.
2127
2128 2018-08-29  Keith Seitz  <keiths@redhat.com>
2129
2130         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Add compile-cplus-symbols.c
2131         and compile-cplus-types.c.
2132         (HFILES_NO_SRCDIR): Add gcc-cp-plugin.h.
2133         * c-lang.c (cplus_language_defn): Set C++ compile functions.
2134         * c-lang.h (cplus_get_compile_context, cplus_compute_program):
2135         Declare.
2136         * compile/compile-c-support.c: Include compile-cplus.h.
2137         (load_libcompile): Templatize.
2138         (get_compile_context): "New" function.
2139         (c_get_compile_context): Use get_compile_context.
2140         (cplus_get_compile_context): New function.
2141         (cplus_push_user_expression, cplus_pop_user_expression)
2142         (cplus_add_code_header, cplus_add_input, cplus_compile_program)
2143         (cplus_compute_program): Define new structs/functions.
2144         * compile/compile-cplus-symmbols.c: New file.
2145         * compile/compile-cplus-types.c: New file.
2146         * compile/compile-cplus.h: New file.
2147         * compile/compile-internal.h (debug_compile_oracle, GCC_TYPE_NONE):
2148         Declare.
2149         * compile/compile-object-load.c (get_out_value_type): Use
2150         strncmp_iw when comparing symbol names.
2151         (compile_object_load): Add mst_bss and mst_data.
2152         * compile/compile.c (_initialize_compile): Remove
2153         -Wno-implicit-function-declaration from `compile_args'.
2154         * compile/gcc-cp-plugin.h: New file.
2155         * NEWS: Mention C++ compile support and new debug options.
2156
2157 2018-08-29  Keith Seitz  <keiths@redhat.com>
2158
2159         * linespec.c (collect_info::add_symbol): Make virtual.
2160         (struct symbol_searcher_collect_info): New struct.
2161         (symbol_searcher::find_all_symbols): New method.
2162         * symtab.h (class symbol_searcher): New class.
2163
2164 2018-08-29  Keith Seitz  <keiths@redhat.com>
2165
2166         * linespec.c (struct linespec) <function_symbols, label_symbols>:
2167         Change to vector of block_symbol.  Update all users.
2168         (struct collect_info) <symbols>: Likewise.
2169         (collect_info::add_symbol): Take block_symbol as argument.
2170         Update all callers.
2171         (decode_compound_collector) <m_symbols>: Change type to vector
2172         of block_symbol.  Update all users.
2173         (decode_compound_collector::operator ()): Change parameter type
2174         to block_symbol.
2175         (find_method, find_function_symbols, find_linespec_symbols)
2176         (find_label_symbols_in_block, find_label_symbols): Change symbol
2177         vectors to block_symbol vectors.
2178         * symtab.h (symbol_found_callback_ftype): Change parameter type to
2179         block_symbol.
2180
2181 2018-08-29  Keith Seitz  <keiths@redhat.com>
2182
2183         * linespec.c (symbolp): Remove typedef and VEC definitions.
2184         (bound_minimal_symbol_d): Likewise.
2185
2186 2018-08-29  Keith Seitz  <keiths@redhat.com>
2187
2188         * linespec.c (decode_compound_collector::decode_compound_collector):
2189         Remove initialization for `m_symtabs'.
2190         (decode_compound_collector::release_symbols): Change return type
2191         to std::vector.  Update all callers.
2192         (class decode_compound_collector) <m_symbols>: Change type to
2193         std::vector.
2194         (lookup_prefix_sym): Change return type to std::vector.  Update all
2195         callers.
2196         (compare_symbols): Remove.
2197         (std_compare_symbols): Rename to `compare_symbols'.
2198         (find_method): Change `sym_classes' parameter to std::vector.
2199         Update all callers.  Use std::sort to sort sym_classes.
2200         (find_linespec_symbols): Remove cleanup.
2201
2202 2018-08-29  Keith Seitz  <keiths@redhat.com>
2203
2204         * linespec.c (struct linespec) <minimal_symbols>: Change type to
2205         std::vector.  Update all users.
2206         (convert_linespec_to_sals): Use std::sort to sort minimal symbols.
2207         (struct collect_info) <minimal_symbols>: Likewise.
2208         (compare_msymbols): Return bool.  Change parameters to const
2209         bound_minimal_symbol references.
2210         (find_method, find_function_symbols, find_linespec_symbols): Change
2211         `minsyms' parameter to std::vector.  Update all callers.
2212
2213 2018-08-29  Keith Seitz  <keiths@redhat.com>
2214
2215         * linespec.c (struct linespec) <label_symbols>: Change type to
2216         std::vector.  Update all users.
2217         (find_label_symbols_in_block): Change `result' parameter to
2218         std::vector.  Update all callers.
2219         (find_label_symbols): Return std::vector.  Update all callers.
2220
2221 2018-08-29  Keith Seitz  <keiths@redhat.com>
2222
2223         * linespec.c (struct linespec) <function_symbols>: Change type to
2224         std::vector.  Update all users.
2225         (struct collect_info) <function_symbols>: Likewise.
2226         (convert_linespec_to_sals): Use std::sort to sort function_symbols.
2227         (std_compare_symbols): New function.
2228         (find_method, find_function_symbols, find_linespec_symbols)
2229         (find_label_symbols_in_block): Change `symbols' parameter to
2230         std::vector.  Update all callers.
2231         (find_label_symbols): Likewise for `function_symbols' and
2232         `label_funcs_ret'.
2233
2234 2018-08-29  Keith Seitz  <keiths@redhat.com>
2235
2236         * linespec.c (symtab_vector_up): Define.
2237         (struct linespec) <file_symtabs>: Change type to std::vector *.
2238         Update all uses.
2239         (struct collect_info) <file_symtabs>: Likewise.
2240         (collect_symtabs_from_filename): Return symtab_vector_up.
2241         Update all callers.
2242         (decode_objc): Remove cleanup.
2243         (symtab_collector::symtab_collector): Initialize `m_symtabs'.
2244         (symtab_collector::release_symtabs): Return symtab_vector_up.
2245         Update all callers.
2246         (class symtab_collector) <m_symtabs>: Change type to symtab_vector_up.
2247         Update all users.
2248         (collect_symtabs_from_filename, symtabs_from_filename): Return
2249         symtab_vector_up.  Update all callers.
2250
2251 2018-08-29  Tom Tromey  <tom@tromey.com>
2252
2253         * csky-tdep.c (csky_analyze_prologue): Use
2254         core_addr_to_string_nz.
2255
2256 2018-08-29  Tom Tromey  <tom@tromey.com>
2257
2258         * windows-nat.c (struct xlate_exception) <them>: Change type to
2259         DWORD.
2260         (xlate): Fix formatting.  Remove last entry.
2261         (struct xlate_exception, xlate): Comment out.
2262         (windows_nat_target::resume): Use ranged for.
2263
2264 2018-08-29  Jim Wilson  <jimw@sifive.com>
2265
2266         * riscv-linux-nat.c: Include elf/common.h instead of elf.h.
2267         (riscv_linux_nat_target::fetch_registers): Use NT_FPREGSET instead
2268         of NT_PRFPREG.
2269         (riscv_linux_nat_target::store_registers): Likewise.
2270
2271 2018-08-29  Sergio Durigan Junior  <sergiodj@redhat.com>
2272
2273         PR gdb/23555
2274         PR gdb/23558
2275         * gnulib/aclocal.m4: Regenerate.
2276         * gnulib/config.in: Regenerate.
2277         * gnulib/configure: Regenerate.
2278         * gnulib/import/Makefile.am: Update.
2279         * gnulib/import/Makefile.in: Update.
2280         * gnulib/import/extra/snippet/_Noreturn.h: Rename to...
2281         * gnulib/import/_Noreturn.h: ... this.
2282         * gnulib/import/alloca.in.h: Update.
2283         * gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
2284         * gnulib/import/arg-nonnull.h: ... this.
2285         * gnulib/import/assure.h: Update.
2286         * gnulib/import/at-func.c: Update.
2287         * gnulib/import/basename-lgpl.c: Update.
2288         * gnulib/import/extra/snippet/c++defs.h: Rename to...
2289         * gnulib/import/c++defs.h: ... this.
2290         * gnulib/import/canonicalize-lgpl.c: Update.
2291         * gnulib/import/cdefs.h: Update.
2292         * gnulib/import/chdir-long.c: Update.
2293         * gnulib/import/chdir-long.h: Update.
2294         * gnulib/import/cloexec.c: Update.
2295         * gnulib/import/cloexec.h: Update.
2296         * gnulib/import/close.c: Update.
2297         * gnulib/import/closedir.c: Update.
2298         * gnulib/import/config.charset: Update.
2299         * gnulib/import/dirent-private.h: Update.
2300         * gnulib/import/dirent.in.h: Update.
2301         * gnulib/import/dirfd.c: Update.
2302         * gnulib/import/dirname-lgpl.c: Update.
2303         * gnulib/import/dirname.h: Update.
2304         * gnulib/import/dosname.h: Update.
2305         * gnulib/import/dup-safer-flag.c: Update.
2306         * gnulib/import/dup-safer.c: Update.
2307         * gnulib/import/dup.c: Update.
2308         * gnulib/import/dup2.c: Update.
2309         * gnulib/import/errno.in.h: Update.
2310         * gnulib/import/error.c: Update.
2311         * gnulib/import/error.h: Update.
2312         * gnulib/import/exitfail.c: Update.
2313         * gnulib/import/exitfail.h: Update.
2314         * gnulib/import/extra/update-copyright: Update.
2315         * gnulib/import/fchdir.c: Update.
2316         * gnulib/import/fcntl.c: Update.
2317         * gnulib/import/fcntl.in.h: Update.
2318         * gnulib/import/fd-hook.c: Update.
2319         * gnulib/import/fd-hook.h: Update.
2320         * gnulib/import/fd-safer-flag.c: Update.
2321         * gnulib/import/fd-safer.c: Update.
2322         * gnulib/import/fdopendir.c: Update.
2323         * gnulib/import/filename.h: Update.
2324         * gnulib/import/filenamecat-lgpl.c: Update.
2325         * gnulib/import/filenamecat.h: Update.
2326         * gnulib/import/flexmember.h: Update.
2327         * gnulib/import/float+.h: Update.
2328         * gnulib/import/float.c: Update.
2329         * gnulib/import/float.in.h: Update.
2330         * gnulib/import/fnmatch.c: Update.
2331         * gnulib/import/fnmatch.in.h: Update.
2332         * gnulib/import/fnmatch_loop.c: Update.
2333         * gnulib/import/fpucw.h: Update.
2334         * gnulib/import/frexp.c: Update.
2335         * gnulib/import/frexpl.c: Update.
2336         * gnulib/import/fstat.c: Update.
2337         * gnulib/import/fstatat.c: Update.
2338         * gnulib/import/getcwd-lgpl.c: Update.
2339         * gnulib/import/getcwd.c: Update.
2340         * gnulib/import/getdtablesize.c: Update.
2341         * gnulib/import/getlogin_r.c: Update.
2342         * gnulib/import/getprogname.c: Update.
2343         * gnulib/import/getprogname.h: Update.
2344         * gnulib/import/gettext.h: Update.
2345         * gnulib/import/gettimeofday.c: Update.
2346         * gnulib/import/glob-libc.h: Update.
2347         * gnulib/import/glob.c: Update.
2348         * gnulib/import/glob.in.h: Update.
2349         * gnulib/import/glob_internal.h: Update.
2350         * gnulib/import/glob_pattern_p.c: Update.
2351         * gnulib/import/globfree.c: Update.
2352         * gnulib/import/hard-locale.c: Update.
2353         * gnulib/import/hard-locale.h: Update.
2354         * gnulib/import/intprops.h: Update.
2355         * gnulib/import/inttypes.in.h: Update.
2356         * gnulib/import/isnan.c: Update.
2357         * gnulib/import/isnand-nolibm.h: Update.
2358         * gnulib/import/isnand.c: Update.
2359         * gnulib/import/isnanl-nolibm.h: Update.
2360         * gnulib/import/isnanl.c: Update.
2361         * gnulib/import/itold.c: Update.
2362         * gnulib/import/libc-config.h: Update.
2363         * gnulib/import/limits.in.h: Update.
2364         * gnulib/import/localcharset.c: Update.
2365         * gnulib/import/localcharset.h: Update.
2366         * gnulib/import/localtime-buffer.c: Update.
2367         * gnulib/import/localtime-buffer.h: Update.
2368         * gnulib/import/lstat.c: Update.
2369         * gnulib/import/m4/00gnulib.m4: Update.
2370         * gnulib/import/m4/__inline.m4: Update.
2371         * gnulib/import/m4/absolute-header.m4: Update.
2372         * gnulib/import/m4/alloca.m4: Update.
2373         * gnulib/import/m4/builtin-expect.m4: Update.
2374         * gnulib/import/m4/canonicalize.m4: Update.
2375         * gnulib/import/m4/chdir-long.m4: Update.
2376         * gnulib/import/m4/close.m4: Update.
2377         * gnulib/import/m4/closedir.m4: Update.
2378         * gnulib/import/m4/configmake.m4: Update.
2379         * gnulib/import/m4/d-ino.m4: Update.
2380         * gnulib/import/m4/d-type.m4: Update.
2381         * gnulib/import/m4/dirent_h.m4: Update.
2382         * gnulib/import/m4/dirfd.m4: Update.
2383         * gnulib/import/m4/dirname.m4: Update.
2384         * gnulib/import/m4/double-slash-root.m4: Update.
2385         * gnulib/import/m4/dup.m4: Update.
2386         * gnulib/import/m4/dup2.m4: Update.
2387         * gnulib/import/m4/eealloc.m4: Update.
2388         * gnulib/import/m4/environ.m4: Update.
2389         * gnulib/import/m4/errno_h.m4: Update.
2390         * gnulib/import/m4/error.m4: Update.
2391         * gnulib/import/m4/exponentd.m4: Update.
2392         * gnulib/import/m4/exponentl.m4: Update.
2393         * gnulib/import/m4/extensions.m4: Update.
2394         * gnulib/import/m4/extern-inline.m4: Update.
2395         * gnulib/import/m4/fchdir.m4: Update.
2396         * gnulib/import/m4/fcntl-o.m4: Update.
2397         * gnulib/import/m4/fcntl.m4: Update.
2398         * gnulib/import/m4/fcntl_h.m4: Update.
2399         * gnulib/import/m4/fdopendir.m4: Update.
2400         * gnulib/import/m4/filenamecat.m4: Update.
2401         * gnulib/import/m4/flexmember.m4: Update.
2402         * gnulib/import/m4/float_h.m4: Update.
2403         * gnulib/import/m4/fnmatch.m4: Update.
2404         * gnulib/import/m4/fnmatch_h.m4: Update.
2405         * gnulib/import/m4/fpieee.m4: Update.
2406         * gnulib/import/m4/frexp.m4: Update.
2407         * gnulib/import/m4/frexpl.m4: Update.
2408         * gnulib/import/m4/fstat.m4: Update.
2409         * gnulib/import/m4/fstatat.m4: Update.
2410         * gnulib/import/m4/getcwd-abort-bug.m4: Update.
2411         * gnulib/import/m4/getcwd-path-max.m4: Update.
2412         * gnulib/import/m4/getcwd.m4: Update.
2413         * gnulib/import/m4/getdtablesize.m4: Update.
2414         * gnulib/import/m4/getlogin.m4: Update.
2415         * gnulib/import/m4/getlogin_r.m4: Update.
2416         * gnulib/import/m4/getpagesize.m4: Update.
2417         * gnulib/import/m4/getprogname.m4: Update.
2418         * gnulib/import/m4/gettimeofday.m4: Update.
2419         * gnulib/import/m4/glibc21.m4: Update.
2420         * gnulib/import/m4/glob.m4: Update.
2421         * gnulib/import/m4/glob_h.m4: Update.
2422         * gnulib/import/m4/gnulib-cache.m4: Update.
2423         * gnulib/import/m4/gnulib-common.m4: Update.
2424         * gnulib/import/m4/gnulib-comp.m4: Update.
2425         * gnulib/import/m4/gnulib-tool.m4: Update.
2426         * gnulib/import/m4/hard-locale.m4: Update.
2427         * gnulib/import/m4/include_next.m4: Update.
2428         * gnulib/import/m4/inttypes-pri.m4: Update.
2429         * gnulib/import/m4/inttypes.m4: Update.
2430         * gnulib/import/m4/isnand.m4: Update.
2431         * gnulib/import/m4/isnanl.m4: Update.
2432         * gnulib/import/m4/largefile.m4: Update.
2433         * gnulib/import/m4/limits-h.m4: Update.
2434         * gnulib/import/m4/localcharset.m4: Update.
2435         * gnulib/import/m4/locale-fr.m4: Update.
2436         * gnulib/import/m4/locale-ja.m4: Update.
2437         * gnulib/import/m4/locale-zh.m4: Update.
2438         * gnulib/import/m4/localtime-buffer.m4: Update.
2439         * gnulib/import/m4/longlong.m4: Update.
2440         * gnulib/import/m4/lstat.m4: Update.
2441         * gnulib/import/m4/malloc.m4: Update.
2442         * gnulib/import/m4/malloca.m4: Update.
2443         * gnulib/import/m4/math_h.m4: Update.
2444         * gnulib/import/m4/mbrtowc.m4: Update.
2445         * gnulib/import/m4/mbsinit.m4: Update.
2446         * gnulib/import/m4/mbsrtowcs.m4: Update.
2447         * gnulib/import/m4/mbstate_t.m4: Update.
2448         * gnulib/import/m4/memchr.m4: Update.
2449         * gnulib/import/m4/memmem.m4: Update.
2450         * gnulib/import/m4/mempcpy.m4: Update.
2451         * gnulib/import/m4/memrchr.m4: Update.
2452         * gnulib/import/m4/mkdir.m4: Update.
2453         * gnulib/import/m4/mkstemp.m4: Update.
2454         * gnulib/import/m4/mmap-anon.m4: Update.
2455         * gnulib/import/m4/mode_t.m4: Update.
2456         * gnulib/import/m4/msvc-inval.m4: Update.
2457         * gnulib/import/m4/msvc-nothrow.m4: Update.
2458         * gnulib/import/m4/multiarch.m4: Update.
2459         * gnulib/import/m4/nocrash.m4: Update.
2460         * gnulib/import/m4/off_t.m4: Update.
2461         * gnulib/import/m4/onceonly.m4: Update.
2462         * gnulib/import/m4/open-cloexec.m4: Update.
2463         * gnulib/import/m4/open.m4: Update.
2464         * gnulib/import/m4/openat.m4: Update.
2465         * gnulib/import/m4/opendir.m4: Update.
2466         * gnulib/import/m4/pathmax.m4: Update.
2467         * gnulib/import/m4/rawmemchr.m4: Update.
2468         * gnulib/import/m4/readdir.m4: Update.
2469         * gnulib/import/m4/readlink.m4: Update.
2470         * gnulib/import/m4/realloc.m4: Update.
2471         * gnulib/import/m4/rename.m4: Update.
2472         * gnulib/import/m4/rewinddir.m4: Update.
2473         * gnulib/import/m4/rmdir.m4: Update.
2474         * gnulib/import/m4/save-cwd.m4: Update.
2475         * gnulib/import/m4/secure_getenv.m4: Update.
2476         * gnulib/import/m4/setenv.m4: Update.
2477         * gnulib/import/m4/signal_h.m4: Update.
2478         * gnulib/import/m4/ssize_t.m4: Update.
2479         * gnulib/import/m4/stat-time.m4: Update.
2480         * gnulib/import/m4/stat.m4: Update.
2481         * gnulib/import/m4/std-gnu11.m4: Update.
2482         * gnulib/import/m4/stdbool.m4: Update.
2483         * gnulib/import/m4/stddef_h.m4: Update.
2484         * gnulib/import/m4/stdint.m4: Update.
2485         * gnulib/import/m4/stdio_h.m4: Update.
2486         * gnulib/import/m4/stdlib_h.m4: Update.
2487         * gnulib/import/m4/strchrnul.m4: Update.
2488         * gnulib/import/m4/strdup.m4: Update.
2489         * gnulib/import/m4/strerror.m4: Update.
2490         * gnulib/import/m4/string_h.m4: Update.
2491         * gnulib/import/m4/strstr.m4: Update.
2492         * gnulib/import/m4/strtok_r.m4: Update.
2493         * gnulib/import/m4/sys_socket_h.m4: Update.
2494         * gnulib/import/m4/sys_stat_h.m4: Update.
2495         * gnulib/import/m4/sys_time_h.m4: Update.
2496         * gnulib/import/m4/sys_types_h.m4: Update.
2497         * gnulib/import/m4/tempname.m4: Update.
2498         * gnulib/import/m4/time_h.m4: Update.
2499         * gnulib/import/m4/unistd-safer.m4: Update.
2500         * gnulib/import/m4/unistd_h.m4: Update.
2501         * gnulib/import/m4/warn-on-use.m4: Update.
2502         * gnulib/import/m4/wchar_h.m4: Update.
2503         * gnulib/import/m4/wchar_t.m4: Update.
2504         * gnulib/import/m4/wctype_h.m4: Update.
2505         * gnulib/import/m4/wint_t.m4: Update.
2506         * gnulib/import/malloc.c: Update.
2507         * gnulib/import/malloc/scratch_buffer.h: Update.
2508         * gnulib/import/malloc/scratch_buffer_grow.c: Update.
2509         * gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
2510         * gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
2511         * gnulib/import/malloca.c: Update.
2512         * gnulib/import/malloca.h: Update.
2513         * gnulib/import/malloca.valgrind: Update.
2514         * gnulib/import/math.in.h: Update.
2515         * gnulib/import/mbrtowc.c: Update.
2516         * gnulib/import/mbsinit.c: Update.
2517         * gnulib/import/mbsrtowcs-impl.h: Update.
2518         * gnulib/import/mbsrtowcs-state.c: Update.
2519         * gnulib/import/mbsrtowcs.c: Update.
2520         * gnulib/import/memchr.c: Update.
2521         * gnulib/import/memmem.c: Update.
2522         * gnulib/import/mempcpy.c: Update.
2523         * gnulib/import/memrchr.c: Update.
2524         * gnulib/import/mkdir.c: Update.
2525         * gnulib/import/mkstemp.c: Update.
2526         * gnulib/import/msvc-inval.c: Update.
2527         * gnulib/import/msvc-inval.h: Update.
2528         * gnulib/import/msvc-nothrow.c: Update.
2529         * gnulib/import/msvc-nothrow.h: Update.
2530         * gnulib/import/open.c: Update.
2531         * gnulib/import/openat-die.c: Update.
2532         * gnulib/import/openat-priv.h: Update.
2533         * gnulib/import/openat-proc.c: Update.
2534         * gnulib/import/openat.c: Update.
2535         * gnulib/import/openat.h: Update.
2536         * gnulib/import/opendir.c: Update.
2537         * gnulib/import/pathmax.h: Update.
2538         * gnulib/import/pipe-safer.c: Update.
2539         * gnulib/import/rawmemchr.c: Update.
2540         * gnulib/import/readdir.c: Update.
2541         * gnulib/import/readlink.c: Update.
2542         * gnulib/import/realloc.c: Update.
2543         * gnulib/import/ref-add.sin: Update.
2544         * gnulib/import/ref-del.sin: Update.
2545         * gnulib/import/rename.c: Update.
2546         * gnulib/import/rewinddir.c: Update.
2547         * gnulib/import/rmdir.c: Update.
2548         * gnulib/import/same-inode.h: Update.
2549         * gnulib/import/save-cwd.c: Update.
2550         * gnulib/import/save-cwd.h: Update.
2551         * gnulib/import/scratch_buffer.h: Update.
2552         * gnulib/import/secure_getenv.c: Update.
2553         * gnulib/import/setenv.c: Update.
2554         * gnulib/import/signal.in.h: Update.
2555         * gnulib/import/stat-time.c: Update.
2556         * gnulib/import/stat-time.h: Update.
2557         * gnulib/import/stat-w32.c: Update.
2558         * gnulib/import/stat-w32.h: Update.
2559         * gnulib/import/stat.c: Update.
2560         * gnulib/import/stdbool.in.h: Update.
2561         * gnulib/import/stddef.in.h: Update.
2562         * gnulib/import/stdint.in.h: Update.
2563         * gnulib/import/stdio.in.h: Update.
2564         * gnulib/import/stdlib.in.h: Update.
2565         * gnulib/import/str-two-way.h: Update.
2566         * gnulib/import/strchrnul.c: Update.
2567         * gnulib/import/strdup.c: Update.
2568         * gnulib/import/streq.h: Update.
2569         * gnulib/import/strerror-override.c: Update.
2570         * gnulib/import/strerror-override.h: Update.
2571         * gnulib/import/strerror.c: Update.
2572         * gnulib/import/string.in.h: Update.
2573         * gnulib/import/stripslash.c: Update.
2574         * gnulib/import/strnlen1.c: Update.
2575         * gnulib/import/strnlen1.h: Update.
2576         * gnulib/import/strstr.c: Update.
2577         * gnulib/import/strtok_r.c: Update.
2578         * gnulib/import/sys_stat.in.h: Update.
2579         * gnulib/import/sys_time.in.h: Update.
2580         * gnulib/import/sys_types.in.h: Update.
2581         * gnulib/import/tempname.c: Update.
2582         * gnulib/import/tempname.h: Update.
2583         * gnulib/import/time.in.h: Update.
2584         * gnulib/import/unistd--.h: Update.
2585         * gnulib/import/unistd-safer.h: Update.
2586         * gnulib/import/unistd.in.h: Update.
2587         * gnulib/import/unsetenv.c: Update.
2588         * gnulib/import/verify.h: Update.
2589         * gnulib/import/extra/snippet/warn-on-use.h: Update.
2590         * gnulib/import/wchar.in.h: Update.
2591         * gnulib/import/wctype.in.h: Update.
2592         * gnulib/import/xalloc-oversized.h: Update.
2593         * gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
2594         "53e2c179f26a890fa6685af4b6c1397ee370433b".
2595
2596 2018-08-16  Gary Benson <gbenson@redhat.com>
2597
2598         PR gdb/13000:
2599         * gdb/main.c (captured_main_1): Exit with nonzero status
2600         in batch mode if the last command to be executed failed.
2601         * NEWS: Mention the above.
2602
2603 2018-08-29  Simon Marchi  <simon.marchi@ericsson.com>
2604
2605         * csky-tdep.c (csky_memory_insert_breakpoint): Remove newline at
2606         end of warning message.
2607
2608 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2609
2610         PR gdb/22943:
2611         * aarch64-tdep.c (is_hfa_or_hva): Remove function.
2612         (aarch64_extract_return_value): Use
2613         aapcs_is_vfp_call_or_return_candidate.
2614         (aarch64_return_in_memory): Likewise.
2615         (aarch64_store_return_value): Likewise.
2616
2617 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2618
2619         * aarch64-tdep.c
2620         (aapcs_is_vfp_call_or_return_candidate): Make static
2621         (pass_in_v_or_stack): Remove function.
2622         (pass_in_v_vfp_candidate): New function.
2623         (aarch64_push_dummy_call): Check for float register candidates.
2624
2625 2018-08-29  Alan Hayward  <alan.hayward@arm.com>
2626
2627         * aarch64-tdep.c (HA_MAX_NUM_FLDS): New macro.
2628         (aapcs_is_vfp_call_or_return_candidate_1): New function.
2629         (aapcs_is_vfp_call_or_return_candidate): Likewise.
2630
2631 2018-08-28  Simon Marchi  <simon.marchi@polymtl.ca>
2632
2633         PR build/23399
2634         * common/agent.c (IPA_SYM_STRUCT_NAME): Define.
2635         (struct ipa_sym_addresses): Rename to...
2636         (struct ipa_sym_addresses_common): ... this.
2637         * common/agent.h (IPA_SYM): Use IPA_SYM_STRUCT_NAME.
2638
2639 2018-08-28  Tom Tromey  <tom@tromey.com>
2640
2641         * c-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2642         (token_fifo): Now a std::vector.
2643         (yylex, c_parse): Update.
2644         * d-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2645         (token_fifo): Now a std::vector.
2646         (yylex, d_parse): Update.
2647         * go-exp.y (struct token_and_value): Remove typedef and DEF_VEC.
2648         (token_fifo): Now a std::vector.
2649         (yylex, go_parse): Update.
2650
2651 2018-08-28  Simon Marchi  <simon.marchi@ericsson.com>
2652
2653         * parser-defs.h (struct type_stack) <elements>: Change type to
2654         std::vector<union type_stack_elt>.
2655         <depth, size>: Remove.
2656         * parse.c (parse_exp_in_context_1): Adjust.
2657         (type_stack_reserve): Remove.
2658         (check_type_stack_depth): Remove.
2659         (insert_into_type_stack): Adjust to std::vector.
2660         (insert_type): Likewise.
2661         (push_type): Likewise.
2662         (push_type_int): Likewise.
2663         (insert_type_address_space): Likewise.
2664         (pop_type): Likewise.
2665         (pop_type_int): Likewise.
2666         (pop_typelist): Likewise.
2667         (pop_type_stack): Likewise.
2668         (append_type_stack): Likewise.
2669         (push_type_stack): Likewise.
2670         (get_type_stack): Likewise.
2671         (type_stack_cleanup): Likewise.
2672         (push_typelist): Likewise.
2673         (follow_types): Likewise.
2674         (_initialize_parse): Likewise.
2675
2676 2018-08-28  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2677
2678         * NEWS: Mention csky target.
2679
2680 2018-08-28  Jiangshuai Li  <jiangshuai_li@c-sky.com>
2681             Hafiz Abid Qadeer  <abidh@codesourcery.com>
2682             Don Breazeal  <donb@codesourcery.com>
2683
2684         * csky-linux-tdep.c: New file.
2685         * csky-tdep.c: Likewise.
2686         * csky-tdep.h: Likewise.
2687         * Makefile.in (ALL_TARGET_OBS): Add csky-linux-tdep.o and
2688         csky-tdep.o.
2689         (HFILES_NO_SRCDIR): Add csky-tdep.h.
2690         (ALLDEPFILES): Add csky-linux-tdep.c and csky-tdep.c
2691         * configure.tgt: Add csky support.
2692
2693 2018-08-27  Jan Vrany  <jan.vrany@fit.cvut.cz>
2694
2695         * python/py-framefilter.c (py_print_frame): Print frame architecture
2696         when printing on an MI output.
2697
2698 2018-08-27  Tom Tromey  <tom@tromey.com>
2699
2700         PR build/23087:
2701         * configure: Rebuild.
2702         * warning.m4 (AM_GDB_WARNINGS): Remove -Wno-narrowing.
2703
2704 2018-08-27  Tom Tromey  <tom@tromey.com>
2705
2706         * aarch64-linux-tdep.c
2707         (aarch64_linux_iterate_over_regset_sections) <sve_regmap>: Add
2708         casts to int.
2709
2710 2018-08-27  Tom Tromey  <tom@tromey.com>
2711
2712         * ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
2713         unsigned.
2714         (ppc64_standard_linkage1, ppc64_standard_linkage2)
2715         (ppc64_standard_linkage3, ppc64_standard_linkage4)
2716         (ppc64_standard_linkage5, ppc64_standard_linkage6)
2717         (ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
2718         unsigned.
2719
2720 2018-08-27  Tom Tromey  <tom@tromey.com>
2721
2722         * xtensa-tdep.h (XTREG_END): Add cast to unsigned.
2723         (XTENSA_GDBARCH_TDEP_INSTANTIATE): Likewise.
2724
2725 2018-08-27  Tom Tromey  <tom@tromey.com>
2726
2727         * tramp-frame.h (TRAMP_SENTINEL_INSN): Redefine.
2728         * tilegx-linux-tdep.c (tilegx_linux_rt_sigframe): Use
2729         ULONGEST_MAX.
2730         * tic6x-linux-tdep.c (tic6x_linux_rt_sigreturn_tramp_frame): Use
2731         ULONGEST_MAX.
2732         * sparc64-linux-tdep.c (sparc64_linux_rt_sigframe): Use
2733         ULONGEST_MAX.
2734         * sparc-linux-tdep.c (sparc32_linux_sigframe)
2735         (sparc32_linux_rt_sigframe): Use ULONGEST_MAX.
2736         * ppc-nbsd-tdep.c (ppcnbsd_sigtramp, ppcnbsd2_sigtramp): Use
2737         ULONGEST_MAX.
2738         * ppc-linux-tdep.c (ppc32_linux_sigaction_tramp_frame)
2739         (ppc64_linux_sigaction_tramp_frame)
2740         (ppc32_linux_sighandler_tramp_frame)
2741         (ppc64_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2742         * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame)
2743         (nios2_r2_linux_rt_sigreturn_tramp_frame): Use ULONGEST_MAX.
2744         * mn10300-linux-tdep.c (am33_linux_sigframe)
2745         (am33_linux_rt_sigframe): Use ULONGEST_MAX.
2746         * mips64-obsd-tdep.c (mips64obsd_sigframe): Use ULONGEST_MAX.
2747         * mips-linux-tdep.c (mips_linux_o32_sigframe)
2748         (mips_linux_o32_rt_sigframe, mips_linux_n32_rt_sigframe)
2749         (mips_linux_n64_rt_sigframe, micromips_linux_o32_sigframe)
2750         (micromips_linux_o32_rt_sigframe, micromips_linux_n32_rt_sigframe)
2751         (micromips_linux_n64_rt_sigframe): Use ULONGEST_MAX.
2752         * mips-fbsd-tdep.c (mips_fbsd_sigframe, mipsn32_fbsd_sigframe)
2753         (mips64_fbsd_sigframe): Use ULONGEST_MAX.
2754         * microblaze-linux-tdep.c
2755         (microblaze_linux_sighandler_tramp_frame): Use ULONGEST_MAX.
2756         * i386-nbsd-tdep.c (i386nbsd_sigtramp_sc16, i386nbsd_sigtramp_sc2)
2757         (i386nbsd_sigtramp_si2, i386nbsd_sigtramp_si31)
2758         (i386nbsd_sigtramp_si4): Use ULONGEST_MAX.
2759         * hppa-nbsd-tdep.c (hppanbsd_sigtramp_si4): Use ULONGEST_MAX.
2760         * common/common-types.h (ULONGEST_MAX): New define.
2761         (CORE_ADDR_MAX): Fix formatting.
2762         * bfin-linux-tdep.c (bfin_linux_sigframe): Use ULONGEST_MAX.
2763         * arm-obsd-tdep.c (armobsd_sigframe): Use ULONGEST_MAX.
2764         * arm-linux-tdep.c (arm_linux_sigreturn_tramp_frame)
2765         (arm_linux_rt_sigreturn_tramp_frame)
2766         (arm_eabi_linux_sigreturn_tramp_frame)
2767         (arm_eabi_linux_rt_sigreturn_tramp_frame)
2768         (thumb2_eabi_linux_sigreturn_tramp_frame)
2769         (thumb2_eabi_linux_rt_sigreturn_tramp_frame)
2770         (arm_linux_restart_syscall_tramp_frame)
2771         (arm_kernel_linux_restart_syscall_tramp_frame): Use ULONGEST_MAX.
2772         * arm-fbsd-tdep.c (arm_fbsd_sigframe): Use ULONGEST_MAX.
2773         * aarch64-linux-tdep.c (aarch64_linux_rt_sigframe): Use
2774         ULONGEST_MAX.
2775         * aarch64-fbsd-tdep.c (aarch64_fbsd_sigframe): Use ULONGEST_MAX.
2776
2777 2018-08-27  Tom Tromey  <tom@tromey.com>
2778
2779         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Use
2780         CORE_ADDR_MAX.
2781         * mips-tdep.c (mips_deal_with_atomic_sequence)
2782         (micromips_deal_with_atomic_sequence): Use CORE_ADDR_MAX.
2783         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw)
2784         (arm_deal_with_atomic_sequence_raw): Use CORE_ADDR_MAX.
2785         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Use
2786         CORE_ADDR_MAX.
2787         * aarch64-tdep.c (aarch64_software_single_step): Use
2788         CORE_ADDR_MAX.
2789
2790 2018-08-27  Tom Tromey  <tom@tromey.com>
2791
2792         * linespec.c (complete_linespec_component): Add cast to "char".
2793         * completer.c (completion_tracker::build_completion_result): Add
2794         cast to "char".
2795
2796 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2797
2798         * solist.h (struct solist, struct target_so_ops): Fix
2799         indentation.
2800
2801 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2802
2803         * ada-tasks.c (ada_task_info_s): Remove typedef.
2804         (DEF_VEC_O(ada_task_info_s)): Remove.
2805         (struct ada_tasks_inferior_data): Initialize fields.
2806         <task_list>: Make an std::vector.
2807         (get_ada_tasks_inferior_data): Allocate with new.
2808         (ada_get_task_number): Adjust.
2809         (get_task_number_from_id): Likewise.
2810         (valid_task_id): Likewise.
2811         (ada_get_task_info_from_ptid): Likewise.
2812         (iterate_over_live_ada_tasks): Likewise.
2813         (add_ada_task): Likewise.
2814         (read_known_tasks): Likewise.
2815         (ada_build_task_list): Likewise.
2816         (print_ada_task_info): Likewise.
2817         (info_task): Likewise.
2818         (task_command_1): Likewise.
2819
2820 2018-08-26  Simon Marchi  <simon.marchi@polymtl.ca>
2821
2822         * ada-lang.c (add_angle_brackets): Return std::string.
2823
2824 2018-08-25  Simon Marchi  <simon.marchi@polymtl.ca>
2825
2826         * python/py-threadevent.c (py_get_event_thread): Initialize
2827         pythread.
2828
2829 2018-08-24  Pedro Alves  <palves@redhat.com>
2830
2831         * python/py-bpevent.c (create_breakpoint_event_object): Use
2832         copy-initialization.
2833         * python/py-continueevent.c (emit_continue_event): Use
2834         copy-initialization.
2835         * python/py-exitedevent.c (create_exited_event_object): Return a
2836         gdbpy_ref<>.
2837         (emit_exited_event): Use copy-initialization.
2838         * python/py-inferior.c (python_new_inferior)
2839         (python_inferior_deleted, add_thread_object): Use
2840         copy-initialization.
2841         * python/py-infevents.c (create_inferior_call_event_object)
2842         (create_register_changed_event_object)
2843         (create_memory_changed_event_object): Return a gdbpy_ref<>.
2844         (emit_inferior_call_event, emit_memory_changed_event)
2845         (emit_register_changed_event): Use copy-initialization.
2846         * python/py-newobjfileevent.c (create_new_objfile_event_object):
2847         Return a gdbpy_ref<>.
2848         (emit_new_objfile_event): Use copy-initialization.
2849         (create_clear_objfiles_event_object): Return a gdbpy_ref<>.
2850         (emit_clear_objfiles_event): Use copy-initialization.
2851         * python/py-signalevent.c (create_signal_event_object): Use
2852         copy-initialization.
2853         * python/py-threadevent.c (create_thread_event_object): Use
2854         copy-initialization.
2855
2856 2018-08-24  Pedro Alves  <palves@redhat.com>
2857             Simon Marchi  <simon.marchi@ericsson.com>
2858
2859         PR gdb/23379
2860         * python/py-continueevent.c: Include "gdbthread.h".
2861         (create_continue_event_object): Add intro comment.  Add 'ptid'
2862         parameter.  Use it to find thread to pass to
2863         create_thread_event_object.
2864         (emit_continue_event): Pass PTID down to
2865         create_continue_event_object.
2866         * python/py-event.h (py_get_event_thread): Declare.
2867         (create_thread_event_object): Remove default from 'thread'
2868         parameter.
2869         * python/py-stopevent.c (create_stop_event_object): Use
2870         py_get_event_thread.
2871         * python/py-threadevent.c (get_event_thread): Rename to ...
2872         (py_get_event_thread): ... this, make extern, add 'ptid' parameter
2873         and use it to find the thread.
2874         (create_thread_event_object): Assert that THREAD isn't null.
2875         Don't find the event thread here.
2876
2877 2018-08-23  Kevin Buettner  <kevinb@redhat.com>
2878
2879         * block.h (blockrange, blockranges): New struct declarations.
2880         (struct block): Add new field named `ranges'.
2881         (BLOCK_RANGES, BLOCK_NRANGES, BLOCK_RANGE, BLOCK_CONTIGUOUS_P)
2882         (BLOCK_RANGE_START, BLOCK_RANGE_END, BLOCK_ENTRY_PC): New
2883         macros for accessing ranges in struct block.
2884         (make_blockranges): New declaration.
2885         block.c (make_blockranges): New function.
2886         * dwarf2read.c (dwarf2_record_block_ranges): Fill in BLOCK_RANGES
2887         for block.
2888         * symtab.h (find_pc_partial_function): Add new parameter `block'.
2889         * blockframe.c (cache_pc_function_block): New static global.
2890         (clear_pc_function_cache): Clear cache_pc_function_block.
2891         (find_pc_partial_function): Move comment to symtab.h.  Add
2892         support for non-contiguous blocks.
2893         * cli/cli-cmds.c (block.h): Include.
2894         (print_disassembly): Handle printing of non-contiguous blocks.
2895         (disassemble_current_function): Likewise.
2896         (disassemble_command): Likewise.
2897
2898         * ax-gdb.c (gen_var_ref): Use BLOCK_ENTRY_PC in place of
2899         BLOCK_START.
2900         * blockframe.c (get_pc_function_start): Likewise.
2901         * compile/compile-c-symbols.c (convert_one_symbol): Likewise.
2902         (gcc_symbol_address): Likewise.
2903         * compile/compile-object-run.c (compile_object_run): Likewise.
2904         * compile/compile.c (get_expr_block_and_pc): Likewise.
2905         * dwarf2loc.c (dwarf2_find_location_expression): Likewise.
2906         (func_addr_to_tail_call_list): Likewise.
2907         * findvar.c (default_read_var_value): Likewise.
2908         * inline-frame.c (inline_frame_this_id): Likewise.
2909         (skip-inline_frames): Likewise.
2910         * infcmd.c (until_next_command): Likewise.
2911         * linespec.c (convert_linespec_to_sals): Likewise.
2912         * parse.c (parse_exp_in_context_1): Likewise.
2913         * printcmd.c (build_address_symbolic): likewise.
2914         (info_address_command): Likewise.
2915         symtab.c (find_function_start_sal): Likewise.
2916         (skip_prologue_sal): Likewise.
2917         (find_function_alias_target): Likewise.
2918         (find_gnu_ifunc): Likewise.
2919         * stack.c (find_frame_funname): Likewise.
2920         * symtab.c (fixup_symbol_section): Likewise.
2921         (find_function_start_sal): Likewise.
2922         (skip_prologue_sal): Likewsie.
2923         (find_function_alias_target): Likewise.
2924         (find_gnu_ifunc): Likewise.
2925         * tracepoint.c (info_scope_command): Likewise.
2926         * value.c (value_fn_field): Likewise.
2927
2928         * infrun.c (fill_in_stop_func): Use find_function_entry_range_from_pc
2929         in place of find_pc_partial_function.
2930         * blockframe.c (find_function_entry_range_from_pc): New function.
2931         * symtab.h (find_function_entry_range_from_pc): Declare and document.
2932         * objfiles.c (objfile_relocate1): Relocate start and end addresses
2933         for each range in a block.
2934
2935
2936 2018-08-23  Xavier Roirand  <roirand@adacore.com>
2937
2938         * machoread.c (macho_symfile_read_all_oso): Remove uneeded
2939         incrementation.
2940
2941 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2942
2943         * solib-svr4.c (read_program_headers_from_bfd): Return
2944         gdb::optional<gdb::byte_vector>.
2945         (svr4_exec_displacement): Adjust.
2946
2947 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2948
2949         * solib-svr4.c (read_program_header): Return
2950         gdb::optional<gdb::byte_vector>, remove p_sect_size param.
2951         (find_program_interpreter): Return
2952         gdb::optional<gdb::byte_vector>.
2953         (scan_dyntag_auxv): Adjust.
2954         (enable_break): Adjust.
2955         (svr4_exec_displacement): Adjust.
2956
2957 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2958
2959         * inf-child.h (inf_child_target) <terminal_save_inferior>: New.
2960         * inf-child.c (inf_child_target::terminal_save_inferior): New.
2961
2962 2018-08-22  Simon Marchi  <simon.marchi@polymtl.ca>
2963
2964         * guile/scm-string.c (gdbscm_scm_from_printf): Use
2965         string_vprintf.
2966         * guile/scm-utils.c (gdbscm_printf): Likewise.
2967         * serial.c (serial_printf): Likewise.
2968         * xml-support.c (gdb_xml_parser::vdebug): Likewise.
2969
2970 2018-08-22  Jan Vrany  <jan.vrany@fit.cvut.cz>
2971
2972         * stack.c (print_frame): Print frame architecture when printing on
2973         an MI output.
2974         * NEWS: Mention new "arch" attribute in frame output.
2975
2976 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2977
2978         * arch/aarch64.h (aarch64_regnum): Update comment.
2979
2980 2018-08-21  Alan Hayward  <alan.hayward@arm.com>
2981
2982         * NEWS: Add SVE to 8.2 section.
2983
2984 2018-08-21  Pedro Alves  <palves@redhat.com>
2985
2986         * guile/scm-utils.c (gdbscm_parse_function_args_1): New, factored
2987         out from gdbscm_parse_function_args.
2988         (gdbscm_parse_function_args): Rework to use gdbscm_wrap and
2989         gdbscm_parse_function_args_1.
2990
2991 2018-08-21  Simon Marchi  <simon.marchi@ericsson.com>
2992
2993         PR gdb/17816
2994         * m32c-tdep.c (m32c_decode_srcdest4): Remove unnecessary ternary
2995         operator.
2996
2997 2018-08-19  Simon Marchi  <simon.marchi@polymtl.ca>
2998
2999         * solib-svr4.c (svr4_exec_displacement): Fix formatting.
3000
3001 2018-08-19  Michael Spang  <spang@google.com>
3002
3003         PR gdb/11786
3004         * solib-svr4.c (svr4_exec_displacement): Ignore memsz fields
3005         for PT_TLS segments.
3006
3007 2018-08-18  Kevin Buettner  <kevinb@redhat.com>
3008
3009         * dwarf2expr.h (struct dwarf_expr_context): Add virtual method
3010         dwarf_variable_value.
3011         * dwarf2-frame.c (class dwarf_expr_executor):
3012         Add override for dwarf_variable_value.
3013         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Likewise.
3014         (class symbol_needs_eval_context): Likewise.
3015         (indirect_synthetic_pointer): Add forward declaration.
3016         (sect_variable_value): New function.
3017         (dwarf2_compile_expr_to_ax): Add case for DW_OP_GNU_variable_value.
3018         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Add case
3019         for DW_OP_GNU_variable_value.
3020
3021 2018-08-16  Tom Tromey  <tom@tromey.com>
3022
3023         * top.c (read_command_file): Update.
3024         (command_line_input): Remove "repeat" argument.
3025         * ada-lang.c (get_selections): Update.
3026         * linespec.c (decode_line_2): Update.
3027         * defs.h (command_line_input): Remove argument.
3028         * cli/cli-script.c (read_next_line): Update.
3029         * python/py-gdb-readline.c: Update.
3030
3031 2018-08-17  Tom Tromey  <tom@tromey.com>
3032
3033         * cli/cli-script.c (read_next_line): Pass 0 as repeat argument to
3034         command_line_input.
3035
3036 2018-08-15  Tom Tromey  <tom@tromey.com>
3037
3038         * aarch64-linux-tdep.c (aarch64_linux_core_read_vq): Use pulongest.
3039
3040 2018-08-14  Jan Vrany  <jan.vrany@fit.cvut.cz>
3041
3042         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Add -a option.
3043         If used, use find_pc_partial_function to find address range
3044         to disassemble.
3045         * mi/mi-main.c (mi_cmd_list_features): Report
3046         "data-disassemble-a-option" feature.
3047         * NEWS: Mention new -data-disassemble option -a.
3048
3049 2018-08-13  Tom Tromey  <tom@tromey.com>
3050
3051         * common/common-defs.h (_FORTIFY_SOURCE): Define.
3052
3053 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
3054
3055         * aarch64-linux-tdep.c (aarch64_linux_supply_sve_regset): New function.
3056         (aarch64_linux_collect_sve_regset): Likewise.
3057         (aarch64_linux_iterate_over_regset_sections): Check for SVE.
3058         * regcache.h (regcache_map_entry_size): New function.
3059
3060 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
3061
3062         * aarch64-linux-tdep.c (SVE_HEADER_SIZE_LENGTH): Add define.
3063         (SVE_HEADER_MAX_SIZE_LENGTH): Likewise.
3064         (SVE_HEADER_VL_LENGTH): Likewise.
3065         (SVE_HEADER_MAX_VL_LENGTH): Likewise.
3066         (SVE_HEADER_FLAGS_LENGTH): Likewise.
3067         (SVE_HEADER_RESERVED_LENGTH): Likewise.
3068         (SVE_HEADER_SIZE_OFFSET): Likewise.
3069         (SVE_HEADER_MAX_SIZE_OFFSET): Likewise.
3070         (SVE_HEADER_VL_OFFSET): Likewise.
3071         (SVE_HEADER_MAX_VL_OFFSET): Likewise.
3072         (SVE_HEADER_FLAGS_OFFSET): Likewise.
3073         (SVE_HEADER_RESERVED_OFFSET): Likewise.
3074         (SVE_HEADER_SIZE): Likewise.
3075         (aarch64_linux_core_read_vq): Add function.
3076         (aarch64_linux_core_read_description): Check for SVE section.
3077
3078 2018-08-13  Alan Hayward  <alan.hayward@arm.com>
3079
3080         * aarch64-fbsd-tdep.c
3081         (aarch64_fbsd_iterate_over_regset_sections): Add supply_size and
3082         collect_size.
3083         * aarch64-linux-tdep.c
3084         (aarch64_linux_iterate_over_regset_sections): Likewise.
3085         * alpha-linux-tdep.c
3086         (alpha_linux_iterate_over_regset_sections):
3087         * alpha-nbsd-tdep.c
3088         (alphanbsd_iterate_over_regset_sections): Likewise.
3089         * amd64-fbsd-tdep.c
3090         (amd64fbsd_iterate_over_regset_sections): Likewise.
3091         * amd64-linux-tdep.c
3092         (amd64_linux_iterate_over_regset_sections): Likewise.
3093         * arm-bsd-tdep.c
3094         (armbsd_iterate_over_regset_sections): Likewise.
3095         * arm-fbsd-tdep.c
3096         (arm_fbsd_iterate_over_regset_sections): Likewise.
3097         * arm-linux-tdep.c
3098         (arm_linux_iterate_over_regset_sections): Likewise.
3099         * corelow.c (get_core_registers_cb): Likewise.
3100         (core_target::fetch_registers): Likewise.
3101         * fbsd-tdep.c (fbsd_collect_regset_section_cb): Likewise.
3102         * frv-linux-tdep.c (frv_linux_iterate_over_regset_sections): Likewise.
3103         * gdbarch.h (void): Regenerate.
3104         * gdbarch.sh: Add supply_size and collect_size.
3105         * hppa-linux-tdep.c (hppa_linux_iterate_over_regset_sections): Likewise.
3106         * hppa-nbsd-tdep.c (hppanbsd_iterate_over_regset_sections): Likewise.
3107         * hppa-obsd-tdep.c (hppaobsd_iterate_over_regset_sections): Likewise.
3108         * i386-fbsd-tdep.c (i386fbsd_iterate_over_regset_sections): Likewise.
3109         * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections): Likewise.
3110         * i386-tdep.c (i386_iterate_over_regset_sections): Likewise.
3111         * ia64-linux-tdep.c (ia64_linux_iterate_over_regset_sections): Likewise.
3112         * linux-tdep.c (linux_collect_regset_section_cb): Likewise.
3113         * m32r-linux-tdep.c (m32r_linux_iterate_over_regset_sections): Likewise.
3114         * m68k-bsd-tdep.c (m68kbsd_iterate_over_regset_sections): Likewise.
3115         * m68k-linux-tdep.c (m68k_linux_iterate_over_regset_sections): Likewise.
3116         * mips-fbsd-tdep.c (mips_fbsd_iterate_over_regset_sections): Likewise.
3117         * mips-linux-tdep.c (mips_linux_iterate_over_regset_sections): Likewise.
3118         * mips-nbsd-tdep.c (mipsnbsd_iterate_over_regset_sections): Likewise.
3119         * mips64-obsd-tdep.c (mips64obsd_iterate_over_regset_sections): Likewise.
3120         * mn10300-linux-tdep.c (am33_iterate_over_regset_sections): Likewise.
3121         * nios2-linux-tdep.c (nios2_iterate_over_regset_sections): Likewise.
3122         * ppc-fbsd-tdep.c (ppcfbsd_iterate_over_regset_sections): Likewise.
3123         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections): Likewise.
3124         * ppc-nbsd-tdep.c (ppcnbsd_iterate_over_regset_sections): Likewise.
3125         * ppc-obsd-tdep.c (ppcobsd_iterate_over_regset_sections): Likewise.
3126         * riscv-linux-tdep.c (riscv_linux_iterate_over_regset_sections): Likewise.
3127         * rs6000-aix-tdep.c (rs6000_aix_iterate_over_regset_sections): Likewise.
3128         * s390-linux-tdep.c (s390_iterate_over_regset_sections): Likewise.
3129         * score-tdep.c (score7_linux_iterate_over_regset_sections): Likewise.
3130         * sh-tdep.c (sh_iterate_over_regset_sections): Likewise.
3131         * sparc-tdep.c (sparc_iterate_over_regset_sections): Likewise.
3132         * tilegx-linux-tdep.c (tilegx_iterate_over_regset_sections): Likewise.
3133         * vax-tdep.c (vax_iterate_over_regset_sections): Likewise.
3134         * xtensa-tdep.c (xtensa_iterate_over_regset_sections): Likewise.
3135
3136 2018-08-10  Simon Marchi  <simon.marchi@ericsson.com>
3137
3138         * nat/linux-osdata.c (commandline_from_pid): Replace xstrprintf
3139         with string_printf.
3140
3141 2018-08-10  Keith Seitz  <keiths@redhat.com>
3142
3143         * compile/compile-c-support.c (add_code_header, add_code_footer):
3144         Move into policy class.
3145         (c_push_user_expression, pop_user_expression_nop)
3146         (c_add_code_header, c_add_code_footer, c_add_input): New policy class.
3147         (compile_program): New host class.
3148         (c_compile_program): New typedef.
3149         (c_compute_porgram): Use c_compile_program.
3150
3151 2018-08-10  Keith Seitz  <keiths@redhat.com>
3152
3153         * compile/compile-internal.h (compile_instance::~compile_instance):
3154         Remove calls to htab_delete.
3155         <m_type_map, m_symbol_err_map>: Switch type to htab_up.
3156         * compile.c (compile_instance::compile_instance): Initialize
3157         htab unique pointers.
3158         (compile_instance::get_cached_type, compile_instance::insert_type)
3159         (compile_instance::error_symbol_once): Update for unique_ptr.
3160
3161 2018-08-10  Keith Seitz  <keiths@redhat.com>
3162
3163         * compile/compile-c-symbols.c (struct symbol_error)
3164         (hash_symbol_error, eq_symbol_error, del_symbol_error)
3165         (compile_instance::insert_symbol_error)
3166         (compile_instance::error_symbol_once): Move to ...
3167         * compile/compile.c: ... here.
3168
3169 2018-08-10  Keith Seitz  <keiths@redhat.com>
3170
3171         * compile/compile-c-support.c (c_get_compile_context): Use `new'
3172         instead of `new_compile_instance'.
3173         * compile/compile-c-symbols.c (compile_instance::insert_symbol_error):
3174         Update description.
3175         If the symbol error map is not initialized, create it.
3176         (generate_c_for_for_one_symbol): Do not check/initialize
3177         the symbol error map.
3178         * compile/compile-c-types.c (compile_c_instance): Make a class.
3179         Update all callers.
3180         (compile_instance::compile_instance): Initialize the type cache.
3181         (get_cached_type): New function.
3182         (insert_type): Update description.
3183         (compile_c_instance::m_default_cflags): Define.
3184         (convert_type): Update description.  Use get_cached_type.
3185         (delete_instance): Moved to destructor.
3186         (new_compile_instance): Moved to constructor.
3187         * compile/compile-c.h (compile_c_instance): Make class inheriting
3188         from compile_instance.
3189         <base>: Remove field.
3190         <type_map, symbol_err_map>: Move to base class.
3191         <c_plugin>: Rename to `m_plugin' and remove pointer type.
3192         * compile/compile-internal.h (compile_instance): Make class.
3193         <type_map_t, symbol_err_map_t>: Define.
3194         <fe>: Rename to `m_gcc_fe'.
3195         <scope, block, gcc_target_options>: Add `m_' prefix.
3196         <m_type_map, m_symbol_err_map>: New fields, moved from
3197         compile_c_instance.
3198         <destroy>: Remove.
3199         (convert_type, new_compile_instance): Remove.
3200         * compile/compile.c (cleanup_compile_instance): Remove.
3201         (compile_to_object): Use unique_ptr to eliminate cleanups.
3202         (compile_instance::set_print_callback, compile_instance::version)
3203         (compile_instance::set_verbose)
3204         (compile_instance::set_driver_filename)
3205         (compile_instance::set_triplet_regexp)
3206         (compile_instance::set_arguments)
3207         (compile_instance::set_source_file)
3208         (compile_instance::compile): Define.
3209
3210 2018-08-10  Keith Seitz  <keiths@redhat.com>
3211
3212         * Makefile.in (HFILES_NO_SRCDIR): Add compile/gcc-c-plugin.h.
3213         * compile/compile-c-types.c: Define GCC_METHODN macros and include
3214         gcc-c-fe.def to define C plugin.
3215         (delete_instance): Delete `c_plugin'.
3216         (new_compile_instance): Initialize `c_plugin'.
3217         * compile/compile-c.h: Include gcc_c_plugin.h.
3218         (struct compile_c_instance) <c_plugin>: New member.
3219         * gcc-c-plugin.h: New file.
3220         Update all callers with API change.
3221
3222 2018-08-10  Keith Seitz  <keiths@redhat.com>
3223
3224         * Makefile.in (SUBDIR_GCC_COMPILE_SRCS): Move header files ...
3225         (HFILES_NO_SRCDIR): ... to here.
3226         Add compile-internal.h and compile-c.h.
3227         * compile/compile-c-support.c: Include compile-c.h.
3228         * compile/compile-c-symbols.c: Include compile-c.h.
3229         (generate_c_for_variable_locations): Update comment.
3230         * compile/compile-c-types.c: Include compile-c.h.
3231         * compile/compile-c.h: New file -- moved C language declarations
3232         from other files here.
3233         * compile/compile-internal.h: Do not include hashtab.h or
3234         common/enum-flags.h.
3235         (gcc_qualifiers_flags, struct compile_c_instance, C_CTX)
3236         (gcc_convert_symbol, gcc_symbol_address)
3237         (generate_c_for_variable_locations, c_get_mode_for_size)
3238         (c_get_range_decl_name): Definitions moved to compile-c.h.
3239         * compile/compile-loc2c.c: Include compile-c.h.
3240
3241 2018-08-10  Keith Seitz  <keiths@redhat.com>
3242
3243         * compile/compile-c-symbols.c (symbol_substitution_name): Rename to ...
3244         (c_symbol_substitution_name): ... this.
3245         Update all callers.
3246
3247 2018-08-10  Keith Seitz  <keiths@redhat.com>
3248
3249         * compile/compile-c-support.c (c_compute_program): Use
3250         unique_xmalloc_ptr to eliminate cleanup.
3251         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
3252         Return a unique_xmalloc_ptr and eliminate cleanup.
3253         * compile/compile-internal.h (generate_c_for_variable_locations):
3254         Return unique_xmalloc_ptr and update description.
3255
3256 2018-08-10  Alan Hayward  <alan.hayward@arm.com>
3257
3258         * corelow.c (core_target::get_core_register_section): Rename
3259         min_size to section_min_size.
3260
3261 2018-08-09  Jim Wilson  <jimw@sifive.com>
3262
3263         * Makefile.in (ALL_TARGET_OBS): Add riscv-linux-tdep.c.
3264         (ALLDEPFILES): Add riscv-linux-nat.c, and riscv-linux-tdep.c.
3265         * NEWS: Mention new GNU/Linux RISC-V target.
3266         * configure.host: Add riscv*-*-linux*.
3267         * configure.nat: Add riscv*.
3268         * configure.tgt: Add riscv*-*-linux*.
3269         * riscv-linux-nat.c: New file.
3270         * riscv-linux-tdep.c: New file.
3271
3272 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3273
3274         * infrun.c (resume): Make static, add forward declaration.
3275         (proceed): Update header comment.
3276         * infrun.h (resume): Delete declaration.
3277
3278 2018-08-09  Tom Tromey  <tom@tromey.com>
3279
3280         * riscv-tdep.h: Minor formatting fixes.
3281
3282 2018-08-09  Simon Marchi  <simon.marchi@ericsson.com>
3283
3284         * common/scoped_mmap.c (mmap_file): Silence ARI warning.
3285         * dwarf-index-cache.c (create_dir_and_check): Likewise.
3286         (test_mkdir_recursive): Likewise.
3287         * dwarf-index-write.c (write_psymtabs_to_index): Likewise.
3288
3289 2018-08-09  Andrew Burgess  <andrew.burgess@embecosm.com>
3290
3291         * valarith.c (value_subscripted_rvalue): If an array is not in
3292         memory, and we don't know the upper bound, then we can't know that
3293         the requested element exists or not.
3294
3295 2018-08-08  Simon Marchi  <simon.marchi@ericsson.com>
3296
3297         * target.c (str_comma_list_concat_elem): Fix typo in comment.
3298         (target_options_to_string): Add comment.
3299
3300 2018-08-08  Tom Tromey  <tom@tromey.com>
3301
3302         * unittests/scoped_mmap-selftests.c: Check result of "write".
3303
3304 2018-08-08  Jim Wilson  <jimw@sifive.com>
3305
3306         * riscv-tdep.c (enum opcode): Add jump, branch, lr, and sc opcodes.
3307         (decode_register_index_short): New.
3308         (decode_j_type_insn, decode_cj_type_insn): New.
3309         (decode_b_type_insn, decode_cb_type_insn): New.
3310         (riscv_insn::decode): Add support for jumps, branches, lr, and sc.  New
3311         local xlen.  Check xlen when decoding ambiguous compressed insns.  In
3312         compressed decode, use is_c_lui_insn instead of is_lui_insn, and
3313         is_c_sw_insn instead of is_sw_insn.
3314         (riscv_next_pc, riscv_next_pc_atomic_sequence): New.
3315         (riscv_software_single_step): New.
3316         * riscv-tdep.h (riscv_software_single_step): Declare.
3317
3318         * riscv-tdep.c (riscv_isa_xlen): Drop static.
3319         * riscv-tdep.h (riscv_isa_xlen): Add extern declaration.
3320
3321 2018-08-08  Andrew Burgess  <andrew.burgess@embecosm.com>
3322
3323         PR gdb/18050:
3324         * target.c (dispose_inferior): Don't dispose of inferiors that are
3325         already killed.
3326
3327 2018-08-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>
3328
3329         * remote.c (remote_target::download_tracepoint): Change char* to
3330         const char*.
3331
3332 2018-08-07  Simon Marchi  <simon.marchi@polymtl.ca>
3333
3334         * target.h (target_options_to_string): Return an std::string.
3335         * target.c (str_comma_list_concat_elem): Return void, use
3336         std::string.
3337         (do_option): Likewise.
3338         (target_options_to_string): Return an std::string.
3339         * linux-nat.c (linux_nat_target::wait): Adjust.
3340         * target-debug.h (target_debug_print_options): Adjust.
3341
3342 2018-08-07  Tom Tromey  <tom@tromey.com>
3343
3344         * Makefile.in (CPPFLAGS): New variable.
3345         (INTERNAL_CPPFLAGS): Use it.
3346
3347 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3348
3349         * NEWS: Mention the index cache.
3350
3351 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3352
3353         * common/pathstuff.h (get_standard_cache_dir): New.
3354         * common/pathstuff.c (get_standard_cache_dir): New.
3355         * build-id.h (build_id_to_string): New.
3356         * dwarf-index-common.h (INDEX4_SUFFIX, INDEX5_SUFFIX,
3357         DEBUG_STR_SUFFIX): Move to here.
3358         * dwarf-index-write.c (INDEX4_SUFFIX, INDEX5_SUFFIX,
3359         DEBUG_STR_SUFFIX): Move from there.
3360         (write_psymtabs_to_index): Make non-static, add basename
3361         parameter.  Write to temporary files, rename when done.
3362         (save_gdb_index_command): Adjust call to
3363         write_psymtabs_to_index.
3364         * dwarf2read.h (dwarf2_per_objfile) <index_cache_res>: New
3365         field.
3366         * dwarf2read.c (dwz_file) <index_cache_res>: New field.
3367         (get_gdb_index_contents_from_cache): New.
3368         (get_gdb_index_contents_from_cache_dwz): New.
3369         (dwarf2_initialize_objfile): Read index from cache.
3370         (dwarf2_build_psymtabs): Save to index.
3371         * dwarf-index-cache.h: New file.
3372         * dwarf-index-cache.c: New file.
3373         * dwarf-index-write.h: New file.
3374
3375 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3376
3377         * gnulib/aclocal.m4: Re-generate.
3378         * gnulib/config.in: Re-generate.
3379         * gnulib/configure: Re-generate.
3380         * gnulib/import/Makefile.am: Re-generate.
3381         * gnulib/import/Makefile.in: Re-generate.
3382         * gnulib/import/m4/gnulib-cache.m4: Re-generate.
3383         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
3384         * gnulib/import/m4/mkdir.m4: New file.
3385         * gnulib/import/mkdir.c: New file.
3386         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkdir
3387         module.
3388
3389 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3390
3391         * Makefile.in (COMMON_SFILES): Add common/scoped_mmap.c.
3392         * common/scoped_mmap.c: New file.
3393         * common/scoped_mmap.h (destroy): New method.
3394         (~scoped_mmap, reset): Use destroy.
3395         (scoped_mmap): New move constructor.
3396         (mmap_file): New declaration.
3397         * unittests/scoped_mmap-selftests.c (test_normal,
3398         test_invalid_filename, run_tests): New functions.
3399         (_initialize_scoped_mmap_selftests): Register selftest.
3400
3401 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3402
3403         * dwarf2read.c (read_gdb_index_from_section): Rename to...
3404         (read_gdb_index_from_buffer): ... this.  Remove section
3405         parameter, add buffer parameter.
3406         (get_gdb_index_contents_ftype,
3407         get_gdb_index_contents_dwz_ftype): New typedefs.
3408         (dwarf2_read_gdb_index): Add callback parameters to get the
3409         index contents.
3410         (get_gdb_index_contents_from_section): New.
3411         (dwarf2_initialize_objfile): Update call to
3412         dwarf2_read_gdb_index.
3413
3414 2018-08-07  Simon Marchi  <simon.marchi@ericsson.com>
3415
3416         * common/filestuff.h (gdb_fopen_cloexec): New overload.
3417         (gdb_open_cloexec): Likewise.
3418         * nat/linux-osdata.c (command_from_pid): Use string_printf.
3419         (commandline_from_pid): Likewise.
3420         (linux_xfer_osdata_threads): Likewise.
3421         (linux_xfer_osdata_fds): Likewise.
3422         * ada-lang.c (is_package_name): Likewise.
3423         * auxv.c (procfs_xfer_auxv): Likewise.
3424         * breakpoint.c (print_one_breakpoint_location): Use
3425         uiout::field_fmt.
3426         (print_one_catch_solib): Use string_printf.
3427         * coff-pe-read.c (add_pe_exported_sym): Likewise.
3428         (add_pe_forwarded_sym): Likewise.
3429         * dwarf2read.c (create_type_unit_group): Likewise.
3430         (build_error_marker_type): Likewise.
3431         * infcall.c (get_function_name): Likewise.
3432         * valprint.c (print_converted_chars_to_obstack): Likewise.
3433         * xtensa-tdep.c (xtensa_register_type): Likewise.
3434
3435 2018-08-06  Simon Marchi  <simon.marchi@ericsson.com>
3436
3437         * remote.c (remote_target::download_tracepoint): Fix format
3438         string errors.
3439
3440 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3441
3442         * tracefile.c: Include common/byte-vector.h.
3443         (trace_save): Change type of buf to gdb::byte_vector.  Initialize
3444         with trace_regblock_size if needed.  Update uses of buf.
3445
3446 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3447
3448         * tracepoint.h (collection_list) <m_regs_mask>: Change type to
3449         std::vector<unsigned char>.
3450         * tracepoint.c (collection_list::collection_list): Remove
3451         m_regs_mask initializer from initializer list.  Resize
3452         m_regs_mask using the largest remote register number.
3453         (collection_list::add_remote_register): Remove size check on
3454         m_regs_mask.  Use at to access element.
3455         (collection_list::stringify): Change type of temp_buf to
3456         gdb::char_vector.  Update uses of temp_buf.  Resize if needed to
3457         stringify the register mask.  Use pack_hex_byte for the register
3458         mask.
3459
3460 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3461
3462         * tracepoint.h (class collection_list) <add_register>: Remove.
3463         <add_remote_register, add_ax_registers, add_local_register>:
3464         Declare.
3465         <add_memrange>: Add scope parameter.
3466         * tracepoint.c (encode_actions_1): Likewise.
3467         (collection_list::add_register): Rename to ...
3468         (collection_list::add_remote_register): ... this.  Update
3469         comment.
3470         (collection_list::add_ax_registers, add_local_register): New
3471         methods.
3472         (collection_list::add_memrange): Add scope parameter.  Call
3473         add_local_register instead of add_register.
3474         (finalize_tracepoint_aexpr): New function.
3475         (collection_list::collect_symbol): Update calls to add_memrange.
3476         Call add_local_register instead of add_register.  Call
3477         add_ax_registers.  Call finalize_tracepoint_aexpr.
3478         (encode_actions_1): Get remote regnos for $reg action.  Call
3479         add_remote_register, add_ax_registers, and add_local_register.
3480         Update call to add_memrange.  Call finalize_tracepoint_aexpr.
3481         (validate_actionline): Call finalize_tracepoint_aexpr.
3482
3483 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3484
3485         * remote.c (remote_target::download_tracepoint): Remove BUF_SIZE.
3486         Replace array buf with gdb::char_vector buf, of size
3487         get_remote_packet_size ().  Replace references to buf and
3488         BUF_SIZE to buf.data () and buf.size ().  Replace strcpy, strcat
3489         and xsnprintf with snprintf.  Raise errors if the buffer is too
3490         small.
3491
3492 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3493
3494         * remote.c (remote_target::download_tracepoint): Fix the has_more
3495         predicate in the QTDP action list iteration.
3496
3497 2018-08-06  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
3498
3499         * remote.c (remote_target::download_tracepoint): Fix indentation
3500         in for block.
3501
3502 2018-08-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3503
3504         * proc-api.c (_initialize_proc_api): Remove c, unused.
3505         * procfs.c (procfs_init_inferior): Remove signals, unused.
3506         (procfs_target::make_corefile_notes): Remove old_chain, fpregs,
3507         unused.
3508
3509 2018-08-06  Sergey Korolev  <s.korolev@ndmsystems.com>
3510             Andrew Burgess  <andrew.burgess@embecosm.com>
3511
3512         * linux-nat.c (linux_nat_target::follow_fork): Avoid using
3513         'W_STOPCODE (0)' as this could be ambiguous.
3514
3515 2018-08-03  Sergio Durigan Junior  <sergiodj@redhat.com>
3516
3517         * ser-tcp.c (net_open): Fix thinko when deciding whether to
3518         disable TCP's Nagle algorithm (use "ai_protocol" instead of
3519         "ai_socktype").
3520
3521 2018-08-02  Tom Tromey  <tom@tromey.com>
3522
3523         PR symtab/16842.
3524         * dwarf2read.c (read_func_scope): Set symtab on template parameter
3525         symbols.
3526         (process_structure_scope): Likewise.
3527
3528 2018-08-02  Xavier Roirand  <roirand@adacore.com>
3529
3530         PR gdb/22629:
3531         * darwin-nat.c (darwin_kill_inferior): Fix handling of
3532         kill inferior.
3533
3534 2018-08-02  Tom Tromey  <tom@tromey.com>
3535
3536         * darwin-nat.c (find_inferior_task_it, darwin_find_thread)
3537         (darwin_suspend_inferior, darwin_resume_inferior)
3538         (darwin_decode_notify_message, darwin_resume_inferior_threads)
3539         (darwin_check_new_threads): Check result of get_darwin_inferior.
3540
3541 2018-07-31  Joel Brobecker  <brobecker@adacore.com>
3542
3543         GDB 8.1.1 released.
3544
3545 2018-07-31  Jan Vrany  <jan.vrany@fit.cvut.cz>
3546
3547         * varobj.c (varobj_get_path_expr_parent): Report an error if
3548         parent is a dynamic varobj.
3549
3550 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3551
3552         * gnulib/aclocal.m4: Re-generate.
3553         * gnulib/config.in: Re-generate.
3554         * gnulib/configure: Re-generate.
3555         * gnulib/import/Makefile.in: Re-generate.
3556         * gnulib/import/m4/gnulib-comp.m4: Re-generate.
3557         * gnulib/import/m4/onceonly.m4: Re-generate.
3558
3559 2018-07-31  Simon Marchi  <simon.marchi@ericsson.com>
3560
3561         * target-descriptions.c (struct xml_test_tdesc): New.
3562         (xml_tdesc): Change type to std::vector<xml_test_tdesc>.
3563         (record_xml_tdesc): Update.
3564         (maintenance_check_xml_descriptions): Update.
3565         * target-descriptions.h (record_xml_tdesc): Update comment.
3566
3567 2018-07-30  Andrew Burgess  <andrew.burgess@embecosm.com>
3568
3569         * eval.c (evaluate_subexp_for_sizeof): Check for array type before
3570         checking array bounds are defined.
3571
3572 2018-07-30  Tom Tromey  <tom@tromey.com>
3573
3574         * nat/linux-osdata.c (pid_pgid_entry::operator<): Fix
3575         irreflexivity violation.
3576
3577 2018-07-30  Tom Tromey  <tom@tromey.com>
3578
3579         * cli/cli-decode.c (lookup_cmd): Remove lint code.
3580         * value.c (unpack_long): Remove lint code.
3581         * valops.c (value_ind): Remove lint code.
3582         * valarith.c (value_x_binop, value_x_unop, value_equal)
3583         (value_pos): Remove lint code.
3584
3585 2018-07-28  Tom de Vries  <tdevries@suse.de>
3586
3587         * eval.c (evaluate_subexp_for_sizeof): Interpret size of dynamic type
3588         with undefined upper bound as <optimized out>.
3589
3590 2018-07-27  Sergio Durigan Junior  <sergiodj@redhat.com>
3591
3592         * gcore.in: Rename variable "name" to "prefix".  Expand
3593         "usage" text.
3594
3595 2018-07-14  Jon Turney  <jon.turney@dronecode.org.uk>
3596
3597         * windows-nat.c (windows_nat_target::create_inferior): Update to
3598         call close() in global namespace.
3599
3600 2018-07-26  Tom Tromey  <tom@tromey.com>
3601
3602         * dwarf-index-write.c (add_address_entry): Don't add objfile
3603         offsets.
3604         * dbxread.c (find_stab_function): Rename from
3605         find_stab_function_addr.  Return a bound_minimal_symbol.
3606         (read_dbx_symtab): Use raw_text_low, raw_text_high.
3607         Don't add objfile offsets.
3608         (end_psymtab): Use raw_text_low, raw_text_high,
3609         MSYMBOL_VALUE_RAW_ADDRESS.
3610         (read_ofile_symtab): Update.
3611         (process_one_symbol): Update.
3612         * dwarf2read.c (create_addrmap_from_index): Don't add objfile
3613         offsets.
3614         (dw2_relocate): Remove.
3615         (dw2_find_pc_sect_symtab): Bias PC by the text offset before
3616         searching addrmap.
3617         (dwarf2_gdb_index_functions, dwarf2_debug_names_functions):
3618         Update.
3619         (process_psymtab_comp_unit_reader, add_partial_symbol)
3620         (add_partial_subprogram, dwarf2_ranges_read): Update.
3621         (load_partial_dies): Update.
3622         (add_address_entry): Don't add objfile offsets.
3623         (dwarf2_build_include_psymtabs): Update.
3624         (create_addrmap_from_aranges): Don't add objfile offsets.
3625         (dw2_find_pc_sect_compunit_symtab): Update.
3626         * mdebugread.c (parse_symbol): Don't add objfile offsets.
3627         (parse_lines): Remove 'pst' parameter, replace with 'textlow'.
3628         Update.
3629         (parse_partial_symbols): Don't add objfile offsets.  Use
3630         raw_text_low, raw_text_high.  Update.
3631         (handle_psymbol_enumerators, psymtab_to_symtab_1): Update.
3632         * objfiles.c (objfile_relocate1): Don't relocate psymtabs_addrmap
3633         or call 'relocate' quick function.  Clear psymbol_map.
3634         * psympriv.h (struct partial_symbol) <address>: Add section
3635         offset.
3636         <set_unrelocated_address>: Rename from set_address.
3637         <raw_text_low, raw_text_high>: New methods.
3638         <text_low, text_high>: Add objfile parameter.
3639         (add_psymbol_to_bcache): Add 'section' parameter.  Call
3640         set_unrelocated_address.
3641         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3642         (find_pc_psymbol): Update.
3643         (fixup_psymbol_section, relocate_psymtabs): Remove.
3644         (dump_psymtab, psym_functions): Update.
3645         (add_psymbol_to_bcache, add_psymbol_to_list): Add 'section'
3646         parameter.
3647         (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
3648         (start_psymtab_common): Update.
3649         * symfile-debug.c (debug_qf_relocate): Remove.
3650         (debug_sym_quick_functions): Update.
3651         * symfile.h (struct quick_symbol_functions) <relocate>: Remove.
3652         * xcoffread.c (scan_xcoff_symtab): Don't add objfile offsets.
3653         Update.
3654
3655 2018-07-26  Tom Tromey  <tromey@redhat.com>
3656
3657         * dbxread.c (end_psymtab): Use text_high_valid and
3658         text_low_valid.
3659         * mdebugread.c (parse_partial_symbols): Use text_low_valid.
3660         (psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
3661         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3662         Update comment.
3663         <text_low_valid, text_high_valid>: New fields.
3664         <set_text_low, set_text_high>: Update.
3665         * xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
3666
3667 2018-07-26  Tom Tromey  <tom@tromey.com>
3668
3669         * dbxread.c (read_dbx_symtab, end_psymtab, read_ofile_symtab):
3670         Update.
3671         * dwarf2read.c (dwarf2_create_include_psymtab): Don't initialize
3672         textlow and texthigh fields.
3673         (process_psymtab_comp_unit_reader, dwarf2_build_include_psymtabs):
3674         Update.
3675         * mdebugread.c (parse_lines, parse_partial_symbols)
3676         (psymtab_to_symtab_1): Update.
3677         * psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
3678         Rename fields.  Update comment.  Now private.
3679         <text_low, text_high, set_text_low, set_text_high>: New methods.
3680         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3681         (find_pc_sect_psymbol, relocate_psymtabs, dump_psymtab)
3682         (start_psymtab_common, maintenance_info_psymtabs)
3683         (maintenance_check_psymtabs): Update.
3684         * xcoffread.c (xcoff_end_psymtab): Don't initialize textlow and
3685         texthigh fields.
3686         (scan_xcoff_symtab): Update.
3687
3688 2018-07-26  Tom Tromey  <tromey@redhat.com>
3689
3690         * psympriv.h (struct partial_symbol) <unrelocated_address,
3691         address, set_address>: New methods.
3692         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymbol)
3693         (fixup_psymbol_section, relocate_psymtabs): Update.
3694         (print_partial_symbols): Add 'objfile' parameter.  Update.
3695         (dump_psymtab, add_psymbol_to_bcache, psym_fill_psymbol_map):
3696         Update.
3697
3698 2018-07-26  Tom Tromey  <tom@tromey.com>
3699
3700         * dwarf-index-write.c (write_psymbols, debug_names::insert)
3701         (debug_names::write_psymbols): Update.
3702         * psympriv.h (struct partial_symbol): Derive from
3703         general_symbol_info.
3704         <obj_section>: New method.
3705         (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.n
3706         * psymtab.c (find_pc_sect_psymtab_closer, find_pc_sect_psymtab)
3707         (find_pc_sect_psymbol, fixup_psymbol_section)
3708         (match_partial_symbol, lookup_partial_symbol, relocate_psymtabs)
3709         (print_partial_symbols, recursively_search_psymtabs)
3710         (compare_psymbols, psymbol_hash, psymbol_compare)
3711         (add_psymbol_to_bcache, maintenance_check_psymtabs)
3712         (psymbol_name_matches, psym_fill_psymbol_map): Update.
3713
3714 2018-07-26  Tom Tromey  <tromey@redhat.com>
3715
3716         * dbxread.c (end_psymtab): Remove dead code.
3717
3718 2018-07-26  Andrew Burgess  <andrew.burgess@embecosm.com>
3719
3720         * dwarf2-frame-tailcall.c (tailcall_frame_sniffer): Exit early if
3721         DWARF unwinders are disabled.
3722         * dwarf2-frame.c: Add dwarf2read.h include.
3723         (dwarf2_frame_sniffer): Exit early if DWARF unwinders are
3724         disabled.
3725         (dwarf2_frame_unwinders_enabled_p): Define.
3726         (show_dwarf_unwinders_enabled_p): New function.
3727         (_initialize_dwarf2_frame): Register switch to control DWARF
3728         unwinder use.
3729         * dwarf2-frame.h (dwarf2_frame_unwinders_enabled_p): Declare.
3730         * dwarf2read.c (set_dwarf_cmdlist): Remove static keyword.
3731         (show_dwarf_cmdlist): Remove static keyword.
3732         * dwarf2read.h (set_dwarf_cmdlist): Declare.
3733         (show_dwarf_cmdlist): Declare.
3734         * NEWS: Document new feature.
3735
3736 2018-07-26  Tom de Vries  <tdevries@suse.de>
3737
3738         PR breakpoints/23366
3739         * infcmd.c (info_program_command): Handle ptid == minus_one_ptid.
3740
3741 2018-07-26  Tom de Vries  <tdevries@suse.de>
3742
3743         * dwarf2read.c (read_subrange_type): Warn if DW_AT_upper_bound or
3744         DW_AT_count can't be translated to a dynamic prop.
3745
3746 2018-07-25  Tom de Vries  <tdevries@suse.de>
3747
3748         * dwarf2loc.c (dwarf2_locexpr_baton_eval): Wrap ctx.eval call in
3749         try/catch.
3750
3751 2018-07-25  Jan Vrany  <jan.vrany@fit.cvut.cz>
3752
3753         * breakpoint.c (enable_disable_bp_num_loc): Notify observers.
3754
3755 2018-07-25  Joel Brobecker  <brobecker@adacore.com>
3756
3757         * MAINTAINERS (Global Maintainers): Add Tom Tromey.
3758
3759 2018-07-24  Keith Seitz  <keiths@redhat.comt
3760
3761         PR symtab/23010
3762         * dwarf2read.c (dw2_add_symbol_to_list): New function.
3763         (fixup_go_packaging, new_symbol): Use dw2_add_symbol_to_list
3764         instead of add_symbol_to_list.
3765         (read_file_scope): Call prepare_one_comp_unit before reading
3766         any other DIEs.
3767
3768 2018-07-24  Simon Marchi  <simon.marchi@ericsson.com>
3769
3770         * common/scoped_mmap.h (class scoped_mmap): Fix indentation.
3771
3772 2018-07-24  Tom Tromey  <tom@tromey.com>
3773
3774         * utils.c (malloc, realloc, free): Don't declare.
3775         * configure, config.in: Rebuild.
3776         * configure.ac: Don't check for declarations of free, malloc, or
3777         realloc.
3778
3779 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3780
3781         * aarch64-linux-nat.c
3782         (aarch64_linux_nat_target::stopped_data_address): Remove unused
3783         variable.
3784         * arm-linux-nat.c (fetch_regs): Likewise.
3785         (store_regs): Likewise.
3786         (fetch_vfp_regs): Likewise.
3787         (store_vfp_regs): Likewise.
3788         (arm_linux_nat_target::insert_hw_breakpoint): Likewise.
3789         (arm_linux_nat_target::remove_hw_breakpoint): Likewise.
3790         (arm_linux_nat_target::insert_watchpoint): Likewise.
3791         (arm_linux_nat_target::remove_watchpoint): Likewise.
3792         * mips-linux-nat.c (mips_linux_nat_target::insert_watchpoint):
3793         Likewise.
3794         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs):
3795         Likewise.
3796         * ppc-linux-nat.c (fetch_register): Likewise.
3797         (fetch_all_gp_regs): Likewise.
3798         (fetch_ppc_registers): Likewise.
3799         (store_all_gp_regs): Likewise.
3800         (store_ppc_registers): Likewise.
3801         (hwdebug_insert_point): Likewise.
3802         (can_use_watchpoint_cond_accel): Likewise.
3803         * remote-sim.c (gdb_os_write_stdout): Likewise.
3804
3805 2018-07-22  Simon Marchi  <simon.marchi@polymtl.ca>
3806             Tom Tromey  <tom@tromey.com>
3807
3808         * warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
3809         test for it.
3810         * configure: Rebuild.
3811
3812 2018-07-22  Tom Tromey  <tom@tromey.com>
3813
3814         * regformats/regdat.sh: Define xmltarget_${name} inside
3815         #ifndef IN_PROCESS_AGENT.
3816
3817 2018-07-22  Tom Tromey  <tom@tromey.com>
3818
3819         * value.c (value_fetch_lazy_bitfield): Remove unused variable.
3820
3821 2018-07-22  Tom Tromey  <tom@tromey.com>
3822
3823         * symfile.c (reread_symbols): Notify iter, not objfile.
3824
3825 2018-07-22  Tom Tromey  <tom@tromey.com>
3826
3827         * ravenscar-thread.c (ravenscar_thread_target::store_registers):
3828         Use arch_ops.
3829         (ravenscar_thread_target::prepare_to_store): Likewise.
3830
3831 2018-07-22  Tom Tromey  <tom@tromey.com>
3832
3833         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Remove
3834         unused variable.  Call value_fetch_lazy when needed.
3835         * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer):
3836         Remove unused variable.  Call value_fetch_lazy when needed.
3837
3838 2018-07-22  Tom Tromey  <tom@tromey.com>
3839
3840         * m32c-tdep.c (mark_dma): Return void.
3841         (make_regs): Remove unused declarations.
3842
3843 2018-07-22  Tom Tromey  <tom@tromey.com>
3844
3845         * guile/scm-cmd.c (gdbscm_dont_repeat): Call
3846         cmdscm_get_valid_command_smob_arg_unsafe for effect.
3847         * guile/scm-block.c (gdbscm_make_block_syms_iter): Call
3848         bkscm_get_valid_block_smob_arg_unsafe for effect.
3849
3850 2018-07-22  Tom Tromey  <tom@tromey.com>
3851
3852         * bfin-tdep.c (bfin_push_dummy_call): Use arg_type, not
3853         value_type.
3854
3855 2018-07-22  Tom Tromey  <tom@tromey.com>
3856
3857         * windows-nat.c (saved_context): Conditionally define.
3858         * remote.c (remote_target::remote_btrace_maybe_reopen):
3859         Conditionally declare "warned".
3860         * inflow.c (sigquit_ours): Conditionally define.
3861         (new_tty): Move "tty" declaration inside #if.
3862         * guile/guile.c (guile_datadir): Conditionally define.
3863         * charset.c (set_be_le_names): Move some declarations inside #if.
3864         * btrace.c (parse_xml_btrace): Move "errcode" declaration inside
3865         #if.
3866         (parse_xml_btrace_conf): Likewise.
3867
3868 2018-07-22  Tom Tromey  <tom@tromey.com>
3869
3870         * spu-tdep.c (spu_get_overlay_table): Remove unused variable.
3871
3872 2018-07-22  Tom Tromey  <tom@tromey.com>
3873
3874         * guile/scm-value.c (gdbscm_value_call): Remove unused variables.
3875         * guile/scm-math.c (vlscm_unop_gdbthrow, vlscm_binop_gdbthrow)
3876         (vlscm_convert_typed_value_from_scheme): Remove unused variable.
3877         * buildsym-legacy.c (get_macro_table): Remove unused variable.
3878         * stack.c (frame_apply_level_command): Remove unused variable.
3879         * tic6x-tdep.c (tic6x_push_dummy_call): Remove unused variable.
3880         * sparc64-tdep.c (adi_examine_command): Remove unused variable.
3881         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Remove
3882         unused variable.
3883         * nios2-tdep.c (nios2_push_dummy_call): Remove unused variable.
3884         * mep-tdep.c (mep_push_dummy_call): Remove unused variable.
3885         * ada-lang.c (ada_lookup_symbol_list_worker): Remove unused
3886         variable.
3887         * amd64-tdep.c (amd64_supply_xsave): Remove unused variable.
3888         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Remove unused
3889         variable.
3890         * breakpoint.c (check_no_tracepoint_commands, update_watchpoint):
3891         Remove unused variable.
3892         * cli/cli-script.c (recurse_read_control_structure): Remove unused
3893         variable.
3894         * common/tdesc.c (print_xml_feature::visit): Remove unused
3895         variable.
3896         * compile/compile-object-load.c (store_regs): Remove unused
3897         variables.
3898         * complaints.c (clear_complaints): Remove unused variable.
3899         * corelow.c (core_target_open): Remove unused variable.
3900         * fbsd-tdep.c (fbsd_core_info_proc_status): Remove unused
3901         variable.
3902         * guile/scm-frame.c (gdbscm_frame_read_var): Remove unused
3903         variable.
3904         * guile/scm-symtab.c (stscm_print_sal_smob): Remove unused
3905         variable.
3906         * guile/scm-type.c (gdbscm_field_baseclass_p): Remove unused
3907         variable.
3908         * guile/scm-utils.c (gdbscm_parse_function_args): Remove unused
3909         variable.
3910         * hppa-tdep.c (hppa_stub_frame_unwind_cache): Remove unused
3911         variable.
3912         * ia64-tdep.c (examine_prologue): Remove unused variable.
3913         * infcall.c (run_inferior_call): Remove unused variable.
3914         * inferior.c (exit_inferior): Remove unused variable.
3915         * infrun.c (infrun_thread_ptid_changed): Remove unused variable.
3916         * linespec.c (decode_line_2): Remove unused variable.
3917         * linux-nat.c (super_close): Remove.
3918         * linux-tdep.c (linux_info_proc): Remove unused variable.
3919         * mi/mi-main.c (mi_execute_command): Remove unused variable.
3920         * microblaze-linux-tdep.c (microblaze_linux_sigtramp_cache):
3921         Remove unused variable.
3922         * parse.c (find_minsym_type_and_address): Remove unused variable.
3923         * printcmd.c (info_symbol_command, printf_floating): Remove unused
3924         variable.
3925         * python/py-breakpoint.c (bppy_set_commands): Remove unused
3926         variable.
3927         * python/py-unwind.c (unwind_infopy_dealloc): Remove unused
3928         variables.
3929         * record-btrace.c (record_btrace_target::store_registers): Remove
3930         unused variable.
3931         (cmd_show_record_btrace_cpu): Remove unused variable.
3932         * riscv-tdep.c (riscv_register_reggroup_p)
3933         (riscv_push_dummy_call, riscv_return_value): Remove unused
3934         variable.
3935         * rust-exp.y (literal): Remove unused variable.
3936         * rust-lang.c (rust_evaluate_subexp) <OP_RUST_ARARAY>: Remove
3937         unused variable.
3938         <STRUCTOP_ANONYMOUS>: Likewise.
3939         * s390-linux-tdep.c (s390_linux_init_abi_31)
3940         (s390_linux_init_abi_64): Remove unused variable.
3941         * ser-ming2.c (ser_windows_read_prim, pipe_select_thread)
3942         (file_select_thread, net_windows_open, _initialize_ser_windows):
3943         Remove unused variables.
3944         * symtab.c (find_pc_sect_line): Remove unused variable.
3945         * target-memory.c (compute_garbled_blocks): Remove unused
3946         variable.
3947         (target_write_memory_blocks): Remove unused variable.
3948         * target.c (target_stack::unpush): Remove unused variables.
3949         * tracepoint.c (start_tracing, all_tracepoint_actions)
3950         (merge_uploaded_trace_state_variables)
3951         (print_one_static_tracepoint_marker): Remove unused variable.
3952         * unittests/basic_string_view/element_access/char/1.cc (test01):
3953         Remove unused variable.
3954         * windows-nat.c (windows_continue, windows_add_all_dlls)
3955         (do_initial_windows_stuff, windows_nat_target::create_inferior):
3956         Remove unused variables.
3957
3958 2018-07-21  Simon Marchi  <simon.marchi@polymtl.ca>
3959
3960         * arm-tdep.c (arm_gdbarch_init): Declare attr_arch and
3961         attr_profile in HAVE_ELF.
3962         * rs6000-tdep.c (bfd_uses_spe_extensions): Declare vector_abi in
3963         HAVE_ELF.
3964
3965 2018-07-20  Simon Marchi  <simon.marchi@polymtl.ca>
3966
3967         * frame.c (frame_register_unwind): Change parameter name.
3968         (frame_unwind_register): Likewise.
3969         (frame_unwind_register_value): Likewise.
3970         (frame_unwind_register_signed): Likewise.
3971         (frame_unwind_register_unsigned): Likewise.
3972         * frame.h (frame_register_unwind): Likewise.
3973         (frame_unwind_register): Likewise.
3974         (frame_unwind_register_value): Likewise.
3975         (frame_unwind_register_signed): Likewise.
3976         (frame_unwind_register_unsigned): Likewise.
3977         (frame_unwind_arch): Likewise.
3978
3979 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3980
3981         * MAINTAINERS: Update my e-mail address, downgrade to MIPS I-IV
3982         ISA maintenance.
3983
3984 2018-07-20  Maciej W. Rozycki  <macro@mips.com>
3985
3986         * mips-linux-nat.c (mips_linux_nat_target::read_description):
3987         Call `get_ptrace_pid' rather than extracting the ptrace PID by
3988         hand.
3989
3990 2018-07-20  Keith Seitz  <keiths@redhat.com>
3991
3992         * buildsym.h (struct buildsym_compunit) <m_objfile, m_subfiles,
3993         m_main_subfile, m_comp_dir, m_producer, m_debugformat,
3994         m_compunit_symtab, m_language>: Add "m_" prefix.
3995         Update all uses.
3996         * buildsym.c: Update all uses.
3997
3998 2018-07-20  Tom Tromey  <tom@tromey.com>
3999
4000         * buildsym-legacy.h (record_line): Don't use record_line_ftype.
4001         * buildsym.h (record_line_ftype): Remove typedef.
4002
4003 2018-07-20  Tom Tromey  <tom@tromey.com>
4004
4005         * buildsym-legacy.h (augment_type_symtab): Don't declare.
4006         (end_expandable_symtab): Likewise.
4007         (end_symtab_get_static_block): Likewise.
4008         (end_symtab_from_static_block): Likewise.
4009         * buildsym-legacy.c (augment_type_symtab): Remove.
4010         (end_expandable_symtab): Remove.
4011         (end_symtab_get_static_block): Remove.
4012         (end_symtab_from_static_block): Remove.
4013
4014 2018-07-20  Tom Tromey  <tom@tromey.com>
4015
4016         * dwarf2read.c: Include buildsym.h.
4017         (struct dwarf2_cu) <builder>: New method.
4018         (fixup_go_packaging): Update.
4019         (process_full_comp_unit, process_full_type_unit): Update.  Don't
4020         use scoped_free_pendings.
4021         (using_directives): Add "cu" parameter, remove "language".
4022         (read_import_statement, setup_type_unit_groups, )
4023         (read_func_scope, read_lexical_block_scope)
4024         (dwarf2_record_block_ranges, read_namespace): Update.
4025         (lnp_state_machine::lnp_state_machine): Add cu parameter.
4026         (lnp_state_machine::handle_end_sequence): Update.
4027         (class lnp_state_machine) <m_cu>: New member.
4028         <m_record_line_callback>: Remove.
4029         <m_currently_recording_lines>: New member.
4030         (lnp_state_machine::handle_set_file): Update.
4031         (noop_record_line): Remove.
4032         (dwarf_record_line_p): Add cu parameter.
4033         (dwarf_record_line_1, dwarf_finish_line): Likewise.
4034         (lnp_state_machine::record_line)
4035         (lnp_state_machine::lnp_state_machine)
4036         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
4037         (dwarf_decode_lines): Update.
4038         (dwarf2_start_subfile): Add cu parameter.
4039         (dwarf2_start_symtab, new_symbol): Update.
4040         (macro_start_file, dwarf_decode_macro_bytes): Add cu parameter.
4041         Remove dwarf2_per_objfile parameter.
4042         (dwarf_decode_macros): Update.
4043
4044 2018-07-20  Tom Tromey  <tom@tromey.com>
4045
4046         * stabsread.c (define_symbol): Update.
4047         * buildsym-legacy.h (get_buildsym_compunit): Declare.
4048         * dwarf2read.c (new_symbol): Update.
4049         * cp-support.h (cp_scan_for_anonymous_namespaces): Update.
4050         * cp-namespace.c: Include buildsym.h.
4051         (cp_scan_for_anonymous_namespaces): Add "compunit" parameter.
4052         * buildsym-legacy.c (get_buildsym_compunit): New function.
4053
4054 2018-07-20  Tom Tromey  <tom@tromey.com>
4055
4056         * xcoffread.c: Include buildsym-legacy.h.
4057         * windows-nat.c: Include buildsym-legacy.h.
4058         * stabsread.c: Include buildsym-legacy.h.
4059         * mdebugread.c: Include buildsym-legacy.h.
4060         * buildsym-legacy.h: New file.
4061         * buildsym-legacy.c: New file, from buildsym.c.
4062         * go32-nat.c: Include buildsym-legacy.h.
4063         * dwarf2read.c: Include buildsym-legacy.h.
4064         * dbxread.c: Include buildsym-legacy.h.
4065         * cp-namespace.c: Include buildsym-legacy.h.
4066         * coffread.c: Include buildsym-legacy.h.
4067         * buildsym.h: Move some contents to buildsym-legacy.h.
4068         * buildsym.c: Include buildsym-legacy.h.  Move many functions to
4069         buildsym-legacy.c.
4070         * Makefile.in (HFILES_NO_SRCDIR): Add buildsym-legacy.h.
4071
4072 2018-07-20  Tom Tromey  <tom@tromey.com>
4073
4074         * buildsym.h (struct buildsym_compunit): Move from buildsym.c.
4075         * buildsym.c (struct buildsym_compunit): Move to buildsym.h.
4076         (buildsym_compunit::buildsym_compunit)
4077         (buildsym_compunit::~buildsym_compunit)
4078         (buildsym_compunit::get_macro_table): Define.
4079
4080 2018-07-20  Tom Tromey  <tom@tromey.com>
4081
4082         * buildsym.c (reset_symtab_globals): Remove.
4083         (buildsym_compunit::end_symtab_from_static_block): Update.
4084         (buildsym_compunit::augment_type_symtab): Update.
4085         (end_symtab_from_static_block): Call free_buildsym_compunit.
4086         (augment_type_symtab, end_symtab, end_expandable_symtab):
4087         Likewise.
4088
4089 2018-07-20  Tom Tromey  <tom@tromey.com>
4090
4091         * arch-utils.c: Do not include buildsym.h.
4092         * mipsread.c: Do not include buildsym.h.
4093         * machoread.c: Do not include buildsym.h.
4094         * elfread.c: Do not include buildsym.h.
4095
4096 2018-07-20  Tom Tromey  <tom@tromey.com>
4097
4098         * buildsym.c (buildsym_compunit::buildsym_compunit): Do more
4099         initialization.
4100         (buildsym_compunit): Add new constructor.
4101         (struct buildsym_compunit) <get_last_source_file, finish_block,
4102         record_block_range, start_subfile, patch_subfile_names,
4103         push_subfile, pop_subfile, record_line, get_compunit_symtab,
4104         set_last_source_start_addr, get_last_source_start_addr,
4105         get_local_using_directives, set_local_using_directives,
4106         get_global_using_directives, outermost_context_p,
4107         get_current_context_stack, get_context_stack_depth,
4108         get_current_subfile, get_local_symbols, get_file_symbols,
4109         get_global_symbols, record_debugformat, record_producer,
4110         push_context, pop_context, end_symtab_get_static_block,
4111         end_symtab_from_static_block, end_symtab, end_expandable_symtab>:
4112         New public methods.
4113         <record_pending_block, finish_block_internal, make_blockvector,
4114         watch_main_source_file_lossage, end_symtab_with_blockvector>: New
4115         private methods.
4116         Update all users.
4117
4118 2018-05-22  Tom Tromey  <tom@tromey.com>
4119
4120         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
4121         parameter.
4122         (finish_block_internal): Update.
4123
4124 2018-07-20  Tom Tromey  <tom@tromey.com>
4125
4126         * buildsym.c (record_pending_block): Move earlier.  Remove objfile
4127         parameter.
4128         (finish_block_internal): Update.
4129
4130 2018-07-20  Tom Tromey  <tom@tromey.com>
4131
4132         * buildsym.h (EXTERN): Don't define or undef.
4133         * buildsym.c (EXTERN): Don't define.
4134
4135 2018-07-20  Tom Tromey  <tom@tromey.com>
4136
4137         * buildsym.c: Remove TODO comment.
4138
4139 2018-07-20  Tom Tromey  <tom@tromey.com>
4140
4141         * coffread.c (coff_symtab_read): Update.
4142         * xcoffread.c (xcoff_psymtab_to_symtab_1): Update.
4143         (xcoff_new_init): Update.
4144         * mipsread.c (mipscoff_new_init): Update.
4145         * mdebugread.c (mdebug_build_psymtabs): Update.
4146         * elfread.c (elf_new_init): Update.
4147         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
4148         Update.
4149         * dbxread.c (dbx_new_init, dbx_psymtab_to_symtab_1)
4150         (coffstab_build_psymtabs, elfstab_build_psymtabs)
4151         (stabsect_build_psymtabs): Update.
4152         * buildsym.h (buildsym_init): Don't declare.
4153         * buildsym.c: Update comment.
4154         (prepare_for_building): Remove.
4155         (start_symtab, restart_symtab): Update.
4156         (reset_symtab_globals): Update comment.
4157         (buildsym_init): Remove.
4158
4159 2018-07-20  Tom Tromey  <tom@tromey.com>
4160
4161         * xcoffread.c (read_xcoff_symtab, process_xcoff_symbol): Update.
4162         * stabsread.c (patch_block_stabs, define_symbol, read_type)
4163         (read_enum_type, common_block_start, common_block_end)
4164         (cleanup_undefined_types_1, finish_global_stabs): Update.
4165         * mdebugread.c (psymtab_to_symtab_1): Update.
4166         * dwarf2read.c (fixup_go_packaging, read_func_scope)
4167         (read_lexical_block_scope, new_symbol): Update.
4168         * dbxread.c (process_one_symbol): Update.
4169         * coffread.c (coff_symtab_read, process_coff_symbol)
4170         (coff_read_enum_type): Update.
4171         * buildsym.h (file_symbols, global_symbols, local_symbols): Don't
4172         declare.
4173         (get_local_symbols, get_file_symbols, get_global_symbols): New
4174         functions.
4175         * buildsym.c (~buildsym_compunit): Clean up m_file_symbols and
4176         m_global_symbols.
4177         <m_file_symbols, m_local_symbols, m_global_symbols>: New members.
4178         (~scoped_free_pendings): Update.
4179         (finish_block, prepare_for_building, reset_symtab_globals)
4180         (end_symtab_get_static_block, end_symtab_with_blockvector)
4181         (augment_type_symtab, push_context): Update.
4182         (get_local_symbols, get_file_symbols, get_global_symbols): New
4183         functions.
4184         (buildsym_init): Update.
4185
4186 2018-07-20  Tom Tromey  <tom@tromey.com>
4187
4188         * dwarf2read.c (process_full_comp_unit): Do not set list_in_scope.
4189         (process_full_type_unit): Likewise.
4190         (dwarf2_start_symtab): Set list_in_scope.
4191
4192 2018-07-20  Tom Tromey  <tom@tromey.com>
4193
4194         * dwarf2read.c (process_psymtab_comp_unit_reader)
4195         (build_type_psymtabs_reader): Do not set list_in_scope.
4196
4197 2018-07-20  Tom Tromey  <tom@tromey.com>
4198
4199         * buildsym.c (free_pendings): Remove.
4200         (add_symbol_to_list, scoped_free_pendings)
4201         (finish_block_internal, buildsym_init): Update.
4202
4203 2018-07-20  Tom Tromey  <tom@tromey.com>
4204
4205         * xcoffread.c (read_xcoff_symtab): Update.
4206         * dwarf2read.c (read_func_scope, read_lexical_block_scope):
4207         Update.
4208         * dbxread.c (process_one_symbol): Update.
4209         * coffread.c (coff_symtab_read): Update.
4210         * buildsym.h (finish_block): Update.
4211         * buildsym.c (finish_block): Remove "listhead" argument.
4212         (end_symtab_get_static_block): Update.
4213
4214 2018-07-20  Tom Tromey  <tom@tromey.com>
4215
4216         * buildsym.h (class scoped_free_pendings): Remove constructor.
4217         * buildsym.c (struct buildsym_compunit) <free_pending_blocks>: New
4218         method.
4219         <m_pending_block_obstack, m_pending_blocks>: New members.
4220         (pending_block_obstack, pending_blocks): Remove.
4221         (scoped_free_pendings::scoped_free_pendings): Default.
4222         (~scoped_free_pendings): Update.
4223         (free_pending_blocks): Remove.
4224         (finish_block_internal, record_pending_block, make_blockvector)
4225         (end_symtab_get_static_block, augment_type_symtab, push_context)
4226         (buildsym_init): Update.
4227
4228 2018-07-20  Tom Tromey  <tom@tromey.com>
4229
4230         * buildsym.c (struct buildsym_compunit) <m_pending_addrmap,
4231         m_pending_addrmap_obstack, m_pending_addrmap_interesting>: New
4232         members.
4233         (pending_addrmap, pending_addrmap_obstack)
4234         (pending_addrmap_interesting): Remove.
4235         (scoped_free_pendings, record_block_range, make_blockvector)
4236         (prepare_for_building, reset_symtab_globals, buildsym_init):
4237         Update.
4238
4239 2018-07-20  Tom Tromey  <tom@tromey.com>
4240
4241         * xcoffread.c (process_linenos): Update.
4242         * stabsread.c (define_symbol, read_type, read_enum_type): Update.
4243         * mdebugread.c (psymtab_to_symtab_1): Update.
4244         * dwarf2read.c (setup_type_unit_groups)
4245         (lnp_state_machine::handle_set_file, dwarf_record_line_p)
4246         (lnp_state_machine::record_line, dwarf_decode_lines): Update.
4247         * dbxread.c (process_one_symbol): Update.
4248         * coffread.c (coff_symtab_read, enter_linenos)
4249         (process_coff_symbol): Update.
4250         * buildsym.h (current_subfile): Don't declare.
4251         (get_current_subfile): Declare.
4252         * buildsym.c (struct buildsym_compunit) <m_current_subfile>: New
4253         member.
4254         (start_subfile, free_buildsym_compunit, push_subfile)
4255         (prepare_for_building, start_symtab): Update.
4256         (get_current_subfile): New function.
4257
4258 2018-07-20  Tom Tromey  <tom@tromey.com>
4259
4260         * coffread.c (coff_symtab_read): Update.
4261         * xcoffread.c (read_xcoff_symtab): Update.
4262         * dwarf2read.c (new_symbol): Update.
4263         (read_func_scope, read_lexical_block_scope): Update.
4264         * dbxread.c (process_one_symbol): Update.
4265         * buildsym.h (context_stack, context_stack_depth): Don't declare.
4266         (outermost_context_p): Remove macro.
4267         (outermost_context_p, get_current_context_stack)
4268         (get_context_stack_depth): Declare.
4269         (pop_context): Return struct context_stack.
4270         * buildsym.c (struct buildsym_compunit) <m_context_stack: New
4271         member.
4272         (context_stack_size): Remove.
4273         (INITIAL_CONTEXT_STACK_SIZE): Remove.
4274         (prepare_for_building, end_symtab_get_static_block)
4275         (augment_type_symtab, push_context): Update.
4276         (pop_context): Return struct context_stack.
4277         (outermost_context_p, get_current_context_stack)
4278         (get_context_stack_depth): New functions.
4279         (buildsym_init): Update.
4280
4281 2018-07-20  Tom Tromey  <tom@tromey.com>
4282
4283         * rust-exp.y: Now a pure parser.  Update all rules.
4284         (%union): Move earlier.
4285         (current_parser, work_obstack): Remove globals.
4286         (rust_parser, ~rust_parser): Update.
4287         (class rust_parser) <copy_name, concat3, crate_name, super_name,
4288         lex_character, lex_number, lex_string, lex_identifier,
4289         rust_lookup_type, convert_params_to_types, convert_ast_to_type,
4290         convert_name, convert_params_to_expression,
4291         convert_ast_to_expression, ast_basic_type, ast_operation,
4292         ast_compound_assignment, rust_op, ast_literal, ast_dliteral,
4293         ast_structop, ast_structop_anonymous, ast_unary, ast_cast,
4294         ast_call_ish, ast_path, ast_string, ast_struct, ast_range,
4295         ast_array_type, ast_slice_type, ast_reference_type,
4296         ast_pointer_type, ast_function_type, ast_tuple_type>: New methods.
4297         (rust_parse): Update.
4298         (rustyyerror, rustyylex): Add parser parameter.
4299         (rust_lex_test_one, rust_lex_int_test, rust_lex_exception_test)
4300         (rust_lex_stringish_test, rust_lex_test_sequence)
4301         (rust_lex_test_trailing_dot, rust_lex_test_completion)
4302         (rust_lex_test_push_back, rust_lex_tests): Update.
4303
4304 2018-07-19  Pedro Alves  <palves@redhat.com>
4305
4306         * guile/guile-internal.h (gdbscm_scm_to_c_string): Now returns a
4307         gdb::unique_xmalloc_ptr.
4308         * guile/scm-breakpoint.c (gdbscm_set_breakpoint_condition_x):
4309         Adjust to use dbscm_wrap and gdb::unique_xmalloc_ptr.
4310         * guile/scm-exception.c (gdbscm_exception_message_to_string): Use
4311         copy-initialization.
4312         * guile/scm-pretty-print.c (ppscm_print_children): Use
4313         gdb::unique_xmalloc_ptr instead of cleanups.
4314         (gdbscm_apply_val_pretty_printer): Remove cleanups.
4315         * guile/scm-string.c (gdbscm_scm_to_c_string): Now returns a
4316         gdb::unique_xmalloc_ptr.
4317         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
4318         Adjust to use gdb::unique_xmalloc_ptr.
4319         * guile/scm-utils.c (extract_arg): Adjust.
4320         * guile/scm-value.c (gdbscm_value_field): Adjust to use
4321         gdb::unique_xmalloc_ptr instead of a cleanup.
4322
4323 2018-07-19  Tom Tromey  <tom@tromey.com>
4324
4325         * utils.c (do_value_free_to_mark)
4326         (make_cleanup_value_free_to_mark): Remove.
4327         * utils.h (make_cleanup_value_free_to_mark): Remove.
4328
4329 2018-07-19  Pedro Alves  <palves@redhat.com>
4330
4331         * guile/guile-internal.h (gdbscm_wrap): Really make 'args' a
4332         forwarding reference.
4333
4334 2018-07-18  Pedro Alves  <palves@redhat.com>
4335
4336         * guile/guile.c (gdbscm_execute_gdb_command): Adjust to use
4337         gdbscm_wrap.  Use gdb::unique_xmalloc_ptr<char> instead of a
4338         cleanup.
4339
4340 2018-07-18  Pedro Alves  <palves@redhat.com>
4341
4342         * guile/guile-internal.h: Add comment about mixing GDB and Scheme
4343         exceptions.
4344         (GDBSCM_HANDLE_GDB_EXCEPTION_WITH_CLEANUPS): Delete.
4345         (gdbscm_wrap): New.
4346         * guile/scm-frame.c (gdbscm_frame_read_register): Use xfree
4347         directly instead of a cleanup.
4348         * guile/scm-math.c (vlscm_unop_gdbthrow): New, factored out from ...
4349         (vlscm_unop): ... this.  Reimplement using gdbscm_wrap.
4350         (vlscm_binop_gdbthrow): New, factored out from ...
4351         (vlscm_binop): ... this.  Reimplement using gdbscm_wrap.
4352         (vlscm_rich_compare): Use gdbscm_wrap.
4353         * guile/scm-symbol.c (gdbscm_lookup_symbol): Use xfree directly
4354         instead of a cleanup.
4355         (gdbscm_lookup_global_symbol): Use xfree directly instead of a
4356         cleanup.
4357         * guile/scm-type.c (gdbscm_type_field, gdbscm_type_has_field_p):
4358         Use xfree directly instead of a cleanup.
4359         * guile/scm-value.c (gdbscm_make_value, gdbscm_make_lazy_value):
4360         Adjust to use gdbscm_wrap and scoped_value_mark.
4361         (gdbscm_value_optimized_out_p): Adjust to use gdbscm_wrap.
4362         (gdbscm_value_address, gdbscm_value_dereference)
4363         (gdbscm_value_referenced_value): Adjust to use gdbscm_wrap and
4364         scoped_value_mark.
4365         (gdbscm_value_dynamic_type): Use scoped_value_mark.
4366         (vlscm_do_cast, gdbscm_value_field): Adjust to use gdbscm_wrap and
4367         scoped_value_mark.
4368         (gdbscm_value_subscript, gdbscm_value_call): Adjust to use
4369         gdbscm_wrap and scoped_value_mark.
4370         (gdbscm_value_to_string): Use xfree directly instead of a
4371         cleanup.  Move 'buffer' unique_ptr to TRY scope.
4372         (gdbscm_value_to_lazy_string): Use xfree directly instead of a
4373         cleanup.  Move 'buffer' unique_ptr to TRY scope.  Use
4374         scoped_value_mark.
4375         (gdbscm_value_fetch_lazy_x): Use gdbscm_wrap.
4376         (gdbscm_parse_and_eval): Adjust to use gdbscm_wrap and
4377         scoped_value_mark.
4378         (gdbscm_history_ref, gdbscm_history_append_x): Adjust to use
4379         gdbscm_wrap.
4380
4381 2018-07-18  Tom de Vries  <tdevries@suse.de>
4382
4383         * findvar.c (default_read_var_value): Also resolve dynamic type for
4384         LOC_OPTIMIZED_OUT vars.
4385
4386 2018-07-18  Maciej W. Rozycki  <macro@mips.com>
4387
4388         * mips-tdep.c (micromips_next_pc): Add SYSCALL instruction
4389         decoding.
4390
4391 2018-07-17  Tom Tromey  <tom@tromey.com>
4392
4393         * guile/scm-param.c (pascm_set_func, pascm_show_func)
4394         (compute_enum_list, pascm_set_param_value_x)
4395         (gdbscm_parameter_value): Update.
4396         * guile/guile-internal.h (gdbscm_scm_to_string): Update.
4397         (gdbscm_scm_to_host_string): Update.
4398         * guile/scm-math.c (vlscm_convert_typed_value_from_scheme):
4399         Update.
4400         * guile/scm-cmd.c (cmdscm_add_completion): Update.
4401         * guile/scm-pretty-print.c (ppscm_print_string_repr): Update.
4402         * guile/scm-string.c (gdbscm_scm_to_string): Return
4403         unique_xmalloc_ptr.
4404         (gdbscm_scm_to_host_string): Likewise.
4405
4406 2018-07-17  Tom Tromey  <tom@tromey.com>
4407
4408         * guile/guile.c (gdbscm_eval_from_control_command): Update.
4409         * guile/guile-internal.h (gdbscm_safe_eval_string): Update.
4410         * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update.
4411         * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return
4412         unique_xmalloc_ptr.
4413
4414 2018-07-17  Tom Tromey  <tom@tromey.com>
4415
4416         * guile/scm-param.c (pascm_signal_setshow_error): Update.
4417         * guile/guile-internal.h (gdbscm_exception_message_to_string):
4418         Update.
4419         * guile/scm-cmd.c (cmdscm_function): Update.
4420         * guile/scm-pretty-print.c
4421         (ppscm_print_exception_unless_memory_error): Update.
4422         * guile/scm-exception.c (gdbscm_exception_message_to_string):
4423         Return unique_xmalloc_ptr.
4424
4425 2018-07-17  Tom Tromey  <tom@tromey.com>
4426
4427         * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception):
4428         Use string_printf.
4429
4430 2018-07-17  Jim Wilson  <jimw@sifive.com>
4431
4432         * riscv-tdep.c (riscv_has_feature): Delete comment that refers to
4433         set_gdbarch_decr_pc_after_break.  Call riscv_read_misa_reg always.
4434         (riscv_gdbarch_init): Delete local has_compressed_isa.  Delete now
4435         unecessary braces after EF_RISCV_RVC test.  Delete call to
4436         set_gdbarch_decr_pc_after_break.
4437
4438         * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of
4439         RISCV_LAST_FP_REGNUM + 1.
4440         (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
4441
4442 2018-07-17  Tom Tromey  <tom@tromey.com>
4443
4444         * configure.ac: Remove --disable-gdbcli.
4445         * configure: Rebuild.
4446         * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS)
4447         (SUBDIR_CLI_CFLAGS): Remove.
4448         (SFILES): Use SUBDIR_CLI_SRCS.
4449         (COMMON_OBS): Use SUBDIR_CLI_OBS.
4450
4451 2018-07-17  Tom Tromey  <tom@tromey.com>
4452
4453         PR gdb/18624:
4454         * coffread.c (coff_symtab_read): Use scoped_free_pendings.
4455
4456 2018-07-16  Jim Wilson  <jimw@sifive.com>
4457
4458         * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
4459
4460 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
4461
4462         * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused
4463         variable.
4464         (libunwind_frame_sniffer): Likewise.
4465         (libunwind_frame_prev_register): Likewise.
4466         (libunwind_sigtramp_frame_sniffer): Likewise.
4467         * ia64-tdep.c (ia64_access_reg): Likewise.
4468         (ia64_access_rse_reg): Likewise.
4469         (ia64_libunwind_sigtramp_frame_this_id): Likewise.
4470         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
4471
4472 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
4473
4474         * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
4475
4476 2018-07-16  Simon Marchi  <simon.marchi@ericsson.com>
4477
4478         * remote-sim.c (gdbsim_target::close,
4479         gdbsim_target::mourn_inferior): Remove unused variables.
4480
4481 2018-07-16  Simon Marchi  <simon.marchi@polymtl.ca>
4482
4483         * ia64-tdep.c (ktab_buf): New global.
4484         (getunwind_table): Return a gdb::optional<gdb::byte_vector>.
4485         (get_kernel_table): Adjust.
4486
4487 2018-07-16  Tom Tromey  <tom@tromey.com>
4488
4489         * xcoffread.c (read_xcoff_symtab): Use outermost_context_p.
4490         * dwarf2read.c (using_directives, new_symbol): Use
4491         outermost_context_p.
4492         * dbxread.c (process_one_symbol): Use outermost_context_p.
4493         * coffread.c (coff_symtab_read): Use outermost_context_p.
4494
4495 2018-07-16  Tom Tromey  <tom@tromey.com>
4496
4497         * dwarf2read.c (using_directives, read_func_scope)
4498         (read_lexical_block_scope): Update.
4499         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
4500         * buildsym.h (local_using_directives, global_using_directives):
4501         Don't declare.
4502         (get_local_using_directives, set_local_using_directives)
4503         (get_global_using_directives): Declare.
4504         * buildsym.c (struct buildsym_compunit) <m_local_using_directives,
4505         m_global_using_directives>: New members.
4506         (finish_block_internal, prepare_for_building)
4507         (reset_symtab_globals, end_symtab_get_static_block)
4508         (push_context): Update.
4509         (get_local_using_directives, set_local_using_directives)
4510         (get_global_using_directives): New functions.
4511         (buildsym_init): Update.
4512
4513 2018-07-16  Tom Tromey  <tom@tromey.com>
4514
4515         * xcoffread.c (xcoff_initial_scan): Don't call
4516         free_pending_blocks.
4517         * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks.
4518         * buildsym.h (class scoped_free_pendings): Add constructor.
4519         (free_pending_blocks): Don't declare.
4520         * buildsym.c (scoped_free_pendings::scoped_free_pendings): New.
4521         (free_pending_blocks): Now static.
4522
4523 2018-07-16  Tom Tromey  <tom@tromey.com>
4524
4525         * buildsym.h (push_subfile, pop_subfile): Update declarations.
4526         * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New
4527         member.
4528         (struct subfile_stack): Remove.
4529         (subfile_stack): Remove.
4530         (push_subfile, pop_subfile, buildsym_init): Update.
4531
4532 2018-07-16  Tom Tromey  <tom@tromey.com>
4533
4534         * buildsym.c (push_subfile): Use gdb_assert.
4535         (pop_subfile): Use gdb_assert.
4536
4537 2018-07-16  Tom Tromey  <tom@tromey.com>
4538
4539         * buildsym.h (merge_symbol_lists): Remove.
4540         * buildsym.c (merge_symbol_lists): Remove.
4541
4542 2018-07-16  Tom Tromey  <tom@tromey.com>
4543
4544         * stabsread.c (scan_file_globals): Update comment.
4545         * stabsread.h (scan_file_globals): Move from buildsym.h.
4546         * buildsym.h (scan_file_globals): Move to stabsread.h.
4547
4548 2018-07-16  Tom Tromey  <tom@tromey.com>
4549
4550         * xcoffread.c (xcoff_new_init): Update.
4551         * mipsread.c (mipscoff_new_init): Update.
4552         * mdebugread.c (mdebug_build_psymtabs): Update.
4553         * elfread.c (elf_new_init): Update.
4554         * dbxread.c (dbx_new_init, coffstab_build_psymtabs)
4555         (elfstab_build_psymtabs, stabsect_build_psymtabs): Update.
4556         * buildsym.h (buildsym_new_init): Don't declare.
4557         * buildsym.c (buildsym_new_init): Remove.
4558
4559 2018-07-16  Tom Tromey  <tom@tromey.com>
4560
4561         * stabsread.h (within_function): Move from buildsym.h.
4562         * stabsread.c (start_stabs): Clear within_function.
4563         * coffread.c (coff_start_symtab): Clear within_function.
4564         * buildsym.h (within_function): Move to stabsread.h.
4565         * buildsym.c (prepare_for_building): Update.
4566
4567 2018-07-16  Tom Tromey  <tom@tromey.com>
4568
4569         * stabsread.h (processing_gcc_compilation): Move from buildsym.h.
4570         * dwarf2read.c (dwarf2_start_symtab): Don't set
4571         processing_gcc_compilation.
4572         * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
4573
4574 2018-07-16  Tom Tromey  <tom@tromey.com>
4575
4576         * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text)
4577         (next_symbol_text_func): Move from buildsym.h.
4578         * stabsread.c (hashname): Move from buildsym.c.
4579         * buildsym.h (HASHSIZE, symnum, next_symbol_text)
4580         (next_symbol_text_func, hashname): Move to stabsread.h.
4581         * buildsym.c: Don't include bcache.h
4582         (hashname): Move to stasbread.c.
4583
4584 2018-07-16  Tom Tromey  <tom@tromey.com>
4585
4586         * buildsym.h (context_stack_size): Don't declare.
4587         * buildsym.c (context_stack_size): New global.
4588
4589 2018-07-16  Tom Tromey  <tom@tromey.com>
4590
4591         * dbxread.c (processing_acc_compilation): New global.
4592         * buildsym.h (processing_acc_compilation): Don't declare.
4593
4594 2018-07-16  Tom Tromey  <tom@tromey.com>
4595
4596         * xcoffread.c (aix_process_linenos, complete_symtab): Update.
4597         * dbxread.c (read_ofile_symtab): Update.
4598         * coffread.c (coff_start_symtab, coff_end_symtab): Update.
4599         * buildsym.h (last_source_start_addr): Remove.
4600         (set_last_source_start_addr, get_last_source_start_addr):
4601         Declare.
4602         * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr
4603         parameter.
4604         (struct buildsym_compunit) <m_last_source_start_addr>: New
4605         member.
4606         (prepare_for_building): Remove start_addr parameter.
4607         (start_symtab, restart_symtab, end_symtab_get_static_block)
4608         (end_symtab_with_blockvector): Update.
4609         (set_last_source_start_addr, get_last_source_start_addr): New
4610         functions.
4611
4612 2018-07-16  Tom Tromey  <tom@tromey.com>
4613
4614         * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New
4615         member.
4616         (have_line_numbers): Remove.
4617         (record_line, prepare_for_building, end_symtab_get_static_block)
4618         (augment_type_symtab): Update.
4619
4620 2018-07-16  Tom Tromey  <tom@tromey.com>
4621
4622         * buildsym.c (~buildsym_compunit): Free the macro table.
4623         (struct buildsym_compunit) <get_macro_table, release_macros>: New
4624         methods.
4625         <m_pending_macros>: New member.
4626         (pending_macros): Remove.
4627         (~scoped_free_pendings, get_macro_table, prepare_for_building)
4628         (reset_symtab_globals, end_symtab_get_static_block)
4629         (end_symtab_with_blockvector, augment_type_symtab)
4630         (buildsym_init): Update.
4631
4632 2018-07-16  Tom Tromey  <tom@tromey.com>
4633
4634         * buildsym.c (buildsym_compunit::buildsym_compunit): Add name
4635         parameter.
4636         (buildsym_compunit::set_last_source_file): New method.
4637         <m_last_source_file>: New member.
4638         (prepare_for_building): Remove "name" parameter.
4639         (start_symtab, restart_symtab, reset_symtab_globals): Update.
4640         (last_source_file): Remove.
4641         (set_last_source_file, get_last_source_file): Update.
4642
4643 2018-07-16  Tom Tromey  <tom@tromey.com>
4644
4645         * buildsym.c (prepare_for_building): Add assert.
4646
4647 2018-07-16  Tom Tromey  <tom@tromey.com>
4648
4649         * buildsym.c (~buildsym_compunit): Update.
4650         (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr.
4651         (start_subfile, patch_subfile_names)
4652         (end_symtab_with_blockvector): Update.
4653
4654 2018-07-16  Tom Tromey  <tom@tromey.com>
4655
4656         * buildsym.c (struct buildsym_compunit): Add constructor,
4657         destructor, initializers.
4658         (start_buildsym_compunit): Remove.
4659         (free_buildsym_compunit): Use "delete".
4660         (start_symtab, restart_symtab): Use "new".
4661
4662 2018-07-13  Simon Marchi  <simon.marchi@polymtl.ca>
4663
4664         * symfile.c (set_objfile_default_section_offset): Remove struct
4665         keyword.
4666
4667 2018-07-14  Stafford Horne  <shorne@gmail.com>
4668
4669         * (Responsible Maintainers): Add myself as or1k maintainer.
4670
4671 2018-07-13  Tom Tromey  <tom@tromey.com>
4672
4673         * symfile.c (set_objfile_default_section_offset): Use extra braces
4674         around initializer.
4675
4676 2018-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
4677
4678         * s390-tdep.c (s390_displaced_step_fixup): Adjust PC for a
4679         non-branching basr.
4680
4681 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4682
4683         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4684         unittests/cli-utils-selftests.c
4685         * unittests/cli-utils-selftests.c: New file.
4686
4687 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4688
4689         * NEWS: Mention new commands. Mention change to 'thread apply'.
4690
4691 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4692
4693         * thread.c (thr_try_catch_cmd): New function.
4694         (thread_apply_all_command): Handle qcs flags.
4695         (thread_apply_command): Handle qcs flags.
4696         (taas_command): New function.
4697         (tfaas_command): New function.
4698         (_initialize_thread): Update to setup the new commands 'taas
4699         and 'tfaas'. Change doc string for 'thread apply'.
4700
4701 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4702
4703         * stack.c: (trailing_outermost_frame): New function, mostly
4704         extracted from backtrace_command_1.
4705         (leading_innermost_frame): New function.
4706         (backtrace_command_1): Update to call trailing_outermost_frame.
4707         (frame_apply_command_count): New function.
4708         (frame_apply_level_command): New function.
4709         (frame_apply_all_command): New function.
4710         (frame_apply_command): New function.
4711         (faas_command): New function.
4712         (frame_cmd_list): New variable.
4713         (_initialize_stack): Update to setup the new commands 'frame apply'
4714         and 'faas'.
4715
4716 2018-07-12  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
4717
4718         * cli-utils.c (number_or_range_parser::get_number): Only handle
4719         numbers or convenience var as numbers.
4720         (parse_flags): New function.
4721         (parse_flags_qcs): New function.
4722         (number_or_range_parser::finished): Ensure parsing end is detected
4723         before end of string.
4724         * cli-utils.h (parse_flags): New function.
4725         (parse_flags_qcs): New function.
4726         (number_or_range_parser): Remove m_finished bool.
4727         (number_or_range_parser::skip_range): Set m_in_range to false.
4728
4729 2018-07-12  Sergio Durigan Junior  <sergiodj@redhat.com>
4730
4731         * ser-tcp.c (try_connect): Declare 'ioarg' as 'u_long' if building
4732         on Windows.
4733
4734 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4735             Jan Kratochvil  <jan.kratochvil@redhat.com>
4736             Paul Fertser  <fercerpav@gmail.com>
4737             Tsutomu Seki  <sekiriki@gmail.com>
4738             Pedro Alves  <palves@redhat.com>
4739
4740         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
4741         'unittests/parse-connection-spec-selftests.c'.
4742         (COMMON_SFILES): Add 'common/netstuff.c'.
4743         (HFILES_NO_SRCDIR): Add 'common/netstuff.h'.
4744         * NEWS (Changes since GDB 8.2): Mention IPv6 support.
4745         * common/netstuff.c: New file.
4746         * common/netstuff.h: New file.
4747         * ser-tcp.c: Include 'netstuff.h' and 'wspiapi.h'.
4748         (wait_for_connect): Update comment.  New parameter
4749         'gdb::optional<int> sock' instead of 'struct serial *scb'.
4750         Use 'sock' directly instead of 'scb->fd'.
4751         (try_connect): New function, with code from 'net_open'.
4752         (net_open): Rewrite main loop to deal with multiple
4753         sockets/addresses.  Handle IPv6-style hostnames; implement
4754         support for IPv6 connections.
4755         * unittests/parse-connection-spec-selftests.c: New file.
4756
4757 2018-07-11  Pedro Alves  <palves@redhat.com>
4758
4759         PR gdb/23377
4760         * remote.c (remote_target::remote_detach_pid): Call
4761         set_current_process.
4762
4763 2018-07-11  Pedro Alves  <palves@redhat.com>
4764
4765         * h8300-tdep.c (h8300_gdbarch_init): Remove
4766         set_gdbarch_ecoff_reg_to_regnum calls.
4767
4768 2018-07-11  Sergio Durigan Junior  <sergiodj@redhat.com>
4769
4770         PR c++/23373
4771         * c-typeprint.c (c_type_print_base_struct_union): Don't print
4772         offsets/sizes for static members of a class/struct.
4773
4774 2018-07-11  Alan Hayward  <alan.hayward@arm.com>
4775
4776         * target-descriptions.c (tdesc_register_bitsize): Rename.
4777         * target-descriptions.h (tdesc_register_bitsize): Likewise.
4778         * rs6000-tdep.c (rs6000_gdbarch_init): Use new name.
4779         * aarch64-tdep.c (aarch64_get_tdesc_vq): Convert size.
4780
4781 2018-07-10  Tom Tromey  <tom@tromey.com>
4782
4783         * breakpoint.c (moribund_locations): Now static and a
4784         std::vector.
4785         (breakpoint_init_inferior, moribund_breakpoint_here_p)
4786         (build_bpstat_chain, update_global_location_list)
4787         (breakpoint_retire_moribund): Update.
4788         * breakpoint.h (bp_location_p): Remove typedef.  Don't declare
4789         VEC.
4790
4791 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4792
4793         * riscv-tdep.c (riscv_is_fp_regno_p): New function.
4794         (riscv_register_reggroup_p): Use new function, remove unneeded
4795         parenthesis.
4796         (riscv_push_dummy_call): Extend assert to compare against xlen or
4797         flen based on register type.
4798
4799 2018-07-10  Andrew Burgess  <andrew.burgess@embecosm.com>
4800
4801         * riscv-tdep.c (riscv_print_arg_location): Use TYPE_SAFE_NAME.
4802
4803 2018-07-09  Andrew Burgess  <andrew.burgess@embecosm.com>
4804
4805         * remote.c (show_hardware_watchpoint_limit): New function.
4806         (show_hardware_watchpoint_length_limit): New function.
4807         (show_hardware_breakpoint_limit): New function.
4808         (_initialize_remote): Use add_setshow_zuinteger_unlimited_cmd
4809         where appropriate, update help text.
4810
4811 2018-07-09  Tom Tromey  <tom@tromey.com>
4812
4813         * Makefile.in (CDEPS): Don't mention XM_CDEPS.
4814         (CLIBS): Don't mention NAT_CLIBS.
4815
4816 2018-07-09  Tom Tromey  <tom@tromey.com>
4817
4818         * Makefile.in (ADD_FILES, ADD_DEPS): Remove.
4819         (LIBGDB_OBS, clean mostlyclean): Update.
4820         (gdb$(EXEEXT), insight$(EXEEXT)): Update.
4821
4822 2018-07-09  Tom Tromey  <tom@tromey.com>
4823
4824         * Makefile.in (%.c: %.y): Use ECHO_YACC.
4825         (%.c: %.l): Use ECHO_LEX.  Just fail if flex not available.
4826         * silent-rules.mk (ECHO_YACC, ECHO_LEX): New variables.
4827
4828 2018-07-09  Tom Tromey  <tom@tromey.com>
4829
4830         * Makefile.in (ALLDEPFILES): Remove exec.c.
4831         (COMMON_OBS): Remove exec.o.
4832         (COMMON_SFILES): Add exec.c.
4833
4834 2018-07-09  Tom Tromey  <tom@tromey.com>
4835
4836         * Makefile.in (LINT, LINTFLAGS, LINTFILES, lint): Remove.
4837
4838 2018-07-09  Tom Tromey  <tom@tromey.com>
4839
4840         * Makefile.in (clean mostlyclean): Remove stamp-version.
4841         (version.c): Depend on stamp-version.
4842         (stamp-version): New rule, from version.c rule.
4843
4844 2018-07-09  Tom Tromey  <tom@tromey.com>
4845
4846         * Makefile.in (init.c): Depend on stamp-init.
4847         (stamp-init): New rule, from init.c rule.
4848         (clean mostlyclean): Remove stamp-init.
4849
4850 2018-07-09  Tom Tromey  <tom@tromey.com>
4851
4852         * Makefile.in (INIT_FILES): Remove CONFIG_SRCS,
4853         SUBDIR_GCC_COMPILE_SRCS.
4854
4855 2018-07-09  Tom Tromey  <tom@tromey.com>
4856
4857         * Makefile.in (init.c): Remove some unused sed rules.
4858
4859 2018-07-09  Tom Tromey  <tom@tromey.com>
4860
4861         * Makefile.in (TSOBS): Remove.
4862         (INIT_FILES): Update.
4863         (LIBGDB_OBS): Update.
4864         (COMMON_SFILES): Add inflow.c.
4865         (SFILES): Remove inflow.c.
4866
4867 2018-07-07  Jan Kratochvil  <jan.kratochvil@redhat.com>
4868
4869         * contrib/gdb-add-index.sh ($dwarf5): New, use it.
4870
4871 2018-07-07  Simon Marchi  <simon.marchi@polymtl.ca>
4872
4873         * ia64-libunwind-tdep.c (get_reg_name, get_fpreg_name,
4874         get_saveloc_name, is_signal_frame_name, step_name,
4875         init_remote_name, create_addr_space_name,
4876         destroy_addr_space_name, search_unwind_table_name,
4877         find_dyn_list_name): Constify.
4878
4879 2018-07-05  Simon Marchi  <simon.marchi@polymtl.ca>
4880
4881         * darwin-nat.c (darwin_pthread_kill): New function.
4882         (darwin_resume_thread): Use darwin_pthread_kill.
4883
4884 2018-07-05  Tom de Vries  <tdevries@suse.de>
4885
4886         * macroexp.c (macro_buffer) <operator=>: New member function.
4887
4888 2018-07-04  Tom Tromey  <tom@tromey.com>
4889
4890         * darwin-nat.c (darwin_attach_pid): Use exit_inferior.
4891
4892 2018-07-04  Simon Marchi  <simon.marchi@polymtl.ca>
4893
4894         * common/common-defs.h (HAVE_USEFUL_SBRK): Define.
4895         * main.c: Use HAVE_USEFUL_SBRK instead of HAVE_SBRK.
4896         * maint.c: Likewise.
4897         * top.c: Likewise.
4898
4899 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4900
4901         * NEWS: Create a new section for the next release branch.
4902         Rename the section of the current branch, now that it has
4903         been cut.
4904
4905 2018-07-04  Joel Brobecker  <brobecker@adacore.com>
4906
4907         GDB 8.2 branch created (1b919490e8ba30bf1d6941df0ed112b0e557017e):
4908         * version.in: Bump version to 8.2.50.DATE-git.
4909
4910 2018-07-04  Vyacheslav Barinov  <v.barinov@samsung.com>
4911             Pedro Alves  <palves@redhat.com>
4912
4913         * linux-nat.c (linux_init_ptrace): Rename to ...
4914         (linux_init_ptrace_procfs): ... this.  Call
4915         linux_proc_init_warnings.
4916         (linux_nat_target::post_attach)
4917         (linux_nat_target::post_startup_inferior): Adjust.
4918         * nat/linux-procfs.c (linux_proc_init_warnings): Define function.
4919         * nat/linux-procfs.h (linux_proc_init_warnings): Declare function.
4920
4921 2018-07-04  Tom de Vries  <tdevries@suse.de>
4922
4923         * dwarf2read.c (error_check_comp_unit_head): Move dwarf version
4924         check ...
4925         (read_comp_unit_head): ... here.
4926
4927 2018-07-03  Tom Tromey  <tom@tromey.com>
4928
4929         * tracepoint.c (process_tracepoint_on_disconnect, start_tracing)
4930         (stop_tracing, tstatus_command)
4931         (find_matching_tracepoint_location, merge_uploaded_tracepoints)
4932         (print_one_static_tracepoint_marker): Update.
4933         * breakpoint.c (static_tracepoints_here, all_tracepoints): Return
4934         std::vector.
4935         * breakpoint.h (breakpoint_p): Remove typedef.  Don't declare
4936         VEC.
4937         (all_tracepoints, static_tracepoints_here): Return std::vector.
4938
4939 2018-07-03  Tom Tromey  <tom@tromey.com>
4940
4941         * common/ptid.c (ptid_equal): Remove.
4942         * common/ptid.h (ptid_equal): Don't declare.
4943         * ada-tasks.c: Update.
4944         * breakpoint.c: Update.
4945         * common/agent.c: Update.
4946         * corelow.c: Update.
4947         * darwin-nat-info.c: Update.
4948         * darwin-nat.c: Update.
4949         * dcache.c: Update.
4950         * dtrace-probe.c: Update.
4951         * dummy-frame.c: Update.
4952         * fbsd-nat.c: Update.
4953         * frame.c: Update.
4954         * gdbthread.h: Update.
4955         * gnu-nat.c: Update.
4956         * go32-nat.c: Update.
4957         * inf-loop.c: Update.
4958         * inf-ptrace.c: Update.
4959         * infcall.c: Update.
4960         * infcmd.c: Update.
4961         * inflow.c: Update.
4962         * infrun.c: Update.
4963         * linux-fork.c: Update.
4964         * linux-nat.c: Update.
4965         * linux-thread-db.c: Update.
4966         * mi/mi-cmd-var.c: Update.
4967         * mi/mi-interp.c: Update.
4968         * mi/mi-main.c: Update.
4969         * nto-procfs.c: Update.
4970         * ppc-linux-tdep.c: Update.
4971         * procfs.c: Update.
4972         * python/py-inferior.c: Update.
4973         * python/py-record-btrace.c: Update.
4974         * python/py-record.c: Update.
4975         * ravenscar-thread.c: Update.
4976         * regcache.c: Update.
4977         * remote-sim.c: Update.
4978         * remote.c: Update.
4979         * sol-thread.c: Update.
4980         * solib.c: Update.
4981         * target.c: Update.
4982         * tui/tui-stack.c: Update.
4983         * varobj.c: Update.
4984         * windows-nat.c: Update.
4985         * windows-tdep.c: Update.
4986
4987 2018-07-03  Tom Tromey  <tom@tromey.com>
4988
4989         * common/ptid.c (ptid_match): Remove.
4990         * common/ptid.h (ptid_match): Don't declare.
4991         * fbsd-nat.c: Update.
4992         * infcmd.c: Update.
4993         * infrun.c: Update.
4994         * linux-nat.c: Update.
4995         * record-btrace.c: Update.
4996         * regcache.c: Update.
4997         * remote.c: Update.
4998
4999 2018-07-03  Tom Tromey  <tom@tromey.com>
5000
5001         * common/ptid.c (ptid_tid_p): Remove.
5002         * common/ptid.h (ptid_tid_p): Don't declare.
5003         * sol-thread.c: Update.
5004
5005 2018-07-03  Tom Tromey  <tom@tromey.com>
5006
5007         * common/ptid.c (ptid_lwp_p): Remove.
5008         * common/ptid.h (ptid_lwp_p): Don't declare.
5009         * fbsd-nat.c: Update.
5010         * linux-nat.c: Update.
5011         * nat/linux-procfs.c: Update.
5012         * nat/x86-linux-dregs.c: Update.
5013         * sol-thread.c: Update.
5014
5015 2018-07-03  Tom Tromey  <tom@tromey.com>
5016
5017         * common/ptid.c (ptid_is_pid): Remove.
5018         * common/ptid.h (ptid_is_pid): Don't declare.
5019         * infrun.c: Update.
5020         * linux-nat.c: Update.
5021         * mi/mi-interp.c: Update.
5022         * remote.c: Update.
5023         * thread.c: Update.
5024
5025 2018-07-03  Tom Tromey  <tom@tromey.com>
5026
5027         * common/ptid.c (ptid_get_tid): Remove.
5028         * common/ptid.h (ptid_get_tid): Don't declare.
5029         * ada-tasks.c: Update.
5030         * aix-thread.c: Update.
5031         * bsd-uthread.c: Update.
5032         * darwin-nat.c: Update.
5033         * fbsd-nat.c: Update.
5034         * i386-darwin-nat.c: Update.
5035         * infrun.c: Update.
5036         * linux-tdep.c: Update.
5037         * nto-procfs.c: Update.
5038         * ppc-ravenscar-thread.c: Update.
5039         * python/py-infthread.c: Update.
5040         * ravenscar-thread.c: Update.
5041         * sol-thread.c: Update.
5042         * sparc-ravenscar-thread.c: Update.
5043         * windows-nat.c: Update.
5044
5045 2018-07-03  Tom Tromey  <tom@tromey.com>
5046
5047         * common/ptid.c (ptid_get_lwp): Remove.
5048         * common/ptid.h (ptid_get_lwp): Don't declare.
5049         * aarch64-linux-nat.c: Update.
5050         * ada-tasks.c: Update.
5051         * aix-thread.c: Update.
5052         * amd64-linux-nat.c: Update.
5053         * arm-linux-nat.c: Update.
5054         * corelow.c: Update.
5055         * fbsd-nat.c: Update.
5056         * fbsd-tdep.c: Update.
5057         * gnu-nat.c: Update.
5058         * i386-cygwin-tdep.c: Update.
5059         * i386-gnu-nat.c: Update.
5060         * i386-linux-nat.c: Update.
5061         * ia64-linux-nat.c: Update.
5062         * inf-ptrace.c: Update.
5063         * infrun.c: Update.
5064         * linux-fork.c: Update.
5065         * linux-nat.c: Update.
5066         * linux-tdep.c: Update.
5067         * linux-thread-db.c: Update.
5068         * mips-linux-nat.c: Update.
5069         * nat/aarch64-linux-hw-point.c: Update.
5070         * nat/aarch64-linux.c: Update.
5071         * nat/linux-btrace.c: Update.
5072         * nat/linux-osdata.c: Update.
5073         * nat/linux-procfs.c: Update.
5074         * nat/x86-linux-dregs.c: Update.
5075         * obsd-nat.c: Update.
5076         * ppc-fbsd-nat.c: Update.
5077         * ppc-linux-nat.c: Update.
5078         * procfs.c: Update.
5079         * python/py-infthread.c: Update.
5080         * ravenscar-thread.c: Update.
5081         * remote.c: Update.
5082         * s390-linux-nat.c: Update.
5083         * sol-thread.c: Update.
5084         * sol2-tdep.c: Update.
5085         * spu-linux-nat.c: Update.
5086         * x86-linux-nat.c: Update.
5087         * xtensa-linux-nat.c: Update.
5088
5089 2018-07-03  Tom Tromey  <tom@tromey.com>
5090
5091         * common/ptid.c (ptid_get_pid): Remove.
5092         * common/ptid.h (ptid_get_pid): Don't declare.
5093         * aarch64-linux-nat.c: Update.
5094         * ada-lang.c: Update.
5095         * aix-thread.c: Update.
5096         * alpha-bsd-nat.c: Update.
5097         * amd64-fbsd-nat.c: Update.
5098         * amd64-linux-nat.c: Update.
5099         * arm-linux-nat.c: Update.
5100         * arm-nbsd-nat.c: Update.
5101         * auxv.c: Update.
5102         * break-catch-syscall.c: Update.
5103         * breakpoint.c: Update.
5104         * bsd-uthread.c: Update.
5105         * corelow.c: Update.
5106         * ctf.c: Update.
5107         * darwin-nat.c: Update.
5108         * fbsd-nat.c: Update.
5109         * fbsd-tdep.c: Update.
5110         * gcore.c: Update.
5111         * gnu-nat.c: Update.
5112         * hppa-nbsd-nat.c: Update.
5113         * hppa-obsd-nat.c: Update.
5114         * i386-fbsd-nat.c: Update.
5115         * ia64-linux-nat.c: Update.
5116         * inf-ptrace.c: Update.
5117         * infcmd.c: Update.
5118         * inferior.c: Update.
5119         * inferior.h: Update.
5120         * inflow.c: Update.
5121         * infrun.c: Update.
5122         * linux-fork.c: Update.
5123         * linux-nat.c: Update.
5124         * linux-tdep.c: Update.
5125         * linux-thread-db.c: Update.
5126         * m68k-bsd-nat.c: Update.
5127         * mi/mi-interp.c: Update.
5128         * mi/mi-main.c: Update.
5129         * mips-linux-nat.c: Update.
5130         * mips-nbsd-nat.c: Update.
5131         * mips64-obsd-nat.c: Update.
5132         * nat/aarch64-linux-hw-point.c: Update.
5133         * nat/aarch64-linux.c: Update.
5134         * nat/linux-btrace.c: Update.
5135         * nat/linux-osdata.c: Update.
5136         * nat/linux-procfs.c: Update.
5137         * nat/x86-linux-dregs.c: Update.
5138         * nto-procfs.c: Update.
5139         * obsd-nat.c: Update.
5140         * ppc-linux-nat.c: Update.
5141         * ppc-nbsd-nat.c: Update.
5142         * ppc-obsd-nat.c: Update.
5143         * proc-service.c: Update.
5144         * procfs.c: Update.
5145         * python/py-inferior.c: Update.
5146         * python/py-infthread.c: Update.
5147         * ravenscar-thread.c: Update.
5148         * record.c: Update.
5149         * remote-sim.c: Update.
5150         * remote.c: Update.
5151         * rs6000-nat.c: Update.
5152         * s390-linux-nat.c: Update.
5153         * sh-nbsd-nat.c: Update.
5154         * sol-thread.c: Update.
5155         * sparc-nat.c: Update.
5156         * sparc64-tdep.c: Update.
5157         * spu-linux-nat.c: Update.
5158         * spu-tdep.c: Update.
5159         * target-debug.h: Update.
5160         * target.c: Update.
5161         * thread.c: Update.
5162         * tid-parse.c: Update.
5163         * tracefile-tfile.c: Update.
5164         * vax-bsd-nat.c: Update.
5165         * windows-nat.c: Update.
5166         * x86-linux-nat.c: Update.
5167         * x86-nat.c: Update.
5168
5169 2018-07-03  Tom Tromey  <tom@tromey.com>
5170
5171         * common/ptid.c (pid_to_ptid): Remove.
5172         * common/ptid.h (pid_to_ptid): Don't declare.
5173         * aix-thread.c: Update.
5174         * arm-linux-nat.c: Update.
5175         * common/ptid.c: Update.
5176         * common/ptid.h: Update.
5177         * corelow.c: Update.
5178         * ctf.c: Update.
5179         * darwin-nat.c: Update.
5180         * fbsd-nat.c: Update.
5181         * fork-child.c: Update.
5182         * gnu-nat.c: Update.
5183         * go32-nat.c: Update.
5184         * inf-ptrace.c: Update.
5185         * infcmd.c: Update.
5186         * inferior.c: Update.
5187         * infrun.c: Update.
5188         * linux-fork.c: Update.
5189         * linux-nat.c: Update.
5190         * nat/aarch64-linux-hw-point.c: Update.
5191         * nat/fork-inferior.c: Update.
5192         * nat/x86-linux-dregs.c: Update.
5193         * nto-procfs.c: Update.
5194         * obsd-nat.c: Update.
5195         * procfs.c: Update.
5196         * progspace.c: Update.
5197         * remote.c: Update.
5198         * rs6000-nat.c: Update.
5199         * s390-linux-nat.c: Update.
5200         * sol-thread.c: Update.
5201         * spu-linux-nat.c: Update.
5202         * target.c: Update.
5203         * top.c: Update.
5204         * tracefile-tfile.c: Update.
5205         * windows-nat.c: Update.
5206
5207 2018-07-03  Tom Tromey  <tom@tromey.com>
5208
5209         * common/ptid.h (ptid_build): Don't declare.
5210         * common/ptid.c (ptid_build): Remove.
5211         * aix-thread.c: Update.
5212         * bsd-kvm.c: Update.
5213         * bsd-uthread.c: Update.
5214         * common/agent.c: Update.
5215         * common/ptid.c: Update.
5216         * common/ptid.h: Update.
5217         * corelow.c: Update.
5218         * darwin-nat.c: Update.
5219         * fbsd-nat.c: Update.
5220         * gnu-nat.c: Update.
5221         * linux-fork.c: Update.
5222         * linux-nat.c: Update.
5223         * linux-thread-db.c: Update.
5224         * nat/linux-osdata.c: Update.
5225         * nat/linux-procfs.c: Update.
5226         * nto-procfs.c: Update.
5227         * obsd-nat.c: Update.
5228         * proc-service.c: Update.
5229         * procfs.c: Update.
5230         * ravenscar-thread.c: Update.
5231         * remote-sim.c: Update.
5232         * remote.c: Update.
5233         * sol-thread.c: Update.
5234         * target.c: Update.
5235         * windows-nat.c: Update.
5236
5237 2018-07-03  Tom Tromey  <tom@tromey.com>
5238
5239         * infrun.c (follow_exec): Use exit_inferior_silent.
5240         * inferior.c (exit_inferior_num_silent): Remove.
5241         * inferior.h (exit_inferior_num_silent): Don't declare.
5242
5243 2018-07-03  Tom Tromey  <tom@tromey.com>
5244
5245         PR cli/23340:
5246         * darwin-nat.c (darwin_attach_pid): Reset inferior and
5247         inferior_ptid on error.
5248
5249 2018-07-02  Maciej W. Rozycki  <macro@mips.com>
5250             Simon Marchi  <simon.marchi@polymtl.ca>
5251
5252         PR tdep/8282
5253         * disasm.h (gdb_disassembler): Add
5254         `m_disassembler_options_holder'. member
5255         * disasm.c (get_all_disassembler_options): New function.
5256         (gdb_disassembler::gdb_disassembler): Use it.
5257         (gdb_buffered_insn_length_init_dis): Likewise.
5258         (gdb_buffered_insn_length): Adjust accordingly.
5259         (set_disassembler_options): Handle options with arguments.
5260         (show_disassembler_options_sfunc): Likewise.  Add a leading new
5261         line if showing options with descriptions.
5262         (disassembler_options_completer): Adapt to using the
5263         `disasm_options_and_args_t' structure.
5264         * mips-tdep.c (mips_disassembler_options): New variable.
5265         (mips_disassembler_options_o32): Likewise.
5266         (mips_disassembler_options_n32): Likewise.
5267         (mips_disassembler_options_n64): Likewise.
5268         (gdb_print_insn_mips): Don't set `disassembler_options'.
5269         (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): Remove
5270         functions.
5271         (mips_gdbarch_init): Always set `gdbarch_print_insn' to
5272         `gdb_print_insn_mips'.  Set `gdbarch_disassembler_options',
5273         `gdbarch_disassembler_options_implicit' and
5274         `gdbarch_valid_disassembler_options'.
5275         * arm-tdep.c (_initialize_arm_tdep): Adapt to using the
5276         `disasm_options_and_args_t' structure.
5277         * gdbarch.sh (disassembler_options_implicit): New `gdbarch'
5278         method.
5279         (valid_disassembler_options): Switch from `disasm_options_t' to
5280         the `disasm_options_and_args_t' structure.
5281         * NEWS: Document `set disassembler-options' support for the MIPS
5282         target.
5283         * gdbarch.h: Regenerate.
5284         * gdbarch.c: Regenerate.
5285
5286 2018-07-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5287
5288         * riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
5289
5290 2018-06-29  Joel Brobecker  <brobecker@adacore.com>
5291
5292         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing
5293         parameter in call to amd64_target_description.
5294         * amd64-dicos-tdep.c (amd64_dicos_init_abi): Likewise.
5295         * amd64-fbsd-tdep.c (amd64fbsd_core_read_description)
5296         (amd64fbsd_init_abi): Likewise.
5297         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Likewise.
5298         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
5299         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
5300         * amd64-fbsd-nat.c (amd64_fbsd_nat_target): Likewise.
5301
5302 2018-06-29  Pedro Alves  <palves@redhat.com>
5303
5304         * gdb/amd64-tdep.h (amd64_create_target_description): Add
5305         "segments" parameter.
5306         * gdb/amd64-tdep.c (amd64_none_init_abi, amd64_x32_none_init_abi)
5307         (_initialize_amd64_tdep): Update call to
5308         amd64_create_target_description.
5309         (amd64_target_description): Add "segments" parameter.  Adjust
5310         the implementation to use it.
5311         * gdb/amd64-linux-tdep.c (amd64_linux_read_description): Update
5312         call to amd64_create_target_description.
5313         * gdb/amd64-windows-tdep.c (amd64_windows_init_abi): Likewise.
5314         * gdb/arch/amd64.h (amd64_create_target_description): Add
5315         "segments" register.
5316         * gdb/arch/amd64.c (amd64_create_target_description): Add
5317         "segments" parameter.  Call create_feature_i386_64bit_segments
5318         only if SEGMENTS is true.
5319         * gdb/gdbserver/win32-i386-low.c (i386_arch_setup): Update
5320         call to amd64_create_target_description.
5321
5322 2018-06-29  Pedro Alves  <palves@redhat.com>
5323
5324         * thread.c (thread_target_id_str): New, factored out from ...
5325         (print_thread_info_1): ... here.  Use it to compute the max
5326         "Target Id" column width.
5327
5328 2018-06-29  Pedro Alves  <palves@redhat.com>
5329
5330         * remote.c (remote_target::extra_thread_info): Delete
5331         'display_buf' and 'n' locals.  from the cache, regardless of
5332         packet mechanims is in use.  Use cache for qThreadExtra and qP
5333         methods too.
5334
5335 2018-06-29  Pedro Alves  <palves@redhat.com>
5336
5337         * blockframe.c (find_pc_sect_containing_function): New function.
5338         * breakpoint.c (print_breakpoint_location): Don't call
5339         find_pc_sect_function.
5340         * linespec.c (create_sals_line_offset): Record the location's
5341         symbol in the sal.
5342         * linespec.c (convert_address_location_to_sals): Fill in sal's
5343         symbol with find_pc_sect_containing_function.
5344         * symtab.c (find_function_start_sal): Rename to ...
5345         (find_function_start_sal_1): ... this.
5346         (find_function_start_sal): Reimplement as wrapper around
5347         find_function_start_sal_1, and use
5348         find_pc_sect_containing_function to fill in the sal's symbol.
5349         (find_function_start_sal(symbol*, bool)): Adjust.
5350         * symtab.h (find_pc_function, find_pc_sect_function): Adjust
5351         comments.
5352         (find_pc_sect_containing_function): Declare.
5353
5354 2018-06-29  Pedro Alves  <palves@redhat.com>
5355
5356         * inline-frame.c (stopped_by_user_bp_inline_frame): Return
5357         true if the the location has no symbol.
5358
5359 2018-06-28  Tom Tromey  <tom@tromey.com>
5360
5361         * NEWS: Mention --enable-codesign.
5362         * silent-rules.mk (ECHO_SIGN): New variable.
5363         * configure.ac: Add --enable-codesign.
5364         * configure: Rebuild.
5365         * Makefile.in (CODESIGN, CODESIGN_CERT): New variables.
5366         (gdb$(EXEEXT)): Optionally invoke codesign.
5367
5368 2018-06-28  Pedro Alves  <palves@redhat.com>
5369
5370         * gdbthread.h (struct thread_suspend_state) <stop_pc>: Extend
5371         comments.
5372         (switch_to_thread_no_regs): Adjust comment.
5373         * infcmd.c (stop_pc): Delete.
5374         (post_create_inferior, info_program_command): Replace references
5375         to stop_pc with references to thread_info->suspend.stop_pc.
5376         * inferior.h (stop_pc): Delete declaration.
5377         * infrun.c (proceed, handle_syscall_event, fill_in_stop_func)
5378         (handle_inferior_event_1, handle_signal_stop)
5379         (process_event_stop_test, keep_going_stepped_thread)
5380         (handle_step_into_function, handle_step_into_function_backward)
5381         (print_stop_location): Replace references to stop_pc with
5382         references to thread_info->suspend.stop_pc.
5383         (struct infcall_suspend_state) <stop_pc>: Delete field.
5384         (save_infcall_suspend_state, restore_infcall_suspend_state):
5385         Remove references to inf_stat->stop_pc.
5386         * linux-fork.c (fork_load_infrun_state): Likewise.
5387         * record-btrace.c (record_btrace_set_replay): Likewise.
5388         * record-full.c (record_full_goto_entry): Likewise.
5389         * remote.c (print_one_stopped_thread): Likewise.
5390         * target.c (target_resume): Extend comment.
5391         * thread.c (set_executing_thread): New.
5392         (set_executing): Use it.
5393         (switch_to_thread_no_regs, switch_to_no_thread, switch_to_thread):
5394         Remove references to stop_pc.
5395
5396 2018-06-28  Pedro Alves  <palves@redhat.com>
5397
5398         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>:
5399         Moving fetching stop_pc until after ecs->event_thread is refreshed.
5400
5401 2018-06-28  Tom Tromey  <tom@tromey.com>
5402
5403         * coffread.c (coff_symfile_finish): Update.
5404         * xcoffread.c (xcoff_symfile_finish): Update.
5405         * elfread.c (elf_symfile_finish): Update.
5406         * symfile.h (dwarf2_free_objfile): Don't declare.
5407         * dwarf2read.c (_initialize_dwarf2_read): Use
5408         register_objfile_data_with_cleanup.
5409         (dwarf2_free_objfile): Now static.  Change signature.
5410
5411 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5412
5413         * symfile.c (add_symbol_file_command, _initialize_symfile): Add
5414         option "-o" to add-symbol-file-load to add an offset to each
5415         section's load address.
5416         * symfile.c (set_objfile_default_section_offset): New function.
5417
5418 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5419
5420         * symfile.c (add_symbol_file_command): Make sure that sections
5421         with the same name are sorted in the same order.
5422
5423 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5424
5425         * symfile.c (add_symbol_file_command, _initialize_symfile): Do not
5426         require the second argument.  If omitted, load sections at the
5427         addresses specified in the file.
5428
5429 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5430
5431         * symfile.c (symbol_file_command, symbol_file_add_main_1)
5432         (_initialize_symfile): Add option "-o" to symbol-file to add an
5433         offset to each section of the symbol file.
5434
5435 2018-06-28  Petr Tesarik  <ptesarik@suse.cz>
5436
5437         * MAINTAINERS (Write After Approval): Add Petr Tesarik.
5438
5439 2018-06-27  Tom Tromey  <tom@tromey.com>
5440
5441         * stack.c (_initialize_stack): Update "func" help text.
5442
5443 2018-06-27  Tom Tromey  <tom@tromey.com>
5444
5445         * python/py-unwind.c (unwind_info_object) <saved_regs>: Now a
5446         std::vector.
5447         (unwind_infopy_str, pyuw_create_unwind_info)
5448         (unwind_infopy_add_saved_register, pyuw_sniffer)
5449         (unwind_infopy_dealloc, unwind_infopy_add_saved_register):
5450         Update.
5451         (struct saved_reg): Add constructor.
5452         <value>: Now a gdbpy_ref<>.
5453
5454 2018-06-27  Tom Tromey  <tom@tromey.com>
5455
5456         * machoread.c (macho_symfile_read): Define "symbol_table" earlier.
5457
5458 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5459
5460         * gdb-gdb.py.in: Format using autopep8.
5461
5462 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5463
5464         * gdb-gdb.py.in (CoreAddrPrettyPrinter): New class.
5465         (type_lookup_function): Recognize CORE_ADDR values.
5466
5467 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5468
5469         * gdb-gdb.py.in (StructMainTypePrettyPrinter) <to_string>: Don't
5470         print tag_name.
5471
5472 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5473
5474         * gdb-gdb.py.in (TypeFlag) <__cmp__>: Remove.
5475         <__lt__>: Add.
5476
5477 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5478
5479         * gdb-gdb.py: Move to...
5480         * gdb-gdb.py.in: ... here.
5481         * configure.ac (AC_CONFIG_FILES): Add gdb-gdb.py.
5482         * Makefile.in (all): Add gdb-gdb.gdb and gdb-gdb.py as
5483         dependencies.
5484         (distclean): Remove gdb-gdb.py when cleaning.
5485         (gdb-gdb.py, gdb-gdb.gdb): New rules.
5486         * configure: Re-generate.
5487
5488 2018-06-27  Pedro Alves  <palves@redhat.com>
5489
5490         * proc-service.c (get_ps_regcache): New.
5491         (ps_lgetregs, ps_lsetregs, ps_lgetfpregs)
5492         (ps_lsetfpregs): Use it.
5493
5494 2018-06-27  Omair Javaid  <omair.javaid@linaro.org>
5495
5496         PR gdb/21695
5497         * dwarf2read.c (lnp_state_machine::check_line_address): Update declaration.
5498         (dwarf_decode_lines_1): Adjust.
5499
5500 2018-06-27  Simon Marchi  <simon.marchi@ericsson.com>
5501
5502         * fbsd-nat.h (class fbsd_nat_target) <find_memory_regions>: Add
5503         override.
5504         <info_proc>: Likewise.
5505
5506 2018-06-26  Joel Brobecker  <brobecker@adacore.com>
5507
5508         * windows-nat.c (do_windows_fetch_inferior_registers): Rename
5509         to windows_fetch_one_register, and only handle the case of
5510         fetching one register.  Move the code that reloads the context
5511         and iterates over all registers if R is negative to...
5512         (windows_nat_target::fetch_registers): ... here.
5513         (do_windows_store_inferior_registers): Rename to
5514         windows_store_one_register, and only handle the case of storing
5515         one register.  Move the code that handles the case where r is
5516         negative to...
5517         (windows_nat_target::store_registers) ... here.
5518
5519 2018-06-26  Tom Tromey  <tom@tromey.com>
5520
5521         PR rust/22574:
5522         * typeprint.c (whatis_exp): Allow ptype/o for Rust.
5523         * rust-lang.c (rust_print_struct_def): Add podata parameter.
5524         Update.
5525         (rust_internal_print_type): Add podata parameter.
5526         (rust_print_type): Update.
5527
5528 2018-06-26  Tom Tromey  <tom@tromey.com>
5529
5530         * typeprint.h (struct print_offset_data) <update, finish,
5531         maybe_print_hole>: New methods.
5532         <indentation>: New constant.
5533         * typeprint.c (print_offset_data::indentation): Define.
5534         (print_offset_data::maybe_print_hole, print_offset_data::update)
5535         (print_offset_data::finish): Move from c-typeprint.c and rename.
5536         * c-typeprint.c (OFFSET_SPC_LEN): Remove.
5537         (print_spaces_filtered_with_print_options): Update.
5538         (c_print_type_union_field_offset, maybe_print_hole)
5539         (c_print_type_struct_field_offset): Move to typeprint.c and
5540         rename.
5541         (c_type_print_base_struct_union): Update.
5542
5543 2018-06-25  Pedro Alves  <palves@redhat.com>
5544
5545         * gdbthread.h (thread_info_ref, delete_thread)
5546         (delete_thread_silent, first_thread_of_inferior)
5547         (any_thread_of_inferior, switch_to_thread)
5548         (enable_thread_stack_temporaries)
5549         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5550         (get_last_thread_stack_temporary)
5551         (value_in_thread_stack_temporaries, can_access_registers_thread):
5552         Spell out "struct thread_info" instead of just "thread_info".
5553         * inferior.h (notice_new_inferior): Likewise.
5554
5555 2018-06-25  Pedro Alves  <palves@redhat.com>
5556
5557         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5558         pass thread_info pointer to delete_thread.
5559         (windows_nat_target::detach): Pass inferior pointer to
5560         detach_inferior.
5561         * aix-thread.c (sync_threadlists): Pass thread_info pointer to
5562         delete_thread.
5563         * bsd-kvm.c (bsd_kvm_target::close): Use discard_all_inferiors.
5564         * darwin-nat.c (darwin_check_new_threads): Use find_thread_ptid
5565         and pass a thread_info pointer to delete_thread.
5566         * fbsd-nat.c (fbsd_nat_target::wait): Use find_thread_ptid and
5567         pass thread_info pointer to delete_thread.
5568         * go32-nat.c (go32_nat_target::mourn_inferior): Remove
5569         delete_thread_silent call.
5570         * procfs.c (procfs_target::detach): Pass inferior pointer to
5571         detach_inferior.
5572         (procfs_target::wait): Pass thread_info pointer to delete_thread.
5573         * remote-sim.c (gdbsim_target::mourn_inferior): Remove
5574         delete_thread_silent call.
5575         * windows-nat.c (windows_delete_thread): Use find_thread_ptid and
5576         pass thread_info pointer to delete_thread.
5577         (windows_nat_target::detach): Pass inferior pointer to
5578         delete_inferior.
5579
5580 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5581
5582         * regcache.c (readable_regcache::read_part): Fix asserts.
5583         (reg_buffer::raw_collect_part): New function.
5584         (regcache::write_part): Fix asserts.
5585         (reg_buffer::raw_supply_part): New function.
5586         (regcache::transfer_regset_register): New helper function.
5587         (regcache::transfer_regset): Call new functions.
5588         (regcache_supply_regset): Use gdb_byte*.
5589         (regcache::supply_regset): Likewise.
5590         (regcache_collect_regset): Likewise.
5591         (regcache::collect_regset): Likewise.
5592         * regcache.h (reg_buffer::raw_collect_part): New declaration.
5593         (reg_buffer::raw_supply_part): Likewise.
5594         (regcache::transfer_regset_register): Likewise.
5595         (regcache::transfer_regset): Use gdb_byte*.
5596
5597 2018-06-22  Alan Hayward  <alan.hayward@arm.com>
5598
5599         * nat/aarch64-sve-linux-ptrace.h (HAS_SVE_STATE): Use &.
5600
5601 2018-06-21  Pedro Alves  <palves@redhat.com>
5602
5603         * ada-lang.h (ada_get_task_number): Take a thread_info pointer
5604         instead of a ptid_t.  All callers adjusted.
5605         * ada-tasks.c (ada_get_task_number): Likewise.  All callers
5606         adjusted.
5607         (print_ada_task_info, display_current_task_id, task_command_1):
5608         Adjust.
5609         * breakpoint.c (watchpoint_in_thread_scope): Adjust to use
5610         inferior_thread.
5611         (breakpoint_kind): Adjust.
5612         (remove_breakpoints_pid): Rename to ...
5613         (remove_breakpoints_inf): ... this.  Adjust to take an inferior
5614         pointer.  All callers adjusted.
5615         (bpstat_clear_actions): Use inferior_thread.
5616         (get_bpstat_thread): New.
5617         (bpstat_do_actions): Use it.
5618         (bpstat_check_breakpoint_conditions, bpstat_stop_status): Adjust
5619         to take a thread_info pointer.  All callers adjusted.
5620         (set_longjmp_breakpoint_for_call_dummy, set_momentary_breakpoint)
5621         (breakpoint_re_set_thread): Use inferior_thread.
5622         * breakpoint.h (struct inferior): Forward declare.
5623         (bpstat_stop_status): Update.
5624         (remove_breakpoints_pid): Delete.
5625         (remove_breakpoints_inf): New.
5626         * bsd-uthread.c (bsd_uthread_target::wait)
5627         (bsd_uthread_target::update_thread_list): Use find_thread_ptid.
5628         * btrace.c (btrace_add_pc, btrace_enable, btrace_fetch)
5629         (maint_btrace_packet_history_cmd)
5630         (maint_btrace_clear_packet_history_cmd): Adjust.
5631         (maint_btrace_clear_cmd, maint_info_btrace_cmd): Adjust to use
5632         inferior_thread.
5633         * cli/cli-interp.c: Include "inferior.h".
5634         * common/refcounted-object.h (struct
5635         refcounted_object_ref_policy): New.
5636         * compile/compile-object-load.c: Include gdbthread.h.
5637         (store_regs): Use inferior_thread.
5638         * corelow.c (core_target::close): Use current_inferior.
5639         (core_target_open): Adjust to use first_thread_of_inferior and use
5640         the current inferior.
5641         * ctf.c (ctf_target::close): Adjust to use current_inferior.
5642         * dummy-frame.c (dummy_frame_id) <ptid>: Delete, replaced by ...
5643         <thread>: ... this new field.  All references adjusted.
5644         (dummy_frame_pop, dummy_frame_discard, register_dummy_frame_dtor):
5645         Take a thread_info pointer instead of a ptid_t.
5646         * dummy-frame.h (dummy_frame_push, dummy_frame_pop)
5647         (dummy_frame_discard, register_dummy_frame_dtor): Take a
5648         thread_info pointer instead of a ptid_t.
5649         * elfread.c: Include "inferior.h".
5650         (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop):
5651         Use inferior_thread.
5652         * eval.c (evaluate_subexp): Likewise.
5653         * frame.c (frame_pop, has_stack_frames, find_frame_sal): Use
5654         inferior_thread.
5655         * gdb_proc_service.h (struct thread_info): Forward declare.
5656         (struct ps_prochandle) <ptid>: Delete, replaced by ...
5657         <thread>: ... this new field.  All references adjusted.
5658         * gdbarch.h, gdbarch.c: Regenerate.
5659         * gdbarch.sh (get_syscall_number): Replace 'ptid' parameter with a
5660         'thread' parameter.  All implementations and callers adjusted.
5661         * gdbthread.h (thread_info) <set_running>: New method.
5662         (delete_thread, delete_thread_silent): Take a thread_info pointer
5663         instead of a ptid.
5664         (global_thread_id_to_ptid, ptid_to_global_thread_id): Delete.
5665         (first_thread_of_process): Delete, replaced by ...
5666         (first_thread_of_inferior): ... this new function.  All callers
5667         adjusted.
5668         (any_live_thread_of_process): Delete, replaced by ...
5669         (any_live_thread_of_inferior): ... this new function.  All callers
5670         adjusted.
5671         (switch_to_thread, switch_to_no_thread): Declare.
5672         (is_executing): Delete.
5673         (enable_thread_stack_temporaries): Update comment.
5674         <enable_thread_stack_temporaries>: Take a thread_info pointer
5675         instead of a ptid_t.  Incref the thread.
5676         <~enable_thread_stack_temporaries>: Decref the thread.
5677         <m_ptid>: Delete
5678         <m_thr>: New.
5679         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5680         (get_last_thread_stack_temporary)
5681         (value_in_thread_stack_temporaries, can_access_registers_thread):
5682         Take a thread_info pointer instead of a ptid_t.  All callers
5683         adjusted.
5684         * infcall.c (get_call_return_value): Use inferior_thread.
5685         (run_inferior_call): Work with thread pointers instead of ptid_t.
5686         (call_function_by_hand_dummy): Work with thread pointers instead
5687         of ptid_t.  Use thread_info_ref.
5688         * infcmd.c (proceed_thread_callback): Access thread's state
5689         directly.
5690         (ensure_valid_thread, ensure_not_running): Use inferior_thread,
5691         access thread's state directly.
5692         (continue_command): Use inferior_thread.
5693         (info_program_command): Use find_thread_ptid and access thread
5694         state directly.
5695         (proceed_after_attach_callback): Use thread state directly.
5696         (notice_new_inferior): Take a thread_info pointer instead of a
5697         ptid_t.  All callers adjusted.
5698         (exit_inferior): Take an inferior pointer instead of a pid.  All
5699         callers adjusted.
5700         (exit_inferior_silent): New.
5701         (detach_inferior): Delete.
5702         (valid_gdb_inferior_id, pid_to_gdb_inferior_id)
5703         (gdb_inferior_id_to_pid, in_inferior_list): Delete.
5704         (detach_inferior_command, kill_inferior_command): Use
5705         find_inferior_id instead of valid_gdb_inferior_id and
5706         gdb_inferior_id_to_pid.
5707         (inferior_command): Use inferior and thread pointers.
5708         * inferior.h (struct thread_info): Forward declare.
5709         (notice_new_inferior): Take a thread_info pointer instead of a
5710         ptid_t.  All callers adjusted.
5711         (detach_inferior): Delete declaration.
5712         (exit_inferior, exit_inferior_silent): Take an inferior pointer
5713         instead of a pid.  All callers adjusted.
5714         (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
5715         (valid_gdb_inferior_id): Delete.
5716         * infrun.c (follow_fork_inferior, proceed_after_vfork_done)
5717         (handle_vfork_child_exec_or_exit, follow_exec): Adjust.
5718         (struct displaced_step_inferior_state) <pid>: Delete, replaced by
5719         ...
5720         <inf>: ... this new field.
5721         <step_ptid>: Delete, replaced by ...
5722         <step_thread>: ... this new field.
5723         (get_displaced_stepping_state): Take an inferior pointer instead
5724         of a pid.  All callers adjusted.
5725         (displaced_step_in_progress_any_inferior): Adjust.
5726         (displaced_step_in_progress_thread): Take a thread pointer instead
5727         of a ptid_t.  All callers adjusted.
5728         (displaced_step_in_progress, add_displaced_stepping_state): Take
5729         an inferior pointer instead of a pid.  All callers adjusted.
5730         (get_displaced_step_closure_by_addr): Adjust.
5731         (remove_displaced_stepping_state): Take an inferior pointer
5732         instead of a pid.  All callers adjusted.
5733         (displaced_step_prepare_throw, displaced_step_prepare)
5734         (displaced_step_fixup): Take a thread pointer instead of a ptid_t.
5735         All callers adjusted.
5736         (start_step_over): Adjust.
5737         (infrun_thread_ptid_changed): Remove bit updating ptids in the
5738         displaced step queue.
5739         (do_target_resume): Adjust.
5740         (fetch_inferior_event): Use inferior_thread.
5741         (context_switch, get_inferior_stop_soon): Take an
5742         execution_control_state pointer instead of a ptid_t.  All callers
5743         adjusted.
5744         (switch_to_thread_cleanup): Delete.
5745         (stop_all_threads): Use scoped_restore_current_thread.
5746         * inline-frame.c: Include "gdbthread.h".
5747         (inline_state) <inline_state>: Take a thread pointer instead of a
5748         ptid_t.  All callers adjusted.
5749         <ptid>: Delete, replaced by ...
5750         <thread>: ... this new field.
5751         (find_inline_frame_state): Take a thread pointer instead of a
5752         ptid_t.  All callers adjusted.
5753         (skip_inline_frames, step_into_inline_frame)
5754         (inline_skipped_frames, inline_skipped_symbol): Take a thread
5755         pointer instead of a ptid_t.  All callers adjusted.
5756         * inline-frame.h (skip_inline_frames, step_into_inline_frame)
5757         (inline_skipped_frames, inline_skipped_symbol): Likewise.
5758         * linux-fork.c (delete_checkpoint_command): Adjust to use thread
5759         pointers directly.
5760         * linux-nat.c (get_detach_signal): Likewise.
5761         * linux-thread-db.c (thread_from_lwp): New 'stopped' parameter.
5762         (thread_db_notice_clone): Adjust.
5763         (thread_db_find_new_threads_silently)
5764         (thread_db_find_new_threads_2, thread_db_find_new_threads_1): Take
5765         a thread pointer instead of a ptid_t.  All callers adjusted.
5766         * mi/mi-cmd-var.c: Include "inferior.h".
5767         (mi_cmd_var_update_iter): Update to use thread pointers.
5768         * mi/mi-interp.c (mi_new_thread): Update to use the thread's
5769         inferior directly.
5770         (mi_output_running_pid, mi_inferior_count): Delete, bits factored
5771         out to ...
5772         (mi_output_running): ... this new function.
5773         (mi_on_resume_1): Adjust to use it.
5774         (mi_user_selected_context_changed): Adjust to use inferior_thread.
5775         * mi/mi-main.c (proceed_thread): Adjust to use thread pointers
5776         directly.
5777         (interrupt_thread_callback): : Adjust to use thread and inferior
5778         pointers.
5779         * proc-service.c: Include "gdbthread.h".
5780         (ps_pglobal_lookup): Adjust to use the thread's inferior directly.
5781         * progspace-and-thread.c: Include "inferior.h".
5782         * progspace.c: Include "inferior.h".
5783         * python/py-exitedevent.c (create_exited_event_object): Adjust to
5784         hold a reference to an inferior_object.
5785         * python/py-finishbreakpoint.c (bpfinishpy_init): Adjust to use
5786         inferior_thread.
5787         * python/py-inferior.c (struct inferior_object): Give the type a
5788         tag name instead of a typedef.
5789         (python_on_normal_stop): No need to check if the current thread is
5790         listed.
5791         (inferior_to_inferior_object): Change return type to
5792         inferior_object.  All callers adjusted.
5793         (find_thread_object): Delete, bits factored out to ...
5794         (thread_to_thread_object): ... this new function.
5795         * python/py-infthread.c (create_thread_object): Use
5796         inferior_to_inferior_object.
5797         (thpy_is_stopped): Use thread pointer directly.
5798         (gdbpy_selected_thread): Use inferior_thread.
5799         * python/py-record-btrace.c (btpy_list_object) <ptid>: Delete
5800         field, replaced with ...
5801         <thread>: ... this new field.  All users adjusted.
5802         (btpy_insn_or_gap_new): Drop const.
5803         (btpy_list_new): Take a thread pointer instead of a ptid_t.  All
5804         callers adjusted.
5805         * python/py-record.c: Include "gdbthread.h".
5806         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5807         a ptid_t.  All callers adjusted.
5808         (gdbpy_current_recording): Use inferior_thread.
5809         * python/py-record.h (recpy_record_object) <ptid>: Delete
5810         field, replaced with ...
5811         <thread>: ... this new field.  All users adjusted.
5812         (recpy_element_object) <ptid>: Delete
5813         field, replaced with ...
5814         <thread>: ... this new field.  All users adjusted.
5815         (recpy_insn_new, recpy_func_new): Take a thread pointer instead of
5816         a ptid_t.  All callers adjusted.
5817         * python/py-threadevent.c: Include "gdbthread.h".
5818         (get_event_thread): Use thread_to_thread_object.
5819         * python/python-internal.h (struct inferior_object): Forward
5820         declare.
5821         (find_thread_object, find_inferior_object): Delete declarations.
5822         (thread_to_thread_object, inferior_to_inferior_object): New
5823         declarations.
5824         * record-btrace.c: Include "inferior.h".
5825         (require_btrace_thread): Use inferior_thread.
5826         (record_btrace_frame_sniffer)
5827         (record_btrace_tailcall_frame_sniffer): Use inferior_thread.
5828         (get_thread_current_frame): Use scoped_restore_current_thread and
5829         switch_to_thread.
5830         (get_thread_current_frame): Use thread pointer directly.
5831         (record_btrace_replay_at_breakpoint): Use thread's inferior
5832         pointer directly.
5833         * record-full.c: Include "inferior.h".
5834         * regcache.c: Include "gdbthread.h".
5835         (get_thread_arch_regcache): Use the inferior's address space
5836         directly.
5837         (get_thread_regcache, registers_changed_thread): New.
5838         * regcache.h (get_thread_regcache(thread_info *thread)): New
5839         overload.
5840         (registers_changed_thread): New.
5841         (remote_target) <remote_detach_1>: Swap order of parameters.
5842         (remote_add_thread): <remote_add_thread>: Return the new thread.
5843         (get_remote_thread_info(ptid_t)): New overload.
5844         (remote_target::remote_notice_new_inferior): Use thread pointers
5845         directly.
5846         (remote_target::process_initial_stop_replies): Use
5847         thread_info::set_running.
5848         (remote_target::remote_detach_1, remote_target::detach)
5849         (extended_remote_target::detach): Adjust.
5850         * stack.c (frame_show_address): Use inferior_thread.
5851         * target-debug.h (target_debug_print_thread_info_pp): New.
5852         * target-delegates.c: Regenerate.
5853         * target.c (default_thread_address_space): Delete.
5854         (memory_xfer_partial_1): Use current_inferior.
5855         (target_detach): Use current_inferior.
5856         (target_thread_address_space): Delete.
5857         (generic_mourn_inferior): Use current_inferior.
5858         * target.h (struct target_ops) <thread_address_space>: Delete.
5859         (target_thread_address_space): Delete.
5860         * thread.c (init_thread_list): Use ALL_THREADS_SAFE.  Use thread
5861         pointers directly.
5862         (delete_thread_1, delete_thread, delete_thread_silent): Take a
5863         thread pointer instead of a ptid_t.  Adjust all callers.
5864         (ptid_to_global_thread_id, global_thread_id_to_ptid): Delete.
5865         (first_thread_of_process): Delete, replaced by ...
5866         (first_thread_of_inferior): ... this new function.  All callers
5867         adjusted.
5868         (any_thread_of_process): Rename to ...
5869         (any_thread_of_inferior): ... this, and take an inferior pointer.
5870         (any_live_thread_of_process): Rename to ...
5871         (any_live_thread_of_inferior): ... this, and take an inferior
5872         pointer.
5873         (thread_stack_temporaries_enabled_p, push_thread_stack_temporary)
5874         (value_in_thread_stack_temporaries)
5875         (get_last_thread_stack_temporary): Take a thread pointer instead
5876         of a ptid_t.  Adjust all callers.
5877         (thread_info::set_running): New.
5878         (validate_registers_access): Use inferior_thread.
5879         (can_access_registers_ptid): Rename to ...
5880         (can_access_registers_thread): ... this, and take a thread
5881         pointer.
5882         (print_thread_info_1): Adjust to compare thread pointers instead
5883         of ptids.
5884         (switch_to_no_thread, switch_to_thread): Make extern.
5885         (scoped_restore_current_thread::~scoped_restore_current_thread):
5886         Use m_thread pointer directly.
5887         (scoped_restore_current_thread::scoped_restore_current_thread):
5888         Use inferior_thread.
5889         (thread_command): Use thread pointer directly.
5890         (thread_num_make_value_helper): Use inferior_thread.
5891         * top.c (execute_command): Use inferior_thread.
5892         * tui/tui-interp.c: Include "inferior.h".
5893         * varobj.c (varobj_create): Use inferior_thread.
5894         (value_of_root_1): Use find_thread_global_id instead of
5895         global_thread_id_to_ptid.
5896
5897 2018-06-21  Alan Hayward  <alan.hayward@arm.com>
5898
5899         * regcache.c (readable_regcache::read_part): Avoid memcpy when
5900         possible.
5901         (regcache::write_part): Likewise.
5902         (readable_regcache::cooked_read_part): Update comment.
5903         (readable_regcache::cooked_write_part): Likewise.
5904         * regcache.h: (readable_regcache::read_part): Likewise.
5905         (regcache::write_part): Likewise.
5906
5907 2018-06-21  Richard Bunt  <richard.bunt@arm.com>
5908             Dirk Schubert  <dirk.schubert@arm.com>
5909
5910         * aarch64-linux-nat.c (post_attach): New.
5911         (aarch64_linux_nat_target::post_attach): Override post_attach to
5912         record the number of hardware debug registers.
5913
5914 2018-06-20  Tom Tromey  <tom@tromey.com>
5915
5916         * python/py-param.c (add_setshow_generic): Make parameters const.
5917         (parmpy_init): Update.
5918
5919 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5920
5921         * regcache.h (regcache_cooked_read_ftype): Rename to...
5922         (register_read_ftype): ...this, change type to function_view.
5923         (class reg_buffer) <save>: Remove src parameter.
5924         (readonly_detached_regcache) <readonly_detached_regcache>: Make
5925         parameter non-const in first overload.  Remove src parameter in
5926         second overload.
5927         * regcache.c (do_cooked_read): Remove.
5928         (readonly_detached_regcache::readonly_detached_regcache): Make
5929         parameter non-const, adjust call to other constructor.
5930         (reg_buffer::save): Remove src parameter.
5931         * frame.c (do_frame_register_read): Remove.
5932         (frame_save_as_regcache): Use lambda function.
5933         * ppc-linux-tdep.c (ppu2spu_unwind_register): Change type of src
5934         parameter to ppu2spu_data *.
5935         (ppu2spu_sniffer): Use lambda function.
5936
5937 2018-06-20  Simon Marchi  <simon.marchi@polymtl.ca>
5938
5939         * record-full.c (record_full_target::insert_breakpoint): Remove
5940         "struct" keyword, add const.
5941
5942 2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
5943
5944         * common/common-defs.h (PACKAGE_NAME, PACKAGE_VERSION,
5945         PACKAGE_STRING, PACKAGE_TARNAME): Undefine.
5946         * configure.ac: Remove AC_PREREQ, add missing quoting.
5947         * gnulib/configure.ac: Modernize usage of
5948         AC_INIT/AM_INIT_AUTOMAKE.  Remove AC_PREREQ.
5949         * gnulib/update-gnulib.sh (AUTOCONF_VERSION): Bump to 2.69.
5950         (AUTOMAKE_VERSION): Bump to 1.15.1.
5951         * configure: Re-generate.
5952         * config.in: Re-generate.
5953         * aclocal.m4: Re-generate.
5954         * gnulib/aclocal.m4: Re-generate.
5955         * gnulib/config.in: Re-generate.
5956         * gnulib/configure: Re-generate.
5957         * gnulib/import/Makefile.in: Re-generate.
5958
5959 2018-06-19  Pedro Alves  <palves@redhat.com>
5960
5961         * minsyms.c (msym_prefer_to_msym_type): New, factored out from ...
5962         (lookup_minimal_symbol_by_pc_section): ... here with
5963         gdb_assert_not_reached added.
5964
5965 2018-06-19  Pedro Alves  <palves@redhat.com>
5966
5967         * inline-frame.c (stopped_by_user_bp_inline_frame): Replace PC
5968         parameter with a block parameter.  Compare location's block symbol
5969         with the frame's block instead of addresses.
5970         (skip_inline_frames): Pass the current block instead of the
5971         frame's address.  Break out as soon as we determine the frame
5972         should not be skipped.
5973
5974 2018-06-18  Tom Tromey  <tom@tromey.com>
5975
5976         * solib-aix.c (solib_aix_get_section_offsets): Return
5977         unique_xmalloc_ptr.
5978         (solib_aix_solib_create_inferior_hook): Update.
5979
5980 2018-06-18  Tom Tromey  <tom@tromey.com>
5981
5982         * solib-darwin.c (darwin_current_sos): Use unique_xmalloc_ptr.
5983
5984 2018-06-18  Tom Tromey  <tom@tromey.com>
5985
5986         * solib-frv.c (frv_relocate_main_executable): Use
5987         unique_xmalloc_ptr.
5988         * solib-dsbt.c (dsbt_relocate_main_executable): Use
5989         unique_xmalloc_ptr.
5990
5991 2018-06-18  Tom Tromey  <tom@tromey.com>
5992
5993         * objfiles.h (inhibit_section_map_updates): Update.
5994         (resume_section_map_updates, resume_section_map_updates_cleanup):
5995         Remove.
5996         * solib-svr4.c (svr4_handle_solib_event): Update.
5997         * objfiles.c (inhibit_section_map_updates): Return
5998         scoped_restore_tmpl<int>.
5999         (resume_section_map_updates, resume_section_map_updates_cleanup):
6000         Remove.
6001
6002 2018-06-18  Tom Tromey  <tom@tromey.com>
6003
6004         * valprint.h (read_string): Update.
6005         * valprint.c (read_string): Change type of "buffer".
6006         (val_print_string): Update.
6007         * python/py-value.c (valpy_string): Update.
6008         * language.h (struct language_defn) <la_get_string>: Change
6009         type of "buffer".
6010         (default_get_string, c_get_string): Update.
6011         * language.c (default_get_string): Change type of "buffer".
6012         * guile/scm-value.c (gdbscm_value_to_string): Update.
6013         * c-lang.c (c_get_string): Change type of "buffer".
6014
6015 2018-06-18  Tom Tromey  <tom@tromey.com>
6016
6017         * ser-mingw.c (struct pipe_state_destroyer): New.
6018         (pipe_state_up): New typedef.
6019         (cleanup_pipe_state): Remove.
6020         (pipe_windows_open): Use pipe_state_up.  Don't release argv.
6021
6022 2018-06-18  Tom Tromey  <tom@tromey.com>
6023
6024         * rust-lang.h (rust_yyerror): Don't declare.
6025         * rust-lang.c (rust_language_defn): Update.
6026         * rust-exp.y (yyerror): Now static.
6027         * parse.c (parse_exp_in_context_1): Update.
6028         * p-lang.h (p_yyerror): Don't declare.
6029         * p-lang.c (p_language_defn): Update.
6030         * p-exp.y (yyerror): Now static.
6031         * opencl-lang.c (opencl_language_defn): Update.
6032         * objc-lang.c (objc_language_defn): Update.
6033         * m2-lang.h (m2_yyerror): Don't declare.
6034         * m2-lang.c (m2_language_defn): Update.
6035         * m2-exp.y (yyerror): Now static.
6036         * language.h (struct language_defn) <la_error>: Remove.
6037         * language.c (unk_lang_error): Remove.
6038         (unknown_language_defn, auto_language_defn): Remove.
6039         * go-lang.h (go_yyerror): Don't declare.
6040         * go-lang.c (go_language_defn): Update.
6041         * go-exp.y (yyerror): Now static.
6042         * f-lang.h (f_yyerror): Don't declare.
6043         * f-lang.c (f_language_defn): Update.
6044         * f-exp.y (yyerror): Now static.
6045         * d-lang.h (d_yyerror): Don't declare.
6046         * d-lang.c (d_language_defn): Update.
6047         * d-exp.y (yyerror): Now static.
6048         * c-lang.h (c_yyerror): Don't declare.
6049         * c-lang.c (c_language_defn, cplus_language_defn)
6050         (asm_language_defn, minimal_language_defn): Update.
6051         * c-exp.y (yyerror): Now static.
6052         * ada-lang.h (ada_yyerror): Don't declare.
6053         * ada-lang.c (ada_language_defn): Update.
6054         * ada-exp.y (yyerror): Now static.
6055
6056 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
6057
6058         * aarch64-linux-nat.c (fetch_sveregs_from_thread): New function.
6059         (store_sveregs_to_thread): Likewise.
6060         (aarch64_linux_fetch_inferior_registers): Check for SVE.
6061         (aarch64_linux_store_inferior_registers): Likewise.
6062         * nat/aarch64-sve-linux-ptrace.c (aarch64_sve_get_sveregs): New
6063         function.
6064         (aarch64_sve_regs_copy_to_regcache): Likewise.
6065         (aarch64_sve_regs_copy_from_regcache): Likewise.
6066         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_sveregs): New
6067         declaration.
6068         (aarch64_sve_regs_copy_to_regcache): Likewise.
6069         (aarch64_sve_regs_copy_from_regcache): Likewise.
6070         (sve_context): Structure from Linux headers.
6071         (SVE_SIG_ZREGS_SIZE): Define from Linux headers.
6072         (SVE_SIG_ZREG_SIZE): Likewise.
6073         (SVE_SIG_PREG_SIZE): Likewise.
6074         (SVE_SIG_FFR_SIZE): Likewise.
6075         (SVE_SIG_REGS_OFFSET): Likewise.
6076         (SVE_SIG_ZREGS_OFFSET): Likewise.
6077         (SVE_SIG_ZREG_OFFSET): Likewise.
6078         (SVE_SIG_ZREGS_SIZE): Likewise.
6079         (SVE_SIG_PREGS_OFFSET): Likewise.
6080         (SVE_SIG_PREG_OFFSET): Likewise.
6081         (SVE_SIG_PREGS_SIZE): Likewise.
6082         (SVE_SIG_FFR_OFFSET): Likewise.
6083         (SVE_SIG_REGS_SIZE): Likewise.
6084         (SVE_SIG_CONTEXT_SIZE): Likewise.
6085         (SVE_PT_REGS_MASK): Likewise.
6086         (SVE_PT_REGS_FPSIMD): Likewise.
6087         (SVE_PT_REGS_SVE): Likewise.
6088         (SVE_PT_VL_INHERIT): Likewise.
6089         (SVE_PT_VL_ONEXEC): Likewise.
6090         (SVE_PT_REGS_OFFSET): Likewise.
6091         (SVE_PT_FPSIMD_OFFSET): Likewise.
6092         (SVE_PT_FPSIMD_SIZE): Likewise.
6093         (SVE_PT_SVE_ZREG_SIZE): Likewise.
6094         (SVE_PT_SVE_PREG_SIZE): Likewise.
6095         (SVE_PT_SVE_FFR_SIZE): Likewise.
6096         (SVE_PT_SVE_FPSR_SIZE): Likewise.
6097         (SVE_PT_SVE_FPCR_SIZE): Likewise.
6098         (__SVE_SIG_TO_PT): Likewise.
6099         (SVE_PT_SVE_OFFSET): Likewise.
6100         (SVE_PT_SVE_ZREGS_OFFSET): Likewise.
6101         (SVE_PT_SVE_ZREG_OFFSET): Likewise.
6102         (SVE_PT_SVE_ZREGS_SIZE): Likewise.
6103         (SVE_PT_SVE_PREGS_OFFSET): Likewise.
6104         (SVE_PT_SVE_PREG_OFFSET): Likewise.
6105         (SVE_PT_SVE_PREGS_SIZE): Likewise.
6106         (SVE_PT_SVE_FFR_OFFSET): Likewise.
6107         (SVE_PT_SVE_FPSR_OFFSET): Likewise.
6108         (SVE_PT_SVE_FPCR_OFFSET): Likewise.
6109         (SVE_PT_SVE_SIZE): Likewise.
6110         (SVE_PT_SIZE): Likewise.
6111         (HAS_SVE_STATE): New define.
6112
6113 2018-06-18  Alan Hayward  <alan.hayward@arm.com>
6114
6115         * nat/aarch64-sve-linux-sigcontext.h: New file.
6116         * nat/aarch64-sve-linux-ptrace.h (SVE_VQ_BYTES): Move to
6117         new files.
6118         (SVE_VQ_MIN): Likewise.
6119         (SVE_VQ_MAX): Likewise.
6120         (SVE_VL_MIN): Likewise.
6121         (SVE_VL_MAX): Likewise.
6122         (SVE_NUM_ZREGS): Likewise.
6123         (SVE_NUM_PREGS): Likewise.
6124         (sve_vl_valid): Likewise.
6125         (struct user_sve_header): Likewise.
6126
6127 2018-06-16  Andrew Burgess  <andrew.burgess@embecosm.com>
6128             Richard Bunt <Richard.Bunt@arm.com>
6129
6130         * linux-nat.c (stop_wait_callback): Don't discard SIGSTOP if it
6131         was requested by GDB.
6132
6133 2018-06-15  Tom de Vries  <tdevries@suse.de>
6134
6135         * MAINTAINERS (Write After Approval): Add Tom de Vries.
6136
6137 2018-06-14  Simon Marchi  <simon.marchi@polymtl.ca>
6138
6139         * gnulib/update-gnulib.sh: Print expected versions of
6140         autoconf/aclocal.
6141
6142 2018-06-14  Simon Marchi  <simon.marchi@ericsson.com>
6143
6144         * arch-utils.c (default_type_align): Use type_length_units.
6145         * gdbtypes.c (type_align): Use type_length_units.
6146
6147 2018-06-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
6148
6149         * cli/cli-script.c (_initialize_cli_script): Fix online documentation
6150         of 'define' command.
6151
6152 2018-06-14  Tom de Vries  <tdevries@suse.de>
6153
6154         PR cli/22573
6155         * infcmd.c (print_return_value_1): Use get_user_print_options instead of
6156         get_no_prettyformat_print_options.
6157
6158 2018-06-13  Simon Marchi  <simon.marchi@ericsson.com>
6159
6160         * sparc-nat.h: Include target.h.
6161         * sparc64-linux-nat.c (class sparc64_linux_nat_target)
6162         <fetch_registers>: Remove this argument in function call.
6163         <store_registers>: Remove this argument in function call, remove
6164         extra semicolon.
6165         <low_forget_process>: Call sparc64_forget_process instead of
6166         sparc_forget_process.
6167
6168 2018-06-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6169
6170         * procfs.c (_initialize_procfs): Use add_inf_child_target.
6171         (procfs_target::make_corefile_notes): Adjust to new
6172         target_read_alloc return type.
6173
6174 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6175             Stephen Roberts  <stephen.roberts@arm.com>
6176
6177         PR gdb/22882
6178         * infrun.c (fetch_inferior_event): If GDB is not proceeding then
6179         run INF_EXEC_COMPLETE handler, even when not calling normal_stop.
6180         Move should_notify_stop local into more inner scope.
6181
6182 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6183             Stephen Roberts  <stephen.roberts@arm.com>
6184
6185         PR gdb/22882
6186         * infrun.c (resume_1): Add call to mark_async_event_handler.
6187
6188 2018-06-12  Andrew Burgess  <andrew.burgess@embecosm.com>
6189
6190         * infrun.c (do_target_wait): Change old version of $pc printed.
6191
6192 2018-06-11  Simon Marchi  <simon.marchi@ericsson.com>
6193
6194         * dwarf2read.c (read_index_from_section): Rename to...
6195         (read_gdb_index_from_section): ... this, update all callers.
6196         (dwarf2_read_index): Rename to...
6197         (dwarf2_read_gdb_index): ... this, update all callers.
6198
6199 2018-06-11  John David Anglin  <danglin@gcc.gnu.org>
6200
6201         * gdb/hppa-linux-nat.c
6202         (hppa_linux_nat_target::fetch_inferior_registers): Rename to
6203         hppa_linux_nat_target::fetch_registers.
6204
6205 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6206
6207         * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Add mappings.
6208         * aarch64-tdep.h (AARCH64_DWARF_SVE_VG): Add define.
6209         (AARCH64_DWARF_SVE_FFR): Likewise.
6210         (AARCH64_DWARF_SVE_P0): Likewise.
6211         (AARCH64_DWARF_SVE_Z0): Likewise.
6212
6213 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6214
6215         * common/common-regcache.h (raw_compare): New function.
6216         * regcache.c (regcache::raw_compare): Likewise.
6217         * regcache.h (regcache::raw_compare): New declaration.
6218
6219 2018-06-11  Alan Hayward  <alan.hayward@arm.com>
6220
6221         * common/common-regcache.h (reg_buffer_common): New structure.
6222         * regcache.c (reg_buffer::invalidate): Move from detached_regcache.
6223         (reg_buffer::raw_supply): Likewise.
6224         (reg_buffer::raw_supply_integer): Likewise.
6225         (reg_buffer::raw_supply_zeroed): Likewise.
6226         (reg_buffer::raw_collect): Likewise.
6227         (reg_buffer::raw_collect_integer): Likewise.
6228         * regcache.h (reg_buffer::invalidate): Move from detached_regcache.
6229         (reg_buffer::raw_supply): Likewise.
6230         (reg_buffer::raw_supply_integer): Likewise.
6231         (reg_buffer::raw_supply_zeroed): Likewise.
6232         (reg_buffer::raw_collect): Likewise.
6233         (reg_buffer::raw_collect_integer): Likewise.
6234
6235 2018-06-10  Tom Tromey  <tom@tromey.com>
6236
6237         * remote.c (stop_reply_p): Remove typedef.  Don't declare queue.
6238         (class remote_state) <stop_reply_queue>: Now std::vector.
6239         (remote_state::~remote_state)
6240         (remote_target::stop_reply_queue_length): Update.
6241         (struct queue_iter_param, remove_child_of_pending_fork)
6242         (struct check_pending_event_prevents_wildcard_vcont_callback_data)
6243         (check_pending_event_prevents_wildcard_vcont_callback)
6244         (remove_stop_reply_for_inferior)
6245         (remove_stop_reply_of_remote_state)
6246         (remote_notif_remove_once_on_match)
6247         (stop_reply_match_ptid_and_ws)
6248         (remote_kill_child_of_pending_fork): Remove.
6249         (remote_target::remove_new_fork_children)
6250         (remote_target::check_pending_events_prevent_wildcard_vcont)
6251         (remote_target::discard_pending_stop_replies)
6252         (remote_target::discard_pending_stop_replies_in_queue)
6253         (remote_target::remote_notif_remove_queued_reply)
6254         (remote_target::queued_stop_reply)
6255         (remote_target::push_stop_reply, remote_target::peek_stop_reply)
6256         (remote_target::wait, remote_target::kill_new_fork_children)
6257         (remote_target::async): Update.
6258
6259 2018-06-10  Tom Tromey  <tom@tromey.com>
6260
6261         * record-full.c (record_full_arch_list_cleanups): Remove.
6262         (record_full_message): Use try/catch.
6263         (record_full_wait_cleanups): Remove.
6264         (record_full_wait_1): Use try/catch.
6265         (record_full_restore): Likewise.
6266
6267 2018-06-10  Tom Tromey  <tom@tromey.com>
6268
6269         * record-full.c (record_full_breakpoint_p): Remove typedef.  Don't
6270         declare VEC.  Add constructor.
6271         <in_target_beneath>: Now bool.
6272         (record_full_breakpoints): Now a std::vector, static.
6273         (record_full_sync_record_breakpoints)
6274         (record_full_init_record_breakpoints)
6275         (record_full_target::insert_breakpoint)
6276         (record_full_target::remove_breakpoint): Update.  Don't use XNEW.
6277
6278 2018-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
6279
6280         * dwarf2read.c (process_cu_includes): Remove struct keyword.
6281         * serial.c (serial_interface_lookup): Remove struct keyword.
6282
6283 2018-06-10  Tom Tromey  <tom@tromey.com>
6284
6285         * procfs.c (procfs_target::xfer_partial): Use "beneath" as a
6286         method.
6287         * nto-procfs.c (nto_procfs_target::xfer_partial): Use "beneath" as
6288         a method.
6289         * go32-nat.c (go32_nat_target::xfer_partial): Use "beneath" as a
6290         method.
6291         * arm-linux-nat.c (arm_linux_nat_target::read_description): Use
6292         "beneath" as a method.
6293         * arm-fbsd-nat.c (arm_fbsd_nat_target::read_description):
6294         Use "beneath" as a method.
6295
6296 2018-06-10  Tom Tromey  <tom@tromey.com>
6297
6298         * tracefile.c (struct trace_file_writer_deleter): New.
6299         <operator()>: Rename from trace_file_writer_xfree.
6300         (trace_file_writer_up): New typedef.
6301         (tsave_command, trace_save_tfile, trace_save_ctf): Update.
6302
6303 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
6304
6305         * regcache.h (reg_buffer) <~reg_buffer>: Use default destructor.
6306         <m_registers, m_register_status>: Change type to
6307         std::unique_ptr.
6308         * regcache.c (reg_buffer::reg_buffer): Use new instead of
6309         XCNEWVEC.
6310
6311 2018-06-09  Simon Marchi  <simon.marchi@ericsson.com>
6312
6313         * common/common-regcache.h (enum register_status): Add
6314         underlying type "signed char".
6315         * regcache.h (reg_buffer) <m_register_status>: Change type to
6316         register_status *.
6317         * regcache.c (reg_buffer::reg_buffer): Alocate arrays of
6318         register_status instead of signed char.
6319         (reg_buffer::save): Use REG_UNKNOWN instead of 0.
6320         (reg_buffer::get_register_status): Remove cast.
6321         (readable_regcache::raw_read): Remove cast.
6322         (readable_regcache::cooked_read): Remove cast.
6323
6324 2018-06-09  Tom Tromey  <tom@tromey.com>
6325
6326         * source.c (reverse_search_command, forward_search_command): Use
6327         scoped_fd.
6328
6329 2018-06-09  Tom Tromey  <tom@tromey.com>
6330
6331         * serial.c (serial_ops_p): Remove typedef.  Don't declare VEC.
6332         (serial_ops_list): Now static, std::vector.
6333         (serial_interface_lookup, serial_add_interface): Update.
6334
6335 2018-06-09  Tom Tromey  <tom@tromey.com>
6336
6337         * dwarf2read.c (process_cu_includes): Update.
6338         (process_full_comp_unit): Update.
6339         * dwarf2read.h (struct dwarf2_per_objfile) <just_read_cus>: Now a
6340         std::vector.
6341
6342 2018-06-08  Paul Koning  <paul_koning@dell.com>
6343
6344         PR gdb/23252
6345
6346         * python/python.c (do_start_initialization):
6347         Avoid call to internal Python API.
6348         (init__gdb_module): New function.
6349
6350 2018-06-08  Gary Benson <gbenson@redhat.com>
6351
6352         * linux-thread-db.c (valprint.h): New include.
6353         (struct check_thread_db_info): New structure.
6354         (check_thread_db_on_load, tdb_testinfo): New static globals.
6355         (check_thread_db, check_thread_db_callback): New functions.
6356         (try_thread_db_load_1): Run integrity checks if requested.
6357         (maintenance_check_libthread_db): New function.
6358         (_initialize_thread_db): Register "maint check libthread-db"
6359         and "maint set/show check-libthread-db".
6360         * NEWS: Mention the above new commands.
6361
6362 2018-06-08  Tom Tromey  <tom@tromey.com>
6363
6364         * windows-nat.c (windows_nat_target::xfer_partial): "beneath" is
6365         now a method.
6366
6367 2018-06-08  Tom Tromey  <tom@tromey.com>
6368
6369         * btrace.c (parse_xml_raw): Use gdb::unique_xmalloc_ptr.
6370
6371 2018-06-08  Tom Tromey  <tom@tromey.com>
6372
6373         * common/btrace-common.h (struct btrace_data): Add constructor,
6374         destructor, move assignment operator.
6375         <empty, clear, fini>: New methods.
6376         <format>: Initialize.
6377         (btrace_data_init, btrace_data_fini, btrace_data_clear)
6378         (btrace_data_empty): Don't declare.
6379         * common/btrace-common.c (btrace_data_init): Remove.
6380         (btrace_data::fini): Rename from btrace_data_fini.
6381         (btrace_data::empty): Rename from btrace_data_empty.
6382         (btrace_data::clear): Rename from btrace_data_clear.  Return
6383         bool.
6384         * btrace.h (make_cleanup_btrace_data): Don't declare.
6385         * btrace.c (btrace_add_pc, btrace_stitch_trace, btrace_clear)
6386         (parse_xml_btrace): Update.
6387         (do_btrace_data_cleanup, make_cleanup_btrace_data): Remove.
6388         (maint_btrace_clear_packet_history_cmd): Update.
6389
6390 2018-06-07  Pedro Alves  <palves@redhat.com>
6391
6392         * target.h (target_ops) <beneath>: Now a method.  All references
6393         updated.
6394         (class target_stack): New.
6395         * target.c (g_target_stack): New.
6396         (g_current_top_target): Delete.
6397         (current_top_target): Get the top target out of g_target_stack.
6398         (target_stack::push, target_stack::unpush): New.
6399         (push_target, unpush_target): Reimplement.
6400         (target_is_pushed): Reimplement in terms of g_target_stack.
6401         (target_ops::beneath, target_stack::find_beneath): New.
6402
6403 2018-06-07  Pedro Alves  <palves@redhat.com>
6404
6405         * target.h (find_target_beneath): Delete declaration.
6406         * target.c (find_target_beneath): Delete definition.
6407         * aix-thread.c: All callers of find_target_beneath adjusted to
6408         call target_ops::beneath instead.
6409         * bsd-uthread.c: Likewise.
6410         * linux-thread-db.c: Likewise.
6411         * ravenscar-thread.c: Likewise.
6412         * sol-thread.c: Likewise.
6413         * spu-multiarch.c: Likewise.
6414
6415 2018-06-07  Pedro Alves  <palves@redhat.com>
6416
6417         * target.h (target_ops) <beneath>: Now a method.  All references
6418         updated.
6419         (target_ops) <m_beneath>: New.
6420         * target.c (target_ops::beneath): New.
6421         * corelow.c: Adjust all references to target_ops::beneath.
6422         * linux-thread-db.c: Likewise.
6423         * make-target-delegates: Likewise.
6424         * record-btrace.c: Likewise.
6425         * record-full.c: Likewise.
6426         * remote.c: Likewise.
6427         * target.c: Likewise.
6428         * target-delegates.c: Regenerate.
6429
6430 2018-06-07  Pedro Alves  <palves@redhat.com>
6431
6432         * target.h (target_stack): Delete.
6433         (current_top_target): Declare function.
6434         * target.c (target_stack): Delete.
6435         (g_current_top_target): New.
6436         (current_top_target): New function.
6437         * auxv.c: Use current_top_target instead of target_stack
6438         throughout.
6439         * avr-tdep.c: Likewise.
6440         * breakpoint.c: Likewise.
6441         * corefile.c: Likewise.
6442         * elfread.c: Likewise.
6443         * eval.c: Likewise.
6444         * exceptions.c: Likewise.
6445         * frame.c: Likewise.
6446         * gdbarch-selftests.c: Likewise.
6447         * gnu-v3-abi.c: Likewise.
6448         * ia64-tdep.c: Likewise.
6449         * ia64-vms-tdep.c: Likewise.
6450         * infcall.c: Likewise.
6451         * infcmd.c: Likewise.
6452         * infrun.c: Likewise.
6453         * linespec.c: Likewise.
6454         * linux-tdep.c: Likewise.
6455         * minsyms.c: Likewise.
6456         * ppc-linux-nat.c: Likewise.
6457         * ppc-linux-tdep.c: Likewise.
6458         * procfs.c: Likewise.
6459         * regcache.c: Likewise.
6460         * remote.c: Likewise.
6461         * rs6000-tdep.c: Likewise.
6462         * s390-linux-nat.c: Likewise.
6463         * s390-tdep.c: Likewise.
6464         * solib-aix.c: Likewise.
6465         * solib-darwin.c: Likewise.
6466         * solib-dsbt.c: Likewise.
6467         * solib-spu.c: Likewise.
6468         * solib-svr4.c: Likewise.
6469         * solib-target.c: Likewise.
6470         * sparc-tdep.c: Likewise.
6471         * sparc64-tdep.c: Likewise.
6472         * spu-tdep.c: Likewise.
6473         * symfile.c: Likewise.
6474         * symtab.c: Likewise.
6475         * target-descriptions.c: Likewise.
6476         * target-memory.c: Likewise.
6477         * target.c: Likewise.
6478         * target.h: Likewise.
6479         * tracefile-tfile.c: Likewise.
6480         * tracepoint.c: Likewise.
6481         * valops.c: Likewise.
6482         * valprint.c: Likewise.
6483         * value.c: Likewise.
6484         * windows-tdep.c: Likewise.
6485         * mi/mi-main.c: Likewise.
6486
6487 2018-06-07  Tom Tromey  <tom@tromey.com>
6488
6489         * valprint.h (build_address_symbolic): Declare.
6490         * printcmd.c (print_address_symbolic): Update.
6491         (build_address_symbolic): Change "name" and "filename" to
6492         std::string.
6493         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
6494         Update.
6495         * defs.h (build_address_symbolic): Remove declaration.
6496
6497 2018-06-07  Alan Hayward  <alan.hayward@arm.com>
6498
6499         * aarch64-tdep.c (AARCH64_SVE_V0_REGNUM): Add define.
6500         (aarch64_vnv_type): Add function.
6501         (aarch64_pseudo_register_name): Add V regs for SVE.
6502         (aarch64_pseudo_register_type): Likewise.
6503         (aarch64_pseudo_register_reggroup_p): Likewise.
6504         (aarch64_pseudo_read_value_2): Use V0 offset for SVE
6505         (aarch64_pseudo_read_value): Add V regs for SVE.
6506         (aarch64_pseudo_write_2): Use V0 offset for SVE
6507         (aarch64_pseudo_write): Add V regs for SVE.
6508         * aarch64-tdep.h (struct gdbarch_tdep): Add vnv_type.
6509
6510 2018-06-06  Sergio Durigan Junior  <sergiodj@redhat.com>
6511
6512         * arch/aarch64.h (sve_vq_from_vl): Guard with #ifndef.
6513         (sve_vl_from_vq): Likewise.
6514
6515 2018-06-05  Tom Tromey  <tom@tromey.com>
6516
6517         * cli/cli-cmds.c (show_version): Update.
6518         * top.c (print_gdb_version): Add "interactive" parameter.
6519         Update.
6520         * main.c (captured_main_1): Update.
6521         * top.h (print_gdb_version): Add "interactive" parameter and a
6522         comment.
6523
6524 2018-06-05  David Malcolm  <dmalcolm@redhat.com>
6525
6526         * common/enum-flags.h: Add trailing semicolon to example in
6527         comment.
6528
6529 2018-06-05  Tom Tromey  <tom@tromey.com>
6530
6531         PR cli/12326:
6532         * NEWS: Add entry about pager.
6533         * utils.c (pagination_disabled_for_command): New global.
6534         (prompt_for_continue): Allow "c" response to prompt.
6535         (reinitialize_more_filter): Clear
6536         pagination_disabled_for_command.
6537         (fputs_maybe_filtered): Check pagination_disabled_for_command.
6538
6539 2018-06-04  Tom Tromey  <tom@tromey.com>
6540
6541         * ada-lang.h (ada_lookup_symbol_list): Update.
6542         * ada-lang.c (resolve_subexp): Update.
6543         (symbols_are_identical_enums): Change type of syms.  Remove nsyms
6544         parameter.
6545         (remove_extra_symbols, remove_irrelevant_renamings): Likewise.
6546         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Change
6547         results parameter to std::vector.
6548         (ada_iterate_over_symbols, ada_lookup_symbol, get_var_value):
6549         Update.
6550         * ada-exp.y (block_lookup): Update.
6551         (select_possible_type_sym): Change type of syms.  Remove nsyms
6552         parameter.
6553         (write_var_or_type, write_name_assoc): Update.
6554
6555 2018-06-04  Joel Brobecker  <brobecker@adacore.com>
6556
6557         * windows-nat.c (windows_nat_target::xfer_partial): Return
6558         TARGET_XFER_E_IO if we need to delegate to the target beneath
6559         but BENEATH is NULL.
6560
6561 2018-06-04  Simon Marchi  <simon.marchi@ericsson.com>
6562
6563         * Makefile.in (config.status): Add configure.nat as a
6564         dependency.
6565
6566 2018-06-04  Tom Tromey  <tom@tromey.com>
6567
6568         * cp-name-parser.y (cpname_state): Add method declarations.
6569         (HANDLE_QUAL): Update.
6570         (cpname_state::d_grab, cpname_state::fill_comp)
6571         (cpname_state::make_operator, cpname_state::make_dtor)
6572         (cpname_state::make_builtin_type, cpname_state::make_name)
6573         (cpname_state::d_qualify, cpname_state::d_int_type)
6574         (cpname_state::d_unary, cpname_state::d_binary): Now methods.
6575         (%union): Move earlier.
6576
6577 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6578
6579         * elfread.c (elf_symfile_segments): Use ELF_SECTION_IN_SEGMENT.
6580
6581 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6582
6583         * aarch64-tdep.c (aarch64_pseudo_read_value_1): New helper func.
6584         (aarch64_pseudo_write_1): Likewise.
6585         (aarch64_pseudo_read_value): Use helper.
6586         (aarch64_pseudo_write): Likewise.
6587
6588 2018-06-04  Pedro Alves  <palves@redhat.com>
6589
6590         * darwin-nat.c (darwin_ops): Delete.
6591         (darwin_attach_pid): Use get_native_target.
6592
6593 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6594
6595         * aarch64-tdep.c (aarch64_get_tdesc_vq): Use uint64_t for VQ.
6596         * aarch64-tdep.h (struct gdbarch_tdep): Likewise.
6597
6598 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6599
6600         * aarch64-linux-nat.c (aarch64_linux_read_description): Support SVE.
6601         * aarch64-tdep.c (aarch64_get_tdesc_vq): New function.
6602         (aarch64_gdbarch_init): Check for SVE.
6603         * aarch64-tdep.h (gdbarch_tdep::has_sve): New function.
6604
6605 2018-06-04  Alan Hayward  <alan.hayward@arm.com>
6606
6607         * aarch64-tdep.c (aarch64_read_description): Use uint64_t for VQ.
6608         * aarch64-tdep.h (aarch64_read_description): Likewise.
6609         * arch/aarch64.c (aarch64_create_target_description): Likewise.
6610         * arch/aarch64.h (aarch64_create_target_description): Likewise.
6611         * features/aarch64-sve.c (create_feature_aarch64_sve): Likewise.
6612         * nat/aarch64-sve-linux-ptrace.c(aarch64_sve_get_vq): Likewise.
6613         * nat/aarch64-sve-linux-ptrace.h (aarch64_sve_get_vq): Likewise.
6614
6615 2018-06-02  Simon Marchi  <simon.marchi@ericsson.com>
6616
6617         * value.c (value_fetch_lazy_bitfield): New.
6618         (value_fetch_lazy_memory): New.
6619         (value_fetch_lazy_register): New.
6620         (value_fetch_lazy): Factor out to smaller functions.
6621
6622 2018-06-01  Tom Tromey  <tom@tromey.com>
6623
6624         * cp-name-parser.y (backslashable, represented): Now const.
6625
6626 2018-06-01  Tom Tromey  <tom@tromey.com>
6627
6628         * cp-name-parser.y: Include parser-defs.h.
6629         (parser_fprintf): Remove declaration.
6630
6631 2018-06-01  Tom Tromey  <tom@tromey.com>
6632
6633         * cp-name-parser.y: Use %pure-parser, %lex-param, and
6634         %parse-param.
6635         (lexptr, prev_lexptr, error_lexptr, global_errmsg, demangle_info)
6636         (global_result): Remove globals.
6637         (struct cpname_state): New.
6638         (yyparse): Don't declare.
6639         (yylex, yyerror): Move declarations after %union.
6640         (d_grab, fill_comp, make_operator, make_dtor, make_builtin_type)
6641         (make_name): Add state parameter.
6642         Update all callers.
6643         (d_qualify, d_int_type, d_unary, d_binary, parse_number) Add state
6644         parameter.
6645         (HANDLE_QUAL, HANDLE_SPECIAL, HANDLE_TOKEN2, HANDLE_TOKEN3):
6646         Update.
6647         (yylex): Add lvalp, state parameters.
6648         (yyerror): Add state parameter.
6649         (cp_demangled_name_to_comp): Update.
6650
6651 2018-06-01  Tom Tromey  <tom@tromey.com>
6652
6653         * cp-name-parser.y (parser_fprintf): Declare.
6654         (GDB_YY_REMAP_PREFIX): Define.
6655         Include yy-remap.h.  Don't redefine yy* identifiers.
6656
6657 2018-06-01  Tom Tromey  <tom@tromey.com>
6658
6659         * python/py-type.c (typy_legacy_template_argument): Update.
6660         * cp-support.h (cp_demangled_name_to_comp): Update.
6661         * cp-name-parser.y (cp_demangled_name_to_comp): Change errmsg
6662         parameter to be a "std::string *".
6663         (main): Update.
6664
6665 2018-06-01  H.J. Lu  <hongjiu.lu@intel.com>
6666
6667         * ada-lex.l: Include "diagnostics.h" instead of
6668         "common/diagnostics.h".
6669         * unittests/environ-selftests.c: Likewise.
6670         * common/diagnostics.h: Moved to ../include.
6671
6672 2018-06-01  Joel Brobecker  <brobecker@adacore.com>
6673
6674         * breakpoint.c (breakpoint_re_set): Temporarily force language_mode
6675         to language_mode_manual while calling breakpoint_re_set_one.
6676
6677 2018-06-01  Tom Tromey  <tom@tromey.com>
6678
6679         * valops.c (value_cast_structs, destructor_name_p): Update.
6680         * symtab.c (gdb_mangle_name): Update.
6681         * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses):
6682         Update.
6683         * p-valprint.c (pascal_object_is_vtbl_ptr_type)
6684         (pascal_object_print_value_fields, pascal_object_print_value):
6685         Update.
6686         * p-typeprint.c (pascal_type_print_derivation_info): Update.
6687         * linespec.c (find_methods): Update.
6688         * gdbtypes.h (type_name_no_tag): Remove.
6689         (type_name_or_error): Rename from type_name_no_tag_or_error.
6690         * gdbtypes.c (type_name_no_tag): Remove.
6691         (type_name_or_error): Rename from type_name_no_tag_or_error.
6692         (lookup_struct_elt_type, check_typedef): Update.
6693         * expprint.c (print_subexp_standard): Update.
6694         * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update.
6695         * d-namespace.c (d_lookup_nested_symbol): Update.
6696         * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields)
6697         (cp_print_class_member): Update.
6698         * cp-namespace.c (cp_lookup_nested_symbol): Update.
6699         * completer.c (add_struct_fields): Update.
6700         * c-typeprint.c (cp_type_print_derivation_info)
6701         (c_type_print_varspec_prefix, c_type_print_base_struct_union):
6702         Update.
6703         * ada-lang.c (parse_old_style_renaming, xget_renaming_scope)
6704         (ada_prefer_type, ada_is_exception_sym): Update.
6705
6706 2018-06-01  Tom Tromey  <tom@tromey.com>
6707
6708         * valops.c (enum_constant_from_type, value_namespace_elt)
6709         (value_maybe_namespace_elt): Update.
6710         * valarith.c (find_size_for_pointer_math): Update.
6711         * target-descriptions.c (make_gdb_type): Update.
6712         * symmisc.c (print_symbol): Update.
6713         * stabsread.c (define_symbol, read_type)
6714         (complain_about_struct_wipeout, add_undefined_type)
6715         (cleanup_undefined_types_1): Update.
6716         * rust-lang.c (rust_tuple_type_p, rust_slice_type_p)
6717         (rust_range_type_p, val_print_struct, rust_print_struct_def)
6718         (rust_internal_print_type, rust_composite_type)
6719         (rust_evaluate_funcall, rust_evaluate_subexp)
6720         (rust_inclusive_range_type_p): Update.
6721         * python/py-type.c (typy_get_tag): Update.
6722         * p-typeprint.c (pascal_type_print_base): Update.
6723         * mdebugread.c (parse_symbol, parse_type): Update.
6724         * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum):
6725         Update.
6726         * guile/scm-type.c (gdbscm_type_tag): Update.
6727         * go-lang.c (sixg_string_p): Update.
6728         * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type):
6729         Update.
6730         * gdbtypes.h (struct main_type) <tag_name>: Remove.
6731         (TYPE_TAG_NAME): Remove.
6732         * gdbtypes.c (type_name_no_tag): Simplify.
6733         (check_typedef, check_types_equal, recursive_dump_type)
6734         (copy_type_recursive, arch_composite_type): Update.
6735         * f-typeprint.c (f_type_print_base): Update.  Print "Type" prefix
6736         in summary mode when needed.
6737         * eval.c (evaluate_funcall): Update.
6738         * dwarf2read.c (fixup_go_packaging, read_structure_type)
6739         (process_structure_scope, read_enumeration_type)
6740         (read_namespace_type, read_module_type, determine_prefix): Update.
6741         * cp-support.c (inspect_type): Update.
6742         * coffread.c (process_coff_symbol, decode_base_type): Update.
6743         * c-varobj.c (c_is_path_expr_parent): Update.
6744         * c-typeprint.c (c_type_print_base_struct_union): Update.
6745         (c_type_print_base_1): Update.  Print struct/class/union/enum in
6746         summary when using C language.
6747         * ax-gdb.c (gen_struct_ref, gen_namespace_elt)
6748         (gen_maybe_namespace_elt): Update.
6749         * ada-lang.c (ada_type_name): Simplify.
6750         (empty_record, ada_template_to_fixed_record_type_1)
6751         (template_to_static_fixed_type)
6752         (to_record_with_fixed_variant_part, ada_check_typedef): Update.
6753
6754 2018-06-01  Tom Tromey  <tom@tromey.com>
6755
6756         * dwarf2read.c (dwarf2_compute_name): Pass CU's language to
6757         c_print_type.
6758         * c-typeprint.c (c_print_type_1): Add "language" parameter.
6759         (c_print_type): Update.
6760         (c_print_type): New overload.
6761         (c_type_print_varspec_prefix, c_type_print_args)
6762         (c_type_print_varspec_suffix, c_print_type_no_offsets)
6763         (c_type_print_base_struct_union, c_type_print_base_1)
6764         (cp_type_print_method_args): Add "language" parameter.
6765         (c_type_print_base): Update.
6766         * c-lang.h (c_print_type): Add new overload.
6767
6768 2018-06-01  Tom Tromey  <tom@tromey.com>
6769
6770         * typeprint.h (c_type_print_varspec_suffix): Don't declare.
6771         * c-typeprint.c (c_type_print_varspec_suffix): Now static.
6772
6773 2018-06-01  Alan Hayward  <alan.hayward@arm.com>
6774
6775         * aarch64-tdep.c (aarch64_sve_register_names): New const
6776         var.
6777         * arch/aarch64.h (enum aarch64_regnum): Add SVE entries.
6778         (AARCH64_SVE_Z_REGS_NUM): New define.
6779         (AARCH64_SVE_P_REGS_NUM): Likewise.
6780         (AARCH64_SVE_NUM_REGS): Likewise.
6781
6782 2018-05-31  Uros Bizjak  <ubizjak@gmail.com>
6783
6784         * nat/linux-ptrace.h [__alpha__]
6785         (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove
6786         definitions.
6787
6788 2018-05-31  Maciej W. Rozycki  <macro@mips.com>
6789
6790         * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to
6791         the endianness selected.
6792         * NEWS: Document `set endian auto' mode operation update.
6793
6794 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6795
6796         * Makefile.in: Add new header.
6797         * gdb/arch/aarch64.h (sve_vg_from_vl): New macro.
6798         (sve_vl_from_vg): Likewise.
6799         (sve_vq_from_vl): Likewise.
6800         (sve_vl_from_vq): Likewise.
6801         (sve_vq_from_vg): Likewise.
6802         (sve_vg_from_vq): Likewise.
6803         * configure.nat: Add new c file.
6804         * nat/aarch64-sve-linux-ptrace.c: New file.
6805         * nat/aarch64-sve-linux-ptrace.h: New file.
6806
6807 2018-05-31  Alan Hayward  <alan.hayward@arm.com>
6808
6809         * aarch64-linux-nat.c (aarch64_linux_read_description):
6810         Add parmeter zero.
6811         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
6812         Likewise.
6813         * aarch64-tdep.c (tdesc_aarch64_list): Add.
6814         (aarch64_read_description): Use VQ to index tdesc_aarch64_list.
6815         (aarch64_gdbarch_init): Add parmeter zero.
6816         * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter.
6817         * arch/aarch64.c (aarch64_create_target_description): Check VQ.
6818         * arch/aarch64.h (aarch64_create_target_description): Add VQ.
6819         parmeter.
6820         * doc/gdb.texinfo: Describe SVE feature
6821         * features/aarch64-sve.c: New file.
6822
6823 2018-05-31  Omair Javaid  <omair.javaid@linaro.org>
6824
6825         PR gdb/23210
6826         * gdbarch.sh (significant_addr_bit): Default to zero when
6827         not set by target architecture.
6828         * gdbarch.c: Re-generated.
6829         * utils.c (address_significant): Update.
6830
6831 2018-05-30  Joel Brobecker  <brobecker@adacore.com>
6832
6833         * stack.c (func_command): Remove trailing newline in call to error.
6834
6835 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6836
6837         * regcache.h (regcache_raw_collect): Remove, update callers to
6838         use regcache::raw_collect.
6839         * regcache.c (regcache_raw_collect): Remove.
6840
6841 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6842
6843         * regcache.h (regcache_raw_supply): Remove, update callers to
6844         use detached_regcache::raw_supply.
6845         * regcache.c (regcache_raw_supply): Remove.
6846
6847 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6848
6849         * regcache.h (regcache_cooked_write_part): Remove, update
6850         callers to use regcache::cooked_write_part.
6851         * regcache.c (regcache_cooked_write_part): Remove.
6852
6853 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6854
6855         * regcache.h (regcache_cooked_read_part): Remove, update callers
6856         to use readable_regcache::cooked_read_part.
6857         * regcache.c (regcache_cooked_read_part): Remove.
6858
6859 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6860
6861         * regcache.h (regcache_cooked_read_value): Remove, update
6862         callers to use readable_regcache::cooked_read_value.
6863         * regcache.c (regcache_cooked_read_value): Remove.
6864
6865 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6866
6867         * regcache.h (regcache_cooked_write): Remove, update callers to
6868         use regcache::cooked_write.
6869         * regcache.c (regcache_cooked_write): Remove.
6870
6871 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6872
6873         * regcache.h (regcache_invalidate): Remove, update callers to
6874         use detached_regcache::invalidate instead.
6875         * regcache.c (regcache_invalidate): Remove.
6876
6877 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6878
6879         * regcache.h (regcache_raw_write_part): Remove, update callers
6880         to use regcache::raw_write_part instead.
6881         * regcache.c (regcache_raw_write_part): Remove.
6882
6883 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6884
6885         * regcache.h (regcache_raw_read_part): Remove, update callers to
6886         use readable_regcache::raw_read_part instead.
6887         * regcache.c (regcache_raw_read_part): Remove.
6888
6889 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6890
6891         * regcache.h (regcache_cooked_read): Remove, update callers to
6892         use readable_regcache::cooked_read instead.
6893         * regcache.c (regcache_cooked_read): Remove.
6894
6895 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6896
6897         * regcache.h (regcache_raw_write): Remove, update callers to use
6898         regcache::raw_write instead.
6899         * regcache.c (regcache_raw_write): Remove.
6900
6901 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6902
6903         * regcache.h (regcache_raw_read): Remove, update callers to use
6904         readable_regcache::raw_read instead.
6905         * regcache.c (regcache_raw_read): Remove.
6906
6907 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6908
6909         * regcache.h (regcache_raw_update): Remove, update callers to
6910         use readable_regcache::raw_update instead.
6911         * regcache.c (regcache_raw_update): Remove.
6912
6913 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6914
6915         * regcache.h (regcache_register_status): Remove, update callers
6916         to use reg_buffer::get_register_status directly instead.
6917         * regcache.c (regcache_register_status): Remove.
6918
6919 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6920
6921         * regcache.h (regcache_get_ptid): Remove, update all callers to
6922         call regcache::ptid instead.
6923         * regcache.c (regcache_get_ptid): Remove.
6924
6925 2018-05-30  Simon Marchi  <simon.marchi@ericsson.com>
6926
6927         * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
6928
6929 2018-05-30  Pedro Alves  <palves@redhat.com>
6930
6931         * common/common-exceptions.h (exception_rethrow): Use
6932         ATTRIBUTE_NORETURN.
6933
6934 2018-05-29  Simon Marchi  <simon.marchi@polymtl.ca>
6935
6936         * breakpoint.c (print_solib_event, check_status_catch_solib):
6937         Remove struct keyword in range-based for loops.
6938         * dbxread.c (find_corresponding_bincl_psymtab): Likewise.
6939         * dwarf2read.c (compute_delayed_physnames, rust_union_quirks);
6940         Likewise.
6941         * linespec.c (find_superclass_methods, search_minsyms_for_name):
6942         Likewise.
6943         * symfile.c (addr_info_make_relative): Likewise.
6944         * thread.c (value_in_thread_stack_temporaries): Likewise.
6945
6946 2018-06-12  Weimin Pan  <weimin.pan@oracle.com>
6947
6948         PR gdb/16841
6949         * valops.c (value_struct_elt_for_reference): Call check_typedef on
6950         aggregate type to get its real type before accessing it.
6951
6952 2018-05-29  Weimin Pan  <weimin.pan@oracle.com>
6953
6954         * minsyms.h (lookup_minimal_symbol_and_objfile): Remove declaration.
6955         * minsyms.c (lookup_minimal_symbol_and_objfile): Remove definition.
6956         * coff-pe-read.c (add_pe_forwarded_sym): Replace
6957         lookup_minimal_symbol_and_objfile with lookup_bound_minimal_symbol.
6958         * glibc-tdep.c (glibc_skip_solib_resolver): Likewise.
6959         * jit.c (jit_breakpoint_re_set_internal): Likewise.
6960         * printcmd.c (info_address_command): Likewise.
6961
6962 2018-05-29  Tom Tromey  <tom@tromey.com>
6963
6964         * windows-nat.c (handle_exception): Update fall-through comment.
6965
6966 2018-05-29  Tom Tromey  <tom@tromey.com>
6967
6968         * progspace.h (so_list_ptr): Remove typedef.  Don't declare VEC.
6969         (struct program_space) <added_solibs>: Now a std::vector.
6970         * breakpoint.c (print_solib_event): Update.
6971         (check_status_catch_solib): Update.
6972         * progspace.c (clear_program_space_solib_cache): Update.
6973         * solib.c (update_solib_list): Update.
6974
6975 2018-05-29  Tom Tromey  <tom@tromey.com>
6976
6977         * python/py-type.c (typy_richcompare): Update.
6978         * guile/scm-type.c (tyscm_equal_p_type_smob): Update.
6979         * gdbtypes.h (types_deeply_equal): Return bool.
6980         (types_equal): Likewise.
6981         * gdbtypes.c (type_equality_entry_d): Remove typedef.  Don't
6982         declare VEC.
6983         (check_types_equal): Change worklist to std::vector.  Return
6984         bool.
6985         (struct type_equality_entry): Add constructor.
6986         (compare_maybe_null_strings): Return bool.
6987         (check_types_worklist): Return bool.  Change worklist to
6988         std::vector.
6989         (types_deeply_equal): Use std::vector.
6990         (types_equal): Return bool.
6991         (compare_maybe_null_strings): Simplify.
6992
6993 2018-05-29  Tom Tromey  <tom@tromey.com>
6994
6995         * record-btrace.c (tp_t): Remove typedef.  Don't declare VEC.
6996
6997 2018-05-29  Tom Tromey  <tom@tromey.com>
6998
6999         * objc-lang.h: Don't include cp-support.h.
7000         * common/gdb_vecs.h (const_char_ptr): Remove typedef.  Don't
7001         declare VEC.
7002
7003 2018-05-27  Tom Tromey  <tom@tromey.com>
7004
7005         * Makefile.in (DEPFILES): Don't reference REMOTE_OBS.
7006
7007 2018-05-25  Tom Tromey  <tom@tromey.com>
7008
7009         * value.c (value::location): Initialize.
7010
7011 2018-05-25  Tom Tromey  <tom@tromey.com>
7012
7013         * dbxread.c (init_bincl_list): Remove.
7014         (bincl_list): Now a std::vector.
7015         (bincls_allocated, next_bincl): Remove.
7016         (free_bincl_list, do_free_bincl_list_cleanup)
7017         (make_cleanup_free_bincl_list): Remove.
7018         (dbx_read_symtab, elfstab_build_psymtabs): Use scoped_restore,
7019         unique_xmalloc_ptr.
7020         (find_corresponding_bincl_psymtab, read_dbx_symtab): Update.
7021         (struct header_file_location): Add constructor.
7022         (add_bincl_to_list): Remove.
7023
7024 2018-05-25  Tom Tromey  <tom@tromey.com>
7025
7026         * tui/tui.c (tui_enable): Update.
7027         * mi/mi-interp.c (mi_interp::init): Update.
7028         * interps.h (class interp) <name>: New method.
7029         <m_name>: Rename from name.
7030         (~scoped_restore_interp): Update.
7031         * interps.c (interp::interp): Update.
7032         (interp_add, interp_set, interp_lookup_existing)
7033         (current_interp_named_p): Update.
7034
7035 2018-05-25  Tom Tromey  <tom@tromey.com>
7036
7037         * interps.c (interp_name): Remove.
7038         * mi/mi-interp.c (mi_interp::init): Update.
7039         * interps.h (interp_name): Remove.
7040         (~scoped_restore_interp): Update.
7041         * tui/tui.c (tui_enable): Update.
7042
7043 2018-05-25  Tom Tromey  <tom@tromey.com>
7044
7045         * utils.c (fputs_maybe_filtered): Update.
7046         * linespec.c (decode_line_full): Update.
7047         * mi/mi-interp.c (mi_on_normal_stop_1, mi_tsv_modified)
7048         (mi_print_breakpoint_for_event, mi_solib_loaded)
7049         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7050         (mi_user_selected_context_changed): Update.
7051         * mi/mi-main.c (mi_execute_command): Update.
7052         * cli/cli-script.c (execute_control_command): Update.
7053         * python/python.c (execute_gdb_command): Update.
7054         * solib.c (info_sharedlibrary_command): Update.
7055         * interps.c (interp_ui_out): Remove.
7056         * interps.h (interp_ui_out): Remove.
7057
7058 2018-05-25  Tom Tromey  <tom@tromey.com>
7059
7060         * tui/tui-interp.c (as_tui_interp): Use dynamic_cast.
7061         * mi/mi-interp.c (as_mi_interp): Use dynamic_cast.
7062         * cli/cli-interp.c (as_cli_interp): Use dynamic_cast.
7063
7064 2018-05-25  Tom Tromey  <tom@tromey.com>
7065
7066         * cli/cli-interp.c (safe_execute_command): Use scoped_restore.
7067         * interps.c (interp_exec): Use scoped_restore.
7068
7069 2018-05-25  Tom Tromey  <tom@tromey.com>
7070
7071         * remote.c (remote_target::remote_file_get): Use
7072         gdb::byte_vector.
7073         (remote_target::remote_file_put): Likewise.
7074
7075 2018-05-25  Tom Tromey  <tom@tromey.com>
7076
7077         * coff-pe-read.c (struct read_pe_section_data) <section_name>: Now
7078         a std::string.
7079         (get_pe_section_index, add_pe_exported_sym): Update.
7080         (read_pe_exported_syms): Use gdb::def_vector.
7081
7082 2018-05-25  Tom Tromey  <tom@tromey.com>
7083
7084         * frame.c (remove_prev_frame): Remove.
7085         (get_prev_frame_if_no_cycle): Use TRY/CATCH.
7086
7087 2018-05-25  Maciej W. Rozycki  <macro@mips.com>
7088
7089         * mips-linux-tdep.h (mips_supply_fpregset, mips_fill_fpregset):
7090         Remove prototypes.
7091         * mips-linux-nat.c (supply_fpregset): Always call
7092         `mips64_supply_fpregset' rather than `mips_supply_fpregset'.
7093         (fill_fpregset): Always call `mips64_fill_fpregset' rather than
7094         `mips_fill_fpregset'.
7095         * mips-linux-tdep.c (mips_supply_fpregset)
7096         (mips_supply_fpregset_wrapper, mips_fill_fpregset)
7097         (mips_fill_fpregset_wrapper): Remove functions.
7098         (mips64_supply_fpregset, mips64_fill_fpregset): Update comments.
7099         (mips_linux_fpregset): Remove variable.
7100         (mips_linux_iterate_over_regset_sections): Use
7101         `mips64_linux_fpregset' in place of `mips_linux_fpregset'.
7102         (mips_linux_o32_sigframe_init): Remove comment.
7103
7104 2018-05-25  Pedro Alves  <palves@redhat.com>
7105
7106         * remote.c (struct vCont_action_support, MAXTHREADLISTRESULTS)
7107         (struct readahead_cache, struct packet_reg, struct
7108         remote_arch_state, class remote_state): Move higher up in the
7109         file.
7110         (remote_target::m_remote_state): Now an object instead of a pointer.
7111         (remote_target::get_remote_state): Adjust.
7112
7113 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
7114
7115         * stack.c (select_and_print_frame): Delete.
7116         (struct function_bounds): Move struct within function.
7117         (func_command): Most content moved into new function
7118         find_frame_for_function, use new function, print result, add
7119         function comment.
7120         (find_frame_for_function): New function, now returns a result.
7121
7122 2018-05-24  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7123
7124         * stack.c (iterate_over_block_arg_vars): Fix comment.
7125         (print_frame_arg_vars): Pass stream in cb_data, not gdb_stdout.
7126
7127 2018-05-24  Andrew Burgess  <andrew.burgess@embecosm.com>
7128
7129         PR gdb/23203
7130         * frame.c
7131         (scoped_restore_selected_frame::scoped_restore_selected_frame):
7132         Define.
7133         (scoped_restore_selected_frame::~scoped_restore_selected_frame):
7134         Define.
7135         * frame.h (class scoped_restore_selected_frame): New class.
7136         * stack.c (print_frame_local_vars): Remove catching and rethrowing
7137         of any exception, use scoped_restore_selected_frame to restore the
7138         frame instead.
7139
7140 2018-05-24  Pedro Alves  <palves@redhat.com>
7141
7142         * darwin-nat.h (darwin_nat_target::create_inferior): Mark with
7143         override.
7144
7145 2018-05-23  Tom Tromey  <tom@tromey.com>
7146
7147         * complaints.c (struct complaints): Remove.
7148         (symfile_complaint_book): Remove.
7149         (series): New global.
7150         (complaint_internal): Update.
7151         (clear_complaints): Update.
7152
7153 2018-05-23  Tom Tromey  <tom@tromey.com>
7154
7155         * complaints.c (counters): New global.
7156         (struct complain): Remove.
7157         (struct complaints) <root>: Remove.
7158         (complaint_sentinel): Remove.
7159         (symfile_complaint_book): Update.
7160         (find_complaint) Remove.
7161         (complaint_internal, clear_complaints): Update.
7162
7163 2018-05-23  Tom Tromey  <tom@tromey.com>
7164
7165         * complaints.c (struct complain) <file, line>: Remove.
7166         (find_complaint): Remove file, line parameters.
7167         (complaint_internal): Update.
7168
7169 2018-05-23  Tom Tromey  <tom@tromey.com>
7170
7171         * complaints.c (vcomplaint): Remove.
7172         (complaint_internal) Merge in contents of vcomplaint.
7173
7174 2018-05-23  Tom Tromey  <tom@tromey.com>
7175
7176         * complaints.c (struct complaints) <explanation>: Remove.
7177         (symfile_explanations): Remove.
7178         (symfile_complaint_book): Update.
7179         (vcomplaint): Update.
7180         (struct explanation): Remove.
7181
7182 2018-05-23  Tom Tromey  <tom@tromey.com>
7183
7184         * complaints.c (symfile_complaints): Remove.
7185         (complaint_internal): Remove "complaints" parameter.
7186         (clear_complaints, vcomplaint): Remove "c" parameter.
7187         (get_complaints): Remove.
7188         * dwarf2read.c (dwarf2_statement_list_fits_in_line_number_section_complaint)
7189         (dwarf2_debug_line_missing_file_complaint)
7190         (dwarf2_debug_line_missing_end_sequence_complaint)
7191         (dwarf2_complex_location_expr_complaint)
7192         (dwarf2_const_value_length_mismatch_complaint)
7193         (dwarf2_section_buffer_overflow_complaint)
7194         (dwarf2_macro_malformed_definition_complaint)
7195         (dwarf2_invalid_attrib_class_complaint)
7196         (create_addrmap_from_index, dw2_symtab_iter_next)
7197         (dw2_expand_marked_cus)
7198         (dw2_debug_names_iterator::find_vec_in_debug_names)
7199         (dw2_debug_names_iterator::next, dw2_debug_names_iterator::next)
7200         (create_debug_type_hash_table, init_cutu_and_read_dies)
7201         (partial_die_parent_scope, add_partial_enumeration)
7202         (skip_one_die, fixup_go_packaging, quirk_rust_enum, process_die)
7203         (dwarf2_compute_name, dwarf2_physname, read_namespace_alias)
7204         (read_import_statement, read_file_scope, create_dwo_cu_reader)
7205         (create_cus_hash_table, create_dwp_hash_table)
7206         (inherit_abstract_dies, read_func_scope, read_call_site_scope)
7207         (dwarf2_rnglists_process, dwarf2_ranges_process)
7208         (dwarf2_add_type_defn, dwarf2_attach_fields_to_type)
7209         (dwarf2_add_member_fn, get_alignment, maybe_set_alignment)
7210         (handle_struct_member_die, process_structure_scope)
7211         (read_array_type, read_common_block, read_module_type)
7212         (read_tag_pointer_type, read_typedef, read_base_type)
7213         (read_subrange_type, load_partial_dies, partial_die_info::read)
7214         (partial_die_info::read, partial_die_info::read)
7215         (partial_die_info::read, read_checked_initial_length_and_offset)
7216         (dwarf2_string_attr, read_formatted_entries)
7217         (dwarf_decode_line_header)
7218         (lnp_state_machine::check_line_address, dwarf_decode_lines_1)
7219         (new_symbol, dwarf2_const_value_attr, lookup_die_type)
7220         (read_type_die_1, determine_prefix, dwarf2_get_ref_die_offset)
7221         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
7222         (get_signatured_type, get_DW_AT_signature_type)
7223         (decode_locdesc, file_file_name, consume_improper_spaces)
7224         (skip_form_bytes, skip_unknown_opcode, dwarf_parse_macro_header)
7225         (dwarf_decode_macro_bytes, dwarf_decode_macros)
7226         (dwarf2_symbol_mark_computed, set_die_type)
7227         (read_attribute_value): Update.
7228         * stap-probe.c (handle_stap_probe, get_stap_base_address):
7229         Update.
7230         * dbxread.c (unknown_symtype_complaint)
7231         (lbrac_mismatch_complaint, repeated_header_complaint)
7232         (set_namestring, function_outside_compilation_unit_complaint)
7233         (read_dbx_symtab, process_one_symbol): Update.
7234         * gdbtypes.c (stub_noname_complaint): Update.
7235         * windows-nat.c (handle_unload_dll): Update.
7236         * coffread.c (coff_symtab_read, enter_linenos, decode_type)
7237         (decode_base_type): Update.
7238         * xcoffread.c (bf_notfound_complaint, ef_complaint)
7239         (eb_complaint, record_include_begin, record_include_end)
7240         (enter_line_range, xcoff_next_symbol_text, read_xcoff_symtab)
7241         (process_xcoff_symbol, read_symbol)
7242         (function_outside_compilation_unit_complaint)
7243         (scan_xcoff_symtab): Update.
7244         * machoread.c (macho_symtab_read, macho_add_oso_symfile): Update.
7245         * buildsym.c (finish_block_internal, make_blockvector)
7246         (end_symtab_get_static_block, augment_type_symtab): Update.
7247         * dtrace-probe.c (dtrace_process_dof)
7248         (dtrace_static_probe_ops::get_probes): Update.
7249         * complaints.h (struct complaint): Don't declare.
7250         (symfile_complaints): Remove.
7251         (complaint_internal): Remove "complaints" parameter.
7252         (complaint): Likewise.
7253         (clear_complaints): Likewise.
7254         * symfile.c (syms_from_objfile_1, finish_new_objfile)
7255         (reread_symbols): Update.
7256         * dwarf2-frame.c (dwarf2_restore_rule, execute_cfa_program)
7257         (dwarf2_frame_cache, decode_frame_entry): Update.
7258         * dwarf2loc.c (dwarf_reg_to_regnum): Update.
7259         * objc-lang.c (lookup_objc_class, lookup_child_selector)
7260         (info_selectors_command): Update.
7261         * macrotab.c (macro_include, check_for_redefinition)
7262         (macro_undef): Update.
7263         * objfiles.c (filter_overlapping_sections): Update.
7264         * stabsread.c (invalid_cpp_abbrev_complaint)
7265         (reg_value_complaint, stabs_general_complaint, dbx_lookup_type)
7266         (define_symbol, error_type, read_type, rs6000_builtin_type)
7267         (stabs_method_name_from_physname, read_member_functions)
7268         (read_cpp_abbrev, read_baseclasses, read_tilde_fields)
7269         (attach_fields_to_type, complain_about_struct_wipeout)
7270         (read_range_type, read_args, common_block_start)
7271         (common_block_end, cleanup_undefined_types_1, scan_file_globals):
7272         Update.
7273         * mdebugread.c (index_complaint, unknown_ext_complaint)
7274         (basic_type_complaint, bad_tag_guess_complaint)
7275         (bad_rfd_entry_complaint, unexpected_type_code_complaint)
7276         (reg_value_complaint, parse_symbol, parse_type, upgrade_type)
7277         (parse_procedure, parse_lines)
7278         (function_outside_compilation_unit_complaint)
7279         (parse_partial_symbols, psymtab_to_symtab_1, cross_ref)
7280         (bad_tag_guess_complaint, reg_value_complaint): Update.
7281         * cp-support.c (demangled_name_complaint): Update.
7282         * macroscope.c (sal_macro_scope): Update.
7283         * dwarf-index-write.c (class debug_names): Update.
7284
7285 2018-05-23  Tom Tromey  <tom@tromey.com>
7286
7287         * complaints.c (clear_complaints): Remove "noisy" parameter.
7288         * complaints.h (clear_complaints): Update.
7289         * symfile.c (syms_from_objfile_1, finish_new_objfile)
7290         (reread_symbols): Update.
7291
7292 2018-05-23  Tom Tromey  <tom@tromey.com>
7293
7294         * complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
7295         SUBSEQUENT_MESSAGE.
7296         (vcomplaint, clear_complaints): Update.
7297         (symfile_explanations): Remove some messages.
7298
7299 2018-05-23  Tom Tromey  <tom@tromey.com>
7300
7301         * complaints.c (internal_complaint): Remove.
7302         * complaints.h (internal_complaint): Remove.
7303
7304 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7305
7306         * i387-tdep.c (i387_collect_xsave): Make `i' unsigned.
7307
7308 2018-05-22  Pedro Alves  <palves@redhat.com>
7309
7310         * remote-fileio.c (remote_fileio_reply, remote_fileio_ioerror)
7311         (remote_fileio_badfd, remote_fileio_return_errno)
7312         (remote_fileio_return_success, remote_fileio_func_open)
7313         (remote_fileio_func_open, remote_fileio_func_close)
7314         (remote_fileio_func_read, remote_fileio_func_write)
7315         (remote_fileio_func_lseek, remote_fileio_func_rename)
7316         (remote_fileio_func_unlink, remote_fileio_func_stat)
7317         (remote_fileio_func_fstat, remote_fileio_func_gettimeofday)
7318         (remote_fileio_func_isatty, remote_fileio_func_system): Add
7319         remote_target parameter.
7320         (remote_fio_func_map) <func>: Add remote_target parameter.
7321         (do_remote_fileio_request, remote_fileio_request):
7322         * remote-fileio.h (remote_fileio_request):
7323         * remote-notif.c (remote_notif_ack, remote_notif_parse, ): Add
7324         remote_target parameter.
7325         (remote_notif_process, handle_notification): Adjust to pass down
7326         the remote.
7327         (remote_notif_state_allocate): Add remote_target parameter.  Save
7328         it.
7329         * remote-notif.h (struct remote_target): Forward declare.
7330         (struct notif_client) <parse, ack, can_get_pending_events>: Add
7331         remote_target parameter.
7332         (struct remote_notif_state) <remote>: New field.
7333         (remote_notif_ack, remote_notif_parse): Add remote_target
7334         parameter.
7335         (remote_notif_state_allocate, remote_notif_state_allocate): Add
7336         remote_target parameter.
7337         * remote.c (OPAQUETHREADBYTES, threadref, gdb_ext_thread_info)
7338         (threads_listing_context, rmt_thread_action, protocol_feature)
7339         (packet_reg, stop_reply, stop_reply_p, enum packet_support)
7340         (packet_result, struct threads_listing_context, remote_state):
7341         Move definitions and declarations higher up.
7342         (remote_target) <~remote_target>: Declare.
7343         (remote_download_command_source, remote_file_put, remote_file_get)
7344         (remote_file_delete, remote_hostio_pread, remote_hostio_pwrite)
7345         (remote_hostio_pread_vFile, remote_hostio_send_command)
7346         (remote_hostio_set_filesystem, remote_hostio_open)
7347         (remote_hostio_close, remote_hostio_unlink, remote_state)
7348         (get_remote_state, get_remote_packet_size, get_memory_packet_size)
7349         (get_memory_write_packet_size, get_memory_read_packet_size)
7350         (append_pending_thread_resumptions, remote_detach_1)
7351         (append_resumption, remote_resume_with_vcont)
7352         (add_current_inferior_and_thread, wait_ns, wait_as)
7353         (process_stop_reply, remote_notice_new_inferior)
7354         (process_initial_stop_replies, remote_add_thread)
7355         (btrace_sync_conf, remote_btrace_maybe_reopen)
7356         (remove_new_fork_children, kill_new_fork_children)
7357         (discard_pending_stop_replies, stop_reply_queue_length)
7358         (check_pending_events_prevent_wildcard_vcont)
7359         (discard_pending_stop_replies_in_queue, stop_reply)
7360         (remote_notif_remove_queued_reply, stop_reply *queued_stop_reply)
7361         (peek_stop_reply, remote_parse_stop_reply, remote_stop_ns)
7362         (remote_interrupt_as, remote_interrupt_ns)
7363         (remote_get_noisy_reply, remote_query_attached)
7364         (remote_add_inferior, remote_current_thread, get_current_thread)
7365         (set_thread, set_general_thread, set_continue_thread)
7366         (set_general_process, write_ptid)
7367         (remote_unpack_thread_info_response, remote_get_threadinfo)
7368         (parse_threadlist_response, remote_get_threadlist)
7369         (remote_threadlist_iterator, remote_get_threads_with_ql)
7370         (remote_get_threads_with_qxfer)
7371         (remote_get_threads_with_qthreadinfo, extended_remote_restart)
7372         (get_offsets, remote_check_symbols, remote_supported_packet)
7373         (remote_query_supported, remote_packet_size)
7374         (remote_serial_quit_handler, remote_detach_pid)
7375         (remote_vcont_probe, remote_resume_with_hc)
7376         (send_interrupt_sequence, interrupt_query)
7377         (remote_notif_get_pending_events, fetch_register_using_p)
7378         (send_g_packet, process_g_packet, fetch_registers_using_g)
7379         (store_register_using_P, store_registers_using_G)
7380         (set_remote_traceframe, check_binary_download)
7381         (remote_write_bytes_aux, remote_write_bytes, remote_read_bytes_1)
7382         (remote_xfer_live_readonly_partial, remote_read_bytes)
7383         (remote_send_printf, remote_flash_write, readchar)
7384         (remote_serial_write, putpkt, putpkt_binary, skip_frame)
7385         (read_frame, getpkt, getpkt_or_notif_sane_1, getpkt_sane)
7386         (getpkt_or_notif_sane, remote_vkill, remote_kill_k)
7387         (extended_remote_disable_randomization, extended_remote_run)
7388         (send_environment_packet, extended_remote_environment_support)
7389         (extended_remote_set_inferior_cwd, remote_write_qxfer)
7390         (remote_read_qxfer, push_stop_reply, vcont_r_supported)
7391         (packet_command): Now methods of ...
7392         (remote_target): ... this class.
7393         (m_remote_state) <remote_target>: New field.
7394         (struct remote_state) <stop_reply_queue,
7395         remote_async_inferior_event_token, wait_forever_enabled_p>: New
7396         fields.
7397         (remote_state::remote_state): Allocate stop_reply_queue.
7398         (remote_state): Delete global.
7399         (get_remote_state_raw): Delete.
7400         (remote_target::get_remote_state): Allocate m_remote_state on
7401         demand.
7402         (get_current_remote_target): New.
7403         (remote_ops, extended_remote_ops): Delete.
7404         (wait_forever_enabled_p, remote_async_inferior_event_token):
7405         Delete, moved to struct remote_state.
7406         (remote_target::close): Delete self.  Destruction bits split to
7407         ...
7408         (remote_target::~remote_target): ... this.
7409         (show_memory_packet_size): Adjust to use
7410         get_current_remote_target.
7411         (struct protocol_feature) <func>: Add remote_target parameter.
7412         All callers adjusted.
7413         (curr_quit_handler_target): New.
7414         (remote_serial_quit_handler): Reimplement.
7415         (remote_target::open_1): Adjust to use get_current_remote_target.
7416         Heap-allocate remote_target/extended_remote_target instances.
7417         (vcont_builder::vcont_builder): Add remote_target parameter, and
7418         save it in m_remote.  All callers adjusted.
7419         (vcont_builder::m_remote): New field.
7420         (vcont_builder::restart, vcont_builder::flush)
7421         (vcont_builder::push_action): Use it.
7422         (remote_target::commit_resume): Use it.
7423         (struct queue_iter_param) <remote>: New field.
7424         (remote_target::remove_new_fork_children): Fill in 'remote' field.
7425         (check_pending_event_prevents_wildcard_vcont_callback_data): New.
7426         (check_pending_event_prevents_wildcard_vcont_callback)
7427         (remote_target::check_pending_events_prevent_wildcard_vcont)
7428         (remote_target::discard_pending_stop_replies)
7429         (remote_target::discard_pending_stop_replies_in_queue)
7430         (remote_target::remote_notif_remove_queued_reply): Fill in
7431         'remote' field.
7432         (remote_notif_get_pending_events): New.
7433         (remote_target::readchar, remote_target::remote_serial_write):
7434         Save/restore curr_quit_handler_target.
7435         (putpkt): New.
7436         (kill_new_fork_children): Fill in 'remote' field.
7437         (packet_command): Use get_current_remote_target, defer to
7438         remote_target method of same name.
7439         (scoped_remote_fd::scoped_remote_fd): Add 'remote_target'
7440         parameter, and save it in m_remote.  All callers adjusted.
7441         (scoped_remote_fd::release): Use m_remote.
7442         (scoped_remote_fd::m_remote): New field.
7443         (remote_file_put, remote_file_get, remote_file_delete): Use
7444         get_current_remote_target, defer to remote_target method of same
7445         name.
7446         (remote_btrace_reset): Add remote_state paremeter.  Update all
7447         callers.
7448         (remote_async_inferior_event_handler). Pass down 'data'.
7449         (remote_new_objfile): Use get_current_remote_target.
7450         (remote_target::vcont_r_supported): New.
7451         (set_range_stepping): Use get_current_remote_target and
7452         remote_target::vcont_r_supported.
7453         (_initialize_remote): Don't allocate 'remote_state' and
7454         'stop_reply_queue' globals.
7455         * remote.h (struct remote_target): Forward declare.
7456         (getpkt, putpkt, remote_notif_get_pending_events): Add
7457         'remote_target' parameter.
7458
7459 2018-05-22  Pedro Alves  <palves@redhat.com>
7460
7461         * remote.c (vcont_builder): Now a class.  Make all data members
7462         private.
7463         (vcont_builder) <vcont_builder, restart, flush, push_action>:
7464         Declare methods.
7465         (vcont_builder_restart): Rename to ...
7466         (vcont_builder::restart): ... this.
7467         (vcont_builder_flush): Rename to ...
7468         (vcont_builder::flush): ... this.
7469         (vcont_builder_push_action): Rename to ...
7470         (vcont_builder::push_action): ... this.
7471         (remote_target::commit_resume): Adjust.
7472
7473 2018-05-22  Pedro Alves  <palves@redhat.com>
7474
7475         * remote.c (DEFAULT_MAX_MEMORY_PACKET_SIZE): Rename to ...
7476         (DEFAULT_MAX_MEMORY_PACKET_SIZE_FIXED): ... this.
7477         (get_fixed_memory_packet_size): New.
7478         (get_memory_packet_size): Use it.
7479         (set_memory_packet_size): Don't override the config size with
7480         DEFAULT_MAX_MEMORY_PACKET_SIZE.
7481         (show_memory_packet_size): Use get_fixed_memory_packet_size.
7482         Don't refer to get_memory_packet_size if not connected to a remote
7483         target.  Show "(default)" if configured size is 0.
7484
7485 2018-05-22  Pedro Alves  <palves@redhat.com>
7486
7487         * remote.c (remote_target::mourn_inferior): Move
7488         discard_pending_stop_replies call here from ...
7489         (_initialize_remote): ... here.
7490
7491 2018-05-22  Pedro Alves  <palves@redhat.com>
7492
7493         * remote.c (compare_section_command): Remove set_general_process
7494         call.
7495
7496 2018-05-22  Pedro Alves  <palves@redhat.com>
7497
7498         * remote.c (struct packet_reg, struct remote_arch_state):
7499         Move higher up in the file.
7500         (remote_state) <m_arch_states>: Store remote_arch_state values
7501         instead of remote_arch_state pointers.
7502         (remote_state::get_remote_arch_state): Adjust.
7503
7504 2018-05-22  Pedro Alves  <palves@redhat.com>
7505
7506         * remote.c: Include <unordered_map>.
7507         (remote_state): Now a class.
7508         (remote_state) <get_remote_arch_state>: Declare method.
7509         <get_remote_arch_state>: New field.
7510         (remote_arch_state) <remote_arch_state>: Declare ctor.
7511         <regs>: Now a unique_ptr.
7512         (remote_gdbarch_data_handle): Delete.
7513         (get_remote_arch_state): Delete.
7514         (remote_state::get_remote_arch_state): New.
7515         (get_remote_state): Adjust to call remote_state's
7516         get_remote_arch_state method.
7517         (init_remote_state): Delete, bits factored out to ...
7518         (remote_arch_state::remote_arch_state): ... this new method.
7519         (get_remote_packet_size, get_memory_packet_size)
7520         (process_g_packet, remote_target::fetch_registers)
7521         (remote_target::prepare_to_store, store_registers_using_G)
7522         (remote_target::store_registers, remote_target::get_trace_status):
7523         Adjust to call remote_state's method.
7524         (_initialize_remote): Remove reference to
7525         remote_gdbarch_data_handle.
7526
7527 2018-05-22  Pedro Alves  <palves@redhat.com>
7528
7529         * remote.c (struct readahead_cache) <invalidate, invalidate_fd,
7530         pread>: New method declarations.
7531         (remote_target::open_1): Adjust.
7532         (readahead_cache_invalidate): Rename to ...
7533         (readahead_cache::invalidate): ... this, and adjust to be a class
7534         method.
7535         (readahead_cache_invalidate_fd): Rename to ...
7536         (readahead_cache::invalidate_fd): ... this, and adjust to be a
7537         class method.
7538         (remote_hostio_pwrite): Adjust.
7539         (remote_hostio_pread_from_cache): Rename to ...
7540         (readahead_cache::pread): ... this, and adjust to be a class
7541         method.
7542         (remote_hostio_close): Adjust.
7543
7544 2018-05-22  Pedro Alves  <palves@redhat.com>
7545
7546         * remote.c (remote_hostio_close_cleanup): Delete.
7547         (class scoped_remote_fd): New.
7548         (remote_file_put, remote_file_get): Use it.
7549
7550 2018-05-22  Pedro Alves  <palves@redhat.com>
7551
7552         (struct vCont_action_support): Use bool and initialize all fields.
7553         (struct readahead_cache): Initialize all fields.
7554         (remote_state): Use bool and initialize all fields.
7555         (remote_state::remote_state, remote_state::~remote_state): New.
7556         (new_remote_state): Delete.
7557         (_initialize_remote): Use new to allocate remote_state.
7558
7559 2018-05-22  Pedro Alves  <palves@redhat.com>
7560             張俊芝  <zjz@zjz.name>
7561
7562         PR gdb/22973
7563         * c-exp.y: Include "c-support.h".
7564         (parse_number, c_parse_escape, lex_one_token): Use TOLOWER instead
7565         of tolower.  Use c_ident_is_alpha to scan names.
7566         * c-lang.c: Include "c-support.h".
7567         (convert_ucn, convert_octal, convert_hex, convert_escape): Use
7568         ISXDIGIT instead of isxdigit and ISDIGIT instead of isdigit.
7569         * c-support.h: New file, with bits factored out from ...
7570         * cp-name-parser.y: ... this file.
7571         Include "c-support.h".
7572         (cp_ident_is_alpha, cp_ident_is_alnum): Deleted, moved to
7573         c-support.h and renamed.
7574         (symbol_end, yylex): Adjust.
7575
7576 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7577
7578         * arch/ppc-linux-common.c (ppc_linux_has_isa205): Change the
7579         parameter type to CORE_ADDR.
7580         * arch/ppc-linux-common.h (ppc_linux_has_isa205): Change the
7581         parameter type in declaration to CORE_ADDR.
7582         * ppc-linux-tdep.c (ppc_linux_core_read_description): Call
7583         target_auxv_search to get AT_HWCAP and use the result to get the
7584         target description.
7585         * ppc-linux-nat.c (ppc_linux_get_hwcap): Change the return type
7586         to CORE_ADDR. Remove the cast of the return value to unsigned
7587         long. Fix error predicate of target_auxv_search.
7588         (ppc_linux_nat_target::read_description): Change the type of the
7589         hwcap variable to CORE_ADDR.
7590
7591 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7592
7593         * rs6000-tdep.c (rs6000_gdbarch_init): Assign 1 to have_dfp only
7594         if the size of fpscr is larger than 32 bits.
7595
7596 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7597
7598         * ppc-linux-tdep.c (ppc_linux_vsxregset): New function.
7599         (ppc32_linux_vsxregmap): New global.
7600         (ppc32_linux_vsxregset): Initialize with ppc32_linux_vsxregmap,
7601         regcache_supply_regset, and regcache_collect_regset.
7602         * ppc-linux-tdep.h (ppc_linux_vsxregset): Declare.
7603         * ppc-linux-nat.c (supply_vsxregset, fill_vsxregset): Remove.
7604         (fetch_vsx_register, store_vsx_register): Remove.
7605         (fetch_vsx_registers): Add regno parameter. Get regset using
7606         ppc_linux_vsxregset. Use regset to supply registers.
7607         (store_vsx_registers): Add regno parameter. Get regset using
7608         ppc_linux_vsxregset. Use regset to collect registers.
7609         (fetch_register): Call fetch_vsx_registers instead of
7610         fetch_vsx_register.
7611         (store_register): Call store_vsx_registers instead of
7612         store_vsx_register.
7613         (fetch_ppc_registers): Call fetch_vsx_registers with -1 for the
7614         new regno parameter.
7615         (store_ppc_registers): Call store_vsx_registers with -1 for the
7616         new regno parameter.
7617         * rs6000-tdep.c (ppc_vsx_support_p, ppc_supply_vsxreget)
7618         (ppc_collect_vsxregset): Remove.
7619
7620 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7621
7622         * ppc-tdep.h (struct ppc_reg_offsets): Remove vector register
7623         offset fields.
7624         * ppc-fbsd-tdep.c (ppc32_fbsd_reg_offsets): Remove initializers
7625         for vector register offset fields.
7626         (ppc64_fbsd_reg_offsets): Likewise.
7627         * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7628         to vector register offset fields.
7629         * ppc-obsd-tdep.c (_initialize_ppcnbsd_tdep): Remove assignment
7630         to vector register offset fields.
7631         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Remove assignment to
7632         vector register offset fields.
7633         * rs6000-aix-tdep.c (rs6000_aix32_reg_offsets): Remove
7634         initializers for vector register offset fields.
7635         (rs6000_aix64_reg_offsets): Likewise.
7636         * rs6000-tdep.c (ppc_vrreg_offset): Remove.
7637         (ppc_supply_vrregset): Remove.
7638         (ppc_collect_vrregset): Remove.
7639         * ppc-linux-tdep.c (ppc_linux_collect_vrregset): New function.
7640         (ppc_linux_vrregset) : New function.
7641         (ppc32_le_linux_vrregmap, ppc32_be_linux_vrregmap)
7642         (ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): New globals.
7643         (ppc32_linux_vrregset): Remove.
7644         (ppc_linux_iterate_over_regset_sections): Call ppc_linux_vrregset
7645         and use result instead of ppc32_linux_vrregset.
7646         (ppc32_linux_reg_offsets): Remove initializers for vector register
7647         offset fields.
7648         (ppc64_linux_reg_offsets): Likewise.
7649         * ppc-linux-tdep.h (ppc_linux_vrregset): New declaration.
7650         * ppc-linux-nat.c: Include regset.h.
7651         (gdb_vrregset_t): Adjust comment to account for little-endian
7652         mode.
7653         (supply_vrregset, fill_vrregset): Remove.
7654         (fetch_altivec_register, store_altivec_register): Remove.
7655         (fetch_altivec_registers): Add regno parameter. Get regset using
7656         ppc_linux_vrregset. Use regset to supply registers.
7657         (store_altivec_registers): Add regno parameter. Get regset using
7658         ppc_linux_vrregset. Use regset to collect registers.
7659         (fetch_register): Call fetch_altivec_registers instead of
7660         fetch_altivec_register.
7661         (store_register): Call store_altivec_registers instead of
7662         store_altivec_register.
7663         (fetch_ppc_registers): Call fetch_altivec_registers with -1 for
7664         the new regno parameter.
7665         (store_ppc_registers): Call store_altivec_registers with -1 for
7666         the new regno parameter.
7667
7668 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7669
7670         * arch/ppc-linux-common.h (PPC_LINUX_SIZEOF_VRREGSET)
7671         (PPC_LINUX_SIZEOF_VSXREGSET): Define.
7672         * ppc-linux-nat.c (SIZEOF_VSXREGS, SIZEOF_VRREGS): Remove.
7673         (gdb_vrregset_t): Change array type size to
7674         PPC_LINUX_SIZEOF_VRREGSET.
7675         (gdb_vsxregset_t): Change array type size to
7676         PPC_LINUX_SIZEOF_VSXREGSET.
7677         * ppc-linux-tdep.c (ppc_linux_iterate_over_regset_sections):
7678         Change integer literals to PPC_LINUX_SIZEOF_VRREGSET and
7679         PPC_LINUX_SIZEOF_VSXREGSET.
7680
7681 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7682
7683         * configure.nat <linux powerpc>: Add ppc-linux.o to NATDEPFILES.
7684         * ppc-linux-nat.c (ppc_linux_target_wordsize): Move to
7685         nat/ppc-linux.c.
7686         (ppc_linux_nat_target::auxv_parse): Get thread id tid. Call
7687         ppc_linux_target_wordsize with tid.
7688         (ppc_linux_nat_target::read_description): Call ppc_linux_target
7689         wordsize with tid.
7690         * nat/ppc-linux.c: Include nat/gdb_ptrace.h.
7691         (ppc64_64bit_inferior_p): Add static and inline specifiers.
7692         (ppc_linux_target_wordsize): Move here from ppc-linux-nat.c. Add
7693         tid parameter. Remove static specifier.
7694         * nat/ppc-linux.h (ppc64_64bit_inferior_p): Remove declaration.
7695         (ppc_linux_target_wordsize): New declaration.
7696
7697 2018-05-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
7698
7699         * arch/ppc-linux-common.c: New file.
7700         * arch/ppc-linux-common.h: New file.
7701         * arch/ppc-linux-tdesc.h: New file.
7702         * configure.tgt (powerpc*-*-linux*): Add arch/ppc-linux-common.o.
7703         * Makefile.in (ALL_TARGET_OBS): Add arch/ppc-linux-common.o.
7704         (HFILES_NO_SRCDIR): Add arch/ppc-linux-common.h and
7705         arch/ppc-linux-tdesc.h.
7706         * ppc-linux-nat.c: Include arch/ppc-linux-common.h and
7707         arch/ppc-linux-tdesc.h.
7708         (ppc_linux_nat_target::read_description): Remove target
7709         description matching code. Fill a ppc_linux_features struct and
7710         call ppc_linux_match_description with it. Move comment about ISA
7711         2.05 to ppc-linux-common.c.
7712         * ppc-linux-tdep.c: Include arch/ppc-linux-common.h and
7713         arch/ppc-linux-tdesc.h.
7714         (ppc_linux_core_read_description): Remove target description
7715         matching code. Fill a ppc_linux_features struct and call
7716         ppc_linux_match_description with it.
7717         * ppc-linux-tdep.h (tdesc_powerpc_32l, tdesc_powerpc_64l)
7718         (tdesc_powerpc_altivec32l, tdesc_powerpc_altivec64l)
7719         (tdesc_powerpc_cell32l, tdesc_powerpc_cell64l)
7720         (tdesc_powerpc_vsx32l, tdesc_powerpc_vsx64l)
7721         (tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_64l)
7722         (tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_altivec64l)
7723         (tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_vsx64l)
7724         (tdesc_powerpc_e500l): Remove.
7725
7726 2018-05-22  Joel Brobecker  <brobecker@adacore.com>
7727
7728         * ada-lang.c (catch_assert_command): Pass empty string instead
7729         of NULL for excep_string argument.
7730
7731 2018-05-22  Maciej W. Rozycki  <macro@mips.com>
7732
7733         * mips-linux-nat.c (mips64_linux_register_addr): Return -1 if
7734         the width of the requested register exceeds the width of the
7735         `ptrace' data type.
7736
7737 2018-05-21  Tom Tromey  <tom@tromey.com>
7738
7739         * printcmd.c (output_command): Remove.
7740         (output_command_const): Rename to output_command.
7741         * valprint.h (output_command): Rename from output_command_const.
7742         * tracepoint.c (trace_dump_actions): Call output_command.
7743
7744 2018-05-21  Tom Tromey  <tom@tromey.com>
7745
7746         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7747         (mi_cmd_catch_exception, mi_cmd_catch_handlers): Update.
7748         * ada-lang.h (create_ada_exception_catchpoint): Update.
7749         * ada-lang.c (struct ada_catchpoint) <excep_string>: Now a
7750         std::string.
7751         (create_excep_cond_exprs, ~ada_catchpoint)
7752         (should_stop_exception, print_one_exception)
7753         (print_mention_exception, print_recreate_exception): Update.
7754         (ada_get_next_arg): Remove.
7755         (catch_ada_exception_command_split): Use std::string.  Change type
7756         of "excep_string", "cond_string".
7757         (catch_ada_exception_command): Update.
7758         (create_ada_exception_catchpoint): Change type of excep_string.
7759         (ada_exception_sal): Remove excep_string parameter.
7760         (~ada_catchpoint): Remove.
7761
7762 2018-05-21  Tom Tromey  <tom@tromey.com>
7763
7764         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
7765         cleanup.
7766
7767 2018-05-21  Tom Tromey  <tom@tromey.com>
7768
7769         * ada-lang.c (ada_exception_message_1, ada_exception_message):
7770         Return unique_xmalloc_ptr.
7771         (print_it_exception): Update.
7772
7773 2018-05-21  Tom Tromey  <tom@tromey.com>
7774
7775         * tracepoint.c (trace_dump_actions): Use std::string.
7776
7777 2018-05-21  Tom Tromey  <tom@tromey.com>
7778
7779         * symfile.c (reread_symbols): Use std::string for original_name.
7780
7781 2018-05-21  Tom Tromey  <tom@tromey.com>
7782
7783         * dwarf2read.c (dwarf2_read_debug_names): Use std::unique_ptr.
7784         (mapped_index_base): Use DISABLE_COPY_AND_ASSIGN.  Default
7785         constructor.
7786
7787 2018-05-20  Simon Marchi  <simon.marchi@polymtl.ca>
7788
7789         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Rename the wrong
7790         instance to...
7791         (HAVE_IS_TRIVIALLY_CONSTRUCTIBLE): ... this.
7792         * objfiles.c (get_objfile_bfd_data): Allocate
7793         objfile_per_bfd_storage with obstack_new when allocating on
7794         obstack.
7795
7796 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7797
7798         * ada-lang.c (cache_symbol): Use XOBNEW and/or XOBNEWVEC and/or
7799         OBSTACK_ZALLOC.
7800         * dwarf2-frame.c (dwarf2_build_frame_info): Likewise.
7801         * hppa-tdep.c (hppa_init_objfile_priv_data): Likewise.
7802         * mdebugread.c (mdebug_build_psymtabs): Likewise.
7803         (add_pending): Likewise.
7804         (parse_symbol): Likewise.
7805         (parse_partial_symbols): Likewise.
7806         (psymtab_to_symtab_1): Likewise.
7807         (new_psymtab): Likewise.
7808         (elfmdebug_build_psymtabs): Likewise.
7809         * minsyms.c (terminate_minimal_symbol_table): Likewise.
7810         * objfiles.c (get_objfile_bfd_data): Likewise.
7811         (objfile_register_static_link): Likewise.
7812         * psymtab.c (allocate_psymtab): Likewise.
7813         * stabsread.c (read_member_functions): Likewise.
7814         * xcoffread.c (xcoff_end_psymtab): Likewise.
7815
7816 2018-05-20  Simon Marchi  <simon.marchi@ericsson.com>
7817
7818         * common/traits.h (HAVE_IS_TRIVIALLY_COPYABLE): Define if
7819         compiler supports std::is_trivially_constructible.
7820         * common/poison.h: Include obstack.h.
7821         (IsMallocable): Define to is_trivially_constructible if the
7822         compiler supports it, define to true_type otherwise.
7823         (xobnew): New.
7824         (XOBNEW): Redefine.
7825         (xobnewvec): New.
7826         (XOBNEWVEC): Redefine.
7827         * gdb_obstack.h (obstack_zalloc): New.
7828         (OBSTACK_ZALLOC): Redefine.
7829         (obstack_calloc): New.
7830         (OBSTACK_CALLOC): Redefine.
7831         (obstack_new): New.
7832         * gdbarch.sh: Include gdb_obstack in gdbarch.h.
7833         (gdbarch_obstack): New declaration in gdbarch.h, definition in
7834         gdbarch.c.
7835         (GDBARCH_OBSTACK_CALLOC, GDBARCH_OBSTACK_ZALLOC): Use
7836         obstack_calloc/obstack_zalloc.
7837         (gdbarch_obstack_zalloc): Remove.
7838         * target-descriptions.c (tdesc_data_init): Use obstack_new.
7839
7840 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7841
7842         * stack.c (backtrace_command_1): Remove useless variable int i.
7843
7844 2018-05-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
7845
7846         * stack.c (print_frame_info): Fix comment.
7847
7848 2018-05-18  Tom Tromey  <tom@tromey.com>
7849
7850         * dwarf2read.c (struct dwz_file): Add constructor, initializers.
7851         <dwz_bfd>: Now a gdb_bfd_ref_ptr.
7852         (~dwarf2_per_objfile): Update
7853         (dwarf2_get_dwz_file): Use new.
7854         * dwarf2read.h (struct dwarf2_per_objfile) <dwz_file>: Now a
7855         unique_ptr.
7856
7857 2018-05-18  Tom Tromey  <tom@tromey.com>
7858
7859         * dwarf2read.h (struct dwarf2_per_objfile) <dwp_file>: Now a
7860         unique_ptr.
7861         * dwarf2read.c (struct dwp_file): Add constructor and
7862         initializers.
7863         (open_and_init_dwp_file): Return a unique_ptr.
7864         (dwarf2_per_objfile, create_dwp_hash_table)
7865         (create_dwo_unit_in_dwp_v1, create_dwo_unit_in_dwp_v2)
7866         (lookup_dwo_unit_in_dwp): Update.
7867         (open_and_init_dwp_file, get_dwp_file): Update.
7868
7869 2018-05-18  Tom Tromey  <tom@tromey.com>
7870
7871         * dwarf2read.c (dwarf2_per_objfile): Update.
7872         (struct mapped_index): Add initializers.
7873         (dwarf2_read_index): Use new.
7874         (dw2_symtab_iter_init): Update.
7875         * dwarf2read.h (struct dwarf2_per_objfile) <index_table>: Now a
7876         unique_ptr.
7877
7878 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7879
7880         * dwarf2read.c (mapped_index) <total_size>: Remove.
7881
7882 2018-05-18  Simon Marchi  <simon.marchi@ericsson.com>
7883
7884         * unittests/format_pieces-selftests.c (test_format_specifier):
7885         Add ARI comments.
7886
7887 2018-05-18  Tom Tromey  <tom@tromey.com>
7888
7889         * c-typeprint.c (maybe_print_hole): New function.
7890         (c_print_type_struct_field_offset): Update.
7891         (c_type_print_base_struct_union): Call maybe_print_hole.
7892
7893 2018-05-17  Keith Seitz  <keiths@redhat.com>
7894
7895         * breakpoint.c (build_bpstat_chain): New function, moved from
7896         bpstat_stop_status.
7897         (bpstat_stop_status): Add optional parameter, `stop_chain'.
7898         If no stop chain is passed, call build_bpstat_chain to build it.
7899         * breakpoint.h (build_bpstat_chain): Declare.
7900         (bpstat_stop_status): Move documentation here from breakpoint.c.
7901         * infrun.c (handle_signal_stop): Before eliding inlined frames,
7902         build the stop chain and pass it to skip_inline_frames.
7903         Pass this stop chain to bpstat_stop_status.
7904         * inline-frame.c: Include breakpoint.h.
7905         (stopped_by_user_bp_inline_frame): New function.
7906         (skip_inline_frames): Add parameter `stop_chain'.
7907         Move documention to inline-frame.h.
7908         If non-NULL, use stopped_by_user_bp_inline_frame to determine
7909         whether the frame should be elided.
7910         * inline-frame.h (skip_inline_frames): Add parameter `stop_chain'.
7911         Add moved documentation and update for new parameter.
7912
7913 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7914
7915         PR cli/14975
7916         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
7917         unittests/format_pieces-selftests.c.
7918         * common/format.h (format_piece) <operator==>: New.
7919         (format_pieces) <operator[]>: Remove.
7920         * common/format.c (format_pieces::format_pieces): Handle \e.
7921         * unittests/format_pieces-selftests.c: New.
7922
7923 2018-05-17  Tom Tromey  <tom@tromey.com>
7924
7925         PR symtab/23010:
7926         * dwarf2read.c (load_cu, dw2_do_instantiate_symtab)
7927         (dw2_instantiate_symtab): Add skip_partial parameter.
7928         (dw2_find_last_source_symtab, dw2_map_expand_apply)
7929         (dw2_lookup_symbol, dw2_expand_symtabs_for_function)
7930         (dw2_expand_all_symtabs, dw2_expand_symtabs_with_fullname)
7931         (dw2_expand_symtabs_matching_one)
7932         (dw2_find_pc_sect_compunit_symtab)
7933         (dw2_debug_names_lookup_symbol)
7934         (dw2_debug_names_expand_symtabs_for_function): Update.
7935         (init_cutu_and_read_dies): Add skip_partial parameter.
7936         (process_psymtab_comp_unit, build_type_psymtabs_1)
7937         (process_skeletonless_type_unit, load_partial_comp_unit)
7938         (psymtab_to_symtab_1): Update.
7939         (load_full_comp_unit): Add skip_partial parameter.
7940         (process_imported_unit_die, dwarf2_read_addr_index)
7941         (follow_die_offset, dwarf2_fetch_die_loc_sect_off)
7942         (dwarf2_fetch_constant_bytes, dwarf2_fetch_die_type_sect_off)
7943         (read_signatured_type): Update.
7944
7945 2018-05-17  Simon Marchi  <simon.marchi@ericsson.com>
7946
7947         * value.c (release_value): Remove unused variable.
7948         (record_latest_value): Likewise.
7949         (access_value_history): Likewise.
7950         (preserve_values): Likewise.
7951
7952 2018-05-17  Tom Tromey  <tom@tromey.com>
7953
7954         * extension.h (struct ext_lang_type_printers) <py_type_printers>:
7955         Initialize.
7956
7957 2018-05-16  Maciej W. Rozycki  <macro@mips.com>
7958
7959         PR gdb/22286
7960         * linux-nat-trad.c (linux_nat_trad_target::fetch_register):
7961         Also handle registers whose width is not a multiple of
7962         PTRACE_TYPE_RET.
7963         (linux_nat_trad_target::store_register): Likewise.
7964
7965 2018-05-16  Tom Tromey  <tom@tromey.com>
7966
7967         * gdbcore.h (core_bfd): Redefine.
7968         * corelow.c (core_target::close): Update.
7969         (core_target_open): Update.
7970         * progspace.h (struct program_space) <cbfd>: Now a
7971         gdb_bfd_ref_ptr.
7972
7973 2018-05-16  Tom Tromey  <tom@tromey.com>
7974
7975         PR cli/19551:
7976         * symfile-add-flags.h (enum symfile_add_flags)
7977         <SYMFILE_NOT_FILENAME>: New constant.
7978         * symfile.c (read_symbols): Use SYMFILE_NOT_FILENAME.  Get
7979         objfile name from BFD.
7980         (symbol_file_add_with_addrs): Check SYMFILE_NOT_FILENAME.
7981         * minidebug.c (find_separate_debug_file_in_section): Put
7982         ".gnu_debugdata" into BFD's file name.
7983
7984 2018-05-16  Simon Marchi  <simon.marchi@ericsson.com>
7985
7986         * regcache.c (regcache_read_ftype, regcache_write_ftype):
7987         Remove.
7988
7989 2018-05-15  Tamar Christina  <tamar.christina@arm.com>
7990
7991         PR binutils/21446
7992         * aarch64-tdep.c (aarch64_analyze_prologue,
7993         aarch64_software_single_step, aarch64_displaced_step_copy_insn):
7994         Indicate not interested in errors.
7995
7996 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
7997
7998         * mips-linux-nat.c (mips_linux_nat_target::fetch_registers):
7999         Supply the MIPS_ZERO_REGNUM register.
8000
8001 2018-05-15  Maciej W. Rozycki  <macro@mips.com>
8002
8003         * mips-tdep.c (mask_address_var): Make variable static.
8004
8005 2018-05-14  Tom Tromey  <tom@tromey.com>
8006
8007         * dwarf2read.c (rust_union_quirks): Clear rust_unions.
8008
8009 2018-05-11  Andrew Burgess  <andrew.burgess@embecosm.com>
8010
8011         * i387-tdep.c (i387_collect_xsave): Use FXSAVE_MXCSR_ADDR not
8012         FXSAVE_ADDR for the mxcsr register.
8013
8014 2018-05-11  Max Filippov  <jcmvbkbc@gmail.com>
8015
8016         * configure.tgt (xtensa*-*-linux*): Drop gdb_target definition.
8017
8018 2018-05-11  Pedro Alves  <palves@redhat.com>
8019
8020         * corelow.c (core_target) <core_target>: No longer inline.
8021         Initialize m_core_gdbarch, m_core_vec and build the section table
8022         here.
8023         <~core_target>: New.
8024         <core_gdbarch, get_core_register_section>: New methods.
8025         <m_core_section_table, m_core_vec, m_core_gdbarch>: New fields,
8026         factored out from ...
8027         <core_data, core_vec, core_gdbarch>: ... these deleted globals.
8028         (core_ops): Delete.
8029         (sniff_core_bfd): Add gdbarch parameter.
8030         (core_close): Delete, merged into ...
8031         (core_target::close): ... here.  Delete self.
8032         (core_close_cleanup): Delete.
8033         (core_target_open): Allocate a core_target on the heap.  Use a
8034         unique_ptr instead of a cleanup.  Bits moved into the core_target
8035         ctor.  Adjust to use core_target methods instead of globals.
8036         (get_core_register_section): Rename to ...
8037         (core_target::get_core_register_section): ... this and adjust.
8038         (struct get_core_registers_cb_data): New.
8039         (get_core_registers_cb): Use it.  Use bool.
8040         (core_target::fetch_registers, core_target::files_info)
8041         (core_target::xfer_partial, core_target::read_description)
8042         (core_target::pid_to, core_target::thread_name): Adjust to
8043         reference class fields instead of globals.
8044         * target.h (struct target_ops_deleter, target_ops_up): New.
8045
8046 2018-05-11  Pedro Alves  <palves@redhat.com>
8047
8048         * corefile.c (core_file_command): Move to corelow.c.
8049         * corelow.c (the_core_target): Delete.
8050         (core_file_command): Moved from corefile.c.  Check exec_bfd
8051         instead of the_core_target.  Use target_detach instead of calling
8052         into the_core_target directly.
8053         (maybe_say_no_core_file_now): New.
8054         (core_target::detach): Use it.
8055         (_initialize_corelow): Remove references to the_core_target.
8056         * gdbcore.h (the_core_target): Delete.
8057
8058 2018-05-11  Tom Tromey  <tromey@redhat.com>
8059             Pedro Alves  <palves@redhat.com>
8060
8061         * corefile.c (core_bfd): Remove.
8062         * gdbcore.h (core_bfd): Now a macro.
8063         * progspace.h (struct program_space) <cbfd>: New field.
8064
8065 2018-05-11  Tom Tromey  <tom@tromey.com>
8066
8067         * mdebugread.c (parse_partial_symbols, psymtab_to_symtab_1): Use
8068         gdb::def_vector.
8069
8070 2018-05-10  Tom Tromey  <tom@tromey.com>
8071
8072         * configure: Rebuild.
8073         * warning.m4 (AM_GDB_WARNINGS): Use -Wimplicit-fallthrough=3.
8074
8075 2018-05-10  Joel Brobecker  <brobecker@adacore.com>
8076
8077         PR server/23158:
8078         * regformats/regdat.sh: Adjust script, following the addition
8079         of the new expedite_regs parameter to init_target_desc.
8080
8081 2018-05-10  Omair Javaid  <omair.javaid@linaro.org>
8082     
8083         PR gdb/23127
8084         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Add call to
8085         set_gdbarch_significant_addr_bit.
8086         * aarch64-tdep.c (aarch64_gdbarch_init): Remove call to
8087         set_gdbarch_significant_addr_bit.
8088         * utils.c (address_significant): Update to sign extend addr.
8089
8090 2018-05-09  Max Filippov  <jcmvbkbc@gmail.com>
8091
8092         * xtensa-linux-tdep.c (xtensa-tdep.h): New include.
8093         (xtensa_linux_init_abi): Limit tdep->num_regs by
8094         tdep->num_nopriv_regs.
8095         * xtensa-tdep.c (xtensa_derive_tdep): Calculate
8096         tdep->num_nopriv_regs and only copy it to tdep->num_regs if it's
8097         not initialized.
8098
8099 2018-05-08  Simon Marchi  <simon.marchi@ericsson.com>
8100
8101         * unittests/string_view-selftests.c: Define GNULIB_NAMESPACE.
8102
8103 2018-05-08  Andrew Burgess  <andrew.burgess@embecosm.com>
8104
8105         * common/x86-xstate.h (I387_FCTRL_INIT_VAL): New constant.
8106         (I387_MXCSR_INIT_VAL): New constant.
8107         * amd64-tdep.c (amd64_supply_xsave): Only read state from xsave
8108         buffer if it was supplied by the inferior.
8109         * i387-tdep.c (i387_supply_fsave): Use I387_MXCSR_INIT_VAL.
8110         (i387_xsave_get_clear_bv): New function.
8111         (i387_supply_xsave): Only read x87 control registers from the
8112         xsave buffer if the feature is enabled, and the state will have
8113         been written, otherwise, provide a suitable default.
8114         (i387_collect_xsave): Pre-clear all registers in xsave buffer,
8115         including x87 control registers.  Update control registers if they
8116         have changed from the default value, and mark features as enabled
8117         as required.
8118         * i387-tdep.h (i387_xsave_get_clear_bv): Declare.
8119
8120 2018-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
8121
8122         * spu-tdep.c (info_spu_event_command): Fix output formatting.
8123
8124 2018-05-07  Tom Tromey  <tom@tromey.com>
8125
8126         * configure: Rebuild.
8127         * warning.m4 (AM_GDB_WARNINGS): Add -Wduplicated-cond.
8128
8129 2018-05-07  Tom Tromey  <tom@tromey.com>
8130
8131         PR tdep/20362:
8132         * arm-tdep.c (arm_record_vfp_data_proc_insn): Properly mask off D
8133         bit.  Use correct value for VDIV.
8134
8135 2018-05-04  Tom Tromey  <tom@tromey.com>
8136
8137         * configure: Rebuild.
8138         * warning.m4 (AM_GDB_WARNINGS): Add -Wimplicit-fallthrough.
8139
8140 2018-05-04  Tom Tromey  <tom@tromey.com>
8141
8142         * linux-record.c (record_linux_system_call) <case
8143         RECORD_SYS_RECVFROM>: Add "break".
8144
8145 2018-05-04  Tom Tromey  <tom@tromey.com>
8146
8147         * mi/mi-main.c (mi_cmd_trace_frame_collected) <REGISTERS_FORMAT>:
8148         Add missing "break".
8149         * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals) <NO_FRAME_FILTERS>:
8150         Add missing "break".
8151
8152 2018-05-04  Tom Tromey  <tom@tromey.com>
8153
8154         * rs6000-tdep.c (ppc_process_record_op4)
8155         (ppc_process_record_op63): Add fall-through comment.
8156
8157 2018-05-04  Tom Tromey  <tom@tromey.com>
8158
8159         * i386-tdep.c (i386_process_record): Add fall-through comment.
8160
8161 2018-05-04  Tom Tromey  <tom@tromey.com>
8162
8163         * stabsread.c (define_symbol) <case 'p'>: Add fall-through
8164         comment.
8165
8166 2018-05-04  Tom Tromey  <tom@tromey.com>
8167
8168         * riscv-tdep.c (riscv_isa_xlen): Add fall-through comment.
8169         * utils.c (can_dump_core) <LIMIT_CUR>: Add fall-through comment.
8170         * eval.c (fetch_subexp_value) <MEMORY_ERROR>: Add fall-through
8171         comment.
8172         * d-valprint.c (d_val_print) <TYPE_CODE_STRUCT>: Add fall-through
8173         comment.
8174         * coffread.c (coff_symtab_read) <C_LABEL>: Add fall-through
8175         comment.
8176
8177 2018-05-04  Tom Tromey  <tom@tromey.com>
8178
8179         * dwarf2loc.c (unimplemented): Add ATTRIBUTE_NORETURN.
8180
8181 2018-05-04  Tom Tromey  <tom@tromey.com>
8182
8183         * s390-tdep.c (s390_process_record): Fix fall-through comments.
8184         * xcoffread.c (scan_xcoff_symtab): Move comment later.
8185         * symfile.c (section_is_mapped): Fix fall-through comment.
8186         * stabsread.c (define_symbol, read_member_functions): Fix
8187         fall-through comment.
8188         * s390-linux-tdep.c (s390_process_record): Fix fall-through
8189         comment.
8190         * remote.c (remote_wait_as): Fix fall-through comment.
8191         * p-exp.y (yylex): Fix fall-through comment.
8192         * nat/x86-dregs.c (x86_length_and_rw_bits): Fix fall-through
8193         comment.
8194         * msp430-tdep.c (msp430_gdbarch_init): Fix fall-through comment.
8195         * mdebugread.c (parse_partial_symbols): Fix fall-through comment.
8196         * jv-exp.y (yylex): Fix fall-through comment.
8197         * go-exp.y (lex_one_token): Fix fall-through comment.
8198         * gdbtypes.c (get_discrete_bounds, rank_one_type): Fix
8199         fall-through comment.
8200         * f-exp.y (yylex): Fix fall-through comment.
8201         * dwarf2read.c (process_die): Fix fall-through comments.
8202         * dbxread.c (process_one_symbol): Fix fall-through comment.
8203         * d-exp.y (lex_one_token): Fix fall-through comment.
8204         * cp-name-parser.y (yylex): Fix fall-through comment.
8205         * coffread.c (coff_symtab_read): Fix fall-through comment.
8206         * c-exp.y (lex_one_token): Fix fall-through comment.
8207         * arm-tdep.c (arm_decode_miscellaneous): Fix fall-through
8208         comment.
8209         * arch/arm.c (arm_instruction_changes_pc): Fix fall-through
8210         comment.
8211
8212 2018-05-04  Tom Tromey  <tom@tromey.com>
8213
8214         PR python/22730:
8215         * NEWS: Mention gdb.execute change.
8216         * gdbcmd.h (execute_control_command): Don't declare.
8217         * python/python.c (execute_gdb_command): Use read_command_lines_1,
8218         execute_control_commands, execute_control_commands_to_string.
8219         * cli/cli-script.h (execute_control_commands)
8220         (execute_control_commands_to_string): Declare.
8221         (execute_control_command): Add from_tty parameter.
8222         * cli/cli-script.c (execute_control_commands)
8223         (execute_control_commands_to_string): New functions.
8224         (execute_user_command): Use execute_control_commands.
8225         (execute_control_command_1): Add "from_tty" parameter.  Update.
8226         (execute_control_command): Likewise.
8227
8228 2018-05-04  Tom Tromey  <tom@tromey.com>
8229
8230         PR python/22731:
8231         * NEWS: Mention that breakpoint commands are writable.
8232         * python/py-breakpoint.c (bppy_set_commands): New function.
8233         (breakpoint_object_getset) <"commands">: Use it.
8234
8235 2018-05-04  Tom Tromey  <tom@tromey.com>
8236
8237         * tracepoint.c (actions_command): Update.
8238         * mi/mi-cmd-break.c (mi_command_line_array)
8239         (mi_command_line_array_cnt, mi_command_line_array_ptr)
8240         (mi_read_next_line): Remove.
8241         (mi_cmd_break_commands): Update.
8242         * cli/cli-script.h (read_command_lines, read_command_lines_1): Use
8243         function_view.
8244         * cli/cli-script.c (get_command_line): Update.
8245         (process_next_line): Use function_view.  Constify.
8246         (recurse_read_control_structure, read_command_lines)
8247         (read_command_lines_1): Change argument types to function_view.
8248         (do_define_command, document_command): Update.
8249         * breakpoint.h (check_tracepoint_command): Don't declare.
8250         * breakpoint.c (check_tracepoint_command): Remove.
8251         (commands_command_1, create_tracepoint_from_upload): Update.
8252
8253 2018-05-04  Tom Tromey  <tom@tromey.com>
8254
8255         PR gdb/11750:
8256         * cli/cli-script.h (enum command_control_type) <define_control>:
8257         New constant.
8258         * cli/cli-script.c (multi_line_command_p): Handle define_control.
8259         (build_command_line, execute_control_command_1)
8260         (process_next_line): Likewise.
8261         (do_define_command): New function, extracted from define_command.
8262         (define_command): Use it.
8263
8264 2018-05-04  Tom Tromey  <tom@tromey.com>
8265
8266         * tracepoint.c (actions_command): Update.
8267         * cli/cli-script.h (read_command_lines): Update.
8268         * cli/cli-script.c (read_command_lines): Constify prompt_arg.
8269         (MAX_TMPBUF): Remove define.
8270         (define_command): Use string_printf.
8271         (document_command): Likewise.
8272         * breakpoint.c (commands_command_1): Update.
8273
8274 2018-05-04  Tom Tromey  <tom@tromey.com>
8275
8276         * top.c (execute_command): Update.
8277         * cli/cli-script.h (print_command_lines): Now varargs.
8278         * cli/cli-script.c (print_command_lines): Now varargs.
8279         (execute_control_command_1) <case while_control, case if_control>:
8280         Update.
8281
8282 2018-05-04  Tom Tromey  <tom@tromey.com>
8283
8284         * tracepoint.c (all_tracepoint_actions): Rename from
8285         all_tracepoint_actions_and_cleanup.  Change return type.
8286         (actions_command, encode_actions_1, encode_actions)
8287         (trace_dump_actions, tdump_command): Update.
8288         * remote.c (remote_download_command_source): Update.
8289         * python/python.c (gdbpy_eval_from_control_command)
8290         (python_command, python_interactive_command): Update.
8291         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
8292         * guile/guile.c (guile_command)
8293         (gdbscm_eval_from_control_command, guile_command): Update.
8294         * compile/compile.c (compile_code_command)
8295         (compile_print_command, compile_to_object): Update.
8296         * cli/cli-script.h (struct command_lines_deleter): New.
8297         (counted_command_line): New typedef.
8298         (struct command_line): Add constructor, destructor.
8299         <body_list>: Remove.
8300         <body_list_0, body_list_1>: New members.
8301         (command_line_up): Remove typedef.
8302         (read_command_lines, read_command_lines_1, get_command_line):
8303         Update.
8304         (copy_command_lines): Don't declare.
8305         * cli/cli-script.c (build_command_line): Use "new".
8306         (get_command_line): Return counted_command_line.
8307         (print_command_lines, execute_user_command)
8308         (execute_control_command_1, while_command, if_command): Update.
8309         (realloc_body_list): Remove.
8310         (process_next_line, recurse_read_control_structure): Update.
8311         (read_command_lines, read_command_lines_1): Return counted_command_line.
8312         (free_command_lines): Use "delete".
8313         (copy_command_lines): Remove.
8314         (define_command, document_command, show_user_1): Update.
8315         * cli/cli-decode.h (struct cmd_list_element) <user_commands>: Now
8316         a counted_command_line.
8317         * breakpoint.h (counted_command_line): Remove typedef.
8318         (breakpoint_set_commands): Update.
8319         * breakpoint.c (check_no_tracepoint_commands)
8320         (validate_commands_for_breakpoint): Update.
8321         (breakpoint_set_commands): Change commands to be a
8322         counted_command_line.
8323         (commands_command_1, update_dprintf_command_list)
8324         (create_tracepoint_from_upload): Update.
8325
8326 2018-05-04  Tom Tromey  <tom@tromey.com>
8327
8328         * cli/cli-decode.h (cmd_list_element): New constructor.
8329         (~cmd_list_element): New destructor.
8330         (struct cmd_list_element): Add initializers.
8331         * cli/cli-decode.c (do_add_cmd): Use "new".
8332         (delete_cmd): Use "delete".
8333
8334 2018-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
8335             Pedro Alves <palves@redhat.com>
8336
8337         PR breakpoints/19806 and support for PR external/20207.
8338         * NEWS: Mention Aarch64 watchpoint improvements.
8339         * aarch64-linux-nat.c (aarch64_linux_stopped_data_address): Fix missed
8340         watchpoints and PR external/20207 watchpoints.
8341         * nat/aarch64-linux-hw-point.c
8342         (kernel_supports_any_contiguous_range): New.
8343         (aarch64_watchpoint_offset): New.
8344         (aarch64_watchpoint_length): Support PR external/20207 watchpoints.
8345         (aarch64_point_encode_ctrl_reg): New parameter offset, new asserts.
8346         (aarch64_point_is_aligned): Support PR external/20207 watchpoints.
8347         (aarch64_align_watchpoint): New parameters aligned_offset_p and
8348         next_addr_orig_p.  Support PR external/20207 watchpoints.
8349         (aarch64_downgrade_regs): New.
8350         (aarch64_dr_state_insert_one_point): New parameters offset and
8351         addr_orig.
8352         (aarch64_dr_state_remove_one_point): Likewise.
8353         (aarch64_handle_breakpoint): Update caller.
8354         (aarch64_handle_aligned_watchpoint): Likewise.
8355         (aarch64_handle_unaligned_watchpoint): Support addr_orig and
8356         aligned_offset.
8357         (aarch64_linux_set_debug_regs): Remove const from state.  Call
8358         aarch64_downgrade_regs.
8359         (aarch64_show_debug_reg_state): Print also dr_addr_orig_wp.
8360         * nat/aarch64-linux-hw-point.h (DR_CONTROL_LENGTH): Rename to ...
8361         (DR_CONTROL_MASK): ... this.
8362         (struct aarch64_debug_reg_state): New field dr_addr_orig_wp.
8363         (unsigned int aarch64_watchpoint_offset): New prototype.
8364         (aarch64_linux_set_debug_regs): Remove const from state.
8365         * utils.c (align_up, align_down): Move to ...
8366         * common/common-utils.c (align_up, align_down): ... here.
8367         * utils.h (align_up, align_down): Move to ...
8368         * common/common-utils.h (align_up, align_down): ... here.
8369
8370 2018-05-04  Joel Brobecker  <brobecker@adacore.com>
8371
8372         * sparc-tdep.c (sparc_structure_return_p): Re-implement to
8373         match the ABI as summarized in GCC's gcc/config/sparc/sparc.c.
8374         (sparc_arg_by_memory_p): Renamed from sparc_arg_on_registers_p.
8375         Re-implement to match the ABI as summarized in GCC's
8376         gcc/config/sparc/sparc.c.  All callers updated.
8377         (sparc32_store_arguments): Remove assertion.
8378
8379 2018-05-04  Tom Tromey  <tom@tromey.com>
8380
8381         * printcmd.c: Don't include tui.h.
8382         (decode_format): Use skip_spaces.
8383
8384 2018-05-04  Tom Tromey  <tom@tromey.com>
8385
8386         PR gdb/22619:
8387         * printcmd.c (last_count): New global.
8388         (x_command): Use saved count when repeating.
8389
8390 2018-05-04  Tom Tromey  <tom@tromey.com>
8391
8392         * nto-procfs.c (do_closedir_cleanup): Remove.
8393         (procfs_pidlist): Use gdb_dir_up.
8394         * procfs.c (do_closedir_cleanup): Remove.
8395         (proc_update_threads): Use gdb_dir_up.
8396         * common/filestuff.h (struct gdb_dir_deleter): New.
8397         (gdb_dir_up): New typedef.
8398
8399 2018-05-04  Tom Tromey  <tom@tromey.com>
8400
8401         * ada-lang.c (print_mention_exception): Use std::string.
8402
8403 2018-05-04  Tom Tromey  <tom@tromey.com>
8404
8405         * ada-lang.c (create_excep_cond_exprs): Update.
8406         (ada_exception_catchpoint_cond_string): Use std::string.
8407
8408 2018-05-04  Tom Tromey  <tom@tromey.com>
8409
8410         * ada-lang.c (xget_renaming_scope): Return std::string.
8411         (old_renaming_is_invisible): Update.
8412
8413 2018-05-04  Tom Tromey  <tom@tromey.com>
8414
8415         * bfd-target.c (target_bfd::m_bfd): Now a gdb_bfd_ref_ptr.
8416         (target_bfd::target_bfd, target_bfd::~target_bfd): Update.
8417
8418 2018-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
8419
8420         * spu-linux-nat.c (spu_linux_nat_target::wait): Fix syntax error.
8421
8422 2018-05-04  Tom Tromey  <tom@tromey.com>
8423
8424         * remote.c (remote_query_supported_append): Change type.
8425         (remote_check_symbols): Update.
8426
8427 2018-05-04  Paul Pluzhnikov  <ppluzhnikov@google.com>
8428
8429         PR gdb/11420
8430         * configure.ac: Prepend libpython.
8431         * python/python-config.py: Likewise.
8432         * configure: Regenerate.
8433
8434 2018-05-03  Simon Marchi  <simon.marchi@ericsson.com>
8435
8436         * Makefile.in (%.c: %.l): Use -t instead of --stdout.
8437
8438 2018-05-03  Pedro Alves  <palves@redhat.com>
8439
8440         * s390-linux-nat.c
8441         (s390_linux_nat_target::have_continuable_watchpoint): Mark with
8442         override.  Write 'true' instead of '1'.
8443         (s390_linux_nat_target::watchpoint_addr_within_range): Remove
8444         declaration.
8445
8446 2018-05-02  Pedro Alves  <palves@redhat.com>
8447
8448         * aarch64-fbsd-nat.c (_initialize_aarch64_fbsd_nat): Use
8449         add_inf_child_target.
8450         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Use
8451         add_inf_child_target.
8452         * aix-thread.c (aix_thread_target_info): New.
8453         (aix_thread_target) <shortname, longname, doc>: Delete.
8454         <info>: New.
8455         * alpha-bsd-nat.c (_initialize_alphabsd_nat): Use
8456         add_inf_child_target.
8457         * alpha-linux-nat.c (_initialize_alpha_linux_nat): Use
8458         add_inf_child_target.
8459         * amd64-fbsd-nat.c (_initialize_amd64fbsd_nat): Use
8460         add_inf_child_target.
8461         * amd64-linux-nat.c (_initialize_amd64_linux_nat): Use
8462         add_inf_child_target.
8463         * amd64-nbsd-nat.c (_initialize_amd64nbsd_nat): Use
8464         add_inf_child_target.
8465         * amd64-obsd-nat.c (_initialize_amd64obsd_nat): Use
8466         add_inf_child_target.
8467         * arm-fbsd-nat.c (_initialize_arm_fbsd_nat): Use
8468         add_inf_child_target.
8469         * arm-linux-nat.c (_initialize_arm_linux_nat): Use
8470         add_inf_child_target.
8471         * arm-nbsd-nat.c (_initialize_arm_netbsd_nat): Use
8472         add_inf_child_target.
8473         * bfd-target.c (target_bfd_target_info): New.
8474         (target_bfd) <shortname, longname, doc>: Delete.
8475         <info>: New.
8476         * bsd-kvm.c (bsd_kvm_target_info): New.
8477         (bsd_kvm_target) <shortname, longname, doc>: Delete.
8478         <info>: New.
8479         (bsd_kvm_target::open): Rename to ...
8480         (bsd_kvm_target_open): ... this.  Adjust.
8481         * bsd-uthread.c (bsd_uthread_target_info): New.
8482         (bsd_uthread_target) <shortname, longname, doc>: Delete.
8483         <info>: New.
8484         * corefile.c (core_file_command): Adjust.
8485         * corelow.c (core_target_info): New.
8486         (core_target) <shortname, longname, doc>: Delete.
8487         <info>: New.
8488         (core_target::open): Rename to ...
8489         (core_target_open): ... this.  Adjust.
8490         * ctf.c (ctf_target_info): New.
8491         (ctf_target) <shortname, longname, doc>: Delete.
8492         <info>: New.
8493         (ctf_target::open): Rename to ...
8494         (ctf_target_open): ... this.
8495         (_initialize_ctf): Adjust.
8496         * exec.c (exec_target_info): New.
8497         (exec_target) <shortname, longname, doc>: Delete.
8498         <info>: New.
8499         (exec_target::open): Rename to ...
8500         (exec_target_open): ... this.
8501         * gdbcore.h (core_target_open): Declare.
8502         * go32-nat.c (_initialize_go32_nat): Use add_inf_child_target.
8503         * hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
8504         add_inf_child_target.
8505         * hppa-nbsd-nat.c (_initialize_hppanbsd_nat): Use
8506         add_inf_child_target.
8507         * hppa-obsd-nat.c (_initialize_hppaobsd_nat): Use
8508         add_inf_child_target.
8509         * i386-darwin-nat.c (_initialize_i386_darwin_nat): Use
8510         add_inf_child_target.
8511         * i386-fbsd-nat.c (_initialize_i386fbsd_nat): Use
8512         add_inf_child_target.
8513         * i386-gnu-nat.c (_initialize_i386gnu_nat): Use
8514         add_inf_child_target.
8515         * i386-linux-nat.c (_initialize_i386_linux_nat): Use
8516         add_inf_child_target.
8517         * i386-nbsd-nat.c (_initialize_i386nbsd_nat): Use
8518         add_inf_child_target.
8519         * i386-obsd-nat.c (_initialize_i386obsd_nat): Use
8520         add_inf_child_target.
8521         * ia64-linux-nat.c (_initialize_ia64_linux_nat): Use
8522         add_inf_child_target.
8523         * inf-child.c (inf_child_target_info): New.
8524         (inf_child_target::info): New.
8525         (inf_child_open_target): Remove 'target' parameter.  Use
8526         get_native_target instead.
8527         (inf_child_target::open): Delete.
8528         (add_inf_child_target): New.
8529         * inf-child.h (inf_child_target) <shortname, longname, doc, open>:
8530         Delete.
8531         <info>: New.
8532         (add_inf_child_target): Declare.
8533         (inf_child_open_target): Declare.
8534         * linux-thread-db.c (thread_db_target_info): New.
8535         (thread_db_target) <shortname, longname, doc>: Delete.
8536         <info>: New.
8537         * m32r-linux-nat.c (_initialize_m32r_linux_nat): Use
8538         add_inf_child_target.
8539         * m68k-bsd-nat.c (_initialize_m68kbsd_nat): Use
8540         add_inf_child_target.
8541         * m68k-linux-nat.c (_initialize_m68k_linux_nat): Use
8542         add_inf_child_target.
8543         * m88k-bsd-nat.c (_initialize_m88kbsd_nat): Use
8544         add_inf_child_target.
8545         * make-target-delegates (print_class): Adjust.
8546         * mips-fbsd-nat.c (_initialize_mips_fbsd_nat): Use
8547         add_inf_child_target.
8548         * mips-linux-nat.c (_initialize_mips_linux_nat): Use
8549         add_inf_child_target.
8550         * mips-nbsd-nat.c (_initialize_mipsnbsd_nat): Use
8551         add_inf_child_target.
8552         * mips64-obsd-nat.c (_initialize_mips64obsd_nat): Use
8553         add_inf_child_target.
8554         * nto-procfs.c (nto_native_target_info): New.
8555         (nto_procfs_target_native) <shortname, longname, doc>:
8556         Delete.
8557         <info>: New.
8558         (nto_procfs_target_info): New.
8559         (nto_procfs_target_procfs) <shortname, longname, doc>:
8560         Delete.
8561         <info>: New.
8562         (init_procfs_targets): Adjust.
8563         * ppc-fbsd-nat.c (_initialize_ppcfbsd_nat): Use
8564         add_inf_child_target.
8565         * ppc-linux-nat.c (_initialize_ppc_linux_nat): Use
8566         add_inf_child_target.
8567         * ppc-nbsd-nat.c (_initialize_ppcnbsd_nat): Use
8568         add_inf_child_target.
8569         * ppc-obsd-nat.c (_initialize_ppcobsd_nat): Use
8570         add_inf_child_target.
8571         * ravenscar-thread.c (ravenscar_target_info): New.
8572         (ravenscar_thread_target) <shortname, longname, doc>:
8573         Delete.
8574         <info>: New.
8575         * record-btrace.c (record_btrace_target_info):
8576         (record_btrace_target) <shortname, longname, doc>: Delete.
8577         <info>: New.
8578         (record_btrace_target::open): Rename to ...
8579         (record_btrace_target_open): ... this.  Adjust.
8580         * record-full.c (record_longname, record_doc): New.
8581         (record_full_base_target) <shortname, longname, doc>: Delete.
8582         <info>: New.
8583         (record_full_target_info): New.
8584         (record_full_target): <shortname>: Delete.
8585         <info>: New.
8586         (record_full_core_open_1, record_full_open_1): Update comments.
8587         (record_full_base_target::open): Rename to ...
8588         (record_full_open): ... this.
8589         (cmd_record_full_restore): Update.
8590         (_initialize_record_full): Update.
8591         * remote-sim.c (remote_sim_target_info): New.
8592         (gdbsim_target) <shortname, longname, doc>: Delete.
8593         <info>: New.
8594         (gdbsim_target::open): Rename to ...
8595         (gdbsim_target_open): ... this.
8596         (_initialize_remote_sim): Adjust.
8597         * remote.c (remote_doc): New.
8598         (remote_target_info): New.
8599         (remote_target) <shortname, longname, doc>: Delete.
8600         <info>: New.
8601         (extended_remote_target_info): New.
8602         (extended_remote_target) <shortname, longname, doc>: Delete.
8603         <info>: New.
8604         (remote_target::open_1): Make static.  Adjust.
8605         * rs6000-nat.c (_initialize_rs6000_nat): Use add_inf_child_target.
8606         * s390-linux-nat.c (_initialize_s390_nat): Use
8607         add_inf_child_target.
8608         * sh-nbsd-nat.c (_initialize_shnbsd_nat): Use
8609         add_inf_child_target.
8610         * sol-thread.c (thread_db_target_info): New.
8611         (sol_thread_target) <shortname, longname, doc>: Delete.
8612         <info>: New.
8613         * sparc-linux-nat.c (_initialize_sparc_linux_nat): Use
8614         add_inf_child_target.
8615         * sparc-nbsd-nat.c (_initialize_sparcnbsd_nat): Use
8616         add_inf_child_target.
8617         * sparc64-fbsd-nat.c (_initialize_sparc64fbsd_nat): Use
8618         add_inf_child_target.
8619         * sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
8620         add_inf_child_target.
8621         * sparc64-nbsd-nat.c (_initialize_sparc64nbsd_nat): Use
8622         add_inf_child_target.
8623         * sparc64-obsd-nat.c (_initialize_sparc64obsd_nat): Use
8624         add_inf_child_target.
8625         * spu-linux-nat.c (_initialize_spu_nat): Use
8626         add_inf_child_target.
8627         * spu-multiarch.c (spu_multiarch_target_info): New.
8628         (spu_multiarch_target) <shortname, longname, doc>: Delete.
8629         <info>: New.
8630         * target-delegates.c: Regenerate.
8631         * target.c: Include <unordered_map>.
8632         (target_ops_p): Delete.
8633         (DEF_VEC_P(target_ops_p)): Delete.
8634         (target_factories): New.
8635         (test_target_info): New.
8636         (test_target_ops::info): New.
8637         (open_target): Adjust to use target_factories.
8638         (add_target_with_completer): Rename to ...
8639         (add_target): ... this.  Change prototype.  Register target_info
8640         and open callback in target_factories.  Register target_info in
8641         command context instead of target_ops.
8642         (add_target): Delete old implementation.
8643         (add_deprecated_target_alias): Change prototype.  Adjust.
8644         (the_native_target): New.
8645         (set_native_target, get_native_target): New.
8646         (find_default_run_target): Use the_native_target.
8647         (find_attach_target, find_run_target): Simplify.
8648         (target_ops::open): Delete.
8649         (dummy_target_info): New.
8650         (dummy_target::shortname, dummy_target::longname)
8651         (dummy_target::doc): Delete.
8652         (dummy_target::info): New.
8653         (debug_target::shortname, debug_target::longname)
8654         (debug_target::doc): Delete.
8655         (debug_target::info): New.
8656         * target.h (struct target_info): New.
8657         (target_ops::~target_ops): Add comment.
8658         (target_ops::info): New.
8659         (target_ops::shortname, target_ops::longname, target_ops::doc): No
8660         longer virtual.  Implement in terms of target_info.
8661         (set_native_target, get_native_target): Declare.
8662         (target_open_ftype): New.
8663         (add_target, add_target_with_completer)
8664         (add_deprecated_target_alias): Change prototype.
8665         (test_target) <shortname, longname, doc>: Delete.
8666         <info>: New.
8667         * tilegx-linux-nat.c (_initialize_tile_linux_nat): Use
8668         add_inf_child_target.
8669         * tracefile-tfile.c (tfile_target_info): New.
8670         (tfile_target) <shortname, longname, doc>: Delete.
8671         <info>: New.
8672         (tfile_target::open): Rename to ...
8673         (tfile_target_open): ... this.
8674         (_initialize_tracefile_tfile): Adjust.
8675         * vax-bsd-nat.c (_initialize_vaxbsd_nat): Use
8676         add_inf_child_target.
8677         * windows-nat.c (_initialize_windows_nat): Use
8678         add_inf_child_target.
8679         * xtensa-linux-nat.c (_initialize_xtensa_linux_nat): Use
8680         add_inf_child_target.
8681
8682 2018-05-02  Pedro Alves  <palves@redhat.com>
8683
8684         * linux-nat.h (linux_nat_target) <low_new_thread,
8685         low_delete_thread, low_new_fork, low_forget_process,
8686         low_prepare_to_resume, low_siginfo_fixup, low_status_is_event>:
8687         New virtual methods.
8688         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8689         (linux_nat_new_fork_ftype, linux_nat_set_new_fork)
8690         (linux_nat_forget_process_ftype, linux_nat_set_forget_process)
8691         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8692         (linux_nat_set_prepare_to_resume, linux_nat_set_status_is_event):
8693         Delete.
8694         * linux-fork.c (delete_fork): Adjust to call low method.
8695         * linux-nat.c (linux_nat_new_thread, linux_nat_delete_thread)
8696         (linux_nat_new_fork, linux_nat_forget_process_hook)
8697         (linux_nat_prepare_to_resume, linux_nat_siginfo_fixup)
8698         (linux_nat_status_is_event):
8699         (linux_nat_target::follow_fork, lwp_free, add_lwp, detach_one_lwp)
8700         (linux_resume_one_lwp_throw, linux_handle_extended_wait): Adjust
8701         to call low method.
8702         (sigtrap_is_event): Rename to ...
8703         (linux_nat_target::low_status_is_event): ... this.
8704         (linux_nat_set_status_is_event): Delete.
8705         (save_stop_reason, linux_nat_wait_1)
8706         (linux_nat_target::mourn_inferior, siginfo_fixup): Adjust to call
8707         low methods.
8708         (linux_nat_set_new_thread, linux_nat_set_delete_thread)
8709         (linux_nat_set_new_fork, linux_nat_set_forget_process)
8710         (linux_nat_forget_process, linux_nat_set_siginfo_fixup)
8711         (linux_nat_set_prepare_to_resume): Delete.
8712         * aarch64-linux-nat.c: All linux_nat_set_* callbacks converted to
8713         low virtual methods.
8714         * amd64-linux-nat.c: Likewise.
8715         * arm-linux-nat.c: Likewise.
8716         * i386-linux-nat.c: Likewise.
8717         * ia64-linux-nat.c: Likewise.
8718         * mips-linux-nat.c: Likewise.
8719         * ppc-linux-nat.c: Likewise.
8720         * s390-linux-nat.c: Likewise.
8721         * sparc64-linux-nat.c: Likewise.
8722         * x86-linux-nat.c: Likewise.
8723         * x86-linux-nat.h: Include "nat/x86-linux.h".
8724         (x86_linux_nat_target) <low_new_fork, low_forget_process,
8725         low_prepare_to_resume, low_new_thread, low_delete_thread>:
8726         Override methods.
8727
8728 2018-05-02  Pedro Alves  <palves@redhat.com>
8729
8730         * target.h (target_ops)
8731         <stopped_by_sw_breakpoint, supports_stopped_by_sw_breakpoint,
8732         stopped_by_hw_breakpoint, supports_stopped_by_hw_breakpoint,
8733         stopped_by_watchpoint, have_continuable_watchpoint,
8734         stopped_data_address, watchpoint_addr_within_range,
8735         can_accel_watchpoint_condition, can_run, thread_alive,
8736         has_all_memory, has_memory, has_stack, has_registers,
8737         has_execution, can_async_p, is_async_p, supports_non_stop,
8738         always_non_stop_p, can_execute_reverse, supports_multi_process,
8739         supports_enable_disable_tracepoint,
8740         supports_disable_randomization, supports_string_tracing,
8741         supports_evaluation_of_breakpoint_conditions,
8742         can_run_breakpoint_commands, filesystem_is_local,
8743         can_download_tracepoint, get_trace_state_variable_value,
8744         set_trace_notes, get_tib_address, use_agent, can_use_agent,
8745         record_is_replaying, record_will_replay,
8746         augmented_libraries_svr4_read>: Adjust to return bool.
8747         * aarch64-linux-nat.c: All implementations adjusted.
8748         * aix-thread.c: All implementations adjusted.
8749         * arm-linux-nat.c: All implementations adjusted.
8750         * breakpoint.c: All implementations adjusted.
8751         * bsd-kvm.c: All implementations adjusted.
8752         * bsd-uthread.c: All implementations adjusted.
8753         * corelow.c: All implementations adjusted.
8754         * ctf.c: All implementations adjusted.
8755         * darwin-nat.c: All implementations adjusted.
8756         * darwin-nat.h: All implementations adjusted.
8757         * exec.c: All implementations adjusted.
8758         * fbsd-nat.c: All implementations adjusted.
8759         * fbsd-nat.h: All implementations adjusted.
8760         * gnu-nat.c: All implementations adjusted.
8761         * gnu-nat.h: All implementations adjusted.
8762         * go32-nat.c: All implementations adjusted.
8763         * ia64-linux-nat.c: All implementations adjusted.
8764         * inf-child.c: All implementations adjusted.
8765         * inf-child.h: All implementations adjusted.
8766         * inf-ptrace.c: All implementations adjusted.
8767         * inf-ptrace.h: All implementations adjusted.
8768         * linux-nat.c: All implementations adjusted.
8769         * linux-nat.h: All implementations adjusted.
8770         * mips-linux-nat.c: All implementations adjusted.
8771         * nto-procfs.c: All implementations adjusted.
8772         * ppc-linux-nat.c: All implementations adjusted.
8773         * procfs.c: All implementations adjusted.
8774         * ravenscar-thread.c: All implementations adjusted.
8775         * record-btrace.c: All implementations adjusted.
8776         * record-full.c: All implementations adjusted.
8777         * remote-sim.c: All implementations adjusted.
8778         * remote.c: All implementations adjusted.
8779         * s390-linux-nat.c: All implementations adjusted.
8780         * sol-thread.c: All implementations adjusted.
8781         * spu-multiarch.c: All implementations adjusted.
8782         * target-delegates.c: All implementations adjusted.
8783         * target.c: All implementations adjusted.
8784         * target.h: All implementations adjusted.
8785         * tracefile-tfile.c: All implementations adjusted.
8786         * tracefile.c: All implementations adjusted.
8787         * tracefile.h: All implementations adjusted.
8788         * windows-nat.c: All implementations adjusted.
8789         * x86-linux-nat.h: All implementations adjusted.
8790         * x86-nat.h: All implementations adjusted.
8791
8792 2018-05-02  Pedro Alves  <palves@redhat.com>
8793
8794         * make-target-delegates (scan_target_h): Don't trim lines here.
8795         Replace sequences of tabs and/or whitespace with a single
8796         whitespace.
8797         (top level, parsing methods): Trim each line before processing it
8798         here.
8799
8800 2018-05-02  Pedro Alves  <palves@redhat.com>
8801             John Baldwin  <jhb@freebsd.org>
8802
8803         * target.h (enum strata) <debug_stratum>: New.
8804         (struct target_ops) <all delegation methods>: Replace by C++
8805         virtual methods, and drop "to_" prefix.  All references updated
8806         throughout.
8807         <to_shortname, to_longname, to_doc, to_data,
8808         to_have_steppable_watchpoint, to_have_continuable_watchpoint,
8809         to_has_thread_control, to_attach_no_wait>: Delete, replaced by
8810         virtual methods.  All references updated throughout.
8811         <can_attach, supports_terminal_ours, can_create_inferior,
8812         get_thread_control_capabilities, attach_no_wait>: New
8813         virtual methods.
8814         <insert_breakpoint, remove_breakpoint>: Now
8815         TARGET_DEFAULT_NORETURN methods.
8816         <info_proc>: Now returns bool.
8817         <to_magic>: Delete.
8818         (OPS_MAGIC): Delete.
8819         (current_target): Delete.  All references replaced by references
8820         to ...
8821         (target_stack): ... this.  New.
8822         (target_shortname, target_longname): Adjust.
8823         (target_can_run): Now a function declaration.
8824         (default_child_has_all_memory, default_child_has_memory)
8825         (default_child_has_stack, default_child_has_registers)
8826         (default_child_has_execution): Remove target_ops parameter.
8827         (complete_target_initialization): Delete.
8828         (memory_breakpoint_target): New template class.
8829         (test_target_ops): Refactor as a C++ class with virtual methods.
8830         * make-target-delegates (NAME_PART): Tighten.
8831         (POINTER_PART, CP_SYMBOL): New.
8832         (SIMPLE_RETURN_PART): Reimplement.
8833         (VEC_RETURN_PART): Expect less.
8834         (RETURN_PART, VIRTUAL_PART): New.
8835         (METHOD): Adjust to C++ virtual methods.
8836         (scan_target_h): Remove reference to C99.
8837         (dname): Output "target_ops::" prefix.
8838         (write_function_header): Adjust to output a C++ class method.
8839         (write_declaration): New.
8840         (write_delegator): Adjust to output a C++ class method.
8841         (tdname): Output "dummy_target::" prefix.
8842         (write_tdefault, write_debugmethod): Adjust to output a C++ class
8843         method.
8844         (tdefault_names, debug_names): Delete.
8845         (return_types, tdefaults, styles, argtypes_array): New.
8846         (top level): All methods are delegators.
8847         (print_class): New.
8848         (top level): Print dummy_target and debug_target classes.
8849         * target-delegates.c: Regenerate.
8850         * target-debug.h (target_debug_print_enum_info_proc_what)
8851         (target_debug_print_thread_control_capabilities)
8852         (target_debug_print_thread_info_p): New.
8853         * target.c (dummy_target): Delete.
8854         (the_dummy_target, the_debug_target): New.
8855         (target_stack): Now extern.
8856         (set_targetdebug): Push/unpush debug target.
8857         (default_child_has_all_memory, default_child_has_memory)
8858         (default_child_has_stack, default_child_has_registers)
8859         (default_child_has_execution): Remove target_ops parameter.
8860         (complete_target_initialization): Delete.
8861         (add_target_with_completer): No longer call
8862         complete_target_initialization.
8863         (target_supports_terminal_ours): Use regular delegation.
8864         (update_current_target): Delete.
8865         (push_target): No longer check magic number.  Don't call
8866         update_current_target.
8867         (unpush_target): Don't call update_current_target.
8868         (target_is_pushed): No longer check magic number.
8869         (target_require_runnable): Skip for all stratums over
8870         process_stratum.
8871         (target_ops::info_proc): New.
8872         (target_info_proc): Use find_target_at and
8873         find_default_run_target.
8874         (target_supports_disable_randomization): Use regular delegation.
8875         (target_get_osdata): Use find_target_at.
8876         (target_ops::open, target_ops::close, target_ops::can_attach)
8877         (target_ops::attach, target_ops::can_create_inferior)
8878         (target_ops::create_inferior, target_ops::can_run)
8879         (target_can_run): New.
8880         (default_fileio_target): Use regular delegation.
8881         (target_ops::fileio_open, target_ops::fileio_pwrite)
8882         (target_ops::fileio_pread, target_ops::fileio_fstat)
8883         (target_ops::fileio_close, target_ops::fileio_unlink)
8884         (target_ops::fileio_readlink): New.
8885         (target_fileio_open_1, target_fileio_unlink)
8886         (target_fileio_readlink): Always call the target method.  Handle
8887         FILEIO_ENOSYS.
8888         (return_zero, return_zero_has_execution): Delete.
8889         (init_dummy_target): Delete.
8890         (dummy_target::dummy_target, dummy_target::shortname)
8891         (dummy_target::longname, dummy_target::doc)
8892         (debug_target::debug_target, debug_target::shortname)
8893         (debug_target::longname, debug_target::doc): New.
8894         (target_supports_delete_record): Use regular delegation.
8895         (setup_target_debug): Delete.
8896         (maintenance_print_target_stack): Skip debug_stratum.
8897         (initialize_targets): Instantiate the_dummy_target and
8898         the_debug_target.
8899         * auxv.c (target_auxv_parse): Remove 'ops' parameter.  Adjust to
8900         use target_stack.
8901         (target_auxv_search, fprint_target_auxv): Adjust.
8902         (info_auxv_command): Adjust to use target_stack.
8903         * auxv.h (target_auxv_parse): Remove 'ops' parameter.
8904         * exceptions.c (print_flush): Handle a NULL target_stack.
8905         * regcache.c (target_ops_no_register): Refactor as class with
8906         virtual methods.
8907
8908         * exec.c (exec_target): New class.
8909         (exec_ops): Now an exec_target.
8910         (exec_open, exec_close_1, exec_get_section_table)
8911         (exec_xfer_partial, exec_files_info, exec_has_memory)
8912         (exec_make_note_section): Refactor as exec_target methods.
8913         (exec_file_clear, ignore, exec_remove_breakpoint, init_exec_ops):
8914         Delete.
8915         (exec_target::find_memory_regions): New.
8916         (_initialize_exec): Don't call init_exec_ops.
8917         * gdbcore.h (exec_file_clear): Delete.
8918
8919         * corefile.c (core_target): Delete.
8920         (core_file_command): Adjust.
8921         * corelow.c (core_target): New class.
8922         (the_core_target): New.
8923         (core_close): Remove target_ops parameter.
8924         (core_close_cleanup): Adjust.
8925         (core_target::close): New.
8926         (core_open, core_detach, get_core_registers, core_files_info)
8927         (core_xfer_partial, core_thread_alive, core_read_description)
8928         (core_pid_to_str, core_thread_name, core_has_memory)
8929         (core_has_stack, core_has_registers, core_info_proc): Rework as
8930         core_target methods.
8931         (ignore, core_remove_breakpoint, init_core_ops): Delete.
8932         (_initialize_corelow): Initialize the_core_target.
8933         * gdbcore.h (core_target): Delete.
8934         (the_core_target): New.
8935
8936         * ctf.c: (ctf_target): New class.
8937         (ctf_ops): Now a ctf_target.
8938         (ctf_open, ctf_close, ctf_files_info, ctf_fetch_registers)
8939         (ctf_xfer_partial, ctf_get_trace_state_variable_value)
8940         (ctf_trace_find, ctf_traceframe_info): Refactor as ctf_target
8941         methods.
8942         (init_ctf_ops): Delete.
8943         (_initialize_ctf): Don't call it.
8944         * tracefile-tfile.c (tfile_target): New class.
8945         (tfile_ops): Now a tfile_target.
8946         (tfile_open, tfile_close, tfile_files_info)
8947         (tfile_get_tracepoint_status, tfile_trace_find)
8948         (tfile_fetch_registers, tfile_xfer_partial)
8949         (tfile_get_trace_state_variable_value, tfile_traceframe_info):
8950         Refactor as tfile_target methods.
8951         (tfile_xfer_partial_features): Remove target_ops parameter.
8952         (init_tfile_ops): Delete.
8953         (_initialize_tracefile_tfile): Don't call it.
8954         * tracefile.c (tracefile_has_all_memory, tracefile_has_memory)
8955         (tracefile_has_stack, tracefile_has_registers)
8956         (tracefile_thread_alive, tracefile_get_trace_status): Refactor as
8957         tracefile_target methods.
8958         (init_tracefile_ops): Delete.
8959         (tracefile_target::tracefile_target): New.
8960         * tracefile.h: Include "target.h".
8961         (tracefile_target): New class.
8962         (init_tracefile_ops): Delete.
8963
8964         * spu-multiarch.c (spu_multiarch_target): New class.
8965         (spu_ops): Now a spu_multiarch_target.
8966         (spu_thread_architecture, spu_region_ok_for_hw_watchpoint)
8967         (spu_fetch_registers, spu_store_registers, spu_xfer_partial)
8968         (spu_search_memory, spu_mourn_inferior): Refactor as
8969         spu_multiarch_target methods.
8970         (init_spu_ops): Delete.
8971         (_initialize_spu_multiarch): Remove references to init_spu_ops,
8972         complete_target_initialization.
8973
8974         * ravenscar-thread.c (ravenscar_thread_target): New class.
8975         (ravenscar_ops): Now a ravenscar_thread_target.
8976         (ravenscar_resume, ravenscar_wait, ravenscar_update_thread_list)
8977         (ravenscar_thread_alive, ravenscar_pid_to_str)
8978         (ravenscar_fetch_registers, ravenscar_store_registers)
8979         (ravenscar_prepare_to_store, ravenscar_stopped_by_sw_breakpoint)
8980         (ravenscar_stopped_by_hw_breakpoint)
8981         (ravenscar_stopped_by_watchpoint, ravenscar_stopped_data_address)
8982         (ravenscar_mourn_inferior, ravenscar_core_of_thread)
8983         (ravenscar_get_ada_task_ptid): Refactor as ravenscar_thread_target
8984         methods.
8985         (init_ravenscar_thread_ops): Delete.
8986         (_initialize_ravenscar): Remove references to
8987         init_ravenscar_thread_ops and complete_target_initialization.
8988
8989         * bsd-uthread.c (bsd_uthread_ops_hack): Delete.
8990         (bsd_uthread_target): New class.
8991         (bsd_uthread_ops): Now a bsd_uthread_target.
8992         (bsd_uthread_activate): Adjust to refer to bsd_uthread_ops.
8993         (bsd_uthread_close, bsd_uthread_mourn_inferior)
8994         (bsd_uthread_fetch_registers, bsd_uthread_store_registers)
8995         (bsd_uthread_wait, bsd_uthread_resume, bsd_uthread_thread_alive)
8996         (bsd_uthread_update_thread_list, bsd_uthread_extra_thread_info)
8997         (bsd_uthread_pid_to_str): Refactor as bsd_uthread_target methods.
8998         (bsd_uthread_target): Delete function.
8999         (_initialize_bsd_uthread): Remove reference to
9000         complete_target_initialization.
9001
9002         * bfd-target.c (target_bfd_data): Delete.  Fields folded into ...
9003         (target_bfd): ... this new class.
9004         (target_bfd_xfer_partial, target_bfd_get_section_table)
9005         (target_bfd_close): Refactor as target_bfd methods.
9006         (target_bfd::~target_bfd): New.
9007         (target_bfd_reopen): Adjust.
9008         (target_bfd::close): New.
9009
9010         * record-btrace.c (record_btrace_target): New class.
9011         (record_btrace_ops): Now a record_btrace_target.
9012         (record_btrace_open, record_btrace_stop_recording)
9013         (record_btrace_disconnect, record_btrace_close)
9014         (record_btrace_async, record_btrace_info)
9015         (record_btrace_insn_history, record_btrace_insn_history_range)
9016         (record_btrace_insn_history_from, record_btrace_call_history)
9017         (record_btrace_call_history_range)
9018         (record_btrace_call_history_from, record_btrace_record_method)
9019         (record_btrace_is_replaying, record_btrace_will_replay)
9020         (record_btrace_xfer_partial, record_btrace_insert_breakpoint)
9021         (record_btrace_remove_breakpoint, record_btrace_fetch_registers)
9022         (record_btrace_store_registers, record_btrace_prepare_to_store)
9023         (record_btrace_to_get_unwinder)
9024         (record_btrace_to_get_tailcall_unwinder, record_btrace_resume)
9025         (record_btrace_commit_resume, record_btrace_wait)
9026         (record_btrace_stop, record_btrace_can_execute_reverse)
9027         (record_btrace_stopped_by_sw_breakpoint)
9028         (record_btrace_supports_stopped_by_sw_breakpoint)
9029         (record_btrace_stopped_by_hw_breakpoint)
9030         (record_btrace_supports_stopped_by_hw_breakpoint)
9031         (record_btrace_update_thread_list, record_btrace_thread_alive)
9032         (record_btrace_goto_begin, record_btrace_goto_end)
9033         (record_btrace_goto, record_btrace_stop_replaying_all)
9034         (record_btrace_execution_direction)
9035         (record_btrace_prepare_to_generate_core)
9036         (record_btrace_done_generating_core): Refactor as
9037         record_btrace_target methods.
9038         (init_record_btrace_ops): Delete.
9039         (_initialize_record_btrace): Remove reference to
9040         init_record_btrace_ops.
9041         * record-full.c (RECORD_FULL_IS_REPLAY): Adjust to always refer to
9042         the execution_direction global.
9043         (record_full_base_target, record_full_target)
9044         (record_full_core_target): New classes.
9045         (record_full_ops): Now a record_full_target.
9046         (record_full_core_ops): Now a record_full_core_target.
9047         (record_full_target::detach, record_full_target::disconnect)
9048         (record_full_core_target::disconnect)
9049         (record_full_target::mourn_inferior, record_full_target::kill):
9050         New.
9051         (record_full_open, record_full_close, record_full_async): Refactor
9052         as methods of the record_full_base_target class.
9053         (record_full_resume, record_full_commit_resume): Refactor
9054         as methods of the record_full_target class.
9055         (record_full_wait, record_full_stopped_by_watchpoint)
9056         (record_full_stopped_data_address)
9057         (record_full_stopped_by_sw_breakpoint)
9058         (record_full_supports_stopped_by_sw_breakpoint)
9059         (record_full_stopped_by_hw_breakpoint)
9060         (record_full_supports_stopped_by_hw_breakpoint): Refactor as
9061         methods of the record_full_base_target class.
9062         (record_full_store_registers, record_full_xfer_partial)
9063         (record_full_insert_breakpoint, record_full_remove_breakpoint):
9064         Refactor as methods of the record_full_target class.
9065         (record_full_can_execute_reverse, record_full_get_bookmark)
9066         (record_full_goto_bookmark, record_full_execution_direction)
9067         (record_full_record_method, record_full_info, record_full_delete)
9068         (record_full_is_replaying, record_full_will_replay)
9069         (record_full_goto_begin, record_full_goto_end, record_full_goto)
9070         (record_full_stop_replaying): Refactor as methods of the
9071         record_full_base_target class.
9072         (record_full_core_resume, record_full_core_kill)
9073         (record_full_core_fetch_registers)
9074         (record_full_core_prepare_to_store)
9075         (record_full_core_store_registers, record_full_core_xfer_partial)
9076         (record_full_core_insert_breakpoint)
9077         (record_full_core_remove_breakpoint)
9078         (record_full_core_has_execution): Refactor
9079         as methods of the record_full_core_target class.
9080         (record_full_base_target::supports_delete_record): New.
9081         (init_record_full_ops): Delete.
9082         (init_record_full_core_ops): Delete.
9083         (record_full_save): Refactor as method of the
9084         record_full_base_target class.
9085         (_initialize_record_full): Remove references to
9086         init_record_full_ops and init_record_full_core_ops.
9087
9088         * remote.c (remote_target, extended_remote_target): New classes.
9089         (remote_ops): Now a remote_target.
9090         (extended_remote_ops): Now an extended_remote_target.
9091         (remote_insert_fork_catchpoint, remote_remove_fork_catchpoint)
9092         (remote_insert_vfork_catchpoint, remote_remove_vfork_catchpoint)
9093         (remote_insert_exec_catchpoint, remote_remove_exec_catchpoint)
9094         (remote_pass_signals, remote_set_syscall_catchpoint)
9095         (remote_program_signals, )
9096         (remote_thread_always_alive): Remove target_ops parameter.
9097         (remote_thread_alive, remote_thread_name)
9098         (remote_update_thread_list, remote_threads_extra_info)
9099         (remote_static_tracepoint_marker_at)
9100         (remote_static_tracepoint_markers_by_strid)
9101         (remote_get_ada_task_ptid, remote_close, remote_start_remote)
9102         (remote_open): Refactor as methods of remote_target.
9103         (extended_remote_open, extended_remote_detach)
9104         (extended_remote_attach, extended_remote_post_attach):
9105         (extended_remote_supports_disable_randomization)
9106         (extended_remote_create_inferior): : Refactor as method of
9107         extended_remote_target.
9108         (remote_set_permissions, remote_open_1, remote_detach)
9109         (remote_follow_fork, remote_follow_exec, remote_disconnect)
9110         (remote_resume, remote_commit_resume, remote_stop)
9111         (remote_interrupt, remote_pass_ctrlc, remote_terminal_inferior)
9112         (remote_terminal_ours, remote_wait, remote_fetch_registers)
9113         (remote_prepare_to_store, remote_store_registers)
9114         (remote_flash_erase, remote_flash_done, remote_files_info)
9115         (remote_kill, remote_mourn, remote_insert_breakpoint)
9116         (remote_remove_breakpoint, remote_insert_watchpoint)
9117         (remote_watchpoint_addr_within_range)
9118         (remote_remove_watchpoint, remote_region_ok_for_hw_watchpoint)
9119         (remote_check_watch_resources, remote_stopped_by_sw_breakpoint)
9120         (remote_supports_stopped_by_sw_breakpoint)
9121         (remote_stopped_by_hw_breakpoint)
9122         (remote_supports_stopped_by_hw_breakpoint)
9123         (remote_stopped_by_watchpoint, remote_stopped_data_address)
9124         (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint)
9125         (remote_verify_memory): Refactor as methods of remote_target.
9126         (remote_write_qxfer, remote_read_qxfer): Remove target_ops
9127         parameter.
9128         (remote_xfer_partial, remote_get_memory_xfer_limit)
9129         (remote_search_memory, remote_rcmd, remote_memory_map)
9130         (remote_pid_to_str, remote_get_thread_local_address)
9131         (remote_get_tib_address, remote_read_description): Refactor as
9132         methods of remote_target.
9133         (remote_target::fileio_open, remote_target::fileio_pwrite)
9134         (remote_target::fileio_pread, remote_target::fileio_close): New.
9135         (remote_hostio_readlink, remote_hostio_fstat)
9136         (remote_filesystem_is_local, remote_can_execute_reverse)
9137         (remote_supports_non_stop, remote_supports_disable_randomization)
9138         (remote_supports_multi_process, remote_supports_cond_breakpoints)
9139         (remote_supports_enable_disable_tracepoint)
9140         (remote_supports_string_tracing)
9141         (remote_can_run_breakpoint_commands, remote_trace_init)
9142         (remote_download_tracepoint, remote_can_download_tracepoint)
9143         (remote_download_trace_state_variable, remote_enable_tracepoint)
9144         (remote_disable_tracepoint, remote_trace_set_readonly_regions)
9145         (remote_trace_start, remote_get_trace_status)
9146         (remote_get_tracepoint_status, remote_trace_stop)
9147         (remote_trace_find, remote_get_trace_state_variable_value)
9148         (remote_save_trace_data, remote_get_raw_trace_data)
9149         (remote_set_disconnected_tracing, remote_core_of_thread)
9150         (remote_set_circular_trace_buffer, remote_traceframe_info)
9151         (remote_get_min_fast_tracepoint_insn_len)
9152         (remote_set_trace_buffer_size, remote_set_trace_notes)
9153         (remote_use_agent, remote_can_use_agent, remote_enable_btrace)
9154         (remote_disable_btrace, remote_teardown_btrace)
9155         (remote_read_btrace, remote_btrace_conf)
9156         (remote_augmented_libraries_svr4_read, remote_load)
9157         (remote_pid_to_exec_file, remote_can_do_single_step)
9158         (remote_execution_direction, remote_thread_handle_to_thread_info):
9159         Refactor as methods of remote_target.
9160         (init_remote_ops, init_extended_remote_ops): Delete.
9161         (remote_can_async_p, remote_is_async_p, remote_async)
9162         (remote_thread_events, remote_upload_tracepoints)
9163         (remote_upload_trace_state_variables): Refactor as methods of
9164         remote_target.
9165         (_initialize_remote): Remove references to init_remote_ops and
9166         init_extended_remote_ops.
9167
9168         * remote-sim.c (gdbsim_target): New class.
9169         (gdbsim_fetch_register, gdbsim_store_register, gdbsim_kill)
9170         (gdbsim_load, gdbsim_create_inferior, gdbsim_open, gdbsim_close)
9171         (gdbsim_detach, gdbsim_resume, gdbsim_interrupt)
9172         (gdbsim_wait, gdbsim_prepare_to_store, gdbsim_xfer_partial)
9173         (gdbsim_files_info, gdbsim_mourn_inferior, gdbsim_thread_alive)
9174         (gdbsim_pid_to_str, gdbsim_has_all_memory, gdbsim_has_memory):
9175         Refactor as methods of gdbsim_target.
9176         (gdbsim_ops): Now a gdbsim_target.
9177         (init_gdbsim_ops): Delete.
9178         (gdbsim_cntrl_c): Adjust.
9179         (_initialize_remote_sim): Remove reference to init_gdbsim_ops.
9180
9181         * amd64-linux-nat.c (amd64_linux_nat_target): New class.
9182         (the_amd64_linux_nat_target): New.
9183         (amd64_linux_fetch_inferior_registers)
9184         (amd64_linux_store_inferior_registers): Refactor as methods of
9185         amd64_linux_nat_target.
9186         (_initialize_amd64_linux_nat): Adjust.  Set linux_target.
9187         * i386-linux-nat.c: Don't include "linux-nat.h".
9188         (i386_linux_nat_target): New class.
9189         (the_i386_linux_nat_target): New.
9190         (i386_linux_fetch_inferior_registers)
9191         (i386_linux_store_inferior_registers, i386_linux_resume): Refactor
9192         as methods of i386_linux_nat_target.
9193         (_initialize_i386_linux_nat): Adjust.  Set linux_target.
9194         * inf-child.c (inf_child_ops): Delete.
9195         (inf_child_fetch_inferior_registers)
9196         (inf_child_store_inferior_registers): Delete.
9197         (inf_child_post_attach, inf_child_prepare_to_store): Refactor as
9198         methods of inf_child_target.
9199         (inf_child_target::supports_terminal_ours)
9200         (inf_child_target::terminal_init)
9201         (inf_child_target::terminal_inferior)
9202         (inf_child_target::terminal_ours_for_output)
9203         (inf_child_target::terminal_ours, inf_child_target::interrupt)
9204         (inf_child_target::pass_ctrlc, inf_child_target::terminal_info):
9205         New.
9206         (inf_child_open, inf_child_disconnect, inf_child_close)
9207         (inf_child_mourn_inferior, inf_child_maybe_unpush_target)
9208         (inf_child_post_startup_inferior, inf_child_can_run)
9209         (inf_child_pid_to_exec_file): Refactor as methods of
9210         inf_child_target.
9211         (inf_child_follow_fork): Delete.
9212         (inf_child_target::can_create_inferior)
9213         (inf_child_target::can_attach): New.
9214         (inf_child_target::has_all_memory, inf_child_target::has_memory)
9215         (inf_child_target::has_stack, inf_child_target::has_registers)
9216         (inf_child_target::has_execution): New.
9217         (inf_child_fileio_open, inf_child_fileio_pwrite)
9218         (inf_child_fileio_pread, inf_child_fileio_fstat)
9219         (inf_child_fileio_close, inf_child_fileio_unlink)
9220         (inf_child_fileio_readlink, inf_child_use_agent)
9221         (inf_child_can_use_agent): Refactor as methods of
9222         inf_child_target.
9223         (return_zero, inf_child_target): Delete.
9224         (inf_child_target::inf_child_target): New.
9225         * inf-child.h: Include "target.h".
9226         (inf_child_target): Delete function prototype.
9227         (inf_child_target): New class.
9228         (inf_child_open_target, inf_child_mourn_inferior)
9229         (inf_child_maybe_unpush_target): Delete.
9230         * inf-ptrace.c (inf_ptrace_target::~inf_ptrace_target): New.
9231         (inf_ptrace_follow_fork, inf_ptrace_insert_fork_catchpoint)
9232         (inf_ptrace_remove_fork_catchpoint, inf_ptrace_create_inferior)
9233         (inf_ptrace_post_startup_inferior, inf_ptrace_mourn_inferior)
9234         (inf_ptrace_attach, inf_ptrace_post_attach, inf_ptrace_detach)
9235         (inf_ptrace_detach_success, inf_ptrace_kill, inf_ptrace_resume)
9236         (inf_ptrace_wait, inf_ptrace_xfer_partial)
9237         (inf_ptrace_thread_alive, inf_ptrace_files_info)
9238         (inf_ptrace_pid_to_str, inf_ptrace_auxv_parse): Refactor as
9239         methods of inf_ptrace_target.
9240         (inf_ptrace_target): Delete function.
9241         * inf-ptrace.h: Include "inf-child.h".
9242         (inf_ptrace_target): Delete function declaration.
9243         (inf_ptrace_target): New class.
9244         (inf_ptrace_trad_target, inf_ptrace_detach_success): Delete.
9245         * linux-nat.c (linux_target): New.
9246         (linux_ops, linux_ops_saved, super_xfer_partial): Delete.
9247         (linux_nat_target::~linux_nat_target): New.
9248         (linux_child_post_attach, linux_child_post_startup_inferior)
9249         (linux_child_follow_fork, linux_child_insert_fork_catchpoint)
9250         (linux_child_remove_fork_catchpoint)
9251         (linux_child_insert_vfork_catchpoint)
9252         (linux_child_remove_vfork_catchpoint)
9253         (linux_child_insert_exec_catchpoint)
9254         (linux_child_remove_exec_catchpoint)
9255         (linux_child_set_syscall_catchpoint, linux_nat_pass_signals)
9256         (linux_nat_create_inferior, linux_nat_attach, linux_nat_detach)
9257         (linux_nat_resume, linux_nat_stopped_by_watchpoint)
9258         (linux_nat_stopped_data_address)
9259         (linux_nat_stopped_by_sw_breakpoint)
9260         (linux_nat_supports_stopped_by_sw_breakpoint)
9261         (linux_nat_stopped_by_hw_breakpoint)
9262         (linux_nat_supports_stopped_by_hw_breakpoint, linux_nat_wait)
9263         (linux_nat_kill, linux_nat_mourn_inferior)
9264         (linux_nat_xfer_partial, linux_nat_thread_alive)
9265         (linux_nat_update_thread_list, linux_nat_pid_to_str)
9266         (linux_nat_thread_name, linux_child_pid_to_exec_file)
9267         (linux_child_static_tracepoint_markers_by_strid)
9268         (linux_nat_is_async_p, linux_nat_can_async_p)
9269         (linux_nat_supports_non_stop, linux_nat_always_non_stop_p)
9270         (linux_nat_supports_multi_process)
9271         (linux_nat_supports_disable_randomization, linux_nat_async)
9272         (linux_nat_stop, linux_nat_close, linux_nat_thread_address_space)
9273         (linux_nat_core_of_thread, linux_nat_filesystem_is_local)
9274         (linux_nat_fileio_open, linux_nat_fileio_readlink)
9275         (linux_nat_fileio_unlink, linux_nat_thread_events): Refactor as
9276         methods of linux_nat_target.
9277         (linux_nat_wait_1, linux_xfer_siginfo, linux_proc_xfer_partial)
9278         (linux_proc_xfer_spu, linux_nat_xfer_osdata): Remove target_ops
9279         parameter.
9280         (check_stopped_by_watchpoint): Adjust.
9281         (linux_xfer_partial): Delete.
9282         (linux_target_install_ops, linux_target, linux_nat_add_target):
9283         Delete.
9284         (linux_nat_target::linux_nat_target): New.
9285         * linux-nat.h: Include "inf-ptrace.h".
9286         (linux_nat_target): New.
9287         (linux_target, linux_target_install_ops, linux_nat_add_target):
9288         Delete function declarations.
9289         (linux_target): Declare global.
9290         * linux-thread-db.c (thread_db_target): New.
9291         (thread_db_target::thread_db_target): New.
9292         (thread_db_ops): Delete.
9293         (the_thread_db_target): New.
9294         (thread_db_detach, thread_db_wait, thread_db_mourn_inferior)
9295         (thread_db_update_thread_list, thread_db_pid_to_str)
9296         (thread_db_extra_thread_info)
9297         (thread_db_thread_handle_to_thread_info)
9298         (thread_db_get_thread_local_address, thread_db_get_ada_task_ptid)
9299         (thread_db_resume): Refactor as methods of thread_db_target.
9300         (init_thread_db_ops): Delete.
9301         (_initialize_thread_db): Remove reference to init_thread_db_ops.
9302         * x86-linux-nat.c: Don't include "linux-nat.h".
9303         (super_post_startup_inferior): Delete.
9304         (x86_linux_nat_target::~x86_linux_nat_target): New.
9305         (x86_linux_child_post_startup_inferior)
9306         (x86_linux_read_description, x86_linux_enable_btrace)
9307         (x86_linux_disable_btrace, x86_linux_teardown_btrace)
9308         (x86_linux_read_btrace, x86_linux_btrace_conf): Refactor as
9309         methods of x86_linux_nat_target.
9310         (x86_linux_create_target): Delete.  Bits folded ...
9311         (x86_linux_add_target): ... here.  Now takes a linux_nat_target
9312         pointer.
9313         * x86-linux-nat.h: Include "linux-nat.h" and "x86-nat.h".
9314         (x86_linux_nat_target): New class.
9315         (x86_linux_create_target): Delete.
9316         (x86_linux_add_target): Now takes a linux_nat_target pointer.
9317         * x86-nat.c (x86_insert_watchpoint, x86_remove_watchpoint)
9318         (x86_region_ok_for_watchpoint, x86_stopped_data_address)
9319         (x86_stopped_by_watchpoint, x86_insert_hw_breakpoint)
9320         (x86_remove_hw_breakpoint, x86_can_use_hw_breakpoint)
9321         (x86_stopped_by_hw_breakpoint): Remove target_ops parameter and
9322         make extern.
9323         (x86_use_watchpoints): Delete.
9324         * x86-nat.h: Include "breakpoint.h" and "target.h".
9325         (x86_use_watchpoints): Delete.
9326         (x86_can_use_hw_breakpoint, x86_region_ok_for_hw_watchpoint)
9327         (x86_stopped_by_watchpoint, x86_stopped_data_address)
9328         (x86_insert_watchpoint, x86_remove_watchpoint)
9329         (x86_insert_hw_breakpoint, x86_remove_hw_breakpoint)
9330         (x86_stopped_by_hw_breakpoint): New declarations.
9331         (x86_nat_target): New template class.
9332
9333         * ppc-linux-nat.c (ppc_linux_nat_target): New class.
9334         (the_ppc_linux_nat_target): New.
9335         (ppc_linux_fetch_inferior_registers)
9336         (ppc_linux_can_use_hw_breakpoint)
9337         (ppc_linux_region_ok_for_hw_watchpoint)
9338         (ppc_linux_ranged_break_num_registers)
9339         (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
9340         (ppc_linux_insert_mask_watchpoint)
9341         (ppc_linux_remove_mask_watchpoint)
9342         (ppc_linux_can_accel_watchpoint_condition)
9343         (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint)
9344         (ppc_linux_stopped_data_address, ppc_linux_stopped_by_watchpoint)
9345         (ppc_linux_watchpoint_addr_within_range)
9346         (ppc_linux_masked_watch_num_registers)
9347         (ppc_linux_store_inferior_registers, ppc_linux_auxv_parse)
9348         (ppc_linux_read_description): Refactor as methods of
9349         ppc_linux_nat_target.
9350         (_initialize_ppc_linux_nat): Adjust.  Set linux_target.
9351
9352         * procfs.c (procfs_xfer_partial): Delete forward declaration.
9353         (procfs_target): New class.
9354         (the_procfs_target): New.
9355         (procfs_target): Delete function.
9356         (procfs_auxv_parse, procfs_attach, procfs_detach)
9357         (procfs_fetch_registers, procfs_store_registers, procfs_wait)
9358         (procfs_xfer_partial, procfs_resume, procfs_pass_signals)
9359         (procfs_files_info, procfs_kill_inferior, procfs_mourn_inferior)
9360         (procfs_create_inferior, procfs_update_thread_list)
9361         (procfs_thread_alive, procfs_pid_to_str)
9362         (procfs_can_use_hw_breakpoint, procfs_stopped_by_watchpoint)
9363         (procfs_stopped_data_address, procfs_insert_watchpoint)
9364         (procfs_remove_watchpoint, procfs_region_ok_for_hw_watchpoint)
9365         (proc_find_memory_regions, procfs_info_proc)
9366         (procfs_make_note_section): Refactor as methods of procfs_target.
9367         (_initialize_procfs): Adjust.
9368         * sol-thread.c (sol_thread_target): New class.
9369         (sol_thread_ops): Now a sol_thread_target.
9370         (sol_thread_detach, sol_thread_resume, sol_thread_wait)
9371         (sol_thread_fetch_registers, sol_thread_store_registers)
9372         (sol_thread_xfer_partial, sol_thread_mourn_inferior)
9373         (sol_thread_alive, solaris_pid_to_str, sol_update_thread_list)
9374         (sol_get_ada_task_ptid): Refactor as methods of sol_thread_target.
9375         (init_sol_thread_ops): Delete.
9376         (_initialize_sol_thread): Adjust.  Remove references to
9377         init_sol_thread_ops and complete_target_initialization.
9378
9379         * windows-nat.c (windows_nat_target): New class.
9380         (windows_fetch_inferior_registers)
9381         (windows_store_inferior_registers, windows_resume, windows_wait)
9382         (windows_attach, windows_detach, windows_pid_to_exec_file)
9383         (windows_files_info, windows_create_inferior)
9384         (windows_mourn_inferior, windows_interrupt, windows_kill_inferior)
9385         (windows_close, windows_pid_to_str, windows_xfer_partial)
9386         (windows_get_tib_address, windows_get_ada_task_ptid)
9387         (windows_thread_name, windows_thread_alive): Refactor as
9388         windows_nat_target methods.
9389         (do_initial_windows_stuff): Adjust.
9390         (windows_target): Delete function.
9391         (_initialize_windows_nat): Adjust.
9392
9393         * darwin-nat.c (darwin_resume, darwin_wait_to, darwin_interrupt)
9394         (darwin_mourn_inferior, darwin_kill_inferior)
9395         (darwin_create_inferior, darwin_attach, darwin_detach)
9396         (darwin_pid_to_str, darwin_thread_alive, darwin_xfer_partial)
9397         (darwin_pid_to_exec_file, darwin_get_ada_task_ptid)
9398         (darwin_supports_multi_process): Refactor as darwin_nat_target
9399         methods.
9400         (darwin_resume_to, darwin_files_info): Delete.
9401         (_initialize_darwin_inferior): Rename to ...
9402         (_initialize_darwin_nat): ... this.  Adjust to C++ification.
9403         * darwin-nat.h: Include "inf-child.h".
9404         (darwin_nat_target): New class.
9405         (darwin_complete_target): Delete.
9406         * i386-darwin-nat.c (i386_darwin_nat_target): New class.
9407         (darwin_target): New.
9408         (i386_darwin_fetch_inferior_registers)
9409         (i386_darwin_store_inferior_registers): Refactor as methods of
9410         darwin_nat_target.
9411         (darwin_complete_target): Delete, with ...
9412         (_initialize_i386_darwin_nat): ... bits factored out here.
9413
9414         * alpha-linux-nat.c (alpha_linux_nat_target): New class.
9415         (the_alpha_linux_nat_target): New.
9416         (alpha_linux_register_u_offset): Refactor as
9417         alpha_linux_nat_target method.
9418         (_initialize_alpha_linux_nat): Adjust.
9419         * linux-nat-trad.c (inf_ptrace_register_u_offset): Delete.
9420         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
9421         (inf_ptrace_store_register, inf_ptrace_store_registers): Refact as
9422         methods of linux_nat_trad_target.
9423         (linux_trad_target): Delete.
9424         * linux-nat-trad.h (linux_trad_target): Delete function.
9425         (linux_nat_trad_target): New class.
9426         * mips-linux-nat.c (mips_linux_nat_target): New class.
9427         (super_fetch_registers, super_store_registers, super_close):
9428         Delete.
9429         (the_mips_linux_nat_target): New.
9430         (mips64_linux_regsets_fetch_registers)
9431         (mips64_linux_regsets_store_registers)
9432         (mips64_linux_fetch_registers, mips64_linux_store_registers)
9433         (mips_linux_register_u_offset, mips_linux_read_description)
9434         (mips_linux_can_use_hw_breakpoint)
9435         (mips_linux_stopped_by_watchpoint)
9436         (mips_linux_stopped_data_address)
9437         (mips_linux_region_ok_for_hw_watchpoint)
9438         (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint)
9439         (mips_linux_close): Refactor as methods of mips_linux_nat.
9440         (_initialize_mips_linux_nat): Adjust to C++ification.
9441
9442         * aix-thread.c (aix_thread_target): New class.
9443         (aix_thread_ops): Now an aix_thread_target.
9444         (aix_thread_detach, aix_thread_resume, aix_thread_wait)
9445         (aix_thread_fetch_registers, aix_thread_store_registers)
9446         (aix_thread_xfer_partial, aix_thread_mourn_inferior)
9447         (aix_thread_thread_alive, aix_thread_pid_to_str)
9448         (aix_thread_extra_thread_info, aix_thread_get_ada_task_ptid):
9449         Refactor as methods of aix_thread_target.
9450         (init_aix_thread_ops): Delete.
9451         (_initialize_aix_thread): Remove references to init_aix_thread_ops
9452         and complete_target_initialization.
9453         * rs6000-nat.c (rs6000_xfer_shared_libraries): Delete.
9454         (rs6000_nat_target): New class.
9455         (the_rs6000_nat_target): New.
9456         (rs6000_fetch_inferior_registers, rs6000_store_inferior_registers)
9457         (rs6000_xfer_partial, rs6000_wait, rs6000_create_inferior)
9458         (rs6000_xfer_shared_libraries): Refactor as rs6000_nat_target methods.
9459         (super_create_inferior): Delete.
9460         (_initialize_rs6000_nat): Adjust to C++ification.
9461
9462         * arm-linux-nat.c (arm_linux_nat_target): New class.
9463         (the_arm_linux_nat_target): New.
9464         (arm_linux_fetch_inferior_registers)
9465         (arm_linux_store_inferior_registers, arm_linux_read_description)
9466         (arm_linux_can_use_hw_breakpoint, arm_linux_insert_hw_breakpoint)
9467         (arm_linux_remove_hw_breakpoint)
9468         (arm_linux_region_ok_for_hw_watchpoint)
9469         (arm_linux_insert_watchpoint, arm_linux_remove_watchpoint)
9470         (arm_linux_stopped_data_address, arm_linux_stopped_by_watchpoint)
9471         (arm_linux_watchpoint_addr_within_range): Refactor as methods of
9472         arm_linux_nat_target.
9473         (_initialize_arm_linux_nat): Adjust to C++ification.
9474
9475         * aarch64-linux-nat.c (aarch64_linux_nat_target): New class.
9476         (the_aarch64_linux_nat_target): New.
9477         (aarch64_linux_fetch_inferior_registers)
9478         (aarch64_linux_store_inferior_registers)
9479         (aarch64_linux_child_post_startup_inferior)
9480         (aarch64_linux_read_description)
9481         (aarch64_linux_can_use_hw_breakpoint)
9482         (aarch64_linux_insert_hw_breakpoint)
9483         (aarch64_linux_remove_hw_breakpoint)
9484         (aarch64_linux_insert_watchpoint, aarch64_linux_remove_watchpoint)
9485         (aarch64_linux_region_ok_for_hw_watchpoint)
9486         (aarch64_linux_stopped_data_address)
9487         (aarch64_linux_stopped_by_watchpoint)
9488         (aarch64_linux_watchpoint_addr_within_range)
9489         (aarch64_linux_can_do_single_step): Refactor as methods of
9490         aarch64_linux_nat_target.
9491         (super_post_startup_inferior): Delete.
9492         (_initialize_aarch64_linux_nat): Adjust to C++ification.
9493
9494         * hppa-linux-nat.c (hppa_linux_nat_target): New class.
9495         (the_hppa_linux_nat_target): New.
9496         (hppa_linux_fetch_inferior_registers)
9497         (hppa_linux_store_inferior_registers): Refactor as methods of
9498         hppa_linux_nat_target.
9499         (_initialize_hppa_linux_nat): Adjust to C++ification.
9500
9501         * ia64-linux-nat.c (ia64_linux_nat_target): New class.
9502         (the_ia64_linux_nat_target): New.
9503         (ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint)
9504         (ia64_linux_stopped_data_address)
9505         (ia64_linux_stopped_by_watchpoint, ia64_linux_fetch_registers)
9506         (ia64_linux_store_registers, ia64_linux_xfer_partial): Refactor as
9507         ia64_linux_nat_target methods.
9508         (super_xfer_partial): Delete.
9509         (_initialize_ia64_linux_nat): Adjust to C++ification.
9510
9511         * m32r-linux-nat.c (m32r_linux_nat_target): New class.
9512         (the_m32r_linux_nat_target): New.
9513         (m32r_linux_fetch_inferior_registers)
9514         (m32r_linux_store_inferior_registers): Refactor as
9515         m32r_linux_nat_target methods.
9516         (_initialize_m32r_linux_nat): Adjust to C++ification.
9517
9518         * m68k-linux-nat.c (m68k_linux_nat_target): New class.
9519         (the_m68k_linux_nat_target): New.
9520         (m68k_linux_fetch_inferior_registers)
9521         (m68k_linux_store_inferior_registers): Refactor as
9522         m68k_linux_nat_target methods.
9523         (_initialize_m68k_linux_nat): Adjust to C++ification.
9524
9525         * s390-linux-nat.c (s390_linux_nat_target): New class.
9526         (the_s390_linux_nat_target): New.
9527         (s390_linux_fetch_inferior_registers)
9528         (s390_linux_store_inferior_registers, s390_stopped_by_watchpoint)
9529         (s390_insert_watchpoint, s390_remove_watchpoint)
9530         (s390_can_use_hw_breakpoint, s390_insert_hw_breakpoint)
9531         (s390_remove_hw_breakpoint, s390_region_ok_for_hw_watchpoint)
9532         (s390_auxv_parse, s390_read_description): Refactor as methods of
9533         s390_linux_nat_target.
9534         (_initialize_s390_nat): Adjust to C++ification.
9535
9536         * sparc-linux-nat.c (sparc_linux_nat_target): New class.
9537         (the_sparc_linux_nat_target): New.
9538         (_initialize_sparc_linux_nat): Adjust to C++ification.
9539         * sparc-nat.c (sparc_fetch_inferior_registers)
9540         (sparc_store_inferior_registers): Remove target_ops parameter.
9541         * sparc-nat.h (sparc_fetch_inferior_registers)
9542         (sparc_store_inferior_registers): Remove target_ops parameter.
9543         * sparc64-linux-nat.c (sparc64_linux_nat_target): New class.
9544         (the_sparc64_linux_nat_target): New.
9545         (_initialize_sparc64_linux_nat): Adjust to C++ification.
9546
9547         * spu-linux-nat.c (spu_linux_nat_target): New class.
9548         (the_spu_linux_nat_target): New.
9549         (spu_child_post_startup_inferior, spu_child_post_attach)
9550         (spu_child_wait, spu_fetch_inferior_registers)
9551         (spu_store_inferior_registers, spu_xfer_partial)
9552         (spu_can_use_hw_breakpoint): Refactor as spu_linux_nat_target
9553         methods.
9554         (_initialize_spu_nat): Adjust to C++ification.
9555
9556         * tilegx-linux-nat.c (tilegx_linux_nat_target): New class.
9557         (the_tilegx_linux_nat_target): New.
9558         (fetch_inferior_registers, store_inferior_registers):
9559         Refactor as methods.
9560         (_initialize_tile_linux_nat): Adjust to C++ification.
9561
9562         * xtensa-linux-nat.c (xtensa_linux_nat_target): New class.
9563         (the_xtensa_linux_nat_target): New.
9564         (xtensa_linux_fetch_inferior_registers)
9565         (xtensa_linux_store_inferior_registers): Refactor as
9566         xtensa_linux_nat_target methods.
9567         (_initialize_xtensa_linux_nat): Adjust to C++ification.
9568
9569         * fbsd-nat.c (USE_SIGTRAP_SIGINFO): Delete.
9570         (fbsd_pid_to_exec_file, fbsd_find_memory_regions)
9571         (fbsd_find_memory_regions, fbsd_info_proc, fbsd_xfer_partial)
9572         (fbsd_thread_alive, fbsd_pid_to_str, fbsd_thread_name)
9573         (fbsd_update_thread_list, fbsd_resume, fbsd_wait)
9574         (fbsd_stopped_by_sw_breakpoint)
9575         (fbsd_supports_stopped_by_sw_breakpoint, fbsd_follow_fork)
9576         (fbsd_insert_fork_catchpoint, fbsd_remove_fork_catchpoint)
9577         (fbsd_insert_vfork_catchpoint, fbsd_remove_vfork_catchpoint)
9578         (fbsd_post_startup_inferior, fbsd_post_attach)
9579         (fbsd_insert_exec_catchpoint, fbsd_remove_exec_catchpoint)
9580         (fbsd_set_syscall_catchpoint)
9581         (super_xfer_partial, super_resume, super_wait)
9582         (fbsd_supports_stopped_by_hw_breakpoint): Delete.
9583         (fbsd_handle_debug_trap): Remove target_ops parameter.
9584         (fbsd_nat_add_target): Delete.
9585         * fbsd-nat.h: Include "inf-ptrace.h".
9586         (fbsd_nat_add_target): Delete.
9587         (USE_SIGTRAP_SIGINFO): Define.
9588         (fbsd_nat_target): New class.
9589
9590         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers)
9591         (amd64bsd_store_inferior_registers): Remove target_ops parameter.
9592         (amd64bsd_target): Delete.
9593         * amd64-bsd-nat.h: New file.
9594         * amd64-fbsd-nat.c: Include "amd64-bsd-nat.h" instead of
9595         "x86-bsd-nat.h".
9596         (amd64_fbsd_nat_target): New class.
9597         (the_amd64_fbsd_nat_target): New.
9598         (amd64fbsd_read_description): Refactor as method of
9599         amd64_fbsd_nat_target.
9600         (amd64_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9601         (_initialize_amd64fbsd_nat): Adjust to C++ification.
9602         * amd64-nat.h (amd64bsd_target): Delete function declaration.
9603         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers)
9604         (i386bsd_store_inferior_registers): Remove target_ops parameter.
9605         (i386bsd_target): Delete.
9606         * i386-bsd-nat.h (i386bsd_target): Delete function declaration.
9607         (i386bsd_fetch_inferior_registers)
9608         (i386bsd_store_inferior_registers): Declare.
9609         (i386_bsd_nat_target): New class.
9610         * i386-fbsd-nat.c (i386_fbsd_nat_target): New class.
9611         (the_i386_fbsd_nat_target): New.
9612         (i386fbsd_resume, i386fbsd_read_description): Refactor as
9613         i386_fbsd_nat_target methods.
9614         (i386_fbsd_nat_target::supports_stopped_by_hw_breakpoint): New.
9615         (_initialize_i386fbsd_nat): Adjust to C++ification.
9616         * x86-bsd-nat.c (super_mourn_inferior): Delete.
9617         (x86bsd_mourn_inferior, x86bsd_target): Delete.
9618         (_initialize_x86_bsd_nat): Adjust to C++ification.
9619         * x86-bsd-nat.h: Include "x86-nat.h".
9620         (x86bsd_target): Delete declaration.
9621         (x86bsd_nat_target): New class.
9622
9623         * aarch64-fbsd-nat.c (aarch64_fbsd_nat_target): New class.
9624         (the_aarch64_fbsd_nat_target): New.
9625         (aarch64_fbsd_fetch_inferior_registers)
9626         (aarch64_fbsd_store_inferior_registers): Refactor as methods of
9627         aarch64_fbsd_nat_target.
9628         (_initialize_aarch64_fbsd_nat): Adjust to C++ification.
9629         * alpha-bsd-nat.c (alpha_bsd_nat_target): New class.
9630         (the_alpha_bsd_nat_target): New.
9631         (alphabsd_fetch_inferior_registers)
9632         (alphabsd_store_inferior_registers): Refactor as
9633         alpha_bsd_nat_target methods.
9634         (_initialize_alphabsd_nat): Refactor as methods of
9635         alpha_bsd_nat_target.
9636         * amd64-nbsd-nat.c: Include "amd64-bsd-nat.h".
9637         (the_amd64_nbsd_nat_target): New.
9638         (_initialize_amd64nbsd_nat): Adjust to C++ification.
9639         * amd64-obsd-nat.c: Include "amd64-bsd-nat.h".
9640         (the_amd64_obsd_nat_target): New.
9641         (_initialize_amd64obsd_nat): Adjust to C++ification.
9642         * arm-fbsd-nat.c (arm_fbsd_nat_target): New.
9643         (the_arm_fbsd_nat_target): New.
9644         (arm_fbsd_fetch_inferior_registers)
9645         (arm_fbsd_store_inferior_registers, arm_fbsd_read_description):
9646         (_initialize_arm_fbsd_nat): Refactor as methods of
9647         arm_fbsd_nat_target.
9648         (_initialize_arm_fbsd_nat): Adjust to C++ification.
9649         * arm-nbsd-nat.c (arm_netbsd_nat_target): New class.
9650         (the_arm_netbsd_nat_target): New.
9651         (armnbsd_fetch_registers, armnbsd_store_registers): Refactor as
9652         arm_netbsd_nat_target.
9653         (_initialize_arm_netbsd_nat): Adjust to C++ification.
9654         * hppa-nbsd-nat.c (hppa_nbsd_nat_target): New class.
9655         (the_hppa_nbsd_nat_target): New.
9656         (hppanbsd_fetch_registers, hppanbsd_store_registers): Refactor as
9657         hppa_nbsd_nat_target methods.
9658         (_initialize_hppanbsd_nat): Adjust to C++ification.
9659         * hppa-obsd-nat.c (hppa_obsd_nat_target): New class.
9660         (the_hppa_obsd_nat_target): New.
9661         (hppaobsd_fetch_registers, hppaobsd_store_registers): Refactor as
9662         methods of hppa_obsd_nat_target.
9663         (_initialize_hppaobsd_nat): Adjust to C++ification.  Use
9664         add_target.
9665         * i386-nbsd-nat.c (the_i386_nbsd_nat_target): New.
9666         (_initialize_i386nbsd_nat): Adjust to C++ification.  Use
9667         add_target.
9668         * i386-obsd-nat.c (the_i386_obsd_nat_target): New.
9669         (_initialize_i386obsd_nat): Use add_target.
9670         * m68k-bsd-nat.c (m68k_bsd_nat_target): New class.
9671         (the_m68k_bsd_nat_target): New.
9672         (m68kbsd_fetch_inferior_registers)
9673         (m68kbsd_store_inferior_registers): Refactor as methods of
9674         m68k_bsd_nat_target.
9675         (_initialize_m68kbsd_nat): Adjust to C++ification.
9676         * mips-fbsd-nat.c (mips_fbsd_nat_target): New class.
9677         (the_mips_fbsd_nat_target): New.
9678         (mips_fbsd_fetch_inferior_registers)
9679         (mips_fbsd_store_inferior_registers): Refactor as methods of
9680         mips_fbsd_nat_target.
9681         (_initialize_mips_fbsd_nat): Adjust to C++ification.  Use
9682         add_target.
9683         * mips-nbsd-nat.c (mips_nbsd_nat_target): New class.
9684         (the_mips_nbsd_nat_target): New.
9685         (mipsnbsd_fetch_inferior_registers)
9686         (mipsnbsd_store_inferior_registers): Refactor as methods of
9687         mips_nbsd_nat_target.
9688         (_initialize_mipsnbsd_nat): Adjust to C++ification.
9689         * mips64-obsd-nat.c (mips64_obsd_nat_target): New class.
9690         (the_mips64_obsd_nat_target): New.
9691         (mips64obsd_fetch_inferior_registers)
9692         (mips64obsd_store_inferior_registers): Refactor as methods of
9693         mips64_obsd_nat_target.
9694         (_initialize_mips64obsd_nat): Adjust to C++ification.  Use
9695         add_target.
9696         * nbsd-nat.c (nbsd_pid_to_exec_file): Refactor as method of
9697         nbsd_nat_target.
9698         * nbsd-nat.h: Include "inf-ptrace.h".
9699         (nbsd_nat_target): New class.
9700         * obsd-nat.c (obsd_pid_to_str, obsd_update_thread_list)
9701         (obsd_wait): Refactor as methods of obsd_nat_target.
9702         (obsd_add_target): Delete.
9703         * obsd-nat.h: Include "inf-ptrace.h".
9704         (obsd_nat_target): New class.
9705         * ppc-fbsd-nat.c (ppc_fbsd_nat_target): New class.
9706         (the_ppc_fbsd_nat_target): New.
9707         (ppcfbsd_fetch_inferior_registers)
9708         (ppcfbsd_store_inferior_registers): Refactor as methods of
9709         ppc_fbsd_nat_target.
9710         (_initialize_ppcfbsd_nat): Adjust to C++ification.  Use
9711         add_target.
9712         * ppc-nbsd-nat.c (ppc_nbsd_nat_target): New class.
9713         (the_ppc_nbsd_nat_target): New.
9714         (ppcnbsd_fetch_inferior_registers)
9715         (ppcnbsd_store_inferior_registers): Refactor as methods of
9716         ppc_nbsd_nat_target.
9717         (_initialize_ppcnbsd_nat): Adjust to C++ification.
9718         * ppc-obsd-nat.c (ppc_obsd_nat_target): New class.
9719         (the_ppc_obsd_nat_target): New.
9720         (ppcobsd_fetch_registers, ppcobsd_store_registers): Refactor as
9721         methods of ppc_obsd_nat_target.
9722         (_initialize_ppcobsd_nat): Adjust to C++ification.  Use
9723         add_target.
9724         * sh-nbsd-nat.c (sh_nbsd_nat_target): New class.
9725         (the_sh_nbsd_nat_target): New.
9726         (shnbsd_fetch_inferior_registers)
9727         (shnbsd_store_inferior_registers): Refactor as methods of
9728         sh_nbsd_nat_target.
9729         (_initialize_shnbsd_nat): Adjust to C++ification.
9730         * sparc-nat.c (sparc_xfer_wcookie): Make extern.
9731         (inf_ptrace_xfer_partial): Delete.
9732         (sparc_xfer_partial, sparc_target): Delete.
9733         * sparc-nat.h (sparc_fetch_inferior_registers)
9734         (sparc_store_inferior_registers, sparc_xfer_wcookie): Declare.
9735         (sparc_target): Delete function declaration.
9736         (sparc_target): New template class.
9737         * sparc-nbsd-nat.c (the_sparc_nbsd_nat_target): New.
9738         (_initialize_sparcnbsd_nat): Adjust to C++ification.
9739         * sparc64-fbsd-nat.c (the_sparc64_fbsd_nat_target): New.
9740         (_initialize_sparc64fbsd_nat): Adjust to C++ification.  Use
9741         add_target.
9742         * sparc64-nbsd-nat.c (the_sparc64_nbsd_nat_target): New.
9743         (_initialize_sparc64nbsd_nat): Adjust to C++ification.
9744         * sparc64-obsd-nat.c (the_sparc64_obsd_nat_target): New.
9745         (_initialize_sparc64obsd_nat): Adjust to C++ification.  Use
9746         add_target.
9747         * vax-bsd-nat.c (vax_bsd_nat_target): New class.
9748         (the_vax_bsd_nat_target): New.
9749         (vaxbsd_fetch_inferior_registers)
9750         (vaxbsd_store_inferior_registers): Refactor as vax_bsd_nat_target
9751         methods.
9752         (_initialize_vaxbsd_nat): Adjust to C++ification.
9753
9754         * bsd-kvm.c (bsd_kvm_target): New class.
9755         (bsd_kvm_ops): Now a bsd_kvm_target.
9756         (bsd_kvm_open, bsd_kvm_close, bsd_kvm_xfer_partial)
9757         (bsd_kvm_files_info, bsd_kvm_fetch_registers)
9758         (bsd_kvm_thread_alive, bsd_kvm_pid_to_str): Refactor as methods of
9759         bsd_kvm_target.
9760         (bsd_kvm_return_one): Delete.
9761         (bsd_kvm_add_target): Adjust to C++ification.
9762
9763         * nto-procfs.c (nto_procfs_target, nto_procfs_target_native)
9764         (nto_procfs_target_procfs): New classes.
9765         (procfs_open_1, procfs_thread_alive, procfs_update_thread_list)
9766         (procfs_files_info, procfs_pid_to_exec_file, procfs_attach)
9767         (procfs_post_attach, procfs_wait, procfs_fetch_registers)
9768         (procfs_xfer_partial, procfs_detach, procfs_insert_breakpoint)
9769         (procfs_remove_breakpoint, procfs_insert_hw_breakpoint)
9770         (procfs_remove_hw_breakpoint, procfs_resume)
9771         (procfs_mourn_inferior, procfs_create_inferior, procfs_interrupt)
9772         (procfs_kill_inferior, procfs_store_registers)
9773         (procfs_pass_signals, procfs_pid_to_str, procfs_can_run): Refactor
9774         as methods of nto_procfs_target.
9775         (nto_procfs_ops): Now an nto_procfs_target_procfs.
9776         (nto_native_ops): Delete.
9777         (procfs_open, procfs_native_open): Delete.
9778         (nto_native_ops): Now an nto_procfs_target_native.
9779         (init_procfs_targets): Adjust to C++ification.
9780         (procfs_can_use_hw_breakpoint, procfs_remove_hw_watchpoint)
9781         (procfs_insert_hw_watchpoint, procfs_stopped_by_watchpoint):
9782         Refactor as methods of nto_procfs_target.
9783
9784         * go32-nat.c (go32_nat_target): New class.
9785         (the_go32_nat_target): New.
9786         (go32_attach, go32_resume, go32_wait, go32_fetch_registers)
9787         (go32_store_registers, go32_xfer_partial, go32_files_info)
9788         (go32_kill_inferior, go32_create_inferior, go32_mourn_inferior)
9789         (go32_terminal_init, go32_terminal_info, go32_terminal_inferior)
9790         (go32_terminal_ours, go32_pass_ctrlc, go32_thread_alive)
9791         (go32_pid_to_str): Refactor as methods of go32_nat_target.
9792         (go32_target): Delete.
9793         (_initialize_go32_nat): Adjust to C++ification.
9794
9795         * gnu-nat.c (gnu_wait, gnu_resume, gnu_kill_inferior)
9796         (gnu_mourn_inferior, gnu_create_inferior, gnu_attach, gnu_detach)
9797         (gnu_stop, gnu_thread_alive, gnu_xfer_partial)
9798         (gnu_find_memory_regions, gnu_pid_to_str): Refactor as methods of
9799         gnu_nat_target.
9800         (gnu_target): Delete.
9801         * gnu-nat.h (gnu_target): Delete.
9802         (gnu_nat_target): New class.
9803         * i386-gnu-nat.c (gnu_base_target): New.
9804         (i386_gnu_nat_target): New class.
9805         (the_i386_gnu_nat_target): New.
9806         (_initialize_i386gnu_nat): Adjust to C++ification.
9807
9808 2018-05-02  Pedro Alves  <palves@redhat.com>
9809
9810         * bfd-target.c (target_bfd_xclose): Rename to ...
9811         (target_bfd_close): ... this.
9812         (target_bfd_reopen): Adjust.
9813         * target.c (target_close): Remove references to to_xclose.
9814         * target.h (target_ops::to_xclose): Delete.
9815         (target_ops::to_close): Update comments.
9816
9817 2018-05-02  Pedro Alves  <palves@redhat.com>
9818
9819         * alpha-linux-nat.c: Include "linux-nat-trad.h" instead of
9820         "linux-nat.h".
9821         * configure.nat (alpha-linux, linux-mips): Add linux-nat-trad.o.
9822         * inf-ptrace.c (inf_ptrace_register_u_offset)
9823         (inf_ptrace_fetch_register, inf_ptrace_fetch_registers)
9824         (inf_ptrace_store_register, inf_ptrace_store_registers)
9825         (inf_ptrace_trad_target): Move to ...
9826         * linux-nat-trad.c: ... this new file.
9827         * linux-nat-trad.h: New file.
9828         * linux-nat.c (linux_target_install_ops): Make extern.
9829         (linux_trad_target): Delete.
9830         * linux-nat.h (linux_trad_target): Delete declaration.
9831         (linux_target_install_ops): Declare.
9832         * mips-linux-nat.c: Include "linux-nat-trad.h" instead of
9833         "linux-nat.h".
9834
9835 2018-05-02  Pedro Alves  <palves@redhat.com>
9836
9837         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9838         procfs_target/add_target here.
9839         * procfs.c (procfs_target): Make static.
9840         (_initialize_procfs): Call add_target here.
9841         * procfs.h (struct target_ops): Remove forward declaration.
9842         (procfs_target): Remove declaration.
9843         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Delete.
9844
9845 2018-05-02  Pedro Alves  <palves@redhat.com>
9846
9847         * procfs.c (procfs_stopped_by_watchpoint)
9848         (procfs_insert_watchpoint, procfs_remove_watchpoint)
9849         (procfs_region_ok_for_hw_watchpoint, procfs_stopped_data_address):
9850         Forward declare.
9851         (procfs_use_watchpoints): Delete, move contents...
9852         (procfs_target): ... here.
9853         * procfs.h (procfs_use_watchpoints): Delete declaration.
9854         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Don't call
9855         procfs_use_watchpoints.
9856         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Don't call
9857         procfs_use_watchpoints.
9858
9859 2018-05-02  Tom Tromey  <tom@tromey.com>
9860
9861         PR python/20084:
9862         * python/python.c (gdbpy_parameter_value): Handle var_zuinteger
9863         and var_zuinteger_unlimited.
9864         * python/py-param.c (struct parm_constant): Add PARAM_ZUINTEGER
9865         and PARAM_ZUINTEGER_UNLIMITED.
9866         (set_parameter_value): Handle var_zuinteger and
9867         var_zuinteger_unlimited.
9868         (add_setshow_generic): Likewise.
9869         (parmpy_init): Likewise.
9870
9871 2018-04-28  Dan Robertson  <danlrobertson89@gmail.com>
9872
9873         PR rust/23124
9874         * gdb/rust-exp.y (convert_params_to_types): Ensure that the params
9875         pointer is not null before dereferencing it.
9876
9877 2018-04-30  Tom Tromey  <tom@tromey.com>
9878
9879         * darwin-nat-info.c (darwin_debug_regions_recurse): Remove use of
9880         is_mi_like_p.
9881
9882 2018-04-30  Tom Tromey  <tom@tromey.com>
9883
9884         * breakpoint.c (mention): Remove use of is_mi_like_p.
9885         (print_mention_ranged_breakpoint): Likewise.
9886         * break-catch-throw.c (print_it_exception_catchpoint): Remove use
9887         of is_mi_like_p.
9888
9889 2018-04-30  Tom Tromey  <tom@tromey.com>
9890
9891         * tracepoint.c (tvariables_info_1): Remove use of is_mi_like_p.
9892
9893 2018-04-30  Tom Tromey  <tom@tromey.com>
9894
9895         * spu-tdep.c (info_spu_mailbox_list, info_spu_dma_cmdlist)
9896         (info_spu_event_command): Remove some uses of is_mi_like_p.
9897
9898 2018-04-30  Tom Tromey  <tom@tromey.com>
9899
9900         * python/py-framefilter.c (py_print_single_arg)
9901         (enumerate_locals, py_print_args, py_print_frame): Remove some
9902         uses of is_mi_like_p.
9903
9904 2018-04-30  Tom Tromey  <tom@tromey.com>
9905
9906         * ui-out.c: Update.
9907         * cli-out.h (cli_ui_out::do_is_mi_like_p): Update.
9908         * ui-out.h (ui_out::is_mi_like_p): Now const.
9909         (ui_out::do_is_mi_like_p): Now const.
9910         * mi/mi-out.h (mi_ui_out::do_is_mi_like_p): Update.
9911
9912 2018-04-30  Tom Tromey  <tom@tromey.com>
9913
9914         * varobj.c (varobj_set_visualizer): Use new_reference.
9915         * python/python.c (gdbpy_decode_line): Use new_reference.
9916         * python/py-cmd.c (cmdpy_function, cmdpy_completer_helper): Use
9917         new_reference.
9918
9919 2018-04-30  Tom Tromey  <tom@tromey.com>
9920
9921         * varobj.c (install_new_value): Use new_reference.
9922         * value.h (value_incref): Return void.  Swap intro comment with
9923         value_decref.
9924         * value.c (set_value_parent): Use new_reference.
9925         (value_incref): Return void.  Update intro comment.
9926         (release_value): Use new_reference.
9927         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use new_reference.
9928
9929 2018-04-30  Tom Tromey  <tom@tromey.com>
9930
9931         * symfile-mem.c (symbol_file_add_from_memory): Use new_reference.
9932         * gdb_bfd.h (new_bfd_ref): Remove.
9933         (gdb_bfd_open): Update comment.
9934         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
9935         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_record_inclusion)
9936         (gdb_bfd_fdopenr): Use new_reference.
9937         * exec.c (exec_file_attach): Use new_reference.
9938
9939 2018-04-30  Tom Tromey  <tom@tromey.com>
9940
9941         * common/gdb_ref_ptr.h (ref_ptr::new_reference): New static
9942         method.
9943
9944 2018-04-30  Tom Tromey  <tom@tromey.com>
9945
9946         * jit.c (jit_read_code_entry): Use type_align.
9947         * i386-tdep.c (i386_gdbarch_init): Don't call
9948         set_gdbarch_long_long_align_bit.
9949         * gdbarch.sh: Remove long_long_align_bit.
9950         * gdbarch.c, gdbarch.h: Rebuild.
9951         * arc-tdep.c (arc_type_align): New function.
9952         (arc_gdbarch_init): Use arc_type_align.  Don't call
9953         set_gdbarch_long_long_align_bit.
9954
9955 2018-04-30  Tom Tromey  <tom@tromey.com>
9956
9957         * rust-lang.c (rust_type_alignment): Remove.
9958         (rust_composite_type): Use type_align.
9959
9960 2018-04-30  Tom Tromey  <tom@tromey.com>
9961
9962         * NEWS: Mention Type.align.
9963         * python/py-type.c (typy_get_alignof): New function.
9964         (type_object_getset): Add "alignof".
9965
9966 2018-04-30  Tom Tromey  <tom@tromey.com>
9967
9968         PR exp/17095:
9969         * NEWS: Update.
9970         * std-operator.def (UNOP_ALIGNOF): New operator.
9971         * expprint.c (dump_subexp_body_standard) <case UNOP_ALIGNOF>:
9972         New.
9973         * eval.c (evaluate_subexp_standard) <case UNOP_ALIGNOF>: New.
9974         * c-lang.c (c_op_print_tab): Add alignof.
9975         * c-exp.y (ALIGNOF): New token.
9976         (exp): Add "ALIGNOF" production.
9977         (ident_tokens): Add _Alignof and alignof.
9978
9979 2018-04-30  Tom Tromey  <tom@tromey.com>
9980
9981         * i386-tdep.c (i386_type_align): New function.
9982         (i386_gdbarch_init): Update.
9983         * gdbarch.sh (type_align): New method.
9984         * gdbarch.c, gdbarch.h: Rebuild.
9985         * arch-utils.h (default_type_align): Declare.
9986         * arch-utils.c (default_type_align): New function.
9987         * gdbtypes.h (TYPE_ALIGN_BITS): New define.
9988         (struct type) <align_log2>: New field.
9989         <instance_flags>: Now a bitfield.
9990         (TYPE_RAW_ALIGN): New macro.
9991         (type_align, type_raw_align, set_type_align): Declare.
9992         * gdbtypes.c (type_align, type_raw_align, set_type_align): New
9993         functions.
9994         * dwarf2read.c (quirk_rust_enum): Set type alignment.
9995         (get_alignment, maybe_set_alignment): New functions.
9996         (read_structure_type, read_enumeration_type, read_array_type)
9997         (read_set_type, read_tag_pointer_type, read_tag_reference_type)
9998         (read_subrange_type, read_base_type): Set type alignment.
9999
10000 2018-04-30  Simon Marchi  <simon.marchi@ericsson.com>
10001
10002         * dwarf2read.c (read_index_from_section): Use bool.
10003
10004 2018-04-29  Fabian Groffen  <grobian@gentoo.org>
10005
10006         PR gdb/22950
10007         * proc-events.c (init_syscall_table): Guard usage os SYS_uuidsys
10008         with #ifdef.
10009
10010 2018-04-29  John Reiser  <jreiser@BitWagon.com>
10011
10012         PR build/22873
10013         * gdb/Makefile.in: (.c:.l, .c:.y): Write the target only in the
10014         last step, and do it atomically.
10015
10016 2018-04-27  Alexandre Oliva  <aoliva@redhat.com>
10017
10018         * compile/compile-c-types.c (convert_int, convert_float):
10019         Update for C FE v1.
10020
10021 2018-04-27  Tom Tromey  <tom@tromey.com>
10022
10023         PR rust/22545:
10024         * rust-lang.c (rust_inclusive_range_type_p): New function.
10025         (rust_range): Handle inclusive ranges.
10026         (rust_compute_range): Likewise.
10027         * rust-exp.y (struct rust_op) <inclusive>: New field.
10028         (DOTDOTEQ): New constant.
10029         (range_expr): Add "..=" productions.
10030         (operator_tokens): Add "..=" token.
10031         (ast_range): Add "inclusive" parameter.
10032         (convert_ast_to_expression) <case OP_RANGE>: Handle inclusive
10033         ranges.
10034         * parse.c (operator_length_standard) <case OP_RANGE>: Handle new
10035         bounds values.
10036         * expression.h (enum range_type) <NONE_BOUND_DEFAULT_EXCLUSIVE,
10037         LOW_BOUND_DEFAULT_EXCLUSIVE>: New constants.
10038         Update comments.
10039         * expprint.c (print_subexp_standard): Handle new bounds values.
10040         (dump_subexp_body_standard): Likewise.
10041
10042 2018-04-27  Tom Tromey  <tom@tromey.com>
10043
10044         * configure: Rebuild.
10045         * warning.m4 (AM_GDB_WARNINGS): Add -Wsuggest-override.
10046         * dwarf2loc.c (class dwarf_evaluate_loc_desc): Use "override", not
10047         "OVERRIDE".
10048         (class symbol_needs_eval_context): Likewise.
10049         * dwarf2read.c (mock_mapped_index::symbol_name_count)
10050         (mock_mapped_index::symbol_name_at): Use "override".  Remove
10051         "virtual".
10052         * dwarf2-frame.c (dwarf_expr_executor::get_addr_index): Use
10053         "override".
10054         (class dwarf_expr_executor): Use "override", not "OVERRIDE".
10055         * aarch64-tdep.c (instruction_reader::read): Use "override".
10056         (instruction_reader_test::read): Likewise.
10057         * arm-tdep.c (instruction_reader::read): Use "override".
10058         (instruction_reader_thumb::read): Likewise.
10059
10060 2018-04-26  Andrzej Kaczmarek  <andrzej.kaczmarek@codecoup.pl>
10061
10062         PR remote/9665
10063         * remote.c (send_g_packet): Use putpkt/getpkt/packet_check_result
10064         instead of remote_send.
10065         (remote_send): Remove.
10066
10067 2018-04-26  Pedro Alves  <palves@redhat.com>
10068
10069         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Use
10070         find_function_start_sal instead of find_pc_line.
10071
10072 2018-04-26  Pedro Alves  <palves@redhat.com>
10073
10074         * breakpoint.c (set_breakpoint_location_function): Handle
10075         mst_data_gnu_ifunc.
10076         * c-exp.y (variable production): Handle mst_data_gnu_ifunc.
10077         * elfread.c (elf_symtab_read): Give data symbols with
10078         BSF_GNU_INDIRECT_FUNCTION set mst_data_gnu_ifunc type.
10079         (elf_rel_plt_read): Update comment.
10080         * linespec.c (convert_linespec_to_sals): Handle
10081         mst_data_gnu_ifunc.
10082         (minsym_found): Handle mst_data_gnu_ifunc.
10083         * minsyms.c (msymbol_is_function, minimal_symbol_reader::record)
10084         (find_solib_trampoline_target): Handle mst_data_gnu_ifunc.
10085         * parse.c (find_minsym_type_and_address): Handle
10086         mst_data_gnu_ifunc.
10087         * symmisc.c (dump_msymbols): Handle mst_data_gnu_ifunc.
10088         * symtab.c (find_gnu_ifunc): Handle mst_data_gnu_ifunc.
10089         * symtab.h (minimal_symbol_type) <mst_text_gnu_ifunc>: Update
10090         comment.
10091         <mst_data_gnu_ifunc>: New enumerator.
10092
10093 2018-04-26  Pedro Alves  <palves@redhat.com>
10094
10095         * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Rename to ...
10096         (lookup_minimal_symbol_by_pc_section): ... this.  Replace
10097         'want_trampoline' parameter by a lookup_msym_prefer parameter.
10098         Handle it.
10099         (lookup_minimal_symbol_by_pc_section): Delete old implementation.
10100         (lookup_minimal_symbol_by_pc): Adjust.
10101         (in_gnu_ifunc_stub): Prefer GNU ifunc symbols.
10102         (lookup_solib_trampoline_symbol_by_pc): Adjust.
10103         * minsyms.h (lookup_msym_prefer): New enum.
10104         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
10105         parameter by a lookup_msym_prefer parameter.
10106
10107 2018-04-26  Pedro Alves  <palves@redhat.com>
10108
10109         * elfread.c (elf_gnu_ifunc_record_cache): Check if the symbol name
10110         ends in "@plt" instead of looking at the symbol's section.
10111
10112 2018-04-26  Pedro Alves  <palves@redhat.com>
10113
10114         * blockframe.c (cache_pc_function_is_gnu_ifunc): Delete.  Remove
10115         all references.
10116         (find_pc_partial_function_gnu_ifunc): Rename to ...
10117         (find_pc_partial_function): ... this, and remove references to
10118         'is_gnu_ifunc_p'.
10119         (find_pc_partial_function): Delete old implementation.
10120         * symtab.h (find_pc_partial_function_gnu_ifunc): Delete.
10121
10122 2018-04-26  Pedro Alves  <palves@redhat.com>
10123
10124         * linespec.c (struct bound_minimal_symbol_search_key): New.
10125         (convert_linespec_to_sals): Sort minimal symbols earlier.  Don't
10126         skip first line if we found a GNU ifunc minimal symbol by name.
10127         (compare_msymbols): Change parameters to work with a destructured
10128         lhs minsym.
10129         (compare_msymbols_for_qsort, compare_msymbols_for_bsearch): New
10130         functions.
10131
10132 2018-04-26  Pedro Alves  <palves@redhat.com>
10133
10134         * breakpoint.c (set_breakpoint_location_function): Don't resolve
10135         ifunc targets here.  Instead, if we have an ifunc minsym, use its
10136         address/name.
10137         (add_location_to_breakpoint): Store the minsym and the objfile in
10138         the breakpoint location.
10139         * breakpoint.h (bp_location) <msymbol, objfile>: New fields.
10140         * linespec.c (minsym_found): Resolve GNU ifunc targets here.
10141         Record the minsym in the sal.
10142         * symtab.h (symtab_and_line) <msymbol>: New field.
10143
10144 2018-04-26  Pedro Alves  <palves@redhat.com>
10145
10146         * elfread.c (elf_gnu_ifunc_resolve_by_got): Don't write to *ADDR_P
10147         unless we actually resolved the ifunc.
10148
10149 2018-04-26  Pedro Alves  <palves@redhat.com>
10150
10151         * c-exp.y (variable production): Prefer ifunc minsyms over
10152         regular function symbols.
10153         * symtab.c (find_gnu_ifunc): New function.
10154         * minsyms.h (lookup_msym_prefer): New enum.
10155         (lookup_minimal_symbol_by_pc_section): Replace 'want_trampoline'
10156         parameter by a lookup_msym_prefer parameter.
10157         * symtab.h (find_gnu_ifunc): New declaration.
10158
10159 2018-04-26  Pedro Alves  <palves@redhat.com>
10160
10161         * blockframe.c (find_gnu_ifunc_target_type): New function.
10162         (find_function_type): New.
10163         * eval.c (evaluate_var_msym_value): For GNU ifunc types, always
10164         return a value with a memory address.
10165         (eval_call): For calls to GNU ifunc functions, try to find the
10166         type of the target function from the type that the resolver
10167         returns.
10168         * gdbtypes.c (objfile_type): Don't install a return type for ifunc
10169         symbols.
10170         * infcall.c (find_function_return_type): Delete.
10171         (find_function_addr): Add 'function_type' parameter.  For calls to
10172         GNU ifunc functions, try to find the type of the target function
10173         from the type that the resolver returns, and return it via
10174         FUNCTION_TYPE.
10175         (call_function_by_hand_dummy): Adjust to use the function type
10176         returned by find_function_addr.
10177         (find_function_addr): Add 'function_type' parameter and move
10178         description here.
10179         * symtab.h (find_function_type, find_gnu_ifunc_target_type): New
10180         declarations.
10181
10182 2018-04-26  Pedro Alves  <palves@redhat.com>
10183
10184         * c-exp.y (variable production): Skip finding an alias for ifunc
10185         symbols.
10186
10187 2018-04-26  Pedro Alves  <palves@redhat.com>
10188
10189         * elfread.c (elf_rel_plt_read): Look for relocations for .got.plt too.
10190
10191 2018-04-25  Pedro Alves  <palves@redhat.com>
10192
10193         * infcmd.c (kill_command): Print the pid as string, not the whole
10194         thread's ptid.  Add comment.  s/has been killed/killed/ in output
10195         message.
10196         * remote.c (remote_detach_1): Print the pid as string, not the
10197         whole thread's ptid.
10198
10199 2018-04-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
10200             Sergio Durigan Junior  <sergiodj@redhat.com>
10201             Pedro Alves  <palves@redhat.com>
10202
10203         * infcmd.c (kill_command): Print message when inferior has
10204         been killed.
10205         * inferior.c (print_inferior_events): Remove 'static'.  Set as
10206         '1'.
10207         (add_inferior): Improve message printed when
10208         'print_inferior_events' is on.
10209         (exit_inferior): Remove message printed when
10210         'print_inferior_events' is on.
10211         (detach_inferior): Improve message printed when
10212         'print_inferior_events' is on.
10213         (initialize_inferiors): Use 'add_inferior_silent' to set
10214         'current_inferior_'.
10215         * inferior.h (print_inferior_events): Declare here as
10216         'extern'.
10217         * infrun.c (follow_fork_inferior): Print '[Attaching...]' or
10218         '[Detaching...]' messages when 'print_inferior_events' is on.
10219         Use 'add_thread_silent' instead of 'add_thread'.  Add '[' and ']'
10220         as prefix/suffix for messages.  Remove periods.  Fix erroneous
10221         'Detaching after fork from child...', replace it by '... from
10222         parent...'.
10223         (handle_vfork_child_exec_or_exit): Add '[' and ']' as
10224         prefix/suffix when printing 'Detaching...' messages.  Print
10225         them when 'print_inferior_events' is on.
10226         * remote.c (remote_detach_1): Print message when detaching
10227         from inferior and '!is_fork_parent'.
10228
10229 2018-04-24  Tom Tromey  <tom@tromey.com>
10230
10231         * cli-out.h: Reindent.
10232
10233 2018-04-24  Tom Tromey  <tom@tromey.com>
10234
10235         * cli-out.c (cli_ui_out::out_field_fmt): Remove.
10236         (cli_ui_out::do_field_string): Use fputs_filtered.
10237         * cli-out.h (class cli_ui_out) <out_field_fmt>: Remove.
10238
10239 2018-04-23  Tom Tromey  <tom@tromey.com>
10240
10241         * guile/scm-frame.c (gdbscm_frame_read_var): Use
10242         gdb::unique_xmalloc_ptr.
10243
10244 2018-04-23  Tom Tromey  <tom@tromey.com>
10245
10246         * configure: Rebuild.
10247
10248 2018-04-22  Rajendra SY  <rajendra.sy@gmail.com>
10249
10250         PR gdb/23095
10251         * gdb/testsuite/gdb.base/break-probes.exp: Pass shlib_load to
10252         prepare_for_testing.  Set normal_bp to r_debug_state if target
10253         is bsd.
10254
10255 2018-04-21  Pedro Alves  <palves@redhat.com>
10256             Rajendra SY  <rajendra.sy@gmail.com>
10257
10258         * inf-ptrace.c (inf_ptrace_attach): Mark the thread as executing.
10259         * remote.c (extended_remote_attach): In all-stop mode, mark the
10260         thread as executing.
10261
10262 2018-04-19  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
10263
10264         * thread.c (thread_apply_all_command): Fix comment.
10265         (thread_command): Fix comment.
10266
10267 2018-04-10  Alan Hayward  <alan.hayward@arm.com>
10268
10269         * common/tdesc.h (tdesc_create_feature): Remove xml filename
10270         parameter.
10271         * features/aarch64-core.c (create_feature_aarch64_core):
10272         Regenerate.
10273         * features/aarch64-fpu.c (create_feature_aarch64_fpu):
10274         Likewise.
10275         * features/i386/32bit-avx.c (create_feature_i386_32bit_avx):
10276         Likewise.
10277         * features/i386/32bit-avx512.c
10278         (create_feature_i386_32bit_avx512): Likewise.
10279         * features/i386/32bit-core.c (create_feature_i386_32bit_core):
10280         Likewise.
10281         * features/i386/32bit-linux.c (create_feature_i386_32bit_linux):
10282         Likewise.
10283         * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx):
10284         Likewise.
10285         * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys):
10286         Likewise.
10287         * features/i386/32bit-sse.c (create_feature_i386_32bit_sse):
10288         Likewise.
10289         * features/i386/64bit-avx.c (create_feature_i386_64bit_avx):
10290         Likewise.
10291         * features/i386/64bit-avx512.c
10292         (create_feature_i386_64bit_avx512): Likewise.
10293         * features/i386/64bit-core.c (create_feature_i386_64bit_core):
10294         Likewise.
10295         * features/i386/64bit-linux.c (create_feature_i386_64bit_linux):
10296         Likewise.
10297         * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx):
10298         Likewise.
10299         * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys):
10300         Likewise.
10301         * features/i386/64bit-segments.c
10302         (create_feature_i386_64bit_segments): Likewise.
10303         * features/i386/64bit-sse.c (create_feature_i386_64bit_sse):
10304         Likewise.
10305         * features/i386/x32-core.c
10306         (create_feature_i386_x32_core): Likewise.
10307         * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise.
10308         * features/tic6x-core.c (create_feature_tic6x_core): Likewise.
10309         * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise.
10310         * target-descriptions.c: In generated code, don't pass xml
10311         filename.
10312
10313 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10314
10315         * common/tdesc.c (print_xml_feature::visit_pre): Add xml parsing.
10316         (print_xml_feature::visit_post): Likewise.
10317         (print_xml_feature::visit): Likewise.
10318         * common/tdesc.h (tdesc_get_features_xml): Use const tdesc.
10319         (print_xml_feature): Add new class.
10320         * regformats/regdat.sh: Null xmltarget on feature targets.
10321         * target-descriptions.c (struct target_desc): Add xmltarget.
10322         (maintenance_check_tdesc_xml_convert): Add unittest function.
10323         (tdesc_get_features_xml): Add function to get xml.
10324         (maintenance_check_xml_descriptions): Test xml generation.
10325         * xml-tdesc.c (string_read_description_xml): Add function.
10326         * xml-tdesc.h (string_read_description_xml): Add declaration.
10327
10328 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10329
10330         * features/Makefile: Add feature marker to targets with new style
10331         target descriptions.
10332         * regformats/aarch64.dat: Regenerate.
10333         * regformats/i386/amd64-avx-avx512-linux.dat: Likewise.
10334         * regformats/i386/amd64-avx-linux.dat: Likewise.
10335         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Likewise.
10336         * regformats/i386/amd64-avx-mpx-linux.dat: Likewise.
10337         * regformats/i386/amd64-linux.dat: Likewise.
10338         * regformats/i386/amd64-mpx-linux.dat: Likewise.
10339         * regformats/i386/amd64.dat: Likewise.
10340         * regformats/i386/i386-avx-avx512-linux.dat: Likewise.
10341         * regformats/i386/i386-avx-linux.dat: Likewise.
10342         * regformats/i386/i386-avx-mpx-avx512-pku-linux.dat: Likewise.
10343         * regformats/i386/i386-avx-mpx-linux.dat: Likewise.
10344         * regformats/i386/i386-linux.dat: Likewise.
10345         * regformats/i386/i386-mmx-linux.dat: Likewise.
10346         * regformats/i386/i386-mpx-linux.dat: Likewise.
10347         * regformats/i386/i386.dat: Likewise.
10348         * regformats/i386/x32-avx-avx512-linux.dat: Likewise.
10349         * regformats/i386/x32-avx-linux.dat: Likewise.
10350         * regformats/i386/x32-linux.dat: Likewise.
10351         * regformats/tic6x-c62x-linux.dat: Likewise.
10352         * regformats/tic6x-c64x-linux.dat: Likewise.
10353         * regformats/tic6x-c64xp-linux.dat: Likewise.
10354         * regformats/regdat.sh: Parse feature marker.
10355
10356 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10357
10358         * common/tdesc.h (tdesc_architecture_name): Add new declaration.
10359         (tdesc_osabi_name): Likewise.
10360         * target-descriptions.c (tdesc_architecture_name): Add new
10361         function.
10362         (tdesc_osabi_name): Likewise.
10363
10364 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10365
10366         * common/tdesc.c (tdesc_predefined_type): Move to here.
10367         (tdesc_named_type): Likewise.
10368         (tdesc_create_vector): Likewise.
10369         (tdesc_create_struct): Likewise.
10370         (tdesc_set_struct_size): Likewise.
10371         (tdesc_create_union): Likewise.
10372         (tdesc_create_flags): Likewise.
10373         (tdesc_create_enum): Likewise.
10374         (tdesc_add_field): Likewise.
10375         (tdesc_add_typed_bitfield): Likewise.
10376         (tdesc_add_bitfield): Likewise.
10377         (tdesc_add_flag): Likewise.
10378         (tdesc_add_enum_value): Likewise.
10379         * common/tdesc.h (struct tdesc_type_builtin): Likewise.
10380         (struct tdesc_type_vector): Likewise.
10381         (struct tdesc_type_field): Likewise.
10382         (struct tdesc_type_with_fields): Likewise.
10383         (tdesc_create_enum): Add declaration.
10384         (tdesc_add_typed_bitfield): Likewise.
10385         (tdesc_add_enum_value): Likewise.
10386         * target-descriptions.c (tdesc_type_field): Move from here.
10387         (tdesc_type_builtin): Likewise.
10388         (tdesc_type_vector): Likewise.
10389         (tdesc_type_with_fields): Likewise.
10390         (tdesc_predefined_types): Likewise.
10391         (tdesc_named_type): Likewise.
10392         (tdesc_create_vector): Likewise.
10393         (tdesc_create_struct): Likewise.
10394         (tdesc_set_struct_size): Likewise.
10395         (tdesc_create_union): Likewise.
10396         (tdesc_create_flags): Likewise.
10397         (tdesc_create_enum): Likewise.
10398         (tdesc_add_field): Likewise.
10399         (tdesc_add_typed_bitfield): Likewise.
10400         (tdesc_add_bitfield): Likewise.
10401         (tdesc_add_flag): Likewise.
10402         (tdesc_add_enum_value): Likewise.
10403         * gdb/target-descriptions.h (tdesc_create_enum): Likewise.
10404         (tdesc_add_typed_bitfield): Likewise.
10405         (tdesc_add_enum_value): Likewise.
10406
10407 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10408
10409         * common/tdesc.c (tdesc_feature::accept): Move to here.
10410         (tdesc_feature::operator==): Likewise.
10411         (tdesc_create_reg): Likewise.
10412         * common/tdesc.h (tdesc_type_kind): Likewise.
10413         (struct tdesc_type): Likewise.
10414         (struct tdesc_feature): Likewise.
10415         * regformats/regdat.sh: Create a feature.
10416         * target-descriptions.c (tdesc_type_kind): Move from here.
10417         (tdesc_type): Likewise.
10418         (tdesc_type_up): Likewise.
10419         (tdesc_feature): Likewise.
10420         (tdesc_create_reg): Likewise.
10421
10422 2018-04-18  Alan Hayward  <alan.hayward@arm.com>
10423
10424         * Makefile.in: Add arch/tdesc.c
10425         * common/tdesc.c: New file.
10426         * common/tdesc.h (tdesc_element_visitor): Move to here.
10427         (tdesc_element): Likewise.
10428         (tdesc_reg): Likewise.
10429         (tdesc_reg_up): Likewise.
10430         * regformats/regdef.h (reg): Add offset to constructors.
10431         * target-descriptions.c (tdesc_element_visitor): Move from here.
10432         (tdesc_element): Likewise.
10433         (tdesc_reg): Likewise.
10434         (tdesc_reg_up): Likewise.
10435
10436 2018-04-17  Tom Tromey  <tom@tromey.com>
10437
10438         * dwarf2read.c (quirk_rust_enum): Conditionally drop the
10439         discriminant field.
10440
10441 2018-04-17  Tom Tromey  <tom@tromey.com>
10442
10443         * dwarf2read.c (quirk_rust_enum): Handle unions correctly.
10444
10445 2018-04-17  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10446
10447         * symtab.c (print_symbol_info): Skip printing filename and line
10448         number when `last' is NULL.
10449         (symtab_symbol_info): Use empty string instead of NULL for first
10450         invocation of print_symbol_info.
10451         (rbreak_command): Pass NULL to `last' parameter of
10452         print_symbol_info.
10453
10454 2018-04-16  Simon Marchi  <simon.marchi@ericsson.com>
10455
10456         * linux-tdep.c (linux_spu_make_corefile_notes): Return note_data
10457         instead of nullptr.
10458
10459 2018-04-16  Pedro Alves  <palves@redhat.com>
10460
10461         * MAINTAINERS (sh): Remove.
10462         * Makefile.in (ALL_TARGET_OBS): Remove sh64-tdep.o.
10463         (HFILES_NO_SRCDIR): Remove sh64-tdep.h.
10464         (ALLDEPFILES): Remove sh64-tdep.c.
10465         * NEWS: Mentions that support for SH-5/SH64 is removed.
10466         * configure.tgt (sh*-*-linux*): Remove reference to sh64-tdep.o.
10467         (sh*-*-openbsd*): Ditto.
10468         (sh64-*-elf*): Remove.
10469         (sh*): Remove.
10470         * regcache.c (cooked_write_test): Remove bfd_mach_sh5 case.
10471         * sh-linux-tdep.c: Remove reference to bfd_mach_sh5.
10472         * sh-tdep.c: No longer include "sh64-tdep.h".
10473         (sh_gdbarch_init): Remove reference to bfd_mach_sh5.
10474         * sh64-tdep.c, sh64-tdep.h: Remove files.
10475
10476 2018-04-16  Pedro Alves  <palves@redhat.com>
10477
10478         * MAINTAINERS: Remove m88k.
10479         * Makefile.in (ALL_TARGET_OBS): Remove m88k-tdep.o.
10480         (HFILES_NO_SRCDIR): Remove m88k-tdep.h.
10481         (ALLDEPFILES): Remove m88k-bsd-nat.c and m88k-tdep.c.
10482         * NEWS: Mention that support for m88k was removed.
10483         * configure.host (m88*-*-*): Remove support.
10484         * configure.nat (m88k-*-*): Remove support.
10485         * configure.tgt (m88*-*-openbsd*): Remove.
10486         * m88k-bsd-nat.c, m88k-tdep.c, m88k-tdep.h: Delete.
10487
10488 2018-04-15  Simon Marchi  <simon.marchi@polymtl.ca>
10489
10490         * configure.tgt (x86_tobjs): New variable.
10491         (amd64_tobjs, i386_tobjs): Use it.
10492
10493 2018-04-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
10494
10495         * symtab.c (print_symbol_info): Precede the symbol definition by
10496         the line number when available.
10497         * NEWS: Advertise this enhancement.
10498
10499 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10500
10501         * NEWS (New options): announce set/show record btrace cpu.
10502         * btrace.c: Include record-btrace.h.
10503         (btrace_compute_ftrace_pt): Skip enabling errata workarounds if
10504         the vendor is unknown.
10505         (btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
10506         Maybe overwrite the btrace configuration's cpu.
10507         (btrace_compute_ftrace): Add cpu parameter.  Update callers.
10508         (btrace_fetch): Add cpu parameter.  Update callers.
10509         (btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
10510         Maybe overwrite the btrace configuration's cpu.  Skip enabling
10511         errata workarounds if the vendor is unknown.
10512         * python/py-record-btrace.c: Include record-btrace.h.
10513         (recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
10514         (recpy_bt_function_call_history): Call record_btrace_get_cpu.
10515         * record-btrace.c (record_btrace_cpu_state_kind): New.
10516         (record_btrace_cpu): New.
10517         (set_record_btrace_cpu_cmdlist): New.
10518         (record_btrace_get_cpu): New.
10519         (require_btrace_thread, record_btrace_info)
10520         (record_btrace_resume_thread): Call record_btrace_get_cpu.
10521         (cmd_set_record_btrace_cpu_none): New.
10522         (cmd_set_record_btrace_cpu_auto): New.
10523         (cmd_set_record_btrace_cpu): New.
10524         (cmd_show_record_btrace_cpu): New.
10525         (_initialize_record_btrace): Initialize set/show record btrace cpu
10526         commands.
10527         * record-btrace.h (record_btrace_get_cpu): New.
10528
10529 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10530
10531         * record.c (set_record_command): Fix typo in message.
10532
10533 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10534
10535         * record-btrace.c (cmd_set_record_btrace): Print sub-commands.
10536
10537 2018-04-13  Markus Metzger  <markus.t.metzger@intel.com>
10538
10539         * infrun.c (process_event_stop_test): Call
10540         gdbarch_in_indirect_branch_thunk.
10541         * gdbarch.sh (in_indirect_branch_thunk): New.
10542         * gdbarch.c: Regenerated.
10543         * gdbarch.h: Regenerated.
10544         * x86-tdep.h: New.
10545         * x86-tdep.c: New.
10546         * Makefile.in (ALL_TARGET_OBS): Add x86-tdep.o.
10547         (HFILES_NO_SRCDIR): Add x86-tdep.h.
10548         (ALLDEPFILES): Add x86-tdep.c.
10549         * arch-utils.h (default_in_indirect_branch_thunk): New.
10550         * arch-utils.c (default_in_indirect_branch_thunk): New.
10551         * i386-tdep: Include x86-tdep.h.
10552         (i386_in_indirect_branch_thunk): New.
10553         (i386_elf_init_abi): Set in_indirect_branch_thunk gdbarch
10554         function.
10555         * amd64-tdep: Include x86-tdep.h.
10556         (amd64_in_indirect_branch_thunk): New.
10557         (amd64_init_abi): Set in_indirect_branch_thunk gdbarch function.
10558
10559 2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
10560
10561         PR gdb/23053
10562         * dwarf-index-write.c (data_buf::grow) (write_one_signatured_type)
10563         (recursively_write_psymbols) (debug_names::recursively_write_psymbols)
10564         (debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
10565         regression.
10566
10567 2018-04-12  Tom Tromey  <tom@tromey.com>
10568
10569         * rust-lang.c (rust_print_struct_def): Remove univariant code.
10570         (rust_evaluate_subexp): Likewise.
10571
10572 2018-04-12  Pedro Alves  <palves@redhat.com>
10573
10574         * procfs.c (procfs_detach): Make forward declaration's prototype
10575         match definition's protototype.
10576         (proc_get_LDT_entry): Remove stale do_cleanups call.
10577
10578 2018-04-12  Pedro Alves  <palves@redhat.com>
10579
10580         * target.h (target_ops::to_has_exited): Delete.
10581         (target_has_exited): Delete.
10582         * target-delegates.c: Regenerate.
10583
10584 2018-04-11  Pedro Alves  <palves@redhat.com>
10585
10586         * target.c (fileio_fh_t::t): Add comment.
10587         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10588         (target_fileio_close): Handle a NULL target.
10589         (invalidate_fileio_fh): New.
10590         (target_close): Call it.
10591         * remote.c (remote_hostio_send_command): No longer check whether
10592         remote_desc is open.
10593
10594 2018-04-11  Pedro Alves  <palves@redhat.com>
10595
10596         * target.c (fileio_fh_t): Make it a named struct instead of a
10597         typedef.
10598         (fileio_fh_t::is_closed): New method.
10599         (DEF_VEC_O (fileio_fh_t)): Remove.
10600         (fileio_fhandles): Now a std::vector.
10601         (is_closed_fileio_fh): Delete.
10602         (acquire_fileio_fd): Adjust.  Rename parameters.
10603         (release_fileio_fd): Adjust.
10604         (fileio_fd_to_fh): Reimplement as a function instead of a macro.
10605         (target_fileio_pwrite, target_fileio_pread, target_fileio_fstat)
10606         (target_fileio_close): Adjust.
10607
10608 2018-04-10  Simon Marchi  <simon.marchi@ericsson.com>
10609
10610         * auto-load.c (auto_load_safe_path_vec_update): Iterate by
10611         index.
10612
10613 2018-04-10  Pedro Alves  <palves@redhat.com>
10614
10615         * gdbthread.h (finish_thread_state_cleanup): Delete declaration.
10616         (scoped_finish_thread_state): New class.
10617         * infcmd.c (run_command_1): Use it instead of finish_thread_state
10618         cleanup.
10619         * infrun.c (proceed, prepare_for_detach, wait_for_inferior)
10620         (fetch_inferior_event, normal_stop): Likewise.
10621         * thread.c (finish_thread_state_cleanup): Delete.
10622
10623 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10624             Pedro Alves  <palves@redhat.com>
10625
10626         * value.c: Include "selftest.h" and "common/array-view.h".
10627         (struct range) <operator ==>: New.
10628         (test_ranges_contain): New.
10629         (check_ranges_vector): New.
10630         (test_insert_into_bit_range_vector): New.
10631         (_initialize_values): Register selftests.
10632         * common/array-view.h (operator==, operator!=): New.
10633
10634 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10635
10636         * common/gdb_vecs.h (unordered_remove): Add overload that takes
10637         an iterator.
10638         * inline-frame.c: Include <algorithm>.
10639         (struct inline_state): Add constructor.
10640         (inline_state_s): Remove.
10641         (DEF_VEC_O(inline_state_s)): Remove.
10642         (inline_states): Change type to std::vector.
10643         (find_inline_frame_state): Adjust to std::vector.
10644         (allocate_inline_frame_state): Remove.
10645         (clear_inline_frame_state): Adjust to std::vector.
10646         (skip_inline_frames): Adjust to std::vector.
10647
10648 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10649
10650         * tracepoint.h (struct trace_state_variable): Add constructor.
10651         <name>: Change type to std::string.
10652         * tracepoint.c (tsv_s): Remove.
10653         (DEF_VEC_O(tsv_s)): Remove.
10654         (tvariables): Change to std::vector.
10655         (create_trace_state_variable): Adjust to std::vector.
10656         (find_trace_state_variable): Likewise.
10657         (find_trace_state_variable_by_number): Likewise.
10658         (delete_trace_state_variable): Likewise.
10659         (trace_variable_command): Adjust to std::string.
10660         (delete_trace_variable_command): Likewise.
10661         (tvariables_info_1): Adjust to std::vector.
10662         (save_trace_state_variables): Likewise.
10663         (start_tracing): Likewise.
10664         (merge_uploaded_trace_state_variables): Adjust to std::vector
10665         and std::string.
10666         * target.h (struct target_ops)
10667         <to_download_trace_state_variable>: Pass reference to
10668         trace_state_variable.
10669         * target-debug.h (target_debug_print_const_trace_state_variable_r): New.
10670         * target-delegates.c: Re-generate.
10671         * mi/mi-interp.c (mi_tsv_created): Adjust to std::string.
10672         (mi_tsv_deleted): Likewise.
10673         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
10674         * remote.c (remote_download_trace_state_variable): Change
10675         pointer to reference and adjust.
10676         * make-target-delegates (parse_argtypes): Handle references.
10677         (write_function_header): Likewise.
10678         (munge_type): Likewise.
10679
10680 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10681
10682         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
10683         string_view-selftests.c.
10684         * unittests/basic_string_view/capacity/1.cc: Adapt to GDB
10685         testsuite.
10686         * unittests/basic_string_view/cons/char/1.cc: Likewise.
10687         * unittests/basic_string_view/cons/char/2.cc: Likewise.
10688         * unittests/basic_string_view/cons/char/3.cc: Likewise.
10689         * unittests/basic_string_view/element_access/char/1.cc:
10690         Likewise.
10691         * unittests/basic_string_view/element_access/char/empty.cc:
10692         Likewise.
10693         * unittests/basic_string_view/element_access/char/front_back.cc:
10694         Likewise.
10695         * unittests/basic_string_view/inserters/char/2.cc: Likewise.
10696         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc:
10697         Likewise.
10698         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc:
10699         Likewise.
10700         * unittests/basic_string_view/modifiers/swap/char/1.cc:
10701         Likewise.
10702         * unittests/basic_string_view/operations/compare/char/1.cc:
10703         Likewise.
10704         * unittests/basic_string_view/operations/compare/char/13650.cc:
10705         Likewise.
10706         * unittests/basic_string_view/operations/copy/char/1.cc:
10707         Likewise.
10708         * unittests/basic_string_view/operations/data/char/1.cc:
10709         Likewise.
10710         * unittests/basic_string_view/operations/find/char/1.cc:
10711         Likewise.
10712         * unittests/basic_string_view/operations/find/char/2.cc:
10713         Likewise.
10714         * unittests/basic_string_view/operations/find/char/3.cc:
10715         Likewise.
10716         * unittests/basic_string_view/operations/find/char/4.cc:
10717         Likewise.
10718         * unittests/basic_string_view/operations/rfind/char/1.cc:
10719         Likewise.
10720         * unittests/basic_string_view/operations/rfind/char/2.cc:
10721         Likewise.
10722         * unittests/basic_string_view/operations/rfind/char/3.cc:
10723         Likewise.
10724         * unittests/basic_string_view/operations/substr/char/1.cc:
10725         Likewise.
10726         * unittests/basic_string_view/operators/char/2.cc: Likewise.
10727         * unittests/string_view-selftests.c: New file.
10728
10729 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10730
10731         * unittests/basic_string_view/capacity/1.cc: New file.
10732         * unittests/basic_string_view/capacity/empty_neg.cc: New file.
10733         * unittests/basic_string_view/cons/char/1.cc: New file.
10734         * unittests/basic_string_view/cons/char/2.cc: New file.
10735         * unittests/basic_string_view/cons/char/3.cc: New file.
10736         * unittests/basic_string_view/cons/wchar_t/1.cc: New file.
10737         * unittests/basic_string_view/cons/wchar_t/2.cc: New file.
10738         * unittests/basic_string_view/cons/wchar_t/3.cc: New file.
10739         * unittests/basic_string_view/element_access/char/1.cc: New file.
10740         * unittests/basic_string_view/element_access/char/2.cc: New file.
10741         * unittests/basic_string_view/element_access/char/empty.cc: New file.
10742         * unittests/basic_string_view/element_access/char/front_back.cc: New file.
10743         * unittests/basic_string_view/element_access/wchar_t/1.cc: New file.
10744         * unittests/basic_string_view/element_access/wchar_t/2.cc: New file.
10745         * unittests/basic_string_view/element_access/wchar_t/empty.cc: New file.
10746         * unittests/basic_string_view/element_access/wchar_t/front_back.cc: New file.
10747         * unittests/basic_string_view/include.cc: New file.
10748         * unittests/basic_string_view/inserters/char/1.cc: New file.
10749         * unittests/basic_string_view/inserters/char/2.cc: New file.
10750         * unittests/basic_string_view/inserters/char/3.cc: New file.
10751         * unittests/basic_string_view/inserters/pod/10081-out.cc: New file.
10752         * unittests/basic_string_view/inserters/wchar_t/1.cc: New file.
10753         * unittests/basic_string_view/inserters/wchar_t/2.cc: New file.
10754         * unittests/basic_string_view/inserters/wchar_t/3.cc: New file.
10755         * unittests/basic_string_view/literals/types.cc: New file.
10756         * unittests/basic_string_view/literals/values.cc: New file.
10757         * unittests/basic_string_view/modifiers/remove_prefix/char/1.cc: New file.
10758         * unittests/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc: New file.
10759         * unittests/basic_string_view/modifiers/remove_suffix/char/1.cc: New file.
10760         * unittests/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc: New file.
10761         * unittests/basic_string_view/modifiers/swap/char/1.cc: New file.
10762         * unittests/basic_string_view/modifiers/swap/wchar_t/1.cc: New file.
10763         * unittests/basic_string_view/operations/compare/char/1.cc: New file.
10764         * unittests/basic_string_view/operations/compare/char/13650.cc: New file.
10765         * unittests/basic_string_view/operations/compare/char/2.cc: New file.
10766         * unittests/basic_string_view/operations/compare/char/70483.cc: New file.
10767         * unittests/basic_string_view/operations/compare/wchar_t/1.cc: New file.
10768         * unittests/basic_string_view/operations/compare/wchar_t/13650.cc: New file.
10769         * unittests/basic_string_view/operations/compare/wchar_t/2.cc: New file.
10770         * unittests/basic_string_view/operations/copy/char/1.cc: New file.
10771         * unittests/basic_string_view/operations/copy/wchar_t/1.cc: New file.
10772         * unittests/basic_string_view/operations/data/char/1.cc: New file.
10773         * unittests/basic_string_view/operations/data/wchar_t/1.cc: New file.
10774         * unittests/basic_string_view/operations/find/char/1.cc: New file.
10775         * unittests/basic_string_view/operations/find/char/2.cc: New file.
10776         * unittests/basic_string_view/operations/find/char/3.cc: New file.
10777         * unittests/basic_string_view/operations/find/char/4.cc: New file.
10778         * unittests/basic_string_view/operations/find/wchar_t/1.cc: New file.
10779         * unittests/basic_string_view/operations/find/wchar_t/2.cc: New file.
10780         * unittests/basic_string_view/operations/find/wchar_t/3.cc: New file.
10781         * unittests/basic_string_view/operations/find/wchar_t/4.cc: New file.
10782         * unittests/basic_string_view/operations/rfind/char/1.cc: New file.
10783         * unittests/basic_string_view/operations/rfind/char/2.cc: New file.
10784         * unittests/basic_string_view/operations/rfind/char/3.cc: New file.
10785         * unittests/basic_string_view/operations/rfind/wchar_t/1.cc: New file.
10786         * unittests/basic_string_view/operations/rfind/wchar_t/2.cc: New file.
10787         * unittests/basic_string_view/operations/rfind/wchar_t/3.cc: New file.
10788         * unittests/basic_string_view/operations/string_conversion/1.cc: New file.
10789         * unittests/basic_string_view/operations/substr/char/1.cc: New file.
10790         * unittests/basic_string_view/operations/substr/wchar_t/1.cc: New file.
10791         * unittests/basic_string_view/operators/char/2.cc: New file.
10792         * unittests/basic_string_view/operators/wchar_t/2.cc: New file.
10793         * unittests/basic_string_view/range_access/char/1.cc: New file.
10794         * unittests/basic_string_view/range_access/wchar_t/1.cc: New file.
10795         * unittests/basic_string_view/requirements/explicit_instantiation/1.cc: New file.
10796         * unittests/basic_string_view/requirements/explicit_instantiation/char/1.cc: New file.
10797         * unittests/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc: New file.
10798         * unittests/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc: New file.
10799         * unittests/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc: New file.
10800         * unittests/basic_string_view/requirements/typedefs.cc: New file.
10801         * unittests/basic_string_view/typedefs.cc: New file.
10802         * unittests/basic_string_view/types/1.cc: New file.
10803
10804 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10805
10806         * common/gdb_string_view.h: Remove libstdc++ implementation
10807         details, adjust to gdb reality.
10808         * common/gdb_string_view.tcc: Likewise.
10809         * cli/cli-script.c (struct string_view): Remove.
10810         (user_args) <m_args>: Change element type to gdb::string_view.
10811         (user_args::insert_args): Adjust.
10812
10813 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10814
10815         * common/gdb_string_view.h: New file.
10816         * common/gdb_string_view.tcc: New file.
10817
10818 2018-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
10819
10820         * ax_cxx_compile_stdcxx.m4: Sync with upstream.
10821         * configure: Re-generate.
10822
10823 2018-04-09  Pedro Alves  <palves@redhat.com>
10824
10825         * gdbarch.sh: Include "observable.h" instead of "observer.h".
10826         (set_target_gdbarch): Call
10827         gdb::observers::architecture_changed.notify instead of
10828         observer_notify_architecture_changed.
10829
10830 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10831
10832         * tracepoint.c (struct current_traceframe_cleanup): Remove.
10833         (do_restore_current_traceframe_cleanup): Remove.
10834         (restore_current_traceframe_cleanup_dtor): Remove.
10835         (make_cleanup_restore_current_traceframe): Remove.
10836         (scoped_restore_current_traceframe::scoped_restore_current_traceframe):
10837         New.
10838         * tracepoint.h (struct scoped_restore_current_traceframe): New.
10839         * infrun.c (fetch_inferior_event): Use
10840         scoped_restore_current_traceframe.
10841
10842 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10843
10844         * dwarf2read.h (struct dwarf2_per_objfile) <n_type_units>:
10845         Remove.
10846         <n_allocated_type_units>: Remove.
10847         <all_type_units>: Change to std::vector.
10848         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10849         to std::vector change.
10850         (dwarf2_per_objfile::get_cutu): Likewise.
10851         (dwarf2_per_objfile::get_tu): Likewise.
10852         (create_signatured_type_table_from_index): Likewise.
10853         (create_signatured_type_table_from_debug_names): Likewise.
10854         (dw2_symtab_iter_next): Likewise.
10855         (dw2_print_stats): Likewise.
10856         (dw2_expand_all_symtabs): Likewise.
10857         (dw2_expand_marked_cus): Likewise.
10858         (dw2_debug_names_iterator::next): Likewise.
10859         (dwarf2_initialize_objfile): Likewise.
10860         (add_signatured_type_cu_to_table): Likewise.
10861         (create_all_type_units): Likewise.
10862         (add_type_unit): Likewise.
10863         (struct tu_abbrev_offset): Add constructor.
10864         (build_type_psymtabs_1): Adjust to std::vector change.
10865         (print_tu_stats): Likewise.
10866         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10867         (write_debug_names): Likewise.
10868
10869 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10870
10871         * dwarf2read.h (struct dwarf2_per_objfile) <all_comp_units>: Likewise.
10872         Make an std::vector.
10873         <n_comp_units>: Remove.
10874         * dwarf2read.c (dwarf2_per_objfile::~dwarf2_per_objfile): Adjust
10875         to std::vector change.
10876         (dwarf2_per_objfile::get_cutu): Likewise.
10877         (dwarf2_per_objfile::get_cu): Likewise.
10878         (create_cus_from_index): Likewise.
10879         (create_addrmap_from_index): Likewise.
10880         (create_addrmap_from_aranges): Likewise.
10881         (dwarf2_read_index): Likewise.
10882         (dw2_find_last_source_symtab): Likewise.
10883         (dw2_map_symtabs_matching_filename): Likewise.
10884         (dw2_symtab_iter_next): Likewise.
10885         (dw2_print_stats): Likewise.
10886         (dw2_expand_all_symtabs): Likewise.
10887         (dw2_expand_symtabs_with_fullname): Likewise.
10888         (dw2_expand_marked_cus): Likewise.
10889         (dw2_map_symbol_filenames): Likewise.
10890         (create_cus_from_debug_names): Likewise.
10891         (dwarf2_read_debug_names): Likewise.
10892         (dw2_debug_names_iterator::next): Likewise.
10893         (dwarf2_initialize_objfile): Likewise.
10894         (set_partial_user): Likewise.
10895         (dwarf2_build_psymtabs_hard): Likewise.
10896         (read_comp_units_from_section): Remove arguments, adjust to
10897         std::vector change.
10898         (create_all_comp_units): Adjust to std::vector and
10899         read_comp_units_from_section changes.
10900         (dwarf2_find_containing_comp_unit): Adjust to std::vector
10901         change.
10902         * dwarf-index-write.c (check_dwarf64_offsets): Likewise.
10903         (psyms_seen_size): Likewise.
10904         (write_gdbindex): Likewise.
10905         (write_debug_names): Likewise.
10906
10907 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10908
10909         * dwarf2read.c (create_cus_from_index_list): Replace objfile arg
10910         with dwarf2_per_objfile.
10911         (create_cus_from_index): Likewise.
10912         (create_signatured_type_table_from_index): Likewise.
10913         (dwarf2_read_index): Likewise.
10914         (dwarf2_initialize_objfile): Likewise.
10915         (dwarf2_fetch_die_loc_sect_off):  Get dwarf2_per_objfile from
10916         per_cu rather than get_dwarf2_per_objfile.
10917
10918 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10919
10920         * dwarf2read.h (struct signatured_type): Forward declare.
10921         (struct dwarf2_per_objfile) <get_cutu, get_cu, get_tu>:
10922         New methods.
10923         * dwarf2read.c (dwarf2_per_objfile::get_cutu): Rename from...
10924         (dw2_get_cutu): ...this.
10925         (dwarf2_per_objfile::get_cu): Rename from...
10926         (dw2_get_cu): ...this.
10927         (dwarf2_per_objfile::get_tu): New.
10928         (create_addrmap_from_index): Adjust.
10929         (create_addrmap_from_aranges): Adjust.
10930         (dw2_find_last_source_symtab): Adjust.
10931         (dw2_map_symtabs_matching_filename): Adjust.
10932         (dw2_symtab_iter_next): Adjust.
10933         (dw2_print_stats): Adjust.
10934         (dw2_expand_all_symtabs): Adjust.
10935         (dw2_expand_symtabs_with_fullname): Adjust.
10936         (dw2_expand_marked_cus): Adjust.
10937         (dw_expand_symtabs_matching_file_matcher): Adjust.
10938         (dw2_map_symbol_filenames): Adjust.
10939         (dw2_debug_names_iterator::next): Adjust.
10940         (dwarf2_initialize_objfile): Adjust.
10941         (set_partial_user): Adjust.
10942         (dwarf2_build_psymtabs_hard): Adjust.
10943
10944 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10945
10946         * dwarf2read.c (create_signatured_type_table_from_debug_names):
10947         Remove unused variables.
10948         (dw2_map_symtabs_matching_filename): Likewise.
10949         (dwarf2_record_block_ranges): Likewise.
10950         (dwarf2_read_addr_index): Likewise.
10951         (follow_die_offset): Likewise.
10952
10953 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10954
10955         * progspace.c (clone_program_space): Pass SYMFILE_DEFER_BP_RESET
10956         to symbol_file_add_main.
10957
10958 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10959
10960         PR mi/22299
10961         * mi/mi-console.c (do_fputc_async_safe): New.
10962         (mi_console_file::write_async_safe): New.
10963         (mi_console_file::flush): Adjust calls to fputstrn_unfiltered.
10964         * mi/mi-console.h (class mi_console_file) <write_async_safe>:
10965         New.
10966         * ui-file.c (ui_file::putstrn): Adjust call to
10967         fputstrn_unfiltered.
10968         * utils.c (printchar): Replace do_fputs and do_fprintf
10969         parameters by do_fputc.
10970         (fputstr_filtered): Adjust call to printchar.
10971         (fputstr_unfiltered): Likewise.
10972         (fputstrn_filtered): Likewise.
10973         (fputstrn_unfiltered): Add do_fputc parameter, pass to
10974         printchar.
10975         * utils.h (do_fputc_ftype): New typedef.
10976         (fputstrn_unfiltered): Add do_fputc parameter.
10977
10978 2018-04-07  Simon Marchi  <simon.marchi@polymtl.ca>
10979
10980         * regformats/i386/i386-avx.dat: Remove.
10981
10982 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10983
10984         PR gdb/22979
10985         * amd64-tdep.c (amd64_none_init_abi): New function.
10986         (amd64_x32_none_init_abi): New function.
10987         (_initialize_amd64_tdep): Register handlers for x86-64 and
10988         x64_32 with GDB_OSABI_NONE.
10989         * osabi.c (gdbarch_init_osabi): Allow running handlers for the
10990         GDB_OSABI_NONE osabi.
10991
10992 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
10993
10994         PR gdb/22980
10995         * defs.h (enum gdb_osabi): Remove GDB_OSABI_UNINITIALIZED, add
10996         GDB_OSABI_NONE.
10997         * arch-utils.c (gdbarch_info_init): Don't set info->osabi.
10998         * osabi.c (gdb_osabi_names): Add "unknown" entry.
10999
11000 2018-04-07  Simon Marchi  <simon.marchi@ericsson.com>
11001
11002         * common/byte-vector.h (char_vector): New type.
11003         * target.h (target_read_alloc): Return
11004         gdb::optional<byte_vector>.
11005         (target_read_stralloc): Return gdb::optional<char_vector>.
11006         (target_get_osdata): Return gdb::optional<char_vector>.
11007         * target.c (target_read_alloc_1): Templatize.  Replacement
11008         manual memory management with vector.
11009         (target_read_alloc): Change return type, adjust.
11010         (target_read_stralloc): Change return type, adjust.
11011         (target_get_osdata): Change return type, adjust.
11012         * auxv.c (struct auxv_info) <length>: Remove.
11013         <data>: Change type to gdb::optional<byte_vector>.
11014         (auxv_inferior_data_cleanup): Free auxv_info with delete.
11015         (get_auxv_inferior_data): Allocate auxv_info with new, adjust.
11016         (target_auxv_search): Adjust.
11017         (fprint_target_auxv): Adjust.
11018         * avr-tdep.c (avr_io_reg_read_command): Adjust.
11019         * linux-tdep.c (linux_spu_make_corefile_notes): Adjust.
11020         (linux_make_corefile_notes): Adjust.
11021         * osdata.c (get_osdata): Adjust.
11022         * remote.c (remote_get_threads_with_qxfer): Adjust.
11023         (remote_memory_map): Adjust.
11024         (remote_traceframe_info): Adjust.
11025         (btrace_read_config): Adjust.
11026         (remote_read_btrace): Adjust.
11027         (remote_pid_to_exec_file): Adjust.
11028         * solib-aix.c (solib_aix_get_library_list): Adjust.
11029         * solib-dsbt.c (decode_loadmap): Don't free buf.
11030         (dsbt_get_initial_loadmaps): Adjust.
11031         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Adjust.
11032         * solib-target.c (solib_target_current_sos): Adjust.
11033         * tracepoint.c (sdata_make_value): Adjust.
11034         * xml-support.c (xinclude_start_include): Adjust.
11035         (xml_fetch_content_from_file): Adjust.
11036         * xml-support.h (xml_fetch_another): Change return type.
11037         (xml_fetch_content_from_file): Change return type.
11038         * xml-syscall.c (xml_init_syscalls_info): Adjust.
11039         * xml-tdesc.c (file_read_description_xml): Adjust.
11040         (fetch_available_features_from_target): Change return type.
11041         (target_fetch_description_xml): Adjust.
11042         (target_read_description_xml): Adjust.
11043
11044 2018-04-06  Tom Tromey  <tom@tromey.com>
11045
11046         * value.c (~value): Update.
11047         (struct value) <contents>: Now unique_xmalloc_ptr.
11048         (value_contents_bits_eq, allocate_value_contents)
11049         (value_contents_raw, value_contents_all_raw)
11050         (value_contents_for_printing, value_contents_for_printing_const)
11051         (set_value_enclosing_type): Update.
11052
11053 2018-04-06  Tom Tromey  <tom@tromey.com>
11054
11055         * value.c (range_s): Remove typedef, VEC.
11056         (struct range): Add operator<.
11057         (range_lessthan): Remove.
11058         (ranges_contain): Change type.
11059         (~value): Update.
11060         (struct value) <unavailable, optimized_out>: Now std::vector.
11061         (value_entirely_available)
11062         (value_entirely_covered_by_range_vector)
11063         (value_entirely_unavailable, value_entirely_optimized_out):
11064         Update.
11065         (insert_into_bit_range_vector): Change argument type.
11066         (find_first_range_overlap): Likewise.
11067         (struct ranges_and_idx, value_contents_bits_eq)
11068         (require_not_optimized_out, require_available): Update.
11069         (ranges_copy_adjusted): Change argument types.
11070         (value_optimized_out, value_copy, value_fetch_lazy): Update.
11071
11072 2018-04-06  Tom Tromey  <tom@tromey.com>
11073
11074         * value.c (~value): Update.
11075         (struct value) <parent>: Now a value_ref_ptr.
11076         (value_parent, set_value_parent, value_address, value_copy):
11077         Update.
11078
11079 2018-04-06  Tom Tromey  <tom@tromey.com>
11080
11081         * value.c (struct value): Add constructor, destructor, and member
11082         initializers.
11083         (allocate_value_lazy, value_decref): Update.
11084
11085 2018-04-06  Tom Tromey  <tom@tromey.com>
11086
11087         * value.c (struct value) <released, next>: Remove.
11088         (all_values): Now a std::vector.
11089         (allocate_value_lazy): Update.
11090         (value_next): Remove.
11091         (value_mark, value_free_to_mark, release_value)
11092         (value_release_to_mark): Update.
11093
11094 2018-04-06  Tom Tromey  <tom@tromey.com>
11095
11096         * value.h (fetch_subexp_value, value_release_to_mark): Update.
11097         (free_value_chain): Remove.
11098         * value.c (free_value_chain): Remove.
11099         (value_release_to_mark): Return a std::vector.
11100         * ppc-linux-nat.c (num_memory_accesses): Change "chain" to a
11101         std::vector.
11102         (check_condition): Update.
11103         * eval.c (fetch_subexp_value): Change "val_chain" to a
11104         std::vector.
11105         * breakpoint.c (update_watchpoint): Update.
11106         (can_use_hardware_watchpoint): Change "vals" to a std::vector.
11107
11108 2018-04-06  Tom Tromey  <tom@tromey.com>
11109
11110         * value.h (free_all_values): Remove.
11111         * value.c (free_all_values): Remove.
11112
11113 2018-04-06  Tom Tromey  <tom@tromey.com>
11114
11115         * value.c (VALUE_HISTORY_CHUNK, struct value_history_chunk)
11116         (value_history_chain, value_history_count): Remove.
11117         (value_history): New global.
11118         (record_latest_value, access_value_history, show_values)
11119         (preserve_values): Update.
11120
11121 2018-04-06  Tom Tromey  <tom@tromey.com>
11122
11123         * varobj.h (struct varobj) <value>: Now a value_ref_ptr.
11124         * varobj.c (varobj_set_display_format, varobj_set_value)
11125         (install_default_visualizer, construct_visualizer)
11126         (install_new_value, ~varobj, varobj_get_value_type)
11127         (my_value_of_variable, varobj_editable_p): Update.
11128         * c-varobj.c (c_describe_child, c_value_of_variable)
11129         (cplus_number_of_children, cplus_describe_child): Update.
11130         * ada-varobj.c (ada_number_of_children, ada_name_of_child)
11131         (ada_path_expr_of_child, ada_value_of_child, ada_type_of_child)
11132         (ada_value_of_variable, ada_value_is_changeable_p): Update.
11133
11134 2018-04-06  Tom Tromey  <tom@tromey.com>
11135
11136         * printcmd.c (last_examine_address): Change type to
11137         value_ref_ptr.
11138         (do_examine, x_command): Update.
11139
11140 2018-04-06  Tom Tromey  <tom@tromey.com>
11141
11142         * value.c (release_value): Update.
11143         * breakpoint.h (struct watchpoint) <val>: Now a value_ref_ptr.
11144         (struct bpstats) <val>: Now a value_ref_ptr.
11145         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
11146         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
11147         (~watchpoint, print_it_watchpoint, watch_command_1)
11148         (invalidate_bp_value_on_memory_change): Update.
11149
11150 2018-04-06  Tom Tromey  <tom@tromey.com>
11151
11152         * varobj.c (varobj_clear_saved_item)
11153         (update_dynamic_varobj_children, install_new_value, ~varobj):
11154         Update.
11155         * value.h (value_incref): Move declaration earlier.
11156         (value_decref): Rename from value_free.
11157         (struct value_ref_policy): New.
11158         (value_ref_ptr): New typedef.
11159         (struct value_deleter): Remove.
11160         (gdb_value_up): Remove typedef.
11161         (release_value): Change return type.
11162         (release_value_or_incref): Remove.
11163         * value.c (set_value_parent): Update.
11164         (value_incref): Change return type.
11165         (value_decref): Rename from value_free.
11166         (value_free_to_mark, free_all_values, free_value_chain): Update.
11167         (release_value): Return value_ref_ptr.
11168         (release_value_or_incref): Remove.
11169         (record_latest_value, set_internalvar, clear_internalvar):
11170         Update.
11171         * stack.c (info_frame_command): Don't call value_free.
11172         * python/py-value.c (valpy_dealloc, valpy_new)
11173         (value_to_value_object): Update.
11174         * printcmd.c (do_examine): Update.
11175         * opencl-lang.c (lval_func_free_closure): Update.
11176         * mi/mi-main.c (register_changed_p): Don't call value_free.
11177         * mep-tdep.c (mep_frame_prev_register): Don't call value_free.
11178         * m88k-tdep.c (m88k_frame_prev_register): Don't call value_free.
11179         * m68hc11-tdep.c (m68hc11_frame_prev_register): Don't call
11180         value_free.
11181         * guile/scm-value.c (vlscm_free_value_smob)
11182         (vlscm_scm_from_value): Update.
11183         * frame.c (frame_register_unwind, frame_unwind_register_signed)
11184         (frame_unwind_register_unsigned, get_frame_register_bytes)
11185         (put_frame_register_bytes): Don't call value_free.
11186         * findvar.c (address_from_register): Don't call value_free.
11187         * dwarf2read.c (dwarf2_compute_name): Don't call value_free.
11188         * dwarf2loc.c (entry_data_value_free_closure)
11189         (value_of_dwarf_reg_entry, free_pieced_value_closure)
11190         (dwarf2_evaluate_loc_desc_full): Update.
11191         * breakpoint.c (update_watchpoint, breakpoint_init_inferior)
11192         (~bpstats, bpstats, bpstat_clear_actions, watchpoint_check)
11193         (~watchpoint, watch_command_1)
11194         (invalidate_bp_value_on_memory_change): Update.
11195         * alpha-tdep.c (alpha_register_to_value): Don't call value_free.
11196
11197 2018-04-06  Simon Marchi  <simon.marchi@polymtl.ca>
11198
11199         PR gdb/23022
11200         * warning.m4: Add -Wno-error=deprecated-register.
11201         * configure: Re-generate.
11202
11203 2018-04-05  Tom Tromey  <tom@tromey.com>
11204
11205         * linespec.h: Remove include of "vec.h".
11206
11207 2018-04-05  Tom Tromey  <tom@tromey.com>
11208
11209         * linespec.c (typep): Remove typedef.
11210         (find_methods, find_superclass_methods): Take a std::vector.
11211         (find_method): Use std::vector.
11212
11213 2018-04-05  Tom Tromey  <tom@tromey.com>
11214
11215         * utils.c (compare_strings): Remove.
11216         * utils.h (compare_strings): Remove.
11217         * objc-lang.h (find_imps): Update.
11218         * objc-lang.c (find_methods): Take a std::vector.
11219         (uniquify_strings, find_imps): Likewise.
11220         * linespec.c (find_methods): Take a std::vector.
11221         (decode_objc): Use std::vector.
11222         (add_all_symbol_names_from_pspace, find_superclass_methods): Take
11223         a std::vector.
11224         (find_method, find_function_symbols): Use std::vector.
11225
11226 2018-04-05  Tom Tromey  <tom@tromey.com>
11227
11228         * completer.c (completion_tracker::completion_tracker): Remove
11229         cast.
11230         (completion_tracker::discard_completions): Likewise.
11231         * breakpoint.c (ambiguous_names_p): Remove cast.
11232         * ada-lang.c (_initialize_ada_language): Remove cast.
11233         * utils.h (streq): Update.
11234         (streq_hash): Add new declaration.
11235         * utils.c (streq): Return bool.
11236         (streq_hash): New function.
11237
11238 2018-04-05  Tom Tromey  <tom@tromey.com>
11239
11240         * linespec.c (event_location_to_sals) <case ADDRESS_LOCATION>:
11241         Remove a string copy.
11242
11243 2018-04-05  Tom Tromey  <tom@tromey.com>
11244
11245         * linespec.c (filter_results): Use std::vector.
11246         (decode_line_2, decode_line_full): Update.
11247
11248 2018-04-05  Tom Tromey  <tom@tromey.com>
11249
11250         * linespec.c (canonical_to_fullform): Return std::string.
11251         (filter_results): Update.
11252         (struct decode_line_2_item): Add constructor.
11253         <fullform, displayform>: Now std::string.
11254         (decode_line_2_compare_items): Now a std::sort comparator.
11255         (decode_line_2): Update.
11256
11257 2018-04-05  Tom Tromey  <tom@tromey.com>
11258
11259         * linespec.c (copy_token_string): Return a unique_xmalloc_ptr.
11260         (unexpected_linespec_error): Update.
11261         (linespec_parse_basic, parse_linespec): Update.
11262
11263 2018-04-05  Tom Tromey  <tom@tromey.com>
11264
11265         * linespec.c (linespec_parse_basic): Reindent.
11266
11267 2018-04-05  Tom Tromey  <tom@tromey.com>
11268
11269         * minsyms.h (iterate_over_minimal_symbols): Update.
11270         * minsyms.c (iterate_over_minimal_symbols): Take a
11271         gdb::function_view.
11272         * linespec.c (struct collect_minsyms): Remove.
11273         (compare_msyms): Now a std::sort comparator.
11274         (add_minsym): Add parameters.
11275         (search_minsyms_for_name): Update.  Use std::vector.
11276
11277 2018-04-03  Tom Tromey  <tom@tromey.com>
11278
11279         * mipsread.c (read_alphacoff_dynamic_symtab): Use
11280         gdb::byte_vector.
11281
11282 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
11283
11284         * MAINTAINERS (Write After Approval): Add Weimin Pan.
11285
11286 2018-04-02  Weimin Pan  <weimin.pan@oracle.com>
11287
11288         PR gdb/16959
11289         * cp-valprint.c: (cp_print_static_field) Fix infinite recursion when 
11290         printing static type.
11291
11292 2018-04-01  Tom Tromey  <tom@tromey.com>
11293
11294         * rs6000-nat.c (rs6000_ptrace_ldinfo): Return a byte_vector.
11295         (rs6000_xfer_shared_libraries): Update.
11296
11297 2018-04-01  Simon Marchi  <simon.marchi@polymtl.ca>
11298
11299         * common/gdb_vecs.h (char_ptr): Remove.
11300         * tracepoint.c (encode_actions_1): Remove usage of char_ptr.
11301
11302 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
11303
11304         * guile/scm-utils.c (gdbscm_parse_function_args): Replace VEC
11305         with std::vector.
11306         * common/gdb_vecs.h (DEF_VEC_P (char_ptr)): Remove.
11307
11308 2018-03-30  Simon Marchi  <simon.marchi@polymtl.ca>
11309
11310         * tracepoint.h (struct uploaded_tp): Initialize fields.
11311         <actions, step_actions, cmd_strings>: Change type to
11312         std::vector<char *>.
11313         * tracepoint.c (get_uploaded_tp): Allocate with new.
11314         (free_uploaded_tps): Free with delete.
11315         (parse_tracepoint_definition): Adjust to std::vector change.
11316         * breakpoint.c (read_uploaded_action): Likewise.
11317         (create_tracepoint_from_upload): Likewise.
11318         * ctf.c (ctf_write_uploaded_tp): Likewise.
11319         (SET_ARRAY_FIELD): Likewise.
11320         * tracefile-tfile.c (tfile_write_uploaded_tp): Likewise.
11321
11322 2018-03-30  Tom Tromey  <tom@tromey.com>
11323
11324         * solib-svr4.c (lm_info_read): Use gdb::byte_vector.  Return
11325         std::unique_ptr.
11326         (svr4_keep_data_in_core): Update.
11327         (svr4_read_so_list): Update.
11328
11329 2018-03-30  Tom Tromey  <tom@tromey.com>
11330
11331         * windows-nat.c (handle_output_debug_string, handle_exception):
11332         Update.
11333         * target.h (target_read_string): Update.
11334         * target.c (target_read_string): Change "string" to
11335         unique_xmalloc_ptr.
11336         * solib-svr4.c (open_symbol_file_object, svr4_read_so_list):
11337         Update.
11338         * solib-frv.c (frv_current_sos): Update.
11339         * solib-dsbt.c (dsbt_current_sos): Update.
11340         * solib-darwin.c (darwin_current_sos): Update.
11341         * linux-thread-db.c (inferior_has_bug): Update.
11342         * expprint.c (print_subexp_standard) <case OP_OBJC_MSGCALL>:
11343         Update.  Remove alloca.
11344         * ada-lang.c (ada_main_name): Update.
11345
11346 2018-03-30  Tom Tromey  <tom@tromey.com>
11347
11348         * dwarf2read.c (struct free_dwo_file_cleanup_data): Remove.
11349         (struct dwo_file_deleter): New.
11350         (dwo_file_up): New typedef.
11351         (open_and_init_dwo_file): Use dwo_file_up.
11352         (free_dwo_file_cleanup): Remove.
11353
11354 2018-03-30  Tom Tromey  <tom@tromey.com>
11355
11356         * dwarf2read.c (free_dwo_file): Remove "objfile" parameter.
11357         (free_dwo_file_cleanup, free_dwo_file_from_slot): Update.
11358
11359 2018-03-30  Tom Tromey  <tom@tromey.com>
11360
11361         * dwarf2read.c (class free_cached_comp_units): New class.
11362         (dw2_instantiate_symtab, dwarf2_build_psymtabs_hard): Use it.
11363         (free_cached_comp_units): Remove function.
11364
11365 2018-03-30  Tom Tromey  <tom@tromey.com>
11366
11367         * utils.h (make_cleanup_unpush_target): Remove.
11368         * inf-ptrace.c (struct target_unpusher): New.
11369         (target_unpush_up) New typedef.
11370         (inf_ptrace_create_inferior, inf_ptrace_attach): Use
11371         target_unpush_up.
11372         * utils.c (do_unpush_target, make_cleanup_unpush_target): Remove.
11373
11374 2018-03-27  Tom Tromey  <tom@tromey.com>
11375
11376         * utils.c (prompt_for_continue): Use unique_xmalloc_ptr.
11377
11378 2018-03-27  Pedro Alves  <palves@redhat.com>
11379             Tom Tromey  <tom@tromey.com>
11380
11381         * top.c (class gdb_readline_wrapper_cleanup): Add constructor,
11382         destructor.  Now a class.
11383         (gdb_readline_wrapper_cleanup): Remove function.
11384         (gdb_readline_wrapper): Remove cleanups.
11385
11386 2018-03-27  Tom Tromey  <tom@tromey.com>
11387
11388         * typeprint.h (struct type_print_options) <local_typedefs,
11389         global_typedefs>: Remove "struct" keyword.
11390         (class typedef_hash_table): New class.
11391         (recursively_update_typedef_hash, add_template_parameters)
11392         (create_typedef_hash, free_typedef_hash, copy_typedef_hash)
11393         (find_typedef_in_hash): Don't declare.
11394         * typeprint.c (struct typedef_hash_table): Move to typeprint.h.
11395         (typedef_hash_table::recursively_update): Rename from
11396         recursively_update_typedef_hash.  Now a member.
11397         (typedef_hash_table::add_template_parameters): Rename from
11398         add_template_parameters.  Now a member.
11399         (typedef_hash_table::typedef_hash_table): Now a constructor;
11400         rename from create_typedef_hash.
11401         (typedef_hash_table::~typedef_hash_table): Now a destructor;
11402         rename from free_typedef_hash.
11403         (do_free_typedef_hash, make_cleanup_free_typedef_hash)
11404         (do_free_global_table): Remove.
11405         (typedef_hash_table::typedef_hash_table): New constructor; renamed
11406         from copy_type_recursive.
11407         (create_global_typedef_table): Remove.
11408         (typedef_hash_table::find_global_typedef): Now a member of
11409         typedef_hash_table.
11410         (typedef_hash_table::find_typedef): Rename from
11411         find_typedef_in_hash; now a member.
11412         (whatis_exp): Update.
11413         * extension.h (struct ext_lang_type_printers): Add constructor and
11414         destructor.
11415         (start_ext_lang_type_printers, free_ext_lang_type_printers): Don't
11416         declare.
11417         * extension.c (ext_lang_type_printers::ext_lang_type_printers):
11418         Now a constructor; rename from start_ext_lang_type_printers.
11419         (ext_lang_type_printers): Now a destructor; rename from
11420         free_ext_lang_type_printers.
11421         * c-typeprint.c (find_typedef_for_canonicalize, c_print_type_1):
11422         Update.
11423         (c_type_print_base_struct_union): Update.  Remove cleanups.
11424
11425 2018-03-27  Tom Tromey  <tom@tromey.com>
11426
11427         * dwarf-index-write.c: Include <cmath>.
11428
11429 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
11430
11431         * NEWS: Add entry describing new "set|show varsize-limit" command.
11432         * ada-lang.c (_initialize_ada_language): Add "set/show varsize-limit"
11433         command.
11434         * printcmd.c (_initialize_printcmd): Add "set var" alias of
11435         "set variable".
11436
11437 2018-03-27  Simon Marchi  <simon.marchi@ericsson.com>
11438
11439         * Makefile.in (COMMON_SFILES): Add dwarf-index-common.c and
11440         dwarf-index-write.c
11441         (HFILES_NO_SRCDIR): Add dwarf-index-common.h and dwarf2read.h.
11442         * dwarf-index-common.c: New file.
11443         * dwarf-index-common.h: New file.
11444         * dwarf-index-write.c: New file.
11445         * dwarf2read.c: Include dwarf2read.h and dwarf-index-common.h.
11446         (struct dwarf2_section_info): Move from here.
11447         (dwarf2_section_info_def): Likewise.
11448         (DEF_VEC_O (dwarf2_section_info_def)): Likewise.
11449         (offset_type): Likewise.
11450         (DW2_GDB_INDEX_SYMBOL_STATIC_SET_VALUE): Likewise.
11451         (DW2_GDB_INDEX_SYMBOL_KIND_SET_VALUE): Likewise.
11452         (DW2_GDB_INDEX_CU_SET_VALUE): Likewise.
11453         (byte_swap): Likewise.
11454         (MAYBE_SWAP): Likewise.
11455         (dwarf2_per_cu_ptr): Likewise.
11456         (DEF_VEC_P (dwarf2_per_cu_ptr)): Likewise.
11457         (struct tu_stats): Likewise.
11458         (struct dwarf2_per_objfile): Likewise.
11459         (struct dwarf2_per_cu_data): Likewise.
11460         (struct signatured_type): Likewise.
11461         (sig_type_ptr): Likewise.
11462         (DEF_VEC_P (sig_type_ptr)): Likewise.
11463         (INDEX4_SUFFIX): Likewise.
11464         (INDEX5_SUFFIX): Likewise.
11465         (DEBUG_STR_SUFFIX): Likewise.
11466         (dwarf2_read_section): Make non-static.
11467         (mapped_index_string_hash): Move from here.
11468         (dwarf5_djb_hash): Likewise.
11469         (file_write): Likewise.
11470         (class data_buf): Likewise.
11471         (struct symtab_index_entry): Likewise.
11472         (struct mapped_symtab): Likewise.
11473         (find_slot): Likewise.
11474         (hash_expand): Likewise.
11475         (add_index_entry): Likewise.
11476         (uniquify_cu_indices): Likewise.
11477         (class c_str_view): Likewise.
11478         (class c_str_view_hasher): Likewise.
11479         (class vector_hasher): Likewise.
11480         (write_hash_table): Likewise.
11481         (psym_index_map): Likewise.
11482         (struct addrmap_index_data): Likewise.
11483         (add_address_entry): Likewise.
11484         (add_address_entry_worker): Likewise.
11485         (write_address_map): Likewise.
11486         (symbol_kind): Likewise.
11487         (write_psymbols): Likewise.
11488         (struct signatured_type_index_data): Likewise.
11489         (write_one_signatured_type): Likewise.
11490         (recursively_count_psymbols): Likewise.
11491         (recursively_write_psymbols): Likewise.
11492         (class debug_names): Likewise.
11493         (check_dwarf64_offsets): Likewise.
11494         (psyms_seen_size): Likewise.
11495         (write_gdbindex): Likewise.
11496         (write_debug_names): Likewise.
11497         (assert_file_size): Likewise.
11498         (write_psymtabs_to_index): Likewise.
11499         (save_gdb_index_command): Likewise.
11500         (_initialize_dwarf2_read): Don't register the "save gdb-index"
11501         command.
11502         * dwarf2read.h: New file.
11503
11504 2018-03-27  Joel Brobecker  <brobecker@adacore.com>
11505
11506         PR gdb/22670
11507         * dwarf2read.c (dwarf2_physname): Do not return the demangled
11508         symbol name if the CU's language stores symbol names in linkage
11509         format.
11510         * language.h (struct language_defn)
11511         <la_store_sym_names_in_linkage_form_p>: New field.  Adjust
11512         all instances of this struct.
11513
11514 2018-03-26  Tom Tromey  <tom@tromey.com>
11515
11516         * stack.c (backtrace_command_1): Remove verbose code.
11517
11518 2018-03-26  Tom Tromey  <tom@tromey.com>
11519
11520         * python/py-framefilter.c (py_print_type): Don't catch
11521         exceptions.  Return void.
11522         (py_print_value): Likewise.
11523         (py_print_single_arg): Likewise.
11524         (enumerate_args): Don't catch exceptions.
11525         (py_print_args): Likewise.
11526         (py_print_frame): Likewise.
11527         (gdbpy_apply_frame_filter): Catch exceptions here.
11528
11529 2018-03-26  Tom Tromey  <tom@tromey.com>
11530
11531         * stack.c (_initialize_stack): Remove trailing newlines from help
11532         text.  Add "Usage" line to "backtrace" help.
11533
11534 2018-03-26  Tom Tromey  <tom@tromey.com>
11535
11536         PR python/16486:
11537         * python/py-framefilter.c (py_print_args): Call wrap_hint.
11538
11539 2018-03-26  Tom Tromey  <tom@tromey.com>
11540
11541         * python/py-framefilter.c (py_print_single_arg): Return
11542         EXT_LANG_BT_ERROR from catch.
11543
11544 2018-03-26  Tom Tromey  <tom@tromey.com>
11545
11546         PR backtrace/15584:
11547         * stack.c (backtrace_command_1): Move some code into no-filters
11548         "if".
11549
11550 2018-03-26  Tom Tromey  <tom@tromey.com>
11551
11552         * python/py-framefilter.c (throw_quit_or_print_exception): New
11553         function.
11554         (gdbpy_apply_frame_filter): Use it.
11555
11556 2018-03-26  Tom Tromey  <tom@tromey.com>
11557
11558         PR cli/17716:
11559         * python/py-framefilter.c (py_print_type, py_print_value)
11560         (enumerate_args, py_print_args, gdbpy_apply_frame_filter): Use
11561         RETURN_MASK_ERROR.
11562
11563 2018-03-26  Tom Tromey  <tom@tromey.com>
11564
11565         * python/py-framefilter.c (enumerate_args): Use
11566         gdb::unique_xmalloc_ptr.
11567
11568 2018-03-26  Tom Tromey  <tom@tromey.com>
11569
11570         * python/py-framefilter.c (py_print_frame): Return
11571         EXT_LANG_BT_OK.
11572         (gdbpy_apply_frame_filter): Update comment.
11573         * extension.h (enum ext_lang_bt_status) <EXT_LANG_BT_COMPLETED>:
11574         Remove.
11575         <EXT_LANG_BT_NO_FILTERS>: Change value.
11576
11577 2018-03-26  Tom Tromey  <tom@tromey.com>
11578
11579         PR backtrace/15582:
11580         * stack.c (backtrace_command): Parse "hide" argument.
11581         * python/py-framefilter.c (py_print_frame): Handle PRINT_HIDE.
11582         * extension.h (enum frame_filter_flags) <PRINT_HIDE>: New
11583         constant.
11584
11585 2018-03-26  Tom Tromey  <tom@tromey.com>
11586
11587         * stack.c (backtrace_command_1): Remove "show_locals" parameter,
11588         add "flags".
11589         (backtrace_command): Remove "fulltrace", add "flags".
11590
11591 2018-03-26  Tom Tromey  <tom@tromey.com>
11592
11593         * stack.c (backtrace_command): Rewrite command line parsing.
11594
11595 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11596
11597         * dwarf2read.c (DEF_VEC_I(offset_type)): Remove.
11598
11599 2018-03-26  Simon Marchi  <simon.marchi@ericsson.com>
11600
11601         * filename-seen-cache.h: Add include guard.
11602
11603 2018-03-26  Keith Seitz  <keiths@redhat.com>
11604
11605         * symfile.c (place_section): Remove "struct" from section_addr_info
11606         in comment.
11607         * windows-nat.c (struct safe_symbol_file_add_args) <addrs>: Remove
11608         "struct" keyword from section_addr_info.
11609
11610 2018-03-26  Alan Hayward  <alan.hayward@arm.com>
11611
11612         * regformats/regdef.h (reg): Add constructors.
11613
11614 2018-03-25  Pedro Alves  <palves@redhat.com>
11615
11616         * eval.c (evaluate_funcall): Swap OP_VAR_MSYM_VALUE/OP_VAR_VALUE
11617         if then/else bodies in var_func_name extraction.
11618
11619 2018-03-23  Weimin Pan  <weimin.pan@oracle.com>
11620
11621         * minsyms.c (lookup_minimal_symbol_and_objfile): Use
11622         lookup_minimal_symbol() to find symbol entry.
11623         * minsyms.h (lookup_minimal_symbol_and_objfile): Update comment.
11624
11625 2018-03-23  Keith Seitz  <keiths@redhat.com>
11626
11627         PR c++/22968
11628         * dwarf2read.c (scan_partial_symbols): Scan structs/classes for
11629         nested type definitions for C++, too.
11630
11631 2018-03-23  Tom Tromey  <tom@tromey.com>
11632
11633         * machoread.c (struct oso_el): Add a constructor.  Don't define as
11634         a typedef.
11635         (macho_register_oso): Remove.
11636         (macho_symtab_read): Take a std::vector.
11637         (oso_el_compare_name): Now a std::sort comparator.
11638         (macho_symfile_read_all_oso): Take a std::vector.
11639         (macho_symfile_read): Use std::vector.  Remove cleanups.
11640
11641 2018-03-22  Tom Tromey  <tom@tromey.com>
11642
11643         * record-full.c (record_full_exec_insn): Use gdb::byte_vector.
11644         (record_full_goto_bookmark): Use std::string.
11645
11646 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11647
11648         PR tdep/18295
11649         * rs6000-tdep.c (skip_prologue): Match both stwux and stdux
11650         a single mask.
11651
11652 2018-03-22  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11653
11654         * rs6000-tdep.c (store_insn_p): New function.
11655         (skip_prologue): New variable alloca_reg_offset. Set lr_reg
11656         and cr_reg to their unshifted values. Use store_insn_p to
11657         match LR saves using either R1 or fdata->alloca_reg. Use
11658         store_insn_p to match CR saves. Set alloca_reg_offset
11659         when alloca_reg and framep are set. Remove lr_reg shift
11660         when assigning to fdata->lr_register.
11661
11662 2018-03-22  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11663
11664         * linux-tdep.c (linux_info_proc): For "info proc cmdline", print
11665         command line args instead of emitting a warning.
11666
11667 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11668
11669         * tracepoint.h (struct static_tracepoint_marker): Initialize
11670         fields, define default constructor, move constructor and move
11671         assignment, disable the rest.
11672         <str_id, extra>: Make std::string.
11673         (release_static_tracepoint_marker): Remove.
11674         (free_current_marker): Remove.
11675         * tracepoint.c (free_current_marker): Remove.
11676         (parse_static_tracepoint_marker_definition): Adjust to
11677         std::string, use new hex2str overload.
11678         (release_static_tracepoint_marker): Remove.
11679         (print_one_static_tracepoint_marker): Get marker by reference
11680         and adjust to std::string.
11681         (info_static_tracepoint_markers_command): Adjust to std::vector
11682         changes
11683         * target.h (static_tracepoint_marker_p): Remove typedef.
11684         (DEF_VEC_P(static_tracepoint_marker_p)): Remove.
11685         (struct target_ops) <to_static_tracepoint_marker_at>: Return
11686         bool.
11687         <to_static_tracepoint_markers_by_strid>: Return std::vector.
11688         * target-debug.h
11689         (target_debug_print_VEC_static_tracepoint_marker_p_p): Remove.
11690         (target_debug_print_std_vector_static_tracepoint_marker): New.
11691         (target_debug_print_struct_static_tracepoint_marker_p): Rename
11692         to...
11693         (target_debug_print_static_tracepoint_marker_p): ... this.
11694         * target-delegates.c: Re-generate.
11695         * breakpoint.h (struct tracepoint) <static_trace_marker_id>:
11696         Make std::string.
11697         * breakpoint.c (init_breakpoint_sal): Adjust to std::string.
11698         (decode_static_tracepoint_spec): Adjust to std::vector.
11699         (tracepoint_print_one_detail): Adjust to std::string.
11700         (strace_marker_decode_location): Adjust to std::string.
11701         (update_static_tracepoint): Adjust to std::string, remove call
11702         to release_static_tracepoint_marker.
11703         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
11704         Adjust to std::vector.
11705         * remote.c (remote_static_tracepoint_marker_at): Return bool.
11706         (remote_static_tracepoint_markers_by_strid): Adjust to
11707         std::vector.
11708         * common/rsp-low.h (hex2str): New overload with explicit count
11709         of bytes.
11710         * common/rsp-low.c (hex2str): New overload with explicit count
11711         of bytes.
11712         * unittests/rsp-low-selftests.c (test_hex2str): New function.
11713         (_initialize_rsp_low_selftests): Add test_hex2str test.
11714         * unittests/tracepoint-selftests.c
11715         (test_parse_static_tracepoint_marker_definition): Adjust to
11716         std::string.
11717
11718 2018-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
11719
11720         * tracepoint.c (parse_static_tracepoint_marker_definition):
11721         Consider case where the definition is followed by more
11722         definitions.
11723         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11724         tracepoint-selftests.c.
11725         * unittests/tracepoint-selftests.c: New.
11726
11727 2018-03-21  Pedro Franco de Carvalho  <pedromfc@linux.vnet.ibm.com>
11728
11729         * MAINTAINERS (Write After Approval): Add Pedro Franco de
11730         Carvalho.
11731
11732 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11733
11734         * symtab.c (find_pc_sect_line): fixed indentation.
11735
11736 2018-03-20  Stephen Roberts  <stephen.roberts@arm.com>
11737
11738         * symtab.c (find_pc_sect_line): now uses binary search.
11739
11740 2018-03-19  Tom Tromey  <tom@tromey.com>
11741
11742         * rust-exp.y (struct_expr_tail, struct_expr_list): Add plain
11743         "IDENT" production.
11744
11745 2018-03-19  Pedro Alves  <palves@redhat.com>
11746             Tom Tromey  <tom@tromey.com>
11747
11748         * unittests/observable-selftests.c: New file.
11749         * common/observable.h: New file.
11750         * observable.h: New file.
11751         * ada-lang.c, ada-tasks.c, agent.c, aix-thread.c, annotate.c,
11752         arm-tdep.c, auto-load.c, auxv.c, break-catch-syscall.c,
11753         breakpoint.c, bsd-uthread.c, cli/cli-interp.c, cli/cli-setshow.c,
11754         corefile.c, dummy-frame.c, event-loop.c, event-top.c, exec.c,
11755         extension.c, frame.c, gdbarch.c, guile/scm-breakpoint.c,
11756         infcall.c, infcmd.c, inferior.c, inflow.c, infrun.c, jit.c,
11757         linux-tdep.c, linux-thread-db.c, m68klinux-tdep.c,
11758         mi/mi-cmd-break.c, mi/mi-interp.c, mi/mi-main.c, objfiles.c,
11759         ppc-linux-nat.c, ppc-linux-tdep.c, printcmd.c, procfs.c,
11760         python/py-breakpoint.c, python/py-finishbreakpoint.c,
11761         python/py-inferior.c, python/py-unwind.c, ravenscar-thread.c,
11762         record-btrace.c, record-full.c, record.c, regcache.c, remote.c,
11763         riscv-tdep.c, sol-thread.c, solib-aix.c, solib-spu.c, solib.c,
11764         spu-multiarch.c, spu-tdep.c, stack.c, symfile-mem.c, symfile.c,
11765         symtab.c, thread.c, top.c, tracepoint.c, tui/tui-hooks.c,
11766         tui/tui-interp.c, valops.c: Update all users.
11767         * tui/tui-hooks.c (tui_bp_created_observer)
11768         (tui_bp_deleted_observer, tui_bp_modified_observer)
11769         (tui_inferior_exit_observer, tui_before_prompt_observer)
11770         (tui_normal_stop_observer, tui_register_changed_observer):
11771         Remove.
11772         (tui_observers_token): New global.
11773         (attach_or_detach, tui_attach_detach_observers): New functions.
11774         (tui_install_hooks, tui_remove_hooks): Use
11775         tui_attach_detach_observers.
11776         * record-btrace.c (record_btrace_thread_observer): Remove.
11777         (record_btrace_thread_observer_token): New global.
11778         * observer.sh: Remove.
11779         * observer.c: Rename to observable.c.
11780         * observable.c (namespace gdb_observers): Define new objects.
11781         (observer_debug): Move into gdb_observers namespace.
11782         (struct observer, struct observer_list, xalloc_observer_list_node)
11783         (xfree_observer_list_node, generic_observer_attach)
11784         (generic_observer_detach, generic_observer_notify): Remove.
11785         (_initialize_observer): Update.
11786         Don't include observer.inc.
11787         * Makefile.in (generated_files): Remove observer.h, observer.inc.
11788         (clean mostlyclean): Likewise.
11789         (observer.h, observer.inc): Remove targets.
11790         (SUBDIR_UNITTESTS_SRCS): Add observable-selftests.c.
11791         (COMMON_SFILES): Use observable.c, not observer.c.
11792         * .gitignore: Remove observer.h.
11793
11794 2018-03-18  Tom Tromey  <tom@tromey.com>
11795
11796         * solib.c (gdb_bfd_lookup_symbol_from_symtab): Use
11797         gdb::def_vector.
11798         (bfd_lookup_symbol_from_dyn_symtab): Likewise.
11799
11800 2018-03-17  Tom Tromey  <tom@tromey.com>
11801
11802         * auto-load.c (auto_load_objfile_script_1): Use std::string.
11803
11804 2018-03-17  Tom Tromey  <tom@tromey.com>
11805
11806         * target.c (class scoped_target_fd): New.
11807         (target_fileio_close_cleanup): Remove.
11808         (target_fileio_read_alloc_1): Use scoped_target_fd.
11809
11810 2018-03-16  Simon Marchi  <simon.marchi@polymtl.ca>
11811
11812         * silent-rules.mk: New.
11813         * Makefile.in: Include silent-rules.mk
11814         (srcdir, VPATH, top_srcdir): Move up.
11815         (COMPILE): Add ECHO_CXX.
11816         (test-cp-name-parser$(EXEEXT)): Add ECHO_CXXLD.
11817         (init.c): Add ECHO_INIT_C.
11818         (gdb$(EXEEXT)): Add SILENCE and ECHO_CXXLD.
11819         (version.c): Add ECHO_GEN.
11820         (printcmd.o): Add ECHO_CXX.
11821         (target-float.o): Add ECHO_CXX.
11822         (ada-exp.o): Add ECHO_CXX.
11823         (stamp-xml): Add SILENCE and ECHO_GEN_XML_BUILTIN.
11824         (insight$(EXEEXT)): Add ECHO_CXXLD.
11825         * gnulib/configure.ac: Add AM_SILENT_RULES.
11826         * gnulib/aclocal.m4: Re-generate.
11827         * gnulib/configure: Re-generate.
11828         * gnulib/import/Makefile.in: Re-generate.
11829
11830 2018-03-16  Tom Tromey  <tom@tromey.com>
11831
11832         * xcoffread.c (xcoff_symfile_offsets): Change type of "addrs".
11833         * utils.h (make_cleanup_free_section_addr_info): Don't declare.
11834         * utils.c (do_free_section_addr_info)
11835         (make_cleanup_free_section_addr_info): Remove.
11836         * symfile.h (struct other_sections): Add constructor.
11837         (struct section_addr_info): Remove.
11838         (section_addr_info): New typedef.
11839         (struct sym_fns) <sym_offsets>: Change type of parameter.
11840         (build_section_addr_info_from_objfile)
11841         (relative_addr_info_to_section_offsets, addr_info_make_relative)
11842         (default_symfile_offsets, symbol_file_add)
11843         (symbol_file_add_from_bfd)
11844         (build_section_addr_info_from_section_table): Update.
11845         (alloc_section_addr_info, free_section_addr_info): Don't declare.
11846         * symfile.c (alloc_section_addr_info): Remove.
11847         (build_section_addr_info_from_section_table): Change return type.
11848         Update.
11849         (build_section_addr_info_from_bfd)
11850         (build_section_addr_info_from_objfile): Likewise.
11851         (free_section_addr_info): Remove.
11852         (relative_addr_info_to_section_offsets): Change type of "addrs".
11853         (addrs_section_compar): Now a std::sort comparator.
11854         (addrs_section_sort): Change return type.
11855         (addr_info_make_relative): Change type of "addrs".  Update.
11856         (default_symfile_offsets, syms_from_objfile_1)
11857         (syms_from_objfile, symbol_file_add_with_addrs): Likewise.
11858         (symbol_file_add_separate): Update.
11859         (symbol_file_add): Change type of "addrs".  Update.
11860         (add_symbol_file_command): Update.  Remove cleanups.
11861         * symfile-mem.c (symbol_file_add_from_memory): Update.  Remove
11862         cleanups.
11863         * symfile-debug.c (debug_sym_offsets): Change type of "info".
11864         * solib.c (solib_read_symbols): Update.
11865         * objfiles.c (objfile_relocate): Update.  Remove cleanups.
11866         * machoread.c (macho_symfile_offsets): Update.
11867         * jit.c (jit_bfd_try_read_symtab): Update.
11868
11869 2018-03-15  Simon Marchi  <simon.marchi@polymtl.ca>
11870
11871         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11872         unittests/utils-selftests.c.
11873         * unittests/utils-selftests.c: New file.
11874
11875 2018-03-14  Tom Tromey  <tom@tromey.com>
11876
11877         PR cli/14977:
11878         * printcmd.c (printf_c_string, printf_wide_c_string): Special case
11879         for NULL.
11880
11881 2018-03-14  Tom Tromey  <tom@tromey.com>
11882
11883         PR cli/19918:
11884         * printcmd.c (printf_pointer): Allow "-" in format.
11885
11886 2018-03-14  Tom Tromey  <tom@tromey.com>
11887
11888         * printcmd.c (_initialize_printcmd): Add usage to printf.
11889
11890 2018-03-14  Yao Qi  <qiyao@sourceware.org>
11891
11892         * MAINTAINERS: Update my email address.
11893
11894 2018-03-13  Tom Tromey  <tom@tromey.com>
11895
11896         * machoread.c (macho_check_dsym): Change filenamep to a
11897         std::string*.
11898         (macho_symfile_read): Update.
11899         * symfile.c (load_command): Use std::string.
11900
11901 2018-03-12  Andrew Burgess  <andrew.burgess@embecosm.com>
11902
11903         * riscv-tdep.c (riscv_sw_breakpoint_from_kind): Add localization
11904         to error message string.
11905         (riscv_register_name): Use xsnprintf instead of sprintf.
11906         (riscv_insn::fetch_instruction): Use gdb_assert instead of
11907         internal_error.
11908         (riscv_print_arg_location): Use gdb_assert_not_reached instead of
11909         error.
11910         (riscv_push_dummy_call): Likewise.
11911
11912 2018-03-12  Tom Tromey  <tom@tromey.com>
11913
11914         * rs6000-aix-tdep.c (rs6000_aix_core_xfer_shared_libraries_aix):
11915         Use gdb::byte_vector.
11916         * arm-tdep.c (arm_exidx_new_objfile): Use gdb::byte_vector.
11917
11918 2018-03-12  Yao Qi  <yao.qi@linaro.org>
11919
11920         * ia64-libunwind-tdep.c (libunwind_get_reg_special): Change
11921         parameter type to readable_regcache.
11922         * ia64-libunwind-tdep.h (libunwind_get_reg_special): Update
11923         the declaration.
11924
11925 2018-03-11  Tom Tromey  <tom@tromey.com>
11926
11927         * dwarf2read.c (struct nextfield): Add initializers.
11928         (struct nextfnfield): Remove.
11929         (struct fnfieldlist): Add initializers.  Remove "length" and
11930         "head", use std::vector.
11931         (struct decl_field_list): Remove.
11932         (struct field_info): Add initializers.
11933         <fields, baseclasses>: Now std::vector.
11934         <nbaseclasses, nfnfields, typedef_field_list_count,
11935         nested_types_list_count>: Remove.
11936         (dwarf2_add_field, dwarf2_add_type_defn)
11937         (dwarf2_attach_fields_to_type, dwarf2_add_member_fn)
11938         (dwarf2_attach_fn_fields_to_type, handle_struct_member_die)
11939         (process_structure_scope): Update.
11940
11941 2018-03-11  Tom Tromey  <tom@tromey.com>
11942
11943         * dwarf2read.c (sort_tu_by_abbrev_offset): Change to be suitable
11944         for use by std::sort.
11945         (build_type_psymtabs_1): Use std::vector.
11946
11947 2018-03-09  Eli Zaretskii  <eliz@gnu.org>
11948
11949         * top.c (print_gdb_configuration): Reflect LIBIPT, LIBMEMCHECK,
11950         and LIBMPFR in the printed configuration.
11951
11952 2018-03-08  Tom Tromey  <tom@tromey.com>
11953
11954         * source.c (get_filename_and_charpos): Use scoped_fd.
11955         * nto-procfs.c (procfs_open_1): Use scoped_fd.
11956         (procfs_pidlist): Likewise.
11957         * procfs.c (proc_get_LDT_entry): Use scoped_fd.
11958         (iterate_over_mappings): Likewise.
11959
11960 2018-03-08  Tom Tromey  <tom@tromey.com>
11961
11962         * infcall.c (struct call_return_meta_info)
11963         <stack_temporaries_enabled>: Remove.
11964         (get_call_return_value, call_function_by_hand_dummy): Update.
11965         * thread.c (disable_thread_stack_temporaries): Remove.
11966         (enable_thread_stack_temporaries): Remove.
11967         (thread_stack_temporaries_enabled_p): Return bool.
11968         (push_thread_stack_temporary, value_in_thread_stack_temporaries)
11969         (get_last_thread_stack_temporary): Update.
11970         * eval.c (evaluate_subexp): Update.
11971         * gdbthread.h (class enable_thread_stack_temporaries): Now a
11972         class, not a function.
11973         (value_ptr, value_vec): Remove typedefs.
11974         (class thread_info) <stack_temporaries_enabled>: Now bool.
11975         <stack_temporaries>: Now a std::vector.
11976         (thread_stack_temporaries_enabled_p)
11977         (value_in_thread_stack_temporaries): Return bool.
11978
11979 2018-03-08  Simon Marchi  <simon.marchi@ericsson.com>
11980
11981         * remote.c (putpkt_binary): Fix omitted bytes reporting.
11982         (getpkt_or_notif_sane_1): Likewise.
11983
11984 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11985
11986         * build-id.c (build_id_to_debug_bfd): Use std::string.
11987
11988 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
11989
11990         * build-id.c (find_separate_debug_file_by_buildid): Return
11991         std::string.
11992         * build-id.h (find_separate_debug_file_by_buildid): Return
11993         std::string.
11994         * coffread.c (coff_symfile_read): Adjust to std::string.
11995         * elfread.c (elf_symfile_read): Adjust to std::string.
11996         * symfile.c (separate_debug_file_exists): Change parameter to
11997         std::string.
11998         (find_separate_debug_file): Return std::string.
11999         (find_separate_debug_file_by_debuglink): Return std::string.
12000         * symfile.h (find_separate_debug_file_by_debuglink): Return
12001         std::string.
12002
12003 2018-03-08  Simon Marchi  <simon.marchi@polymtl.ca>
12004
12005         * common/xml-utils.c (xml_escape_text): Move code to...
12006         (xml_escape_text_append): ... this new function.
12007         * common/xml-utils.h (xml_escape_text_append): New declaration.
12008         * unittests/xml-utils-selftests.c (test_xml_escape_text_append):
12009         New function.
12010         (_initialize_xml_utils): register test_xml_escape_text_append as
12011         a selftest.
12012
12013 2018-03-07  Alan Hayward  <alan.hayward@arm.com>
12014
12015         * defs.h: Remove MAX_REGISTER_SIZE.
12016         * regcache.c (init_regcache_descr): Remove MAX_REGISTER_SIZE
12017         asserts.
12018         * python/py-unwind.c (pyuw_sniffer): Likewise.
12019
12020 2018-03-07  Tom Tromey  <tom@tromey.com>
12021
12022         * linux-tdep.c (linux_info_proc): Update.
12023         * target.h (struct target_ops) <to_fileio_readlink>: Return
12024         optional<string>.
12025         (target_fileio_readlink): Return optional<string>.
12026         * remote.c (remote_hostio_readlink): Return optional<string>.
12027         * inf-child.c (inf_child_fileio_readlink): Return
12028         optional<string>.
12029         * target.c (target_fileio_readlink): Return optional<string>.
12030
12031 2018-03-07  Andrew Burgess  <andrew.burgess@embecosm.com>
12032
12033         * regcache.c (cooked_read_test): Add riscv to the list of
12034         architectures that have a save_reggroup.
12035
12036 2018-03-07  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12037
12038         * gnu-v3-abi.c (gnuv3_rtti_type): Add early exit if the given
12039         value is not a dynamic class object.
12040
12041 2018-03-06  Tom Tromey  <tom@tromey.com>
12042
12043         * rust-exp.y: Formatting fixes.
12044
12045 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12046
12047         * riscv-tdep.c (riscv_register_name): Remove target description
12048         support.
12049         (riscv_gdbarch_init): Remove target description check.
12050
12051 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12052
12053         * riscv-tdep.c: Remove 'Contributed by ...' lines from header
12054         comment.
12055         * riscv-tdep.h: Likewise.
12056
12057 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12058
12059         * riscv-tdep.c (riscv_pseudo_register_read): Delete.
12060         (riscv_pseudo_register_write): Delete.
12061         (riscv_gdbarch_init): Remove all use of pseudo registers.
12062
12063 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
12064
12065         * record-btrace.c (btrace_print_lines): Replace cleanup
12066         parameter with RAII equivalents.
12067         (btrace_insn_history): Replace cleanup with RAII equivalents.
12068         * ui-out.h (make_cleanup_ui_out_list_begin_end,
12069         make_cleanup_ui_out_tuple_begin_end): Remove.
12070         * ui-out.c (struct ui_out_end_cleanup_data, do_cleanup_end,
12071         make_cleanup_ui_out_end, make_cleanup_ui_out_tuple_begin_end,
12072         make_cleanup_ui_out_list_begin_end): Remove.
12073
12074 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
12075
12076         * record-btrace.c (record_btrace_maybe_mark_async_event): Change
12077         parameter types to std::vector.  Use bool.
12078         (record_btrace_wait): Replace VEC(tp_t) with
12079         std::vector<thread_info *>.
12080         * common/gdb_vecs.h (unordered_remove, ordered_remove): New.
12081
12082 2018-03-06  Simon Marchi  <simon.marchi@polymtl.ca>
12083
12084         * record-btrace.c (record_btrace_disable_callback): Remove.
12085         (struct scoped_btrace_disable): New.
12086         (record_btrace_open): Use scoped_btrace_disable.
12087
12088 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12089
12090         * riscv-tdep.c (riscv_return_value): Change type to ULONGEST for
12091         reading values from registers.
12092
12093 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12094
12095         * riscv-tdep.c (riscv_push_dummy_call): Use core_addr_to_string_nz
12096         where appropriate.
12097
12098 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12099
12100         * riscv-tdep.c (riscv_print_arg_location): Add header comment,
12101         change parameter type.  Use GDB's print functions, and use
12102         core_addr_to_string where appropriate.
12103         (riscv_push_dummy_call): Use core_addr_to_string where
12104         appropriate, update call to riscv_print_arg_location, and reindent
12105         a few lines.
12106         (riscv_return_value): Update call to riscv_print_arg_location.
12107
12108 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12109             Tim Newsome <tim@sifive.com>
12110             Albert Ou <a0u@eecs.berkeley.edu>
12111             Darius Rad <darius@bluespec.com>
12112
12113         * Makefile.in (ALL_TARGET_OBS): Add riscv-tdep.o
12114         (HFILES_NO_SRCDIR): Add riscv-tdep.h.
12115         (ALLDEPFILES): Add riscv-tdep.c
12116         * configure.tgt: Add riscv support.
12117         * riscv-tdep.c: New file.
12118         * riscv-tdep.h: New file.
12119         * NEWS: Mention new target.
12120         * MAINTAINERS: Add entry for riscv.
12121
12122 2018-03-06  Andrew Burgess  <andrew.burgess@embecosm.com>
12123
12124         * amd64-tdep.c (amd64_classify_aggregate): Ignore zero sized
12125         fields within aggregates.
12126
12127 2018-03-04  Simon Marchi  <simon.marchi@polymtl.ca>
12128
12129         * record-btrace.c (btrace_print_lines): Change type of flags to
12130         gdb_disassembly_flags.
12131
12132 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
12133
12134         * fbsd-nat.c: Include "inf-ptrace.h".
12135         (USE_SIGTRAP_SIGINFO): Conditionally define.
12136         [USE_SIGTRAP_SIGINFO] (fbsd_handle_debug_trap): New function.
12137         (fbsd_wait) [USE_SIGTRAP_SIGINFO]: Call "fbsd_handle_debug_trap".
12138         [USE_SIGTRAP_SIGINFO] (fbsd_stopped_by_sw_breakpoint): New
12139         function.
12140         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_sw_breakpoint):
12141         Likewise.
12142         [USE_SIGTRAP_SIGINFO] (fbsd_supports_stopped_by_hw_breakpoint):
12143         Likewise.
12144         (fbsd_nat_add_target) [USE_SIGTRAP_SIGINFO]: Set
12145         "stopped_by_sw_breakpoint", "supports_stopped_by_sw_breakpoint",
12146         "supports_stopped_by_hw_breakpoint" target methods.
12147
12148 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
12149
12150         * NEWS (Changes since GDB 8.1): Add "set/show debug fbsd-nat".
12151         * fbsd-nat.c (debug_fbsd_nat): New variable.
12152         (show_fbsd_nat_debug): New function.
12153         (fbsd_wait): Log LWP info if "debug_fbsd_nat" is enabled.
12154         (_initialize_fbsd_nat): Add "fbsd-nat" debug boolean command.
12155
12156 2018-03-04  John Baldwin  <jhb@FreeBSD.org>
12157
12158         * nat/x86-dregs.c (x86_dr_stopped_by_hw_breakpoint): New function.
12159         * nat/x86-dregs.h (x86_dr_stopped_by_hw_breakpoint): New
12160         prototype.
12161         * x86-nat.c (x86_stopped_by_hw_breakpoint): New function.
12162         (x86_use_watchpoints): Set "stopped_by_hw_breakpoint" target
12163         method.
12164
12165 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12166
12167         * common/gdb_vecs.c (free_char_ptr_vec): Remove.
12168         * common/gdb_vecs.h (free_char_ptr_vec): Remove.
12169
12170 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12171
12172         * charset.c (struct charset_vector): New.
12173         (charsets): Change type to charset_vector.
12174         (find_charset_names): Adjust.
12175         (add_one): Adjust.
12176         (_initialize_charset): Adjust.
12177
12178 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12179
12180         * progspace.h (struct program_space) <deleted_solibs>: Change
12181         type to std::vector<std::string>.
12182         * progspace.c (clear_program_space_solib_cache): Adjust.
12183         * breakpoint.c (print_solib_event): Adjust.
12184         (check_status_catch_solib): Adjust.
12185         * solib.c (update_solib_list): Adjust.
12186         * ui-out.h (class ui_out) <field_string>: New overload.
12187         * ui-out.c (ui_out::field_string): New overload.
12188
12189 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12190
12191         * progspace.h (struct program_space): Add constructor and
12192         destructor, initialize fields.
12193         (add_program_space): Remove.
12194         * progspace.c (add_program_space): Rename to...
12195         (program_space::program_space): ... this.
12196         (release_program_space): Rename to...
12197         (program_space::~program_space): ... this.
12198         (delete_program_space): Use delete to delete program_space.
12199         (initialize_progspace): Use new to allocate program_space.
12200         * inferior.c (add_inferior_with_spaces): Likewise.
12201         (clone_inferior_command): Likewise.
12202         * infrun.c (follow_fork_inferior): Likewise.
12203         (handle_vfork_child_exec_or_exit): Likewise.
12204
12205 2018-03-02  Simon Marchi  <simon.marchi@polymtl.ca>
12206
12207         * common/gdb_vecs.h (make_cleanup_free_char_ptr_vec): Remove.
12208         (delim_string_to_char_ptr_vec): Return std::vector of
12209         gdb::unique_xmalloc_ptr.
12210         (dirnames_to_char_ptr_vec_append): Take std::vector of
12211         gdb::unique_xmalloc_ptr.
12212         (dirnames_to_char_ptr_vec): Return std::vector of
12213         gdb::unique_xmalloc_ptr.
12214         * common/gdb_vecs.c (delim_string_to_char_ptr_vec_append):
12215         Take std::vector of gdb::unique_xmalloc_ptr, adjust the code.
12216         (delim_string_to_char_ptr_vec): Return an std::vector of
12217         gdb::unique_xmalloc_ptr, adjust the code.
12218         (dirnames_to_char_ptr_vec_append): Take an std::vector of
12219         gdb::unique_xmalloc_ptr, adjust the code.
12220         (dirnames_to_char_ptr_vec): Return an std::vector of
12221         gdb::unique_xmalloc_ptr, adjust the code.
12222         * auto-load.c (auto_load_safe_path_vec): Change type to
12223         std::vector of gdb::unique_xmalloc_ptr.
12224         (auto_load_expand_dir_vars): Return an std::vector of
12225         gdb::unique_xmalloc_ptr, adjust the code.
12226         (auto_load_safe_path_vec_update): Adjust.
12227         (filename_is_in_auto_load_safe_path_vec): Adjust.
12228         (auto_load_objfile_script_1): Adjust.
12229         * build-id.c (build_id_to_debug_bfd): Adjust.
12230         * linux-thread-db.c (thread_db_load_search): Adjust.
12231         * source.c (add_path): Adjust.
12232         (openp): Adjust.
12233         * symfile.c (find_separate_debug_file): Adjust.
12234         * utils.c (do_free_char_ptr_vec): Remove.
12235         (make_cleanup_free_char_ptr_vec): Remove.
12236
12237 2018-03-01  Sergio Durigan Junior  <sergiodj@redhat.com>
12238
12239         PR gdb/22907
12240         * common/pathstuff.c: Conditionally include "<windows.h>".
12241
12242 2018-03-01  Georg Sauthoff  <mail@georg.so>
12243
12244         PR gdb/22888
12245         * gcore.in: Quote variables and switch interpreter to bash.
12246
12247 2018-03-01  Tom Tromey  <tom@tromey.com>
12248
12249         * dwarf2read.c (alloc_discriminant_info): Fix default_index
12250         assertion.  Add assertion for discriminant_index.
12251         (quirk_rust_enum): Use correct base type name in univariant case.
12252
12253 2018-03-01  Simon Marchi  <simon.marchi@ericsson.com>
12254
12255         * record.c (get_call_history_modifiers): Return a
12256         record_print_flags.
12257         (cmd_record_call_history): Adjust.
12258         * record-btrace.c (record_btrace_call_history): Adjust.
12259         (record_btrace_call_history_range): Adjust.
12260         (record_btrace_call_history_from): Adjust.
12261         * target-debug.h (target_debug_print_record_print_flags): New.
12262         * target-delegates.c: Re-generate.
12263         * target.c (target_call_history): Change flags type.
12264         (target_call_history_from): Likewise.
12265         (target_call_history_range): Likewise.
12266         * target.h (struct target_ops) <target_call_history>: Likewise.
12267         (target_call_history_from): Likewise.
12268         (target_call_history_range): Likewise.
12269
12270 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
12271             Simon Marchi  <simon.marchi@polymtl.ca>
12272
12273         * common/common-utils.c: Include "sys/stat.h".
12274         (is_regular_file): Move here from "source.c"; change return
12275         type to "bool".
12276         * common/common-utils.h (is_regular_file): New prototype.
12277         * common/pathstuff.c (contains_dir_separator): New function.
12278         * common/pathstuff.h (contains_dir_separator): New prototype.
12279         * source.c: Don't include "sys/stat.h".
12280         (is_regular_file): Move to "common/common-utils.c".
12281
12282 2018-02-28  Sergio Durigan Junior  <sergiodj@redhat.com>
12283
12284         * Makefile.in (COMMON_SFILES): Add "common/pathstuff.c".
12285         (HFILES_NO_SRCDIR): Add "common/pathstuff.h".
12286         * auto-load.c: Include "common/pathstuff.h".
12287         * common/common-def.h (current_directory): Move here.
12288         * common/gdb_tilde_expand.c (gdb_tilde_expand_up): New
12289         function.
12290         * common/gdb_tilde_expand.h (gdb_tilde_expand_up): New
12291         prototype.
12292         * common/pathstuff.c: New file.
12293         * common/pathstuff.h: New file.
12294         * compile/compile.c: Include "common/pathstuff.h".
12295         * defs.h (current_directory): Move to "common/common-defs.h".
12296         * dwarf2read.c: Include "common/pathstuff.h".
12297         * exec.c: Likewise.
12298         * guile/scm-safe-call.c: Likewise.
12299         * linux-thread-db.c: Likewise.
12300         * main.c: Likewise.
12301         * nto-tdep.c: Likewise.
12302         * objfiles.c: Likewise.
12303         * source.c: Likewise.
12304         * symtab.c: Likewise.
12305         * utils.c: Include "common/pathstuff.h".
12306         (gdb_realpath): Move to "common/pathstuff.c".
12307         (gdb_realpath_keepfile): Likewise.
12308         (gdb_abspath): Likewise.
12309         * utils.h (gdb_realpath): Move to "common/pathstuff.h".
12310         (gdb_realpath_keepfile): Likewise.
12311         (gdb_abspath): Likewise.
12312
12313 2018-02-28  John Baldwin  <jhb@FreeBSD.org>
12314
12315         * fbsd-nat.c (fbsd_resume): Use PT_SETSTEP for stepping and a
12316         wildcard process pid for super_resume for kernels with a
12317         specific bug.
12318
12319 2018-02-27  Phil Muldoon  <pmuldoon@redhat.com>
12320
12321         * compile/compile.c (get_args): Add additional comments
12322         explaining function.
12323
12324 2018-02-27  Simon Marchi  <simon.marchi@polymtl.ca>
12325             Tom Tromey  <tom@tromey.com>
12326
12327         * target.h (memory_write_request_s): Remove typedef.  Don't define
12328         VEC.
12329         (target_write_memory_blocks): Change argument to std::vector.
12330         (struct memory_write_request): Add constructor.
12331         * target-memory.c (compare_block_starting_address): Return bool.
12332         Change argument types.
12333         (claim_memory): Change arguments to use std::vector.
12334         (split_regular_and_flash_blocks, blocks_to_erase)
12335         (compute_garbled_blocks): Likewise.
12336         (cleanup_request_data, cleanup_write_requests_vector): Remove.
12337         (target_write_memory_blocks): Change argument to std::vector.
12338         * symfile.c (struct load_section_data): Add constructor and
12339         destructor.  Use std::vector for "requests".
12340         (struct load_progress_data): Add initializers.
12341         (load_section_callback): Update.  Use "new".
12342         (clear_memory_write_data): Remove.
12343         (generic_load): Update.
12344
12345 2018-02-27  Alan Hayward  <alan.hayward@arm.com>
12346
12347         * arch/aarch64.h: Use common/tdesc.h.
12348
12349 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
12350
12351         * mips-tdep.c (mips_gdbarch_init): Don't use a 32-bit BFD
12352         architecture with a 64-bit ABI.
12353
12354 2018-02-26  Maciej W. Rozycki  <macro@mips.com>
12355
12356         * gdb/mips-tdep.c (mips_gdbarch_init): Reorder ABI determination
12357         ahead of target description loading.
12358
12359 2018-02-26  Tom Tromey  <tom@tromey.com>
12360
12361         * stack.c (backtrace_command_1): Update.
12362         * python/python-internal.h (gdbpy_apply_frame_filter): Change type
12363         of "flags".
12364         * python/py-framefilter.c (py_print_frame)
12365         (gdbpy_apply_frame_filter): Change type of "flags".
12366         * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): Change type
12367         of "flags".
12368         (mi_cmd_stack_list_frames, mi_cmd_stack_list_locals)
12369         (mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Update.
12370         * extension.h (enum frame_filter_flag): Rename from
12371         frame_filter_flags.
12372         (frame_filter_flags): Define using DEF_ENUM_FLAGS_TYPE.
12373         (apply_ext_lang_frame_filter): Change type of "flags".
12374         * extension.c (apply_ext_lang_frame_filter): Change type of
12375         "flags".
12376         * extension-priv.h (struct extension_language_ops)
12377         <apply_frame_filter>: Change type of "flags".
12378
12379 2018-02-26  Tom Tromey  <tom@tromey.com>
12380
12381         PR python/16497:
12382         * stack.c (backtrace_command_1): Set PRINT_MORE_FRAMES flag.  Fix
12383         off-by-one in py_end computation.
12384         * python/py-framefilter.c (gdbpy_apply_frame_filter): Handle
12385         PRINT_MORE_FRAMES.
12386         * extension.h (enum frame_filter_flags) <PRINT_MORE_FRAMES>: New
12387         constant.
12388
12389 2018-02-26  Tom Tromey  <tom@tromey.com>
12390
12391         * dwarf2read.c (struct variant_field): New.
12392         (struct nextfield) <variant>: New field.
12393         (dwarf2_add_field): Handle DW_TAG_variant_part.
12394         (dwarf2_attach_fields_to_type): Attach a discriminant_info to a
12395         discriminated union.
12396         (read_structure_type): Handle DW_TAG_variant_part.
12397         (handle_struct_member_die): New function, extracted from
12398         process_structure_scope.  Handle DW_TAG_variant.
12399         (process_structure_scope): Handle discriminated unions.  Call
12400         handle_struct_member_die.
12401
12402 2018-02-26  Tom Tromey  <tom@tromey.com>
12403
12404         * rust-lang.h (rust_last_path_segment): Declare.
12405         * rust-lang.c (rust_last_path_segment): Now public.  Change
12406         contract.
12407         (struct disr_info): Remove.
12408         (RUST_ENUM_PREFIX, RUST_ENCODED_ENUM_REAL)
12409         (RUST_ENCODED_ENUM_HIDDEN, rust_union_is_untagged)
12410         (rust_get_disr_info, rust_tuple_variant_type_p): Remove.
12411         (rust_enum_p, rust_enum_variant): New function.
12412         (rust_underscore_fields): Remove "offset" parameter.
12413         (rust_print_enum): New function.
12414         (rust_val_print) <TYPE_CODE_UNION>: Remove enum code.
12415         <TYPE_CODE_STRUCT>: Call rust_print_enum when appropriate.
12416         (rust_print_struct_def): Add "for_rust_enum" parameter.  Handle
12417         enums.
12418         (rust_internal_print_type): New function, from rust_print_type.
12419         Remove enum code.
12420         (rust_print_type): Call rust_internal_print_type.
12421         (rust_evaluate_subexp) <STRUCTOP_ANONYMOUS, STRUCTOP_STRUCT>:
12422         Update enum handling.
12423         * dwarf2read.c (struct dwarf2_cu) <rust_unions>: New field.
12424         (rust_fully_qualify, alloc_discriminant_info, quirk_rust_enum)
12425         (rust_union_quirks): New functions.
12426         (process_full_comp_unit, process_full_type_unit): Call
12427         rust_union_quirks.
12428         (process_structure_scope): Update rust_unions if necessary.
12429
12430 2018-02-26  Tom Tromey  <tom@tromey.com>
12431
12432         * value.h (value_union_variant): Declare.
12433         * valops.c (value_union_variant): New function.
12434         * gdbtypes.h (TYPE_FLAG_DISCRIMINATED_UNION): New macro.
12435         (struct discriminant_info): New.
12436         (enum dynamic_prop_node_kind) <DYN_PROP_DISCRIMINATED>: New
12437         enumerator.
12438         (struct main_type) <flag_discriminated_union>: New field.
12439
12440 2018-02-26  Tom Tromey  <tom@tromey.com>
12441
12442         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
12443         unittests/unpack-selftests.c.
12444         * unittests/unpack-selftests.c: New file.
12445         * value.c (unpack_bits_as_long): Fix bugs in non-bitfield cases.
12446
12447 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12448
12449         * dwarf2read.c (struct partial_die_info) <read>: New method.
12450         (read_partial_die): Remove the declaration.
12451         (load_partial_dies): Update.
12452         (partial_die_info::partial_die_info):
12453         (read_partial_die): Change it to partial_die_info::read.
12454
12455 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12456
12457         * dwarf2read.c (struct partial_die_info) <fixup>: New method.
12458         (fixup_partial_die): Remove declaration.
12459         (scan_partial_symbols): Update.
12460         (partial_die_parent_scope): Likewise.
12461         (partial_die_full_name): Likewise.
12462         (fixup_partial_die): Change it to partial_die_info::fixup.
12463
12464 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12465
12466         * dwarf2read.c (read_partial_die): Update the declaration.
12467         (load_partial_dies): Caller update.
12468         (read_partial_die): Remove one argument abbrev_len.
12469
12470 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12471
12472         * dwarf2read.c (struct partial_die_info): Add ctor, delete
12473         assignment operator.
12474         (load_partial_dies): Use ctor and copy ctor.
12475         (read_partial_die): Update.
12476         (dwarf2_cu::find_partial_die): Use ctor.
12477
12478 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12479
12480         * dwarf2read.c (struct dwarf2_cu) <find_partial_die>: New method.
12481         (find_partial_die_in_comp_unit): Change it to
12482         dwarf2_cu::find_partial_die.
12483         (find_partial_die): Update.
12484
12485 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12486
12487         * dwarf2read.c (read_partial_die): Remove the code checking abbrev
12488         is NULL.
12489
12490 2018-02-26  Yao Qi  <yao.qi@linaro.org>
12491
12492         * dwarf2read.c (load_partial_dies): Move the location of XOBNEW.
12493
12494 2018-02-26  Alan Hayward  <alan.hayward@arm.com>
12495
12496         * arch/amd64.h: Use common/tdesc.h.
12497         * arch/i386.c: Likewise.
12498         * arch/i386.h: Likewise.
12499         * arch/tic6x.c: Likewise.
12500         * arch/tdesc.h: Move file from here...
12501         * common/tdesc.h: ...to here.
12502         * features/aarch64-core.c: Regenerate.
12503         * features/aarch64-fpu.c: Regenerate.
12504         * features/i386/32bit-avx.c: Regenerate.
12505         * features/i386/32bit-avx512.c: Regenerate.
12506         * features/i386/32bit-core.c: Regenerate.
12507         * features/i386/32bit-linux.c: Regenerate.
12508         * features/i386/32bit-mpx.c: Regenerate.
12509         * features/i386/32bit-pkeys.c: Regenerate.
12510         * features/i386/32bit-sse.c: Regenerate.
12511         * features/i386/64bit-avx.c: Regenerate.
12512         * features/i386/64bit-avx512.c: Regenerate.
12513         * features/i386/64bit-core.c: Regenerate.
12514         * features/i386/64bit-linux.c: Regenerate.
12515         * features/i386/64bit-mpx.c: Regenerate.
12516         * features/i386/64bit-pkeys.c: Regenerate.
12517         * features/i386/64bit-segments.c: Regenerate.
12518         * features/i386/64bit-sse.c: Regenerate.
12519         * features/i386/x32-core.c: Regenerate.
12520         * features/tic6x-c6xp.c: Regenerate.
12521         * features/tic6x-core.c: Regenerate.
12522         * features/tic6x-gp.c: Regenerate.
12523         * target-descriptions.c: Use common/tdesc.h.
12524         * target-descriptions.h: Likewise.
12525
12526 2018-02-24  Tom Tromey  <tom@tromey.com>
12527
12528         * linux-thread-db.c (try_thread_db_load_from_pdir_1)
12529         (try_thread_db_load_from_dir, thread_db_load_search): Use
12530         std::string.
12531         (info_auto_load_libthread_db_compare): Return bool.  Change
12532         argument types.
12533         (info_auto_load_libthread_db): Use std::vector, std::string.
12534         Remove cleanups.
12535
12536 2018-02-24  Tom Tromey  <tom@tromey.com>
12537
12538         * i386-tdep.c (i386_fast_tracepoint_valid_at): "msg" now a
12539         std::string.
12540         * gdbarch.sh (fast_tracepoint_valid_at): Change "msg" to a
12541         std::string*.
12542         * gdbarch.c: Rebuild.
12543         * gdbarch.h: Rebuild.
12544         * breakpoint.c (check_fast_tracepoint_sals): Use std::string.
12545         * arch-utils.h (default_fast_tracepoint_valid_at): Update.
12546         * arch-utils.c (default_fast_tracepoint_valid_at): "msg" now a
12547         std::string*.
12548
12549 2018-02-23  Simon Marchi  <simon.marchi@polymtl.ca>
12550
12551         * gdbtypes.h (sect_offset): Change type to uint64_t.
12552         (sect_offset_str): New function.
12553         * dwarf2read.c (create_addrmap_from_aranges): Use
12554         sect_offset_str.
12555         (error_check_comp_unit_head): Likewise.
12556         (create_debug_type_hash_table): Likewise.
12557         (read_cutu_die_from_dwo): Likewise.
12558         (init_cutu_and_read_dies): Likewise.
12559         (init_cutu_and_read_dies_no_follow): Likewise.
12560         (process_psymtab_comp_unit_reader): Likewise.
12561         (partial_die_parent_scope): Likewise.
12562         (peek_die_abbrev): Likewise.
12563         (process_queue): Likewise.
12564         (dwarf2_physname): Likewise.
12565         (read_namespace_alias): Likewise.
12566         (read_import_statement): Likewise.
12567         (create_dwo_cu_reader): Likewise.
12568         (create_cus_hash_table): Likewise.
12569         (lookup_dwo_cutu): Likewise.
12570         (inherit_abstract_dies): Likewise.
12571         (read_func_scope): Likewise.
12572         (read_call_site_scope): Likewise.
12573         (dwarf2_add_member_fn): Likewise.
12574         (read_common_block): Likewise.
12575         (read_module_type): Likewise.
12576         (read_typedef): Likewise.
12577         (read_subrange_type): Likewise.
12578         (load_partial_dies): Likewise.
12579         (read_partial_die): Likewise.
12580         (find_partial_die): Likewise.
12581         (read_str_index): Likewise.
12582         (dwarf2_string_attr): Likewise.
12583         (build_error_marker_type): Likewise.
12584         (lookup_die_type): Likewise.
12585         (dump_die_shallow): Likewise.
12586         (follow_die_ref): Likewise.
12587         (dwarf2_fetch_die_loc_sect_off): Likewise.
12588         (dwarf2_fetch_constant_bytes): Likewise.
12589         (follow_die_sig): Likewise.
12590         (get_signatured_type): Likewise.
12591         (get_DW_AT_signature_type): Likewise.
12592         (dwarf2_find_containing_comp_unit): Likewise.
12593         (set_die_type): Likewise.
12594
12595 2018-02-21  John Baldwin  <jhb@FreeBSD.org>
12596
12597         * arch/aarch64.c: Include "common-defs.h".
12598         * arch/amd64.c: Likewise.
12599         * arch/i386.c: Likewise.
12600
12601 2018-02-21  Tom Tromey  <tom@tromey.com>
12602
12603         * value.h: (extract_field_op): Update.
12604         * eval.c (extract_field_op): Return a const char *.
12605         * expression.h (parse_expression_for_completion): Update.
12606         * completer.c (complete_expression): Update.
12607         (add_struct_fields): Make fieldname const.
12608         * parse.c (expout_completion_name): Now a unique_xmalloc_ptr.
12609         (mark_completion_tag, parse_exp_in_context_1): Update.
12610         (parse_expression_for_completion): Change "name" to
12611         unique_xmalloc_ptr*.
12612
12613 2018-02-21  Tom Tromey  <tom@tromey.com>
12614
12615         * infcall.c (call_function_by_hand_dummy): Use std::vector.
12616
12617 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12618
12619         * avr-tdep.c (avr_read_pc): Change parameter type to
12620         readable_regcache.
12621         * gdbarch.sh (read_pc): Likewise.
12622         * gdbarch.c: Re-generated.
12623         * gdbarch.h: Re-generated.
12624         * hppa-tdep.c (hppa_read_pc): Change parameter type to
12625         readable_regcache.
12626         * ia64-tdep.c (ia64_read_pc): Likewise.
12627         * mips-tdep.c (mips_read_pc): Likewise.
12628         * spu-tdep.c (spu_read_pc): Likewise.
12629
12630 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12631
12632         * Makefile.in (COMMON_SFILES): Add regcache-dump.c
12633         * regcache-dump.c: New file.
12634         * regcache.c: Move register_dump to regcache-dump.c.
12635         (maintenance_print_registers): Likewise.
12636         (maintenance_print_raw_registers): Likewise.
12637         (maintenance_print_cooked_registers): Likewise.
12638         (maintenance_print_register_groups): Likewise.
12639         (maintenance_print_remote_registers): Likewise.
12640         (_initialize_regcache): Likewise.
12641         * regcache.h (register_dump): Moved from regcache.c.
12642
12643 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12644
12645         * regcache.c (regcache::regcache): Update.
12646         (regcache::invalidate): Move it to detached_regcache::invalidate.
12647         (get_thread_arch_aspace_regcache): Update.
12648         (regcache::raw_update): Update.
12649         (regcache::cooked_read): Remove some code.
12650         (regcache::cooked_read_value): Likewise.
12651         (regcache::raw_write): Remove assert on m_readonly_p.
12652         (regcache::raw_supply_integer): Move it to
12653         detached_regcache::raw_supply_integer.
12654         (regcache::raw_supply_zeroed): Likewise.
12655         * regcache.h (detached_regcache) <raw_supply_integer>: New
12656         declaration.
12657         <raw_supply_zeroed, invalidate>: Likewise.
12658         (regcache) <raw_supply_integer, raw_supply_zeroed>: Removed.
12659         <invalidate>: Likewise.
12660         <m_readonly_p>: Removed.
12661
12662 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12663
12664         * infcmd.c (get_return_value): Let stop_regs point to
12665         get_current_regcache.
12666         * regcache.c (regcache::regcache): Remove.
12667         (register_dump_reg_buffer): New class.
12668         (regcache_print): Adjust.
12669         * regcache.h (regcache): Remove constructors.
12670
12671 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12672
12673         * regcache.c (class register_dump): New class.
12674         (register_dump_regcache, register_dump_none): New class.
12675         (register_dump_remote, register_dump_groups): New class.
12676         (regcache_print): Update.
12677         * regcache.h (regcache_dump_what): Move it to regcache.c.
12678         (regcache) <dump>: Remove.
12679
12680 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12681
12682         * jit.c (struct jit_unwind_private) <regcache>: Change its type to
12683          reg_buffer_rw *.
12684         (jit_unwind_reg_set_impl): Call raw_supply.
12685         (jit_frame_sniffer): Use reg_buffer_rw.
12686         * record-full.c (record_full_core_regbuf): Change its type.
12687         (record_full_core_open_1): Use reg_buffer_rw.
12688         (record_full_close): Likewise.
12689         (record_full_core_fetch_registers): Use regcache->raw_supply.
12690         (record_full_core_store_registers): Likewise.
12691         * regcache.c (regcache::get_register_status): Move it to
12692         reg_buffer.
12693         (regcache_raw_set_cached_value): Remove.
12694         (regcache::raw_set_cached_value): Remove.
12695         (regcache::raw_write): Call raw_supply.
12696         (regcache::raw_supply): Move it to reg_buffer_rw.
12697         * regcache.h (regcache_raw_set_cached_value): Remove.
12698         (reg_buffer_rw): New class.
12699
12700 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12701
12702         * dummy-frame.c (dummy_frame_cache) <prev_regcache>: Use
12703         readonly_detached_regcache.
12704         (dummy_frame_prev_register): Use regcache->cooked_read.
12705         * frame.c (frame_save_as_regcache): Change return type.
12706         (frame_pop): Update.
12707         * frame.h (frame_save_as_regcache): Update declaration.
12708         * inferior.h (get_infcall_suspend_state_regcache): Update
12709         declaration.
12710         * infrun.c (infcall_suspend_state) <registers>: use
12711         readonly_detached_regcache.
12712         (save_infcall_suspend_state): Don't use regcache_dup.
12713         (get_infcall_suspend_state_regcache): Change return type.
12714         * linux-fork.c (struct fork_info) <savedregs>: Change to
12715         readonly_detached_regcache.
12716         <pc>: New field.
12717         (fork_save_infrun_state): Don't use regcache_dup.
12718         (info_checkpoints_command): Adjust.
12719         * mi/mi-main.c (register_changed_p): Update declaration.
12720         (mi_cmd_data_list_changed_registers): Use
12721         readonly_detached_regcache.
12722         (register_changed_p): Change parameter type to
12723         readonly_detached_regcache.
12724         * ppc-linux-tdep.c (ppu2spu_cache) <regcache>: Use
12725         readonly_detached_regcache.
12726         (ppu2spu_sniffer): Construct a new readonly_detached_regcache.
12727         * regcache.c (readonly_detached_regcache::readonly_detached_regcache):
12728         New.
12729         (regcache::save): Move it to reg_buffer.
12730         (regcache::restore): Change parameter type.
12731         (regcache_dup): Remove.
12732         * regcache.h (reg_buffer) <save>: New method.
12733         (readonly_detached_regcache): New class.
12734         * spu-tdep.c (spu2ppu_cache) <regcache>: Use
12735         readonly_detached_regcache.
12736         (spu2ppu_sniffer): Construct a new readonly_detached_regcache.
12737
12738 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12739
12740         * frame.c (frame_save_as_regcache): Use regcache method save.
12741         (frame_pop): Use regcache method restore.
12742         * infrun.c (restore_infcall_suspend_state): Likewise.
12743         * linux-fork.c (fork_load_infrun_state): Likewise.
12744         * ppc-linux-tdep.c (ppu2spu_sniffer): User regcache method
12745         save.
12746         * regcache.c (regcache_save): Remove.
12747         (regcache::restore): More asserts.
12748         (regcache_cpy): Remove.
12749         * regcache.h (regcache_save): Remove the declaration.
12750         (regcache::restore): Move from private to public.
12751         Remove the friend declaration of regcache_cpy.
12752         (regcache_cpy): Remove declaration.
12753
12754 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12755
12756         * aarch64-tdep.c (aarch64_pseudo_register_read_value): Change
12757         parameter type to 'readable_regcache *'.
12758         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
12759         * arm-tdep.c (arm_neon_quad_read): Likewise.
12760         (arm_pseudo_read): Likewise.
12761         * avr-tdep.c (avr_pseudo_register_read): Likewise.
12762         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
12763         * frv-tdep.c (frv_pseudo_register_read): Likewise.
12764         * gdbarch.c: Re-generated.
12765         * gdbarch.h: Re-generated.
12766         * gdbarch.sh (pseudo_register_read): Change parameter type to
12767         'readable_regcache *'.
12768         (pseudo_register_read_value): Likewise.
12769         * h8300-tdep.c (pseudo_from_raw_register): Likewise.
12770         (h8300_pseudo_register_read): Likewise.
12771         * hppa-tdep.c (hppa_pseudo_register_read): Likewise.
12772         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
12773         (i386_pseudo_register_read_into_value): Likewise.
12774         (i386_pseudo_register_read_value): Likewise.
12775         * i386-tdep.h (i386_pseudo_register_read_into_value): Update
12776         declaration.
12777         * ia64-tdep.c (ia64_pseudo_register_read): Likewise.
12778         * m32c-tdep.c (m32c_raw_read): Likewise.
12779         (m32c_read_flg): Likewise.
12780         (m32c_banked_register): Likewise.
12781         (m32c_banked_read): Likewise.
12782         (m32c_sb_read): Likewise.
12783         (m32c_part_read): Likewise.
12784         (m32c_cat_read): Likewise.
12785         (m32c_r3r2r1r0_read): Likewise.
12786         (m32c_pseudo_register_read): Likewise.
12787         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
12788         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
12789         (mep_pseudo_cr64_read): Likewise.
12790         (mep_pseudo_register_read): Likewise.
12791         * mips-tdep.c (mips_pseudo_register_read): Likewise.
12792         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
12793         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
12794         * regcache.c (regcache::raw_read): Move it to readable_regcache.
12795         (regcache::cooked_read): Likewise.
12796         (regcache::cooked_read_value): Likewise.
12797         (regcache_cooked_read_signed):
12798         (regcache::cooked_read): Likewise.
12799         * regcache.h (readable_regcache): New class.
12800         (regcache): Inherit readable_regcache.  Move some methods to
12801         readable_regcache.
12802         * rl78-tdep.c (rl78_pseudo_register_read): Change
12803         parameter type to 'readable_regcache *'.
12804         * rs6000-tdep.c (do_regcache_raw_read): Remove.
12805         (e500_pseudo_register_read): Change parameter type to
12806         'readable_regcache *'.
12807         (dfp_pseudo_register_read): Likewise.
12808         (vsx_pseudo_register_read): Likewise.
12809         (efpr_pseudo_register_read): Likewise.
12810         * s390-tdep.c (s390_pseudo_register_read): Likewise.
12811         * sh-tdep.c (sh_pseudo_register_read): Likewise.
12812         * sh64-tdep.c (pseudo_register_read_portions): Likewise.
12813         (sh64_pseudo_register_read): Likewise.
12814         * sparc-tdep.c (sparc32_pseudo_register_read): Likewise.
12815         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
12816         * spu-tdep.c (spu_pseudo_register_read_spu): Likewise.
12817         (spu_pseudo_register_read): Likewise.
12818         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
12819         (xtensa_pseudo_register_read): Likewise.
12820
12821 2018-02-21  Yao Qi  <yao.qi@linaro.org>
12822
12823         * regcache.c (regcache::regcache): Call reg_buffer ctor.
12824         (regcache::arch): Move it to reg_buffer::arch.
12825         (regcache::register_buffer): Likewise.
12826         (regcache::assert_regnum): Likewise.
12827         (regcache::num_raw_registers): Likewise.
12828         * regcache.h (reg_buffer): New class.
12829         (regcache): Inherit reg_buffer.
12830
12831 2018-02-20  Simon Marchi  <simon.marchi@ericsson.com>
12832
12833         * remote-sim.c (gdb_os_printf_filtered, gdb_os_vprintf_filtered,
12834         gdb_os_evprintf_filtered, gdb_os_error): Add ATTRIBUTE_PRINTF.
12835
12836 2018-02-20  Markus Metzger  <markus.t.metzger@intel.com>
12837
12838         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add mkstemp.
12839
12840 2018-02-19  Alan Hayward  <alan.hayward@arm.com>
12841
12842         * Makefile.in: (COMMON_SFILES): Add common/*.c files.
12843         (SFILES): Remove common/*.c files.
12844         (COMMON_OBS): Remove some *.o files built from common/*.c files.
12845         * common/common.host: Add common reference.
12846         * configure.ac: Likewise.
12847         * configure: Regenerate.
12848
12849 2018-02-16  Yao Qi  <yao.qi@linaro.org>
12850
12851         * block.c (block_namespace_info): Inherit allocate_on_obstack.
12852         (block_initialize_namespace): Use new.
12853         * dwarf2read.c (dwarf2_per_objfile): Inherit allocate_on_obstack.
12854         (dwarf2_free_objfile): Use delete.
12855         * gdbtypes.c (type_pair): Inherit allocate_on_obstack.
12856         (copy_type_recursive): Use new.
12857         * gdb_obstack.h (allocate_on_obstack): New.
12858
12859 2018-02-15  Yao Qi  <yao.qi@linaro.org>
12860
12861         PR gdb/22849
12862         * inferior.c (exit_inferior_1): Reset inf->control.
12863
12864 2018-02-15  Joel Brobecker  <brobecker@adacore.com>
12865
12866         * ada-lang.c (ada_to_fixed_value_create): Delete advance
12867         declaration.
12868
12869 2018-02-14  Pedro Alves  <palves@redhat.com>
12870
12871         * frame-unwind.c (frame_unwind_try_unwinder): Always call
12872         frame_cleanup_after_sniffer on exception.
12873
12874 2018-02-14  Tom Tromey  <tom@tromey.com>
12875
12876         * solist.h (struct target_so_ops) <bfd_open>: Make pathname
12877         const.
12878         (solib_bfd_open): Make pathname const.
12879         * solib.c (solib_bfd_open): Make pathname const.
12880         * solib-spu.c (spu_bfd_fopen): Make name const.
12881         (spu_bfd_open): Make pathname const.
12882         * solib-darwin.c (darwin_bfd_open): Make pathname const.
12883         * solib-aix.c (solib_aix_bfd_open): Make pathname const.
12884
12885 2018-02-14  Tom Tromey  <tom@tromey.com>
12886
12887         * symfile.c (symfile_bfd_open): Update.
12888         * source.h (openp, source_full_path_of, find_and_open_source):
12889         Change argument type to unique_xmalloc_ptr.
12890         * source.c (openp): Take a unique_xmalloc_ptr.
12891         (source_full_path_of, find_and_open_source): Likewise.
12892         (open_source_file, symtab_to_fullname): Update.
12893         * solist.h (struct target_so_ops) <find_and_open_solib>: Take a
12894         unique_xmalloc_ptr.
12895         * solib.c (solib_find_1): Use unique_xmalloc_ptr.
12896         (exec_file_find): Update.
12897         * psymtab.c (psymtab_to_fullname): Update.
12898         * nto-tdep.h (nto_find_and_open_solib): Update.
12899         * nto-tdep.c (nto_find_and_open_solib): Change temp_path to a
12900         unique_xmalloc_ptr.
12901         * exec.c (exec_file_attach): Update.
12902         * dwarf2read.c (try_open_dwop_file): Use unique_xmalloc_ptr.
12903         * cli/cli-cmds.c (find_and_open_script): Use unique_xmalloc_ptr.
12904
12905 2018-02-14  Tom Tromey  <tom@tromey.com>
12906
12907         * solib.c: Include source.h.
12908         * nto-tdep.c: Include source.h.
12909         * mi/mi-cmd-env.c: Include source.h.
12910         * infcmd.c: Include source.h.
12911         * exec.c: Include source.h.
12912         * defs.h (enum openp_flag, openp, source_full_path_of, mod_path)
12913         (add_path, directory_switch, source_path, init_source_path): Move
12914         declarations...
12915         * source.h (enum openp_flag, openp, source_full_path_of, mod_path)
12916         (add_path, directory_switch, source_path, init_source_path):
12917         ...here.
12918
12919 2018-02-14  Tom Tromey  <tom@tromey.com>
12920
12921         * solist.h (exec_file_find, solib_find): Return
12922         unique_xmalloc_ptr.
12923         (solib_bfd_fopen): Take a const char *.
12924         * solib.c (solib_find_1): Return unique_xmalloc_ptr.
12925         (exec_file_find, solib_find): Likewise.
12926         (solib_bfd_fopen): Do not take ownership of "pathname".
12927         (solib_bfd_open): Use unique_xmalloc_ptr.
12928         * solib-darwin.c (darwin_bfd_open): Use unique_xmalloc_ptr.
12929         * solib-aix.c (solib_aix_bfd_open): Use unique_xmalloc_ptr.
12930         * infrun.c (follow_exec): Use unique_xmalloc_ptr.
12931         * exec.c (exec_file_locate_attach): Use unique_xmalloc_ptr.
12932
12933 2018-02-14  Joel Brobecker  <brobecker@adacore.com>
12934
12935         * ada-lang.c (name_match_type_from_name): Remove reference to
12936         ada_name_for_lookup in function's documentation.
12937         * ada-lang.h (ada_name_for_lookup): Delete declaration.
12938
12939 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12940
12941         * defs.h (enum openp_flags): New enum.
12942         (OPF_TRY_CWD_FIRST, OPF_SEARCH_IN_PATH, OPF_RETURN_REALPATH):
12943         Move to enum openp_flags.
12944         (openp_flags): New enum flags.
12945         (openp): Change parameter type to openp_flags.
12946         * source.c (openp): Change parameter type to openp_flags.
12947         * cli/cli-cmds.c (find_and_open_script): Use openp_flags.
12948         * dwarf2read.c (try_open_dwop_file): Use openp_flags.
12949
12950 2018-02-13  Simon Marchi  <simon.marchi@polymtl.ca>
12951
12952         * maint.c (_initialize_maint_cmds): Fix prefix of maint set/show
12953         per-command.
12954
12955 2018-02-12  Andrew Burgess  <andrew.burgess@embecosm.com>
12956
12957         * dwarf2read.c (dwarf2_release_queue): Delete function, move body
12958         into...
12959         (class dwarf2_queue_guard): ...the destructor of this new class.
12960         (dw2_do_instantiate_symtab): Create instance of the new class
12961         dwarf2_queue_guard, remove cleanup.
12962
12963 2018-02-09  Tom Tromey  <tom@tromey.com>
12964
12965         * source.c (find_source_lines): Don't reference past the end of
12966         the vector.
12967
12968 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12969
12970         * remote.c (remote_btrace_maybe_reopen): Change error message.
12971         * btrace.c (btrace_enable): Likewise.
12972         (parse_xml_btrace): Likewise.
12973         (parse_xml_btrace_conf): Likewise.
12974
12975 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12976
12977         * nat/linux-btrace.c (diagnose_perf_event_open_fail): New.
12978         (linux_enable_pt, linux_enable_bts): Call
12979         diagnose_perf_event_open_fail.
12980
12981 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12982
12983         * nat/linux-btrace.c (perf_event_pt_event_type): Improve error message.
12984         Remove parameter and change return type.  Update callers.  Move it.
12985         (linux_enable_bts, linux_enable_pt): Improve error message.
12986         (linux_enable_pt): Remove zero buffer size check.
12987         (linux_enable_btrace): Improve error messages.  Remove NULL return
12988         check.
12989
12990 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
12991
12992         * btrace.c (btrace_enable): Remove target_supports_btrace call.
12993         * nat/linux-btrace.c (perf_event_pt_event_type): Move.
12994         (kernel_supports_bts, kernel_supports_pt, linux_supports_bts)
12995         (linux_supports_pt, linux_supports_btrace): Remove.
12996         (linux_enable_bts): Call cpu_supports_bts.
12997         * nat/linux-btrace.h (linux_supports_btrace): Remove.
12998         * remote.c (remote_supports_btrace): Remove.
12999         (init_remote_ops): Remove remote_supports_btrace.
13000         * target-delegates.c: Regenerated.
13001         * target.c (target_supports_btrace): Remove.
13002         * target.h (target_ops) <to_supports_btrace>: Remove
13003         (target_supports_btrace): Remove.
13004         * x86-linux-nat.c (x86_linux_create_target): Remove
13005         linux_supports_btrace.
13006
13007 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13008
13009         * nat/linux-btrace.c (linux_enable_btrace): Throw exception if enabling
13010         btrace failed.
13011         * x86-linux-nat.c (x86_linux_enable_btrace): Catch btrace enabling
13012         exception and use message in own exception.
13013
13014 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13015
13016         * nat/linux-btrace.c: Include scoped_fd.h and scoped_mmap.h.
13017         (perf_event_pt_event_type): Use gdb_file_up.
13018         (linux_enable_bts, linux_enable_pt): Use gdb::unique_xmalloc_ptr,
13019         scoped_fd, and scoped_mmap.
13020
13021 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13022
13023         * common/scoped_mmap.h: New.
13024         * unittests/scoped_mmap-selftest.c: New.
13025         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13026         unittests/scoped_mmap-selftest.c.
13027
13028 2018-02-09  Markus Metzger  <markus.t.metzger@intel.com>
13029
13030         * common/scoped_fd.h: New.
13031         * unittests/scoped_fd-selftest.c: New.
13032         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
13033         unittests/scoped_fd-selftest.c.
13034
13035 2018-02-09  Tom Tromey  <tom@tromey.com>
13036
13037         * auto-load.c (auto_load_section_scripts): Use
13038         gdb::unique_xmalloc_ptr.
13039
13040 2018-02-09  Tom Tromey  <tom@tromey.com>
13041
13042         * auto-load.c (execute_script_contents): Use std::string.
13043
13044 2018-02-09  Joel Brobecker  <brobecker@adacore.com>
13045
13046         * NEWS <Changes in GDB 8.1>: Clarify that "rbreak" is a new
13047         Python function, rather than a new command.
13048
13049 2018-02-08  Tom Tromey  <tom@tromey.com>
13050
13051         * solib.c (solib_find_1): Use std::string.
13052         (solib_bfd_fopen): Use unique_xmalloc_ptr.
13053
13054 2018-02-08  Tom Tromey  <tom@tromey.com>
13055
13056         * build-id.c (build_id_to_debug_bfd): Use unique_xmalloc_ptr.
13057
13058 2018-02-08  Tom Tromey  <tom@tromey.com>
13059
13060         * source.c (find_source_lines): Use gdb::def_vector.
13061
13062 2018-02-08  Tom Tromey  <tom@tromey.com>
13063
13064         * macrocmd.c (struct temporary_macro_definition): New.
13065         (macro_define_command): Use temporary_macro_definition.  Remove
13066         cleanups.
13067         (free_macro_definition_ptr): Remove.
13068
13069 2018-02-08  Tom Tromey  <tom@tromey.com>
13070
13071         * macroexp.c (maybe_expand): Use std::string.
13072
13073 2018-02-08  Tom Tromey  <tom@tromey.com>
13074
13075         * macroexp.c (struct macro_buffer): Add initializers for some
13076         members.
13077         (init_buffer, init_shared_buffer, free_buffer)
13078         (free_buffer_return_text): Remove.
13079         (macro_buffer): New constructors.
13080         (~macro_buffer): New destructor.
13081         (macro_buffer::set_shared): New method.
13082         (macro_buffer::resize_buffer, macro_buffer::appendc)
13083         (macro_buffer::appendmem): Now methods, not free functions.
13084         (set_token, append_tokens_without_splicing, stringify)
13085         (macro_stringify): Update.
13086         (gather_arguments): Change return type.  Remove argc_p argument,
13087         add args_ptr argument.  Use std::vector.
13088         (substitute_args): Remove argc argument.  Accept std::vector.
13089         (expand): Update.  Use std::vector.
13090         (scan, macro_expand, macro_expand_next): Update.
13091
13092 2018-02-08  Tom Tromey  <tom@tromey.com>
13093
13094         * symtab.c (default_collect_symbol_completion_matches_break_on):
13095         Use unique_xmalloc_ptr.
13096         * macroscope.h: (sal_macro_scope, user_macro_scope)
13097         (default_macro_scope): Return unique_xmalloc_ptr.
13098         * macroscope.c (sal_macro_scope, user_macro_scope)
13099         (default_macro_scope): Return unique_xmalloc_ptr.
13100         * macroexp.h (macro_expand, macro_expand_once): Return
13101         unique_xmalloc_ptr.
13102         * macroexp.c (macro_expand, macro_expand_once): Return
13103         unique_xmalloc_ptr.
13104         * macrocmd.c (macro_expand_command, macro_expand_once_command)
13105         (info_macro_command, info_macros_command): Use
13106         unique_xmalloc_ptr.
13107         * compile/compile-c-support.c (write_macro_definitions): Use
13108         unique_xmalloc_ptr.
13109         * c-exp.y (c_parse): Use unique_xmalloc_ptr.
13110
13111 2018-02-07  Simon Marchi  <simon.marchi@ericsson.com>
13112
13113         * value.c (value_static_field): Assign field type instead of
13114         containing type when returning an optimized out value.
13115
13116 2018-02-06  Yao Qi  <yao.qi@linaro.org>
13117
13118         * ft32-tdep.c (ft32_read_pc): Remove.
13119         (ft32_write_pc): Remove.
13120         (ft32_gdbarch_init): Update.
13121         * m32r-tdep.c (m32r_read_pc): Remove.
13122         (m32r_gdbarch_init): Update.
13123         * mep-tdep.c (mep_read_pc): Remove.
13124         (mep_gdbarch_init): Update.
13125         * microblaze-tdep.c (microblaze_write_pc): Remove.
13126         (microblaze_gdbarch_init): Update.
13127         * mn10300-tdep.c (mn10300_read_pc): Remove.
13128         (mn10300_write_pc): Remove.
13129         (mn10300_gdbarch_init): Update.
13130         * moxie-tdep.c (moxie_read_pc): Remove.
13131         (moxie_write_pc): Remove.
13132         (moxie_gdbarch_init): Update.
13133
13134 2018-02-06  Yao Qi  <yao.qi@linaro.org>
13135
13136         * expprint.c (print_subexp_standard): Handle
13137         OP_F77_UNDETERMINED_ARGLIST.
13138         (dump_subexp_body_standard): Likewise.
13139
13140 2018-02-05  Alan Hayward  <alan.hayward@arm.com>
13141
13142         * target-descriptions.c (tdesc_element_visitor) Add empty
13143         implementations.
13144         (tdesc_type): Move make_gdb_type from here.
13145         (tdesc_type_builtin): Likewise.
13146         (tdesc_type_vector): Likewise.
13147         (tdesc_type_with_fields): Move make_gdb_type_ functions from here.
13148         (make_gdb_type_struct): Move from tdesc_type_with_fields.
13149         (make_gdb_type_union): Likewise.
13150         (make_gdb_type_flags): Likewise.
13151         (make_gdb_type_enum): Likewise.
13152         (make_gdb_type): New function.
13153         (tdesc_register_type): Use static make_gdb_type.
13154
13155 2018-02-05  Ruslan Kabatsayev <b7.10110111@gmail.com>
13156
13157         * infcmd.c (default_print_one_register_info): Align natural-format
13158         column values consistently one under another.
13159         (pad_to_column): New function.
13160
13161 2018-02-05  Joel Brobecker  <brobecker@adacore.com>
13162
13163         * dwarf2read.c (dwarf2_physname): Move commment.
13164
13165 2018-02-01  Leszek Swirski  <leszeks@google.com>
13166
13167         * varobj.c (varobj_formatted_print_options): Allow recursive
13168         pretty printing if pretty printing is enabled.
13169
13170 2018-02-01  Leszek Swirski  <leszeks@google.com>
13171
13172         * c-exp.y (lex_one_token, classify_name, yylex): Don't classify
13173         names after a structop as a filename.
13174
13175 2018-02-01  Yao Qi  <yao.qi@linaro.org>
13176
13177         * arm-tdep.c (arm_record_data_proc_misc_ld_str): Rewrite it.
13178         (arm_record_coproc_data_proc): Likewise.
13179
13180 2018-02-01  Yao Qi  <yao.qi@linaro.org>
13181
13182         * arm-tdep.c (arm_record_extension_space): Change ret to signed.
13183
13184 2018-01-31  Nikola Prica  <nikola.prica@rt-rk.com>
13185
13186         * rs6000-tdep.c (skip_prologue): Remove shifting for lr_reg and
13187         assign shifted lr_reg to fdata->lr_register when lr_reg is set.
13188
13189 2018-01-31  Pedro Alves  <palves@redhat.com>
13190
13191         * darwin-nat.c (darwin_interrupt): Remove ptid_t parameter.
13192         * inflow.c (child_terminal_save_inferior): Wrap reference to
13193         tcgetpgrp in HAVE_TERMIOS_H.
13194         (child_interrupt, child_pass_ctrlc): Wrap references to signal in
13195         _WIN32.
13196         * remote-sim.c (gdbsim_interrupt): Remove ptid_t parameter and
13197         always iterate over all inferiors.
13198         (gdbsim_cntrl_c): Adjust.
13199         * windows-nat.c (windows_interrupt): Remove 'ptid_t' parameter.
13200
13201 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
13202
13203         * gdbtypes.c (lookup_array_range_type): Make sure the array's
13204         index type is objfile-owned if the element type is as well.
13205
13206 2018-01-31  Joel Brobecker  <brobecker@adacore.com>
13207
13208         GDB 8.1 released.
13209
13210 2018-01-30  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13211
13212         * s390-linux-tdep.c: Remove includes "features/s390-linux32.c" and
13213         "features/s390x-linux64.c".
13214         (_initialize_s390_linux_tdep): Remove initialization of tdescs
13215         s390_linux32 and s390x_linux64.
13216         (s390_linux_init_abi_31, s390_linux_init_abi_64): Don't set
13217         default tdesc.
13218         * s390-tdep.c: Include "features/s390-linux32.c" and
13219         "features/s390x-linux64.c".
13220         (s390_tdesc_valid): Add check for tdesc_has_registers.
13221         (s390_gdbarch_init): Make sure there is always a valid tdesc.
13222         (_initialize_s390_tdep): Initialize tdesc_s390_linux32 and
13223         tdesc_s390x_linux64.
13224         * s390-linux-tdep.h: Move export of tdesc_s390_linux32 and
13225         tdesc_s390x_linux64 to...
13226         * s390-tdep.h: ...here.
13227
13228 2018-01-30  Pedro Alves  <palves@redhat.com>
13229
13230         PR gdb/13211
13231         * config.in, configure: Regenerate.
13232         * configure.ac: Check for getpgid.
13233         * go32-nat.c (go32_pass_ctrlc): New.
13234         (go32_target): Install it.
13235         * inf-child.c (inf_child_target): Install
13236         child_terminal_save_inferior, child_pass_ctrlc and
13237         child_interrupt.
13238         * inf-ptrace.c (inf_ptrace_interrupt): Delete.
13239         (inf_ptrace_target): No longer install it.
13240         * infcmd.c (interrupt_target_1): Adjust.
13241         * inferior.h (child_terminal_save_inferior, child_pass_ctrlc)
13242         (child_interrupt): Declare.
13243         (inferior::terminal_state): New.
13244         * inflow.c (struct terminal_info): Update comments.
13245         (inferior_process_group): Delete.
13246         (terminal_is_ours): Delete.
13247         (gdb_tty_state): New.
13248         (child_terminal_init): Adjust.
13249         (is_gdb_terminal, sharing_input_terminal_1)
13250         (sharing_input_terminal): New functions.
13251         (child_terminal_inferior): Adjust.  Use sharing_input_terminal.
13252         Set the process's actual process group in the foreground if
13253         possible.  Handle is_ours_for_output/is_ours distinction.  Don't
13254         mark terminal as the inferior's if not sharing GDB's terminal.
13255         Don't check attach_flag.
13256         (child_terminal_ours_for_output, child_terminal_ours): Adjust to
13257         pass down a target_terminal_state.
13258         (child_terminal_save_inferior): New, factored out from ...
13259         (child_terminal_ours_1): ... this.  Handle
13260         target_terminal_state::is_ours_for_output.
13261         (child_interrupt, child_pass_ctrlc): New.
13262         (inflow_inferior_exit): Clear the inferior's terminal_state.
13263         (copy_terminal_info): Copy the inferior's terminal state.
13264         (_initialize_inflow): Remove reference to terminal_is_ours.
13265         * inflow.h (inferior_process_group): Delete.
13266         * nto-procfs.c (nto_handle_sigint, procfs_interrupt): Adjust.
13267         * procfs.c (procfs_target): Don't install procfs_interrupt.
13268         (procfs_interrupt): Delete.
13269         * remote.c (remote_serial_quit_handler): Adjust.
13270         (remote_interrupt): Remove ptid parameter.  Adjust.
13271         * target-delegates.c: Regenerate.
13272         * target.c: Include "terminal.h".
13273         (target_terminal::terminal_state): Rename to ...
13274         (target_terminal::m_terminal_state): ... this.
13275         (target_terminal::init): Adjust.
13276         (target_terminal::inferior): Adjust to per-inferior
13277         terminal_state.
13278         (target_terminal::restore_inferior, target_terminal_is_ours_kind): New.
13279         (target_terminal::ours, target_terminal::ours_for_output): Use
13280         target_terminal_is_ours_kind.
13281         (target_interrupt): Remove ptid parameter.  Adjust.
13282         (default_target_pass_ctrlc): Adjust.
13283         * target.h (target_ops::to_terminal_save_inferior): New field.
13284         (target_ops::to_interrupt): Remove ptid_t parameter.
13285         (target_interrupt): Remove ptid_t parameter.  Update comment.
13286         (target_pass_ctrlc): Update comment.
13287         * target/target.h (target_terminal_state): New scoped enum,
13288         factored out of ...
13289         (target_terminal::terminal_state): ... here.
13290         (target_terminal::inferior): Update comments.
13291         (target_terminal::restore_inferior): New.
13292         (target_terminal::is_inferior, target_terminal::is_ours)
13293         (target_terminal::is_ours_for_output): Adjust.
13294         (target_terminal::scoped_restore_terminal_state): Adjust to
13295         rename, and call restore_inferior() instead of inferior().
13296         (target_terminal::scoped_restore_terminal_state::m_state): Change
13297         type.
13298         (target_terminal::terminal_state): Rename to ...
13299         (target_terminal::m_terminal_state): ... this and change type.
13300
13301 2018-01-30  Pedro Alves  <palves@redhat.com>
13302
13303         * linux-nat.c (wait_for_signal): New function.
13304         (wait_lwp, linux_nat_wait_1): Use it instead of calling sigsuspend
13305         directly.
13306         (async_terminal_is_ours)
13307         (linux_nat_terminal_inferior, linux_nat_terminal_ours): Delete.
13308         (linux_nat_add_target): Don't override
13309         to_terminal_inferior/to_terminal_ours.
13310
13311 2018-01-29  Sergio Durigan Junior  <sergiodj@redhat.com>
13312
13313         * remote.c (remote_follow_fork): Don't call "detach_inferior".
13314
13315 2018-01-28  Simon Marchi  <simon.marchi@ericsson.com>
13316
13317         * dwarf2read.c (free_dwo_files): Add forward-declaration.
13318         (dwarf2_per_objfile::~dwarf2_per_objfile): Move content from
13319         dwarf2_per_objfile_free here.
13320         (dwarf2_per_objfile_free): Remove.
13321         (_initialize_dwarf2_read): Don't register
13322         dwarf2_per_objfile_free as a registry cleanup.
13323
13324 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
13325
13326         Avoid compilation errors in MinGW native builds
13327
13328         The error is triggered by including python-internal.h, and the
13329         error message is:
13330
13331              In file included from d:\usr\lib\gcc\mingw32\6.3.0\include\c++\math.h:36:0,
13332                       from build-gnulib/import/math.h:27,
13333                       from d:/usr/Python26/include/pyport.h:235,
13334                       from d:/usr/Python26/include/Python.h:58,
13335                       from python/python-internal.h:94,
13336                       from python/py-arch.c:24:
13337              d:\usr\lib\gcc\mingw32\6.3.0\include\c++\cmath:1157:11: error: '::hypot' has not been declared
13338         using ::hypot;
13339                 ^~~~~
13340
13341         This happens because Python headers define 'hypot' to expand t
13342         '_hypot' in the Windows builds.
13343         * python/python-internal.h (_hypot) [__MINGW32__]: Define back to
13344         'hypoth'.  This avoids a compilation error.
13345
13346 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
13347
13348         * MAINTAINERS (Write After Approval): Fix ordering.
13349
13350 2018-01-26  Alan Hayward  <alan.hayward@arm.com>
13351
13352         * MAINTAINERS (Write After Approval): Add Alan Hayward.
13353
13354 2018-01-26  Alan Modra  <amodra@gmail.com>
13355
13356         * ppc-linux-tdep.c (powerpc32_plt_stub): Make const.
13357         (powerpc32_plt_stub_so_1): Rename from powerpc32_plt_stub_so.
13358         Remove nop.  Make const.  Comment.
13359         (powerpc32_plt_stub_so_2): New.
13360         (POWERPC32_PLT_CHECK_LEN): Rename from POWERPC32_PLT_STUB_LEN.
13361         Correct count.  Update uses.
13362         (ppc_skip_trampoline_code): Match powerpc32_plt_stub_so_2 too.
13363         Move common code reading PLT entry word.  Correct
13364         powerpc32_plt_stub PLT address calculation.
13365         * ppc64-tdep.c (ppc64_standard_linkage1): Make const.
13366         (ppc64_standard_linkage2, ppc64_standard_linkage3): Likewise.
13367         (ppc64_standard_linkage4, ppc64_standard_linkage5): Likewise.
13368         (ppc64_standard_linkage6, ppc64_standard_linkage7): Likewise.
13369         (ppc64_standard_linkage8): Likewise.
13370         * rs6000-tdep.c (ppc_insns_match_pattern): Make pattern const.
13371         Correct insns description.
13372         * ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
13373
13374 2018-01-24  Pedro Alves  <palves@redhat.com>
13375
13376         GCC PR libstdc++/83906
13377         * gdbtypes.c (operator==(const dynamic_prop &,
13378         const dynamic_prop &)): New.
13379         (operator==(const range_bounds &, const range_bounds &)): New.
13380         (check_types_equal): Use them instead of memcmp.
13381         * gdbtypes.h (operator==(const dynamic_prop &,
13382         const dynamic_prop &)): Declare.
13383         (operator!=(const dynamic_prop &, const dynamic_prop &)): Declare.
13384         (operator==(const range_bounds &, const range_bounds &)): Declare.
13385         (operator!=(const range_bounds &, const range_bounds &)): Declare.
13386
13387 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13388
13389         * s390-linux-tdep.c (s390_record_address_mask)
13390         (s390_record_calc_disp_common, s390_record_calc_disp)
13391         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
13392         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
13393         (s390_process_record): Move to s390-tdep.c.
13394         (s390_linux_init_abi_any): Adjust.
13395         * s390-tdep.c (s390_record_address_mask)
13396         (s390_record_calc_disp_common, s390_record_calc_disp)
13397         (s390_record_calc_disp_vsce, s390_record_calc_rl, s390_popcnt)
13398         (s390_record_gpr_g, s390_record_gpr_h, s390_record_vr)
13399         (s390_process_record): Moved from s390-linux-tdep.c
13400         (s390_gdbarch_init): Adjust.
13401
13402 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13403
13404         * s390-linux-nat.c (s390-tdep.h): New include.
13405         * Makefile.in (ALL_TARGET_OBS): Add s390-tdep.o.
13406         (HFILES_NO_SRCDIR): Add s390-tdep.h.
13407         (ALLDEPFILES): Add s390-tdep.c.
13408         * configure.tgt (s390*-*-linux*): Add s390-tdep.o.
13409         * s390-linux-tdep.h (HWCAP_S390_*, S390_*_REGNUM): Move to...
13410         * s390-tdep.h: ...this.  New file.
13411         * s390-linux-tdep.c (s390-tdep.h): New include.
13412         (_initialize_s390_tdep): Rename to...
13413         (_initialize_s390_linux_tdep): ...this and adjust.
13414         (s390_abi_kind, s390_vector_abi_kind, gdbarch_tdep)
13415         (enum named opcodes, S390_NUM_GPRS, S390_NUM_FPRS): Move to
13416         s390-tdep.h.
13417         (s390_break_insn, s390_breakpoint, s390_readinstruction, is_ri)
13418         (is_ril, is_rr, is_rre, is_rs, is_rsy, is_rx, is_rxy)
13419         (s390_is_partial_instruction, s390_software_single_step)
13420         (is_non_branch_ril, s390_displaced_step_copy_insn)
13421         (s390_displaced_step_fixup, s390_displaced_step_hw_singlestep)
13422         (s390_prologue_data, s390_addr, s390_store, s390_load)
13423         (s390_check_for_saved, s390_analyze_prologue, s390_skip_prologue)
13424         (s390_register_call_saved, s390_guess_tracepoint_registers)
13425         (s390_register_name, s390_dwarf_regmap, s390_dwarf_reg_to_regnum)
13426         (regnum_is_gpr_full, regnum_is_vxr_full, s390_value_from_register)
13427         (s390_pseudo_register_name, s390_pseudo_register_type)
13428         (s390_pseudo_register_read, s390_pseudo_register_write)
13429         (s390_pseudo_register_reggroup_p, s390_ax_pseudo_register_collect)
13430         (s390_ax_pseudo_register_push_stack, s390_gen_return_address)
13431         (s390_addr_bits_remove, s390_address_class_type_flags)
13432         (s390_address_class_type_flags_to_name)
13433         (s390_address_class_name_to_type_flags, s390_effective_inner_type)
13434         (s390_function_arg_float, s390_function_arg_vector)
13435         (is_power_of_two, s390_function_arg_integer, s390_arg_state)
13436         (s390_handle_arg, s390_push_dummy_call, s390_dummy_id)
13437         (s390_frame_align, s390_register_return_value, s390_return_value)
13438         (s390_stack_frame_destroyed_p, s390_unwind_pc, s390_unwind_sp)
13439         (s390_unwind_pseudo_register, s390_adjust_frame_regnum)
13440         (s390_dwarf2_prev_register, s390_dwarf2_frame_init_reg)
13441         (s390_trad_frame_prev_register, s390_unwind_cache)
13442         (s390_prologue_frame_unwind_cache)
13443         (s390_backchain_frame_unwind_cache, s390_frame_unwind_cache)
13444         (s390_frame_this_id, s390_frame_prev_register, s390_frame_unwind)
13445         (s390_stub_unwind_cache, s390_stub_frame_unwind_cache)
13446         (s390_stub_frame_this_id, s390_stub_frame_prev_register)
13447         (s390_stub_frame_sniffer, s390_stub_frame_unwind)
13448         (s390_frame_base_address, s390_local_base_address)
13449         (s390_frame_base, s390_gcc_target_options)
13450         (s390_gnu_triplet_regexp, s390_stap_is_single_operand)
13451         (s390_validate_reg_range, s390_tdesc_valid)
13452         (s390_gdbarch_tdep_alloc, s390_gdbarch_init): Move to...
13453         * s390-tdep.c: ...this.  New file.
13454
13455 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13456
13457         * s390-linux-tdep.c (gdbarch_tdep.s390_syscall_record): New hook.
13458         (s390_process_record, s390_gdbarch_tdep_alloc)
13459         (s390_linux_init_abi_any): Use/set new hook.
13460
13461 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13462
13463         * s390-linux-tdep.c (osabi.h): New include.
13464         (s390_linux_init_abi_31, s390_linux_init_abi_64)
13465         (s390_linux_init_abi_any): New functions.
13466         (s390_gdbarch_init, _initialize_s390_tdep): Adjust.
13467
13468 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13469
13470         * s390-linux-tdep.c (s390_gdbarch_init): Use gdb_assert for
13471         tdesc_has_registers check
13472
13473 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13474
13475         * s390-linux-tdep.c (s390_tdesc_valid): New function.
13476         (s390_validate_reg_range): New macro.
13477         (s390_gdbarch_init): Adjust.
13478
13479 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13480
13481         * s390-linux-tdep.c (gdbarch_tdep) <tdesc>: New field.
13482         (s390_gdbarch_tdep_alloc): Adjust.
13483         (s390_gdbarch_init): Adjust.
13484
13485 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13486
13487         * s390-linux-tdep.c (gdbarch_tdep) <have_linux_v1, have_linux_v2>
13488         <have_tdb>: Change type to bool.
13489         (s390_gdbarch_tdep_alloc): Adjust.
13490         (s390_gdbarch_init): Adjust.
13491
13492 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13493
13494         * s390-linux-tdep (s390_abi_kind) <ABI_NONE>: New default field.
13495         (gdbarch_tdep) <have_upper, have_vx>: New fields.
13496         (s390_gdbarch_tdep_alloc): New function.
13497         (s390_gdbarch_init): Allocate tdep at start and use its fields
13498         instead of separate variables.
13499
13500 2018-01-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
13501
13502         * s390-linux-tdep.c (s390_gdbarch_init): Remove duplicate checks
13503         when looking for cached gdbarch and add comment for remaining.
13504
13505 2018-01-22  Pedro Alves  <palves@redhat.com>
13506             Sergio Durigan Junior  <sergiodj@redhat.com>
13507
13508         * typeprint.c (whatis_exp): Initialize "val" in the "whatis type"
13509         case.
13510
13511 2018-01-22  Maciej W. Rozycki  <macro@mips.com>
13512
13513         * MAINTAINERS: Update my company e-mail address.
13514
13515 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13516
13517         * regcache.c (cooked_write_test): New function.
13518         (_initialize_regcache): Register the test.
13519
13520 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13521
13522         * ia64-tdep.c (ia64_pseudo_register_read): Call
13523         regcache->cooked_read instead of regcache_cooked_read_unsigned.
13524         * m32c-tdep.c (m32c_cat_read): Likewise.
13525         (m32c_r3r2r1r0_read): Likewise.
13526         * m68hc11-tdep.c (m68hc11_pseudo_register_read): Likewise.
13527         * xtensa-tdep.c (xtensa_register_read_masked): Likewise.
13528
13529 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13530
13531         * aarch64-tdep.c (aarch64_pseudo_read_value): Call regcache
13532         method raw_read instead of regcache_raw_read.
13533         * amd64-tdep.c (amd64_pseudo_register_read_value): Likewise.
13534         * arm-tdep.c (arm_neon_quad_read): Likewise.
13535         * avr-tdep.c (avr_pseudo_register_read): Likewise.
13536         * bfin-tdep.c (bfin_pseudo_register_read): Likewise.
13537         * frv-tdep.c (frv_pseudo_register_read): Likewise.
13538         * h8300-tdep.c (h8300_pseudo_register_read): Likewise.
13539         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
13540         (i386_pseudo_register_read_into_value): Likewise.
13541         * mep-tdep.c (mep_pseudo_cr32_read): Likewise.
13542         * msp430-tdep.c (msp430_pseudo_register_read): Likewise.
13543         * nds32-tdep.c (nds32_pseudo_register_read): Likewise.
13544         * rl78-tdep.c (rl78_pseudo_register_read): Likewise.
13545         * s390-linux-tdep.c (s390_pseudo_register_read): Likewise.
13546         * sparc-tdep.c (sparc32_pseudo_register_read):  Likewise.
13547         * sparc64-tdep.c (sparc64_pseudo_register_read): Likewise.
13548         * spu-tdep.c (spu_pseudo_register_read_spu):  Likewise.
13549         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
13550
13551 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13552
13553         * Makefile.in (ALL_TARGET_OBS): Remove mt-tdep.o.
13554         * configure.tgt: Remove target mt.
13555         * mt-tdep.c: Remove.
13556         * regcache.c (cooked_read_test): Remove the check for mt.
13557
13558 2018-01-22  Yao Qi  <yao.qi@linaro.org>
13559
13560         * jit.c (jit_frame_prev_register): Call regcache::cooked_read
13561         instead of gdbarch_pseudo_register_read_value.
13562
13563 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13564
13565         * dwarf2read.c (need_gnat_info): Return nonzero if the cu's
13566         language is Ada.
13567
13568 2018-01-22  Joel Brobecker  <brobecker@adacore.com>
13569
13570         * linespec.c (create_sals_line_offset): Remove code that preserved
13571         the symtab_and_line's line number.
13572
13573 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13574
13575         * varobj.c (varobj_create): Don't set valid_block when creating a
13576         floating varobj.
13577
13578 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13579
13580         * varobj.c (varobj_create): Remove out of date comment.
13581
13582 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13583
13584         PR mi/20395
13585         * ada-exp.y (write_var_from_sym): Pass extra parameter when
13586         updating innermost block.
13587         * parse.c (innermost_block_tracker::update): Take extra type
13588         parameter, and check types match before updating innermost block.
13589         (write_dollar_variable): Update innermost block for registers.
13590         * parser-defs.h (enum innermost_block_tracker_type): New enum.
13591         (innermost_block_tracker::innermost_block_tracker): Initialise
13592         m_types member.
13593         (innermost_block_tracker::reset): Take type parameter.
13594         (innermost_block_tracker::update): Take type parameter, and pass
13595         type through as needed.
13596         (innermost_block_tracker::m_types): New member.
13597         * varobj.c (varobj_create): Pass type when reseting innermost
13598         block.
13599
13600 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13601
13602         * ada-exp.y (write_var_from_sym): Switch to innermost_block API.
13603         * ada-lang.c (resolve_subexp): Likewise.
13604         * breakpoint.c (set_breakpoint_condition) Likewise.
13605         (watch_command_1) Likewise.
13606         * c-exp.y (variable): Likewise.
13607         * d-exp.y (PrimaryExpression): Likewise.
13608         * f-exp.y (variable): Likewise.
13609         * go-exp.y (variable): Likewise.
13610         * m2-exp.y (variable): Likewise.
13611         * objfiles.c (objfile::~objfile): Likewise.
13612         * p-exp.y (variable): Likewise.
13613         * parse.c (innermost_block): Change type.
13614         * parser-defs.h (class innermost_block_tracker): New.
13615         (innermost_block): Change to innermost_block_tracker.
13616         * printcmd.c (display_command): Switch to innermost_block API.
13617         (do_one_display): Likewise.
13618         * rust-exp.y (do_one_display): Likewise.
13619         * symfile.c (clear_symtab_users): Likewise.
13620         * varobj.c (varobj_create): Switch to innermost_block API, replace
13621         use of innermost_block with block stored on varobj object.
13622
13623 2018-01-21  Andrew Burgess  <andrew.burgess@embecosm.com>
13624
13625         * expression.h (innermost_block): Remove declaration.
13626         * varobj.c: Add 'parser-defs.h' include.
13627
13628 2018-01-19  Tom Tromey  <tom@tromey.com>
13629
13630         * rust-lang.c (rust_lookup_symbol_nonlocal): Look up qualified
13631         symbols in the static and global blocks.
13632
13633 2018-01-19  James Clarke  <jrtc27@jrtc27.com>
13634
13635         * nat/linux-ptrace.c: Remove unnecessary reinclusion of
13636         gdb_ptrace.h, and move including gdb_wait.h ...
13637         * nat/linux-ptrace.h: ... to here.
13638
13639 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13640
13641         * inf-ptrace.c (inf_ptrace_detach): Adjust call to
13642         inf_ptrace_detach_success.
13643         (inf_ptrace_detach_success): Add inferior parameter, use it
13644         instead of inferior_ptid, pass it to detach_inferior.
13645         * inf-ptrace.h (inf_ptrace_detach_success): Add inferior
13646         parameter.
13647         * inferior.c (detach_inferior): Add overload that takes an
13648         inferior object.
13649         * inferior.h (detach_inferior): Likewise.
13650         * linux-nat.c (linux_nat_detach): Use the inf parameter, don't
13651         use inferior_ptid, adjust call to inf_ptrace_detach_success.
13652         * linux-thread-db.c (thread_db_detach): Use inf parameter.
13653
13654 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13655
13656         * target.h (struct target_ops) <to_detach>: Add inferior
13657         parameter.
13658         (target_detach): Likewise.
13659         * target.c (dispose_inferior): Pass inferior down.
13660         (target_detach): Pass inferior down.  Assert that it is equal to
13661         the current inferior.
13662         * aix-thread.c (aix_thread_detach): Pass inferior down.
13663         * corefile.c (core_file_command): Pass current_inferior() down.
13664         * corelow.c (core_detach): Add inferior parameter.
13665         * darwin-nat.c (darwin_detach): Likewise.
13666         * gnu-nat.c (gnu_detach): Likewise.
13667         * inf-ptrace.c (inf_ptrace_detach): Likewise.
13668         * infcmd.c (detach_command): Pass current_inferior() down to
13669         target_detach.
13670         * infrun.c (follow_fork_inferior): Pass parent_inf to
13671         target_detach.
13672         (handle_vfork_child_exec_or_exit): Pass inf->vfork_parent to
13673         target_detach.
13674         * linux-nat.c (linux_nat_detach): Add inferior parameter.
13675         * linux-thread-db.c (thread_db_detach): Likewise.
13676         * nto-procfs.c (procfs_detach): Likewise.
13677         * procfs.c (procfs_detach): Likewise.
13678         * record.c (record_detach): Likewise.
13679         * record.h (struct inferior): Forward-declare.
13680         (record_detach): Add inferior parameter.
13681         * remote-sim.c (gdbsim_detach): Likewise.
13682         * remote.c (remote_detach_1): Likewise.
13683         (remote_detach): Likewise.
13684         (extended_remote_detach): Likewise.
13685         * sol-thread.c (sol_thread_detach): Likewise.
13686         * target-debug.h (target_debug_print_inferior_p): New macro.
13687         * target-delegates.c: Re-generate.
13688         * top.c (kill_or_detach): Pass inferior down to target_detach.
13689         * windows-nat.c (windows_detach): Add inferior parameter.
13690
13691 2018-01-19  Simon Marchi  <simon.marchi@ericsson.com>
13692
13693         * target.h (struct target_ops) <to_detach>: Remove args
13694         parameter.
13695         (target_detach): Likewise.
13696         * target.c (dispose_inferior): Adjust.
13697         (target_detach): Remove args parameter, adjust.
13698         * aix-thread.c (aix_thread_detach): Adjust.
13699         * corefile.c (core_file_command): Adjust.
13700         * corelow.c (core_detach): Adjust.
13701         * darwin-nat.c (darwin_detach): Adjust.
13702         * gnu-nat.c (gnu_detach): Adjust.
13703         * inf-ptrace.c (inf_ptrace_detach): Adjust.
13704         * infcmd.c (detach_command): Adjust
13705         * infrun.c (follow_fork_inferior): Adjust.
13706         (handle_vfork_child_exec_or_exit): Adjust.
13707         * linux-fork.c (linux_fork_detach): Remove args parameter.
13708         * linux-fork.h (linux_fork_detach): Likewise.
13709         * linux-nat.c (linux_nat_detach): Likewise, and adjust.
13710         * linux-thread-db.c (thread_db_detach): Likewise.
13711         * nto-procfs.c (procfs_detach): Likewise.
13712         * procfs.c (procfs_detach): Likewise.
13713         (do_detach): Remove signo parameter.
13714         * record.c (record_detach): Remove args parameter.
13715         * record.h (record_detach): Likewise.
13716         * remote-sim.c (gdbsim_detach): Likewise.
13717         * remote.c (remote_detach_1): Likewise.
13718         (remote_detach): Likewise.
13719         (extended_remote_detach): Likewise.
13720         * sol-thread.c (sol_thread_detach): Likewise.
13721         * target-delegates.c: Re-generate.
13722         * top.c (struct qt_args) <args>: Remove field.
13723         (kill_or_detach): Don't pass args.
13724         (quit_force): Don't set args.
13725         * windows-nat.c (windows_detach): Remove args parameter.
13726
13727 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13728
13729         * arm-linux-tdep.c (arm_linux_gcc_target_options): New function.
13730         (arm_linux_init_abi): Install it.
13731
13732 2018-01-19  Yao Qi  <yao.qi@linaro.org>
13733
13734         * osabi.c (gdb_osabi_names): Extend the regexp for
13735         arm-linux-gnueabihf.
13736
13737 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13738
13739         * dwarf2read.c (abbrev_table) <abbrevs>: Rename it to
13740         m_abbrevs.
13741         (abbrev_table::add_abbrev): Update.
13742         (abbrev_table::lookup_abbrev): Update.
13743
13744 2018-01-18  Yao Qi  <yao.qi@linaro.org>
13745
13746         * ppc-linux-tdep.c (ppu2spu_prev_register): Call cooked_read.
13747
13748 2018-01-17  Sergio Durigan Junior  <sergiodj@redhat.com>
13749
13750         * compile/compile.c (compile_to_object): Convert "triplet_rx"
13751         to "std::string".
13752
13753 2018-01-17  Tom Tromey  <tom@tromey.com>
13754
13755         * dwarf2read.c (symbolp): Remove typedef.  Don't instantiate VEC.
13756
13757 2018-01-17  Tom Tromey  <tom@tromey.com>
13758
13759         * gdbtypes.h (add_dyn_prop): Remove objfile parameter.
13760         * gdbtypes.c (add_dyn_prop): Remove objfile parameter.
13761         (create_array_type_with_stride): Update.
13762         * dwarf2read.c (set_die_type): Update.
13763
13764 2018-01-17  Tom Tromey  <tom@tromey.com>
13765
13766         * dwarf2read.c (delayed_method_info): Remove typedef.
13767         (dwarf2_cu::method_info): Now a std::vector.
13768         (add_to_method_list): Update.
13769         (free_delayed_list): Remove.
13770         (compute_delayed_physnames): Update.
13771         (process_full_comp_unit, process_full_type_unit): Clear the method
13772         list.  Remove cleanups.
13773         (psymtab_include_file_name): Add name_holder parameter.  Use
13774         unique_xmalloc_ptr.
13775         (dwarf_decode_lines): Update.
13776
13777 2018-01-17  Tom Tromey  <tom@tromey.com>
13778             Simon Marchi  <simon.marchi@ericsson.com>
13779
13780         * dwarf2read.c (struct dwarf2_cu): Add constructor, destructor.
13781         (dwarf2_per_objfile::free_cached_comp_units)
13782         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13783         (init_cutu_and_read_dies_no_follow): Update.
13784         (dwarf2_cu::dwarf2_cu): Rename from init_one_comp_unit.
13785         (dwarf2_cu::~dwarf2_cu): New.
13786         (free_heap_comp_unit, free_stack_comp_unit): Remove.
13787         (age_cached_comp_units, free_one_cached_comp_unit): Update.
13788
13789 2018-01-17  Tom Tromey  <tom@tromey.com>
13790             Simon Marchi  <simon.marchi@ericsson.com>
13791
13792         * dwarf2read.c (struct dwarf2_cu) <abbrev_table>: Remove.
13793         (struct die_reader_specs) <abbrev_table>: New member.
13794         (struct abbrev_table): Add constructor.
13795         <alloc_abbrev, add_abbrev, lookup_abbrev>: Declare.
13796         <abbrev_obstack>: Now an auto_obstack.
13797         (abbrev_table_up): New typedef.
13798         (init_cu_die_reader): Add abbrev_table parameter.
13799         (read_cutu_die_from_dwo): Remove abbrev_table_provided parameter.
13800         Add result_dwo_abbrev_table.
13801         (init_tu_and_read_dwo_dies, init_cutu_and_read_dies)
13802         (init_cutu_and_read_dies_no_follow, build_type_psymtabs_1):
13803         Update.
13804         (peek_die_abbrev): Take die_reader_specs, not dwarf_cu as
13805         parameter.
13806         (skip_children): Update.
13807         (abbrev_table::alloc_abbrev): Rename from
13808         abbrev_table_alloc_abbrev.
13809         (abbrev_table::add_abbrev): Rename from abbrev_table_add_abbrev.
13810         (abbrev_table::lookup_abbrev): Rename from
13811         abbrev_table_lookup_abbrev.
13812         (abbrev_table_read_table): Return abbrev_table_up.
13813         (abbrev_table_free, abbrev_table_free_cleanup)
13814         (dwarf2_read_abbrevs, dwarf2_free_abbrev_table): Remove.
13815         (load_partial_dies): Update.
13816
13817 2018-01-17  Tom Tromey  <tom@tromey.com>
13818
13819         * dwarf2read.c (dwarf2_compute_name): Update comment.
13820         (read_func_scope, read_variable): Update.
13821         (new_symbol): Remove.
13822         (new_symbol_full): Rename to new_symbol.
13823
13824 2018-01-17  Mike Gulick  <mgulick@mathworks.com>
13825
13826         PR gdb/16577
13827         * gdb_bfd.c (gdb_bfd_map_section): If unable to read object file, issue
13828         a warning instead of throwing an error, set section size to 0 and return
13829         NULL.
13830         * gdb_bfd.h (gdb_bfd_map_section): Update description.
13831
13832 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13833
13834         * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason): Return
13835         std::string.
13836         (linux_ptrace_attach_fail_reason_string): Likewise.
13837         * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason):
13838         Likewise.
13839         (linux_ptrace_attach_fail_reason_string): Likewise.
13840         * linux-nat.c (attach_proc_task_lwp_callback): Adjust.
13841
13842 2018-01-17  Simon Marchi  <simon.marchi@ericsson.com>
13843
13844         * linux-nat.c (linux_nat_attach): Remove xstrdup.
13845
13846 2018-01-17  Eldar Abusalimov  <eldar.abusalimov@jetbrains.com>
13847
13848         PR gdb/21559
13849         * configure.ac: Include <sys/types.h> prior to <sys/user.h> when
13850         checking for fs_base/gs_base fields in struct user_regs_struct.
13851         * configure: Regenerate.
13852
13853 2018-01-17  Yao Qi  <yao.qi@linaro.org>
13854
13855         * aarch64-linux-tdep.c (aarch64_linux_gcc_target_options): New
13856         function.
13857         (aarch64_linux_init_abi): Install it to gdbarch hook
13858         gcc_target_options.
13859
13860 2018-01-15  Pedro Alves  <palves@redhat.com>
13861
13862         * common/signals-state-save-restore.c
13863         (save_original_signals_state): Fix typos.
13864
13865 2017-01-12  Tom Tromey  <tom@tromey.com>
13866             Sergio Durigan Junior  <sergiodj@redhat.com>
13867
13868         * Makefile.in (install-only): Install gdb-add-index.
13869
13870 2018-01-12  John Baldwin  <jhb@FreeBSD.org>
13871
13872         * fbsd-tdep.c (KVE_PROTECTION): Correct value.
13873
13874 2018-01-12  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13875
13876         * infrun.c (keep_going_pass_signal): Clear step-over info when
13877         insert_breakpoints fails.
13878
13879 2018-01-11  Pedro Alves  <palves@redhat.com>
13880
13881         PR gdb/22583
13882         * infrun.c (resume): Rename to ...
13883         (resume_1): ... this.
13884         (resume): Reimplement as wrapper around resume_1.
13885
13886 2018-01-11  Pedro Alves  <palves@redhat.com>
13887
13888         PR remote/22597
13889         * remote.c (remote_parse_stop_reply): Default to the last-set
13890         general thread instead of to 'magic_null_ptid'.
13891
13892 2018-01-10  Pedro Alves  <palves@redhat.com>
13893
13894         * language.h (language_get_symbol_name_matcher): Rename ...
13895         (get_symbol_name_matcher): ... this.
13896         * language.c (language_get_symbol_name_matcher): Ditto.
13897         * dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
13898         callers adjusted.
13899
13900 2018-01-10  Pedro Alves  <palves@redhat.com>
13901
13902         PR gdb/22670
13903         * dwarf2read.c
13904         (gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
13905         Adjust to use language_get_symbol_name_matcher instead of
13906         language_defn::la_get_symbol_name_matcher.
13907         * language.c (language_get_symbol_name_matcher): If in Ada mode
13908         and the lookup name is a verbatim match, return Ada's matcher.
13909         * language.h (language_get_symbol_name_matcher): Adjust comment.
13910         (ada_lookup_name_info::verbatim_p):: New method.
13911
13912 2018-01-10  Pedro Alves  <palves@redhat.com>
13913
13914         PR gdb/22670
13915         * ada-lang.c (ada_collect_symbol_completion_matches): If the
13916         minsym's language is language_auto or language_cplus, pass down
13917         language_ada instead.
13918         * symtab.c (compare_symbol_name): Don't frob symbol language here.
13919
13920 2018-01-10  Pedro Alves  <palves@redhat.com>
13921
13922         PR gdb/22670
13923         * minsyms.c (linkage_name_str): New function.
13924         (iterate_over_minimal_symbols): Use it.
13925
13926 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13927
13928         * NEWS: Document that 'info proc' now works on FreeBSD.
13929
13930 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13931
13932         * configure.ac: Check for kinfo_getfile in libutil.
13933         * configure: Regenerate.
13934         * config.in: Regenerate.
13935         * fbsd-nat.c: Include "fbsd-tdep.h".
13936         (fbsd_fetch_cmdline): New.
13937         (fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
13938         rather than calling error.
13939         (fbsd_info_proc): New.
13940         (fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
13941         (fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
13942         (fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
13943
13944 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13945
13946         * fbsd-nat.c (struct free_deleter): Remove.
13947         (fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
13948
13949 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13950
13951         * fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
13952         NULL for an empty pathname.
13953
13954 2018-01-09  John Baldwin  <jhb@FreeBSD.org>
13955
13956         * fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
13957         (KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
13958         (KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
13959         (KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
13960         (KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
13961         (KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
13962         (KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
13963         (KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
13964         (kinfo_proc_layout_32, kinfo_proc_layout_i386)
13965         (kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
13966         (fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
13967         (fbsd_core_fetch_timeval, fbsd_print_sigset)
13968         (fbsd_core_info_proc_status, fbsd_core_info_proc): New.
13969         (fbsd_init_abi):  Install gdbarch "core_info_proc" method.
13970         * fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
13971
13972 2018-01-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
13973
13974         * gdb/gnu-nat.c: Include <elf.h> and <link.h>.
13975         (gnu_xfer_auxv): New function.
13976         (gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
13977         TARGET_OBJECT_AUXV.
13978
13979 2018-01-08  Yao Qi  <yao.qi@linaro.org>
13980             Simon Marchi  <simon.marchi@ericsson.com>
13981
13982         * Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
13983         common/selftest.c.
13984         (COMMON_OBS): Remove selftest.o.
13985         * configure.ac: Append selftest-arch.c and common/selftest.c to
13986         CONFIG_SRCS.  Append selftest-arch.o and selftest.o to COMMON_OBS.
13987         * configure: Re-generated.
13988         * maint.c (maintenance_selftest): Wrap selftests::run_tests with
13989         GDB_SELF_TEST.
13990         (maintenance_info_selftests): Likewise.
13991
13992 2018-01-08  Xavier Roirand  <roirand@adacore.com>
13993
13994         * ada-valprint.c (val_print_packed_array_elements): Use
13995         proper number of elements when printing an array indexed
13996         by an enumeration type.
13997
13998 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
13999
14000         * dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
14001         (dw2_get_file_names_reader): Adjust.
14002         (lookup_dwo_signatured_type): Adjust.
14003         (lookup_dwp_signatured_type): Adjust.
14004         (lookup_signatured_type): Adjust.
14005         (create_type_unit_group): Adjust.
14006         (get_type_unit_group): Adjust.
14007         (process_psymtab_comp_unit_reader): Adjust.
14008         (build_type_psymtabs_reader): Adjust.
14009         (scan_partial_symbols): Adjust.
14010         (add_partial_symbol): Adjust.
14011         (add_partial_subprogram): Adjust.
14012         (peek_die_abbrev): Adjust.
14013         (fixup_go_packaging): Adjust.
14014         (process_imported_unit_die): Adjust.
14015         (dwarf2_compute_name): Adjust.
14016         (dwarf2_physname): Adjust.
14017         (read_import_statement): Adjust.
14018         (handle_DW_AT_stmt_list): Adjust.
14019         (read_file_scope): Adjust.
14020         (read_func_scope): Adjust.
14021         (read_lexical_block_scope): Adjust.
14022         (read_call_site_scope): Adjust.
14023         (read_variable): Adjust.
14024         (dwarf2_rnglists_process): Adjust.
14025         (dwarf2_ranges_process): Adjust.
14026         (dwarf2_ranges_read): Adjust.
14027         (dwarf2_get_pc_bounds): Adjust.
14028         (dwarf2_record_block_ranges): Adjust.
14029         (dwarf2_add_field): Adjust.
14030         (dwarf2_add_member_fn): Adjust.
14031         (read_structure_type): Adjust.
14032         (process_structure_scope): Adjust.
14033         (read_enumeration_type): Adjust.
14034         (read_array_type): Adjust.
14035         (mark_common_block_symbol_computed): Adjust.
14036         (read_common_block): Adjust.
14037         (read_namespace_type): Adjust.
14038         (read_namespace): Adjust.
14039         (read_module_type): Adjust.
14040         (read_tag_pointer_type): Adjust.
14041         (read_tag_ptr_to_member_type): Adjust.
14042         (read_tag_string_type): Adjust.
14043         (read_subroutine_type): Adjust.
14044         (read_typedef): Adjust.
14045         (read_base_type): Adjust.
14046         (attr_to_dynamic_prop): Adjust.
14047         (read_subrange_type): Adjust.
14048         (read_unspecified_type): Adjust.
14049         (dwarf2_read_abbrevs): Adjust.
14050         (load_partial_dies): Adjust.
14051         (read_partial_die): Adjust.
14052         (find_partial_die): Adjust.
14053         (guess_partial_die_structure_name): Adjust.
14054         (fixup_partial_die): Adjust.
14055         (read_attribute_value): Adjust.
14056         (read_addr_index): Adjust.
14057         (read_addr_index_from_leb128): Adjust.
14058         (read_str_index): Adjust.
14059         (dwarf2_string_attr): Adjust.
14060         (get_debug_line_section): Adjust.
14061         (dwarf_decode_line_header): Adjust.
14062         (lnp_state_machine::check_line_address): Adjust.
14063         (dwarf_decode_lines_1): Adjust.
14064         (dwarf_decode_lines): Adjust.
14065         (dwarf2_start_symtab): Adjust.
14066         (var_decode_location): Adjust.
14067         (new_symbol_full): Adjust.
14068         (dwarf2_const_value_data): Adjust.
14069         (dwarf2_const_value_attr): Adjust.
14070         (dwarf2_const_value): Adjust.
14071         (die_type): Adjust.
14072         (die_containing_type): Adjust.
14073         (build_error_marker_type): Adjust.
14074         (lookup_die_type): Adjust.
14075         (guess_full_die_structure_name): Adjust.
14076         (anonymous_struct_prefix): Adjust.
14077         (determine_prefix): Adjust.
14078         (dwarf2_name): Adjust.
14079         (follow_die_ref_or_sig): Adjust.
14080         (follow_die_offset): Adjust.
14081         (follow_die_ref): Adjust.
14082         (follow_die_sig_1): Adjust.
14083         (follow_die_sig): Adjust.
14084         (get_signatured_type): Adjust.
14085         (get_DW_AT_signature_type): Adjust.
14086         (decode_locdesc): Adjust.
14087         (dwarf_decode_macros): Adjust.
14088         (cu_debug_loc_section): Adjust.
14089         (fill_in_loclist_baton): Adjust.
14090         (dwarf2_symbol_mark_computed): Adjust.
14091         (init_one_comp_unit): Don't assign
14092         dwarf2_cu::dwarf2_per_objfile.
14093         (set_die_type): Adjust.
14094
14095 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14096
14097         * dwarf2read.c (struct mapped_debug_names): Add constructor.
14098         <dwarf2_per_objfile>: New field.
14099         (dwarf2_per_objfile): Remove global.
14100         (get_dwarf2_per_objfile): New function.
14101         (set_dwarf2_per_objfile): New function.
14102         (dwarf2_build_psymtabs_hard): Change objfile parameter to
14103         dwarf2_per_objfile.
14104         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
14105         (read_abbrev_offset): Likewise.
14106         (read_indirect_string): Likewise.
14107         (read_indirect_line_string): Likewise.
14108         (read_indirect_string_at_offset): Likewise.
14109         (read_indirect_string_from_dwz): Likewise.
14110         (dwarf2_find_containing_comp_unit): Change objfile parameter to
14111         dwarf2_per_objfile.
14112         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
14113         (create_all_comp_units): Change objfile parameter to
14114         dwarf2_per_objfile.
14115         (create_all_type_units): Likewise.
14116         (process_queue): Add dwarf2_per_objfile parameter.
14117         (read_and_check_comp_unit_head): Likewise.
14118         (lookup_dwo_unit_in_dwp): Likewise.
14119         (get_dwp_file): Likewise.
14120         (process_cu_includes): Likewise.
14121         (struct free_dwo_file_cleanup_data): New struct.
14122         (dwarf2_has_info): Use get_dwarf2_per_objfile and
14123         set_dwarf2_per_objfile.
14124         (dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
14125         (dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
14126         context, adjust calls.
14127         (dw2_instantiate_symtab): Likewise.
14128         (dw2_get_cutu): Add dwarf2_per_objfile parameter.
14129         (dw2_get_cu): Likewise.
14130         (create_cu_from_index_list): Change objfile parameter to
14131         dwarf2_per_objfile.
14132         (create_cus_from_index_list): Get dwarf2_per_objfile from
14133         context, adjust calls.
14134         (create_cus_from_index): Likewise.
14135         (create_signatured_type_table_from_index): Change objfile
14136         parameter to dwarf2_per_objfile.
14137         (create_signatured_type_table_from_debug_names): Change objfile
14138         parameter to dwarf2_per_objfile.
14139         (create_addrmap_from_index): Likewise.
14140         (create_addrmap_from_aranges): Likewise.
14141         (dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
14142         (dw2_setup): Remove.
14143         (dw2_get_file_names_reader): Get dwarf2_per_objfile from
14144         context.
14145         (dw2_find_last_source_symtab): Get dwarf2_per_objfile using
14146         get_dwarf2_per_objfile.
14147         (dw2_forget_cached_source_info): Likewise.
14148         (dw2_map_symtabs_matching_filename): Likewise.
14149         (struct dw2_symtab_iterator) <index>: Remove.
14150         <dwarf2_per_objfile>: New field.
14151         (dw2_symtab_iter_init): Replace index parameter with
14152         dwarf2_per_objfile.
14153         (dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
14154         (dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
14155         (dw2_print_stats): Likewise.
14156         (dw2_dump): Likewise.
14157         (dw2_expand_symtabs_for_function): Likewise.
14158         (dw2_expand_all_symtabs): Likewise.
14159         (dw2_expand_symtabs_with_fullname): Likewise.
14160         (dw2_expand_marked_cus): Replace index and objfile parameters
14161         with dwarf2_per_objfile.
14162         (dw_expand_symtabs_matching_file_matcher): Add
14163         dwarf2_per_objfile parameter and adjust calls.
14164         (dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
14165         adjust calls.
14166         (dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
14167         (dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
14168         adjust calls.
14169         (create_cus_from_debug_names_list): Replace objfile parameter
14170         with dwarf2_per_objfile and adjust calls.
14171         (create_cus_from_debug_names): Likewise.
14172         (dwarf2_read_debug_names): Likewise.
14173         (mapped_debug_names::namei_to_name): Adjust call.
14174         (dw2_debug_names_iterator::next): Likewise.
14175         (dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
14176         (dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
14177         (dw2_debug_names_dump): Likewise.
14178         (dw2_debug_names_expand_symtabs_for_function): Likewise.
14179         (dw2_debug_names_expand_symtabs_matching): Likewise.
14180         (dwarf2_initialize_objfile): Likewise.
14181         (dwarf2_build_psymtabs): Likewise.
14182         (get_abbrev_section_for_cu): Get dwarf2_per_objfile from
14183         this_cu.
14184         (error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
14185         (read_and_check_comp_unit_head): Likewise.
14186         (read_abbrev_offset): Likewise.
14187         (create_debug_type_hash_table): Likewise.
14188         (create_debug_types_hash_table): Likewise.
14189         (create_all_type_units): Replace objfile parameter with
14190         dwarf2_per_objfile.
14191         (add_type_unit): Add dwarf2_per_objfile parameter.
14192         (fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
14193         with dwarf2_per_objfile.
14194         (lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
14195         (lookup_dwp_signatured_type): Likewise.
14196         (lookup_signatured_type): Likewise.
14197         (read_cutu_die_from_dwo): Likewise.
14198         (init_tu_and_read_dwo_dies): Likewise.
14199         (init_cutu_and_read_dies): Likewise.
14200         (init_cutu_and_read_dies_no_follow): Likewise.
14201         (allocate_type_unit_groups_table): Add objfile parameter.
14202         (create_type_unit_group): Use dwarf2_per_objfile from cu.
14203         (get_type_unit_group): Likewise.
14204         (process_psymtab_comp_unit): Update call.
14205         (build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
14206         (build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
14207         (print_tu_stats): Likewise.
14208         (build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
14209         in void* parameter.
14210         (build_type_psymtabs): Change objfile parameter to
14211         dwarf2_per_objfile.
14212         (process_skeletonless_type_unit): Use dwarf2_per_objfile
14213         passed in void* parameter.
14214         (process_skeletonless_type_units): Change objfile parameter to
14215         dwarf2_per_objfile.
14216         (set_partial_user): Likewise.
14217         (dwarf2_build_psymtabs_hard): Likewise.
14218         (read_comp_units_from_section): Likewise.
14219         (create_all_comp_units): Likewise.
14220         (scan_partial_symbols): Update calls.
14221         (add_partial_symbol): Likewise.
14222         (dwarf2_read_symtab): Use get_dwarf2_per_objfile.
14223         (maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
14224         (process_queue): Add dwarf2_per_objfile parameter.
14225         (get_compunit_symtab): Use dwarf2_per_objfile from cu.
14226         (compute_compunit_symtab_includes): Likewise.
14227         (process_cu_includes): Add dwarf2_per_objfile parameter.
14228         (process_full_comp_unit): Use dwarf2_per_objfile from cu.
14229         (process_full_type_unit): Likewise.
14230         (process_imported_unit_die): Update call.
14231         (handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
14232         (read_file_scope): Likewise.
14233         (allocate_dwo_file_hash_table): Add objfile parameter.
14234         (lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
14235         (create_cus_hash_table): Likewise.
14236         (create_dwp_hash_table): Likewise.
14237         (create_dwo_unit_in_dwp_v1): Likewise.
14238         (create_dwp_v2_section): Likewise.
14239         (create_dwo_unit_in_dwp_v2): Likewise.
14240         (lookup_dwo_unit_in_dwp): Likewise.
14241         (try_open_dwop_file): Likewise.
14242         (open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
14243         (open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
14244         cleanup to include a reference to dwarf2_per_objfile.
14245         (open_dwp_file): Add dwarf2_per_objfile parameter.
14246         (open_and_init_dwp_file): Likewise.
14247         (get_dwp_file): Likewise.
14248         (lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
14249         (queue_and_load_all_dwo_tus): Update call.
14250         (free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
14251         data.
14252         (dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
14253         (dwarf2_ranges_process): Likewise.
14254         (dwarf2_get_pc_bounds): Likewise.
14255         (mark_common_block_symbol_computed): Likewise.
14256         (abbrev_table_read_table): Add dwarf2_per_objfile parameter.
14257         (dwarf2_read_abbrevs): Update call.
14258         (read_partial_die): Use dwarf2_per_objfile from cu.
14259         (find_partial_die): Likewise.
14260         (fixup_partial_die): Likewise.
14261         (read_attribute_value): Likewise.
14262         (read_indirect_string_at_offset_from): Add objfile parameter.
14263         (read_indirect_string_at_offset): Add dwarf2_per_objfile
14264         parameter.
14265         (read_indirect_string_from_dwz): Add objfile parameter.
14266         (read_indirect_string): Add objfile parameter.
14267         (read_addr_index_1): Add dwarf2_per_objfile parameter.
14268         (read_addr_index): Use dwarf2_per_objfile from cu.
14269         (dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
14270         call dw2_setup.
14271         (read_str_index): Use dwarf2_per_objfile from cu.
14272         (get_debug_line_section): Likewise.
14273         (read_formatted_entries): Add dwarf2_per_objfile parameter.
14274         (dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
14275         (new_symbol_full): Use dwarf2_per_objfile from cu.
14276         (build_error_marker_type): Likewise.
14277         (lookup_die_type): Likewise.
14278         (determine_prefix): Likewise.
14279         (follow_die_offset): Likewise.
14280         (dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
14281         (dwarf2_fetch_constant_bytes): Don't call dw2_setup.
14282         (dwarf2_fetch_die_type_sect_off): Likewise.
14283         (dwarf2_get_die_type): Likewise.
14284         (follow_die_sig_1): Use dwarf2_per_objfile from cu.
14285         (get_signatured_type): Likewise.
14286         (get_DW_AT_signature_type): Likewise.
14287         (dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
14288         (dwarf_decode_macros): Use dwarf2_per_objfile from cu.
14289         (cu_debug_loc_section): Likewise.
14290         (fill_in_loclist_baton): Likewise.
14291         (dwarf2_symbol_mark_computed): Likewise.
14292         (dwarf2_find_containing_comp_unit): Change objfile parameter to
14293         dwarf2_per_objfile.
14294         (free_cached_comp_units): Use dwarf2_per_objfile passed in void*
14295         parameter.
14296         (age_cached_comp_units): Add dwarf2_per_objfile parameter.
14297         (free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
14298         (dwarf2_free_objfile): Use get_dwarf2_per_objfile.
14299         (set_die_type): Use dwarf2_free_objfile from cu.
14300         (get_die_type_at_offset): Likewise.
14301         (dwarf2_per_objfile_free): Don't assign global variable.
14302         (debug_names) <constructor>: Add dwarf2_per_objfile
14303         parameter, update m_debugstrlookup construction.
14304         (debug_names::debug_str_lookup): Add dwarf2_per_objfile
14305         parameter.
14306         <m_dwarf2_per_objfile>: New field.
14307         <lookup>: Use m_dwarf2_per_objfile.
14308         (check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
14309         (psyms_seen_size): Likewise.
14310         (write_gdbindex): Replace objfile parameter with
14311         dwarf2_per_objfile.
14312         (write_debug_names): Likewise.
14313         (write_psymtabs_to_index): Likewise.
14314         (save_gdb_index_command): Use get_dwarf2_per_objfile, update
14315         calls.
14316
14317 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14318
14319         * dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
14320         <dwarf2_per_objfile>: New field.
14321         (struct dwarf2_per_cu_data) <objfile>: Remove.
14322         <dwarf2_per_objfile>: New field.
14323         (create_cu_from_index_list): Assign dwarf2_per_objfile instead
14324         of objfile.
14325         (create_signatured_type_table_from_index): Likewise.
14326         (create_debug_type_hash_table): Likewise.
14327         (fill_in_sig_entry_from_dwo_entry): Likewise.
14328         (lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
14329         (create_type_unit_group): Assign dwarf2_per_objfile instead of
14330         objfile.
14331         (create_partial_symtab): Access objfile through
14332         dwarf2_per_objfile.
14333         (process_psymtab_comp_unit_reader): Likewise.
14334         (read_comp_units_from_section): Likewise.
14335         (scan_partial_symbols): Likewise.
14336         (add_partial_symbol): Likewise.
14337         (add_partial_subprogram): Likewise.
14338         (peek_die_abbrev): Likewise.
14339         (fixup_go_packaging): Likewise.
14340         (process_full_comp_unit): Likewise.
14341         (process_full_type_unit): Likewise.
14342         (process_imported_unit_die): Likewise.
14343         (dwarf2_compute_name): Likewise.
14344         (dwarf2_physname): Likewise.
14345         (read_import_statement): Likewise.
14346         (create_cus_hash_table): Assign dwarf2_physname instead of
14347         objfile.
14348         (read_func_scope): Access objfile through dwarf2_per_objfile.
14349         (read_lexical_block_scope): Likewise.
14350         (read_call_site_scope): Likewise.
14351         (read_variable): Likewise.
14352         (dwarf2_rnglists_process): Likewise.
14353         (dwarf2_ranges_process): Likewise.
14354         (dwarf2_ranges_read): Likewise.
14355         (dwarf2_record_block_ranges): Likewise.
14356         (dwarf2_add_field): Likewise.
14357         (dwarf2_add_member_fn): Likewise.
14358         (read_structure_type): Likewise.
14359         (process_structure_scope): Likewise.
14360         (read_enumeration_type): Likewise.
14361         (read_array_type): Likewise.
14362         (read_common_block): Likewise.
14363         (read_namespace_type): Likewise.
14364         (read_namespace): Likewise.
14365         (read_module_type): Likewise.
14366         (read_tag_pointer_type): Likewise.
14367         (read_tag_ptr_to_member_type): Likewise.
14368         (read_tag_string_type): Likewise.
14369         (read_subroutine_type): Likewise.
14370         (read_typedef): Likewise.
14371         (read_base_type): Likewise.
14372         (attr_to_dynamic_prop): Likewise.
14373         (read_subrange_type): Likewise.
14374         (read_unspecified_type): Likewise.
14375         (load_partial_dies): Likewise.
14376         (read_partial_die): Likewise.
14377         (find_partial_die): Likewise.
14378         (guess_partial_die_structure_name): Likewise.
14379         (fixup_partial_die): Likewise.
14380         (read_attribute_value): Likewise.
14381         (read_addr_index_from_leb128): Likewise.
14382         (dwarf2_read_addr_index): Likewise.
14383         (dwarf2_string_attr): Likewise.
14384         (lnp_state_machine::check_line_address): Likewise.
14385         (dwarf_decode_lines_1): Likewise.
14386         (dwarf_decode_lines): Likewise.
14387         (dwarf2_start_symtab): Likewise.
14388         (var_decode_location): Likewise.
14389         (new_symbol_full): Likewise.
14390         (dwarf2_const_value_data): Likewise.
14391         (dwarf2_const_value_attr): Likewise.
14392         (dwarf2_const_value): Likewise.
14393         (die_type): Likewise.
14394         (die_containing_type): Likewise.
14395         (lookup_die_type): Likewise.
14396         (guess_full_die_structure_name): Likewise.
14397         (anonymous_struct_prefix): Likewise.
14398         (dwarf2_name): Likewise.
14399         (follow_die_ref_or_sig): Likewise.
14400         (follow_die_offset): Likewise.
14401         (follow_die_ref): Likewise.
14402         (dwarf2_fetch_die_loc_sect_off): Likewise.
14403         (dwarf2_fetch_constant_bytes): Likewise.
14404         (dwarf2_fetch_die_type_sect_off): Likewise.
14405         (dwarf2_get_die_type): Likewise.
14406         (follow_die_sig): Likewise.
14407         (decode_locdesc): Likewise.
14408         (dwarf2_per_cu_objfile): Likewise.
14409         (dwarf2_per_cu_text_offset): Likewise.
14410         (init_one_comp_unit): Assign dwarf2_per_objfile instead of
14411         objfile.
14412         (set_die_type): Access objfile through
14413         dwarf2_per_objfile.
14414
14415 2018-01-07  Simon Marchi  <simon.marchi@ericsson.com>
14416
14417         * valprint.c (converted_character_d): Remove typedef.
14418         (DEF_VEC_O (converted_character_d)): Remove.
14419         (count_next_character): Use std::vector.
14420         (print_converted_chars_to_obstack): Likewise.
14421         (generic_printstr): Likewise.
14422
14423 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14424
14425         * xml-support.h (struct gdb_xml_value): Add constructor.
14426         <value>: Change type to unique_xmalloc_ptr.
14427         (gdb_xml_value_s): Remove typedef.
14428         (DEF_VEC_O (gdb_xml_value_s)): Remove.
14429         (gdb_xml_element_start_handler): Change parameter type to
14430         std::vector.
14431         (xml_find_attribute): Likewise.
14432         * xml-support.c (xml_find_attribute): Change parameter type to
14433         std::vector and adjust.
14434         (gdb_xml_values_cleanup): Remove.
14435         (gdb_xml_parser::start_element): Adjust to std::vector.
14436         (xinclude_start_include): Change paraeter type to std::vector
14437         and adjust.
14438         * btrace.c (check_xml_btrace_version): Likewise.
14439         (parse_xml_btrace_block): Likewise.
14440         (parse_xml_btrace_pt_config_cpu): Likewise.
14441         (parse_xml_btrace_pt): Likewise.
14442         (parse_xml_btrace_conf_bts): Likewise.
14443         (parse_xml_btrace_conf_pt): Likewise.
14444         * memory-map.c (memory_map_start_memory): Likewise.
14445         (memory_map_start_property): Likewise.
14446         * osdata.c (osdata_start_osdata): Likewise.
14447         (osdata_start_item): Likewise.
14448         (osdata_start_column): Likewise.
14449         * remote.c (start_thread): Likewise.
14450         * solib-aix.c (library_list_start_library): Likewise.
14451         (library_list_start_list): Likewise.
14452         * solib-svr4.c (library_list_start_library): Likewise.
14453         (svr4_library_list_start_list): Likewise.
14454         * solib-target.c (library_list_start_segment): Likewise.
14455         (library_list_start_section): Likewise.
14456         (library_list_start_library): Likewise.
14457         (library_list_start_list): Likewise.
14458         * tracepoint.c (traceframe_info_start_memory): Likewise.
14459         (traceframe_info_start_tvar): Likewise.
14460         * xml-syscall.c (syscall_start_syscall): Likewise.
14461         * xml-tdesc.c (tdesc_start_target): Likewise.
14462         (tdesc_start_feature): Likewise.
14463         (tdesc_start_reg): Likewise.
14464         (tdesc_start_union): Likewise.
14465         (tdesc_start_struct): Likewise.
14466         (tdesc_start_flags): Likewise.
14467         (tdesc_start_enum): Likewise.
14468         (tdesc_start_field): Likewise.
14469         (tdesc_start_enum_value): Likewise.
14470         (tdesc_start_vector): Likewise.
14471
14472 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14473
14474         * extension.h (struct xmethod_worker) <clone>: Remove.
14475         * python/py-xmethods.c (struct python_xmethod_worker) <clone>:
14476         Remove.
14477         (python_xmethod_worker::clone): Remove.
14478         * valops.c (find_overload_match): Use std::move instead of
14479         clone.
14480
14481 2018-01-07  Simon Marchi  <simon.marchi@polymtl.ca>
14482
14483         * extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
14484         (struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
14485         <free_xmethod_worker_data>: Remove.
14486         <get_matching_xmethod_workers>: Chance VEC to std::vector.
14487         <get_xmethod_arg_types>: Remove.
14488         <get_xmethod_result_type>: Remove.
14489         <invoke_xmethod>: Remove.
14490         * extension.c (new_xmethod_worker): Remove.
14491         (clone_xmethod_worker): Remove.
14492         (get_matching_xmethod_workers): Return void, pass std::vector by
14493         pointer.
14494         (get_xmethod_arg_types): Rename to...
14495         (xmethod_worker::get_arg_types): ... this, and adjust.
14496         (get_xmethod_result_type): Rename to...
14497         (xmethod_worker::get_result_type): ... this, and adjust.
14498         (invoke_xmethod): Remove.
14499         (free_xmethod_worker): Remove.
14500         (free_xmethod_worker_vec): Remove.
14501         * extension.h (enum ext_lang_rc): Move here from
14502         extension-priv.h.
14503         (struct xmethod_worker): Add constructor and destructor.
14504         <data>: Remove.
14505         <value>: Remove.
14506         <invoke, clone, do_get_result_type, do_get_arg_types>: New
14507         virtual pure methods.
14508         <get_arg_types, get_result_type>: New methods.
14509         (xmethod_worker_ptr): Remove typedef.
14510         (DEF_VEC_P (xmethod_worker_ptr)): Remove.
14511         (xmethod_worker_vec): Remove typedef.
14512         (xmethod_worker_up): New typedef.
14513         (invoke_xmethod): Remove.
14514         (clone_xmethod_worker): Remove.
14515         (free_xmethod_worker): Remove.
14516         (free_xmethod_worker_vec): Remove.
14517         (get_xmethod_arg_types): Remove.
14518         (get_xmethod_result_type): Remove.
14519         * valops.c (find_method_list): Use std::vector, don't use
14520         intermediate vector.
14521         (value_find_oload_method_list): Use std::vector.
14522         (find_overload_match): Use std::vector.
14523         (find_oload_champ): Use std::vector.
14524         * value.c (value_free): Use operator delete.
14525         (value_of_xmethod): Rename to...
14526         (value_from_xmethod): ... this.  Don't assign
14527         xmethod_worker::value, take rvalue-reference.
14528         (result_type_of_xmethod): Adjust.
14529         (call_xmethod): Adjust.
14530         * value.h: Include extension.h.
14531         (struct xmethod_worker): Don't forward-declare.
14532         (value_of_xmethod): Rename to...
14533         (value_from_xmethod): ... this, take rvalue-reference.
14534         * python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
14535         (struct python_xmethod_worker): ... this, add constructor and
14536         destructor.
14537         <invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
14538         (gdbpy_free_xmethod_worker_data): Rename to...
14539         (python_xmethod_worker::~python_xmethod_worker): ... this and
14540         adjust.
14541         (gdbpy_clone_xmethod_worker_data): Rename to...
14542         (python_xmethod_worker::clone): ... this and adjust.
14543         (gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
14544         temporary vector.
14545         (gdbpy_get_xmethod_arg_types): Rename to...
14546         (python_xmethod_worker::do_get_arg_types): ... this and adjust.
14547         (gdbpy_get_xmethod_result_type): Rename to...
14548         (python_xmethod_worker::do_get_result_type): ... this and
14549         adjust.
14550         (gdbpy_invoke_xmethod): Rename to...
14551         (python_xmethod_worker::invoke): ... this and adjust.
14552         (new_python_xmethod_worker): Rename to...
14553         (python_xmethod_worker::python_xmethod_worker): ... this and
14554         adjust.
14555         * python/python-internal.h (gdbpy_clone_xmethod_worker_data):
14556         Remove.
14557         (gdbpy_free_xmethod_worker_data): Remove.
14558         (gdbpy_get_matching_xmethod_workers): Use std::vector.
14559         (gdbpy_get_xmethod_arg_types): Remove.
14560         (gdbpy_get_xmethod_result_type): Remove.
14561         (gdbpy_invoke_xmethod): Remove.
14562         * python/python.c (python_extension_ops): Remove obsolete
14563         callbacks.
14564
14565 2018-01-05  Pedro Alves  <palves@redhat.com>
14566
14567         PR gdb/18653
14568         * common/signals-state-save-restore.c
14569         (save_original_signals_state): New parameter 'quiet'.  Warn if we
14570         find a custom handler preinstalled, instead of internal erroring.
14571         But only warn if !quiet.
14572         * common/signals-state-save-restore.h
14573         (save_original_signals_state): New parameter 'quiet'.
14574         * main.c (captured_main_1): Move save_original_signals_state call
14575         after option handling, and pass QUIET.
14576
14577 2018-01-05  Pedro Alves  <palves@redhat.com>
14578
14579         * spu-tdep.c (spu_catch_start): Pass
14580         symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
14581
14582 2018-01-05  Pedro Alves  <palves@redhat.com>
14583
14584         PR gdb/22670
14585         * ada-lang.c (literal_symbol_name_matcher): New function.
14586         (ada_get_symbol_name_matcher): Use it for
14587         symbol_name_match_type::SEARCH_NAME.
14588         * block.c (block_lookup_symbol): New parameter 'match_type'.  Pass
14589         it down instead of assuming symbol_name_match_type::FULL.
14590         * block.h (block_lookup_symbol): New parameter 'match_type'.
14591         * c-valprint.c (print_unpacked_pointer): Use
14592         lookup_symbol_search_name instead of lookup_symbol.
14593         * compile/compile-object-load.c (get_out_value_type): Pass down
14594         symbol_name_match_type::SEARCH_NAME.
14595         * cp-namespace.c (cp_basic_lookup_symbol): Pass down
14596         symbol_name_match_type::FULL.
14597         * cp-support.c (cp_get_symbol_name_matcher): Handle
14598         symbol_name_match_type::SEARCH_NAME.
14599         * infrun.c (insert_exception_resume_breakpoint): Use
14600         lookup_symbol_search_name.
14601         * p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
14602         * psymtab.c (maintenance_check_psymtabs): Use
14603         symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
14604         * stack.c (print_frame_args): Use lookup_symbol_search_name and
14605         SYMBOL_SEARCH_NAME.
14606         * symtab.c (lookup_local_symbol): Don't demangle the lookup name
14607         if symbol_name_match_type::SEARCH_NAME.
14608         (lookup_symbol_in_language): Pass down
14609         symbol_name_match_type::FULL.
14610         (lookup_symbol_search_name): New.
14611         (lookup_language_this): Pass down
14612         symbol_name_match_type::SEARCH_NAME.
14613         (lookup_symbol_aux, lookup_local_symbol): New parameter
14614         'match_type'.  Pass it down.
14615         * symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
14616         (lookup_symbol_search_name): New declaration.
14617         (lookup_symbol_in_block): New 'match_type' parameter.
14618
14619 2018-01-05  Pedro Alves  <palves@redhat.com>
14620
14621         PR gdb/22670
14622         * ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
14623         ada_lookup_symbol.
14624         (ada_lookup_symbol): Reimplement in terms of
14625         ada_lookup_symbol_list, bits factored out from
14626         ada_lookup_encoded_symbol.
14627
14628 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14629
14630         * ada-exp.y (write_object_renaming): When subscripting an array
14631         using a symbol as the index, pass the block in call to
14632         ada_lookup_encoded_symbol when looking that symbol up.
14633
14634 2018-01-05  Jerome Guitton  <guitton@adacore.com>
14635
14636         * ada-lang.c (ada_array_length): Use ada_index_type instead of
14637         TYPE_INDEX_TYPE.
14638
14639 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14640
14641         * ada-lang.c (ada_to_fixed_value_create): Add handling of
14642         the case where VALUE_LVAL (val0) is not lval_memory.
14643
14644 2018-01-05  Xavier Roirand  <roirand@adacore.com>
14645
14646         * ada-valprint.c (print_optional_low_bound): Handle
14647         character-indexed array printing like boolean-indexed array
14648         printing.
14649
14650 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14651
14652         * NEWS: Create a new section for the next release branch.
14653         Rename the section of the current branch, now that it has
14654         been cut.
14655
14656 2018-01-05  Joel Brobecker  <brobecker@adacore.com>
14657
14658         GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
14659         * version.in: Bump version to 8.1.50.DATE-git.
14660
14661 2018-01-03  Xavier Roirand  <roirand@adacore.com>
14662
14663         * ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
14664         Add field.
14665         * ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
14666         Add field.
14667         (default_exception_support_info) <catch_handlers_sym>: Add field.
14668         (exception_support_info_fallback) <catch_handlers_sym>: Add field.
14669         (ada_exception_name_addr_1): Add "catch handlers" handling.
14670         (ada_exception_catchpoint_cond_string) <ex>: New parameter.
14671         Update all callers.
14672         (create_excep_cond_exprs) <ex>: Add parameter.
14673         (re_set_exception): Update create_excep_cond_exprs call.
14674         (print_it_exception, print_one_exception, print_mention_exception)
14675         (print_recreate_exception): Add "catch handler" handling.
14676         (allocate_location_catch_handlers, re_set_catch_handlers)
14677         (check_status_catch_handlers, print_it_catch_handlers)
14678         (print_one_catch_handlers, print_mention_catch_handlers)
14679         (print_recreate_catch_handlers): New function.
14680         (catch_handlers_breakpoint_ops): New variable.
14681         (catch_ada_exception_command_split) <is_catch_handlers_cmd>:
14682         Add parameter.  Add "catch handler" handling.
14683         (ada_exception_sym_name, ada_exception_breakpoint_ops):
14684         Add "catch handler" handling.
14685         (ada_exception_catchpoint_cond_string): Add "catch handler"
14686         handling.
14687         (create_ada_exception_catchpoint): Update create_excep_cond_exprs
14688         call.
14689         (catch_ada_handlers_command): New function.
14690         (initialize_ada_catchpoint_ops): Initialize "catch handlers"
14691         operations structure.
14692         (_initialize_ada_language): Add "catch handlers" command entry.
14693         * NEWS: Document "catch handlers" feature.
14694
14695 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14696
14697         * ada-lang.c (ada_value_slice_from_ptr): Take array stride into
14698         account when creating the array type of the slice.
14699         (ada_value_slice): Likewise.
14700
14701 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14702
14703         * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
14704         New enum value.
14705         (create_array_type_with_stride): Add byte_stride_prop parameter.
14706         * gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
14707         New parameter.  Update all callers in this file.
14708         (array_type_has_dynamic_stride): New function.
14709         (is_dynamic_type_internal, resolve_dynamic_array): Add handling
14710         of arrays with dynamic byte strides.
14711         * dwarf2read.c (read_array_type): Add support for dynamic
14712         DW_AT_byte_stride attributes.
14713
14714 2018-01-02  Joel Brobecker  <brobecker@adacore.com>
14715
14716         * dwarf2read.c (read_unspecified_type): Treat
14717         DW_TAG_enumeration_type DIEs from Ada units as stubs.
14718
14719 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14720
14721         Update copyright year range in all GDB files.
14722
14723 2018-01-01, 18  Joel Brobecker  <brobecker@adacore.com>
14724
14725         * copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
14726         and gdb/testsuite/gdb.base/step-line.c.
14727
14728 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14729
14730         * copyright.py (main): Dump the contents of
14731         MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
14732         even if BY_HAND is empty.
14733
14734 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14735
14736         * top.c (print_gdb_version): Update Copyright year in version
14737         message.
14738
14739 2018-01-01  Joel Brobecker  <brobecker@adacore.com>
14740
14741         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
14742
14743 For older changes see ChangeLog-2017.
14744 \f
14745 Local Variables:
14746 mode: change-log
14747 left-margin: 8
14748 fill-column: 74
14749 version-control: never
14750 coding: utf-8
14751 End: