x86: Properly handle PLT expression in directive
[external/binutils.git] / gdb / ChangeLog-2017
1 2017-12-31  Ruslan Kabatsayev  <b7.10110111@gmail.com>
2
3         * psymtab.c (recursively_search_psymtabs): Use pointer arithmetic
4         instead of dereferencing std::vector past the end.
5
6 2017-12-30  Simon Marchi  <simon.marchi@ericsson.com>
7
8         * common/diagnostics.h
9         (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Only
10         define if the compiler knows about -Wenum-compare-switch.
11
12 2017-12-30  Simon Marchi  <simon.marchi@ericsson.com>
13
14         * dwarf2read.c (dwarf_decode_macro_bytes): Ignore
15         -Wenum-compare-switch warning.
16         (dwarf_decode_macros): Likewise.
17
18 2017-12-30  Tom Tromey  <tom@tromey.com>
19             Simon Marchi  <simon.marchi@ericsson.com>
20
21         * stap-probe.h (struct stap_parse_info): Add constructor,
22         destructor.
23         * stap-probe.c (stap_parse_argument): Update.
24         * rust-exp.y (rust_lex_tests): Update.
25         * parser-defs.h (struct parser_state): Add constructor,
26         destructor, release method.
27         <expout>: Change type to expression_up.
28         (null_post_parser): Change type.
29         (initialize_expout, reallocate_expout): Remove.
30         * parse.c (parser_state::parser_state): Rename from
31         initialize_expout.
32         (parser_state::release): Rename from reallocate_expout.
33         (write_exp_elt, parse_exp_in_context_1, increase_expout_size):
34         Update.
35         (null_post_parser): Change type of "exp".
36         * dtrace-probe.c (dtrace_probe::build_arg_exprs): Update.
37         * ada-lang.c (resolve, resolve_subexp)
38         (replace_operator_with_call): Change type of "expp".
39         * language.h (struct language_defn) <la_post_parser>: Change type
40         of "expp".
41
42 2017-12-30  Simon Marchi  <simon.marchi@ericsson.com>
43
44         * dwarf2read.c (struct mapped_debug_names): Make final.
45         (struct mapped_index): Make final.
46
47 2017-12-29  Simon Marchi  <simon.marchi@ericsson.com>
48
49         * common/diagnostics.h
50         (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): New macro.
51         * amd64-linux-tdep.c (amd64_canonicalize_syscall): Use it.
52
53 2017-12-29  Simon Marchi  <simon.marchi@ericsson.com>
54
55         * linux-thread-db.c (thread_db_detach): Remove call to
56         delete_thread_db_info.
57
58 2017-12-28  Simon Marchi  <simon.marchi@polymtl.ca>
59
60         * target.h (enum target_object) <TARGET_OBJECT_HPUX_UREGS,
61         TARGET_OBJECT_HPUX_SOLIB_GOT>: Remove.
62
63 2017-12-27  Franck Jullien  <franck.jullien@gmail.com>
64             Stafford Horne  <shorne@gmail.com>
65
66         * target-descriptions.c (tdesc_register_in_reggroup_p): Support
67         arbitrary strings.
68         (tdesc_use_registers): Add logic to register new reggroups.
69         (tdesc_reg::group): Update comment to indicate we allow
70         arbitrary strings.
71         * NEWS (Changes since GDB 8.0): Announce that GDB supports
72         arbitrary reggroups.
73
74 2017-12-27  Stafford Horne  <shorne@gmail.com>
75
76         * reggroups.c (reggroup_gdbarch_new): New function.
77         (reggroup_find): New function.
78         * reggroups.h (reggroup_gdbarch_new): New function.
79         (reggroup_find): New function.
80
81 2017-12-27  Stafford Horne  <shorne@gmail.com>
82
83         * reggroups.c (reggroups_init): Change to depend only on
84         obstack rather than gdbarch.
85         (reggroup_add): Remove logic for forcing premature init.
86         (_initialize_reggroup): Set `reggroups_data` with
87         gdbarch_data_register_pre_init() rather than
88         gdbarch_data_register_post_init().
89
90 2017-12-27  Stafford Horne  <shorne@gmail.com>
91
92         * infcmd.c (_initialize_infcmd): Add help for info reg $reggroup
93         and info all-registers $reggroup feature.
94
95 2017-12-23  Simon Marchi  <simon.marchi@polymtl.ca>
96
97         * target-descriptions.c (print_c_tdesc)
98         <printf_field_type_assignment>: Add ATTRIBUTE_PRINTF.
99
100 2017-12-21  Simon Marchi  <simon.marchi@ericsson.com>
101             Sergio Durigan Junior  <sergiodj@redhat.com>
102
103         * target-descriptions.c (print_c_tdesc) <visit>: Don't output
104         field_type declaration, use printf_field_type_assignment
105         instead.
106         <printf_field_type_assignment>: New method.
107         * features/aarch64-core.c, features/aarch64-fpu.c
108         features/arc-arcompact.c, features/arc-v2.c,
109         features/arm/arm-with-iwmmxt.c, features/i386/32bit-core.c,
110         features/i386/32bit-mpx.c, features/i386/32bit-sse.c,
111         features/i386/64bit-avx512.c, features/i386/64bit-core.c,
112         features/i386/64bit-mpx.c, features/i386/64bit-sse.c,
113         features/i386/x32-core.c, features/or1k.c,
114         features/rs6000/powerpc-7400.c,
115         features/rs6000/powerpc-altivec32.c,
116         features/rs6000/powerpc-altivec32l.c,
117         features/rs6000/powerpc-altivec64.c,
118         features/rs6000/powerpc-altivec64l.c,
119         features/rs6000/powerpc-cell32l.c,
120         features/rs6000/powerpc-cell64l.c,
121         features/rs6000/powerpc-isa205-altivec32l.c,
122         features/rs6000/powerpc-isa205-altivec64l.c,
123         features/rs6000/powerpc-isa205-vsx32l.c,
124         features/rs6000/powerpc-isa205-vsx64l.c,
125         features/rs6000/powerpc-vsx32.c,
126         features/rs6000/powerpc-vsx32l.c,
127         features/rs6000/powerpc-vsx64.c,
128         features/rs6000/powerpc-vsx64l.c, features/s390-gs-linux64.c,
129         features/s390-tevx-linux64.c, features/s390-vx-linux64.c,
130         features/s390x-gs-linux64.c, features/s390x-tevx-linux64.c,
131         features/s390x-vx-linux64.c: Re-generate.
132
133 2017-12-20  Uros Bizjak  <ubizjak@gmail.com>
134
135         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Remove
136         write-only assignment to "insn" variable.
137
138 2017-12-20  Ulrich Weigand  <uweigand@de.ibm.com>
139
140         * spu-tdep.c (spu_gdbarch_init): Set set_gdbarch_significant_addr_bit
141         to 64 bits.
142         (ppc_linux_init_abi): Likewise, if Cell/B.E. is supported.
143
144 2017-12-18  Joel Brobecker  <brobecker@adacore.com>
145
146         * ada-lang.c (ada_to_fixed_type_1): Rethrow errors with
147         a more detailed exception message when getting an exception
148         while trying to read the value of an XVZ variable.
149         * ada-valprint.c (ada_val_print): Only catch RETURN_MASK_ERROR
150         exceptions.  Print an error message when an exception is caught.
151
152 2017-12-18  Joel Brobecker  <brobecker@adacore.com>
153
154         * ada-lang.c (assign_component): Strip any TYPE_CODE_TYPEDEF
155         layer from lhs' type.
156         (assign_aggregate): Likewise.
157
158 2017-12-18  Xavier Roirand  <roirand@adacore.com>
159
160         * ada-lang.c (ada_convert_actual): Change the way actual value
161         are passed to the inferior when the inferior expects a pointer type.
162
163 2017-12-17  Stafford Horne  <shorne@gmail.com>
164
165         * gdb/or1k-tdep.c (show_or1k_debug): Fix function parameter alignment.
166         (or1k_analyse_inst): Likewise.
167         (or1k_single_step_through_delay): Likewise.
168         (or1k_frame_cache): Fix parameter alignment and use paddress()
169         instead of %x.
170
171 2017-12-17  Stafford Horne  <shorne@gmail.com>
172
173         * NEWS (Changes since GDB 8.0): Mention new or1k target and new
174         commands to set/show or1k debug.
175
176 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
177
178         * typeprint.c (whatis_exp): Fix ARI warning and reindent "if"
179         condition.
180
181 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
182             Pedro Alves  <palves@redhat.com>
183
184         PR cli/16224
185         * NEWS (Changes since GDB 8.0): Mention new '/o' flag.
186         * c-typeprint.c (OFFSET_SPC_LEN): New define.
187         (c_type_print_varspec_prefix): New argument 'struct
188         print_offset_data *'.
189         (c_type_print_base_1): New function and prototype.
190         (c_print_type_1): New function, with code from 'c_print_type'.
191         (c_print_type): Use 'c_print_type_1'.
192         (c_type_print_varspec_prefix): New argument 'struct
193         print_offset_data *'.  Use it.  Call 'c_type_print_base_1'
194         instead of 'c_print_type_base'.
195         (print_spaces_filtered_with_print_options): New function.
196         (output_access_specifier): Take new argument FLAGS.  Modify
197         function to call 'print_spaces_filtered_with_print_options'.
198         (c_print_type_vtable_offset_marker): New function.
199         (c_print_type_union_field_offset): New function.
200         (c_print_type_struct_field_offset): New function.
201         (c_print_type_no_offsets): New function.
202         (c_type_print_base_struct_union): New argument 'struct
203         print_offset_data *'.  Print offsets and sizes for
204         struct/union/class fields.
205         * typeprint.c (const struct type_print_options
206         type_print_raw_options): Initialize 'print_offsets'.
207         (static struct type_print_options default_ptype_flags):
208         Likewise.
209         (struct print_offset_data print_offset_default_data): New
210         variable.
211         (whatis_exp): Handle '/o' option.
212         (_initialize_typeprint): Add '/o' flag to ptype's help.
213         * typeprint.h (struct print_offset_data): New struct.
214         (struct type_print_options) <print_offsets>: New field.
215
216 2017-12-15  Sergio Durigan Junior  <sergiodj@redhat.com>
217
218         * c-typeprint.c (need_access_label_p): New function.
219         (c_type_print_base_struct_union): New function.
220         (c_type_print_base): Move code to handle
221         TYPE_CODE_{STRUCT,UNION} to the functions mentioned above.
222
223 2017-12-15  Richard Henderson  <rth@redhat.com>
224             Uros Bizjak  <ubizjak@gmail.com>
225
226         PR gdb/19061
227         * alpha-tdep.c (alpha_software_single_step): Call
228         alpha_deal_with_atomic_sequence here.
229         (set_gdbarch_software_single_step): Set to
230         alpha_software_single_step.
231         * nat/linux-ptrace.h [__alpha__]: Define GDB_ARCH_IS_TRAP_BRKPT
232         and GDB_ARCH_IS_TRAP_HWBKPT.
233
234 2017-12-15  Yao Qi  <yao.qi@linaro.org>
235
236         * unittests/memory-map-selftests.c: Wrap test with HAVE_LIBEXPAT.
237
238 2017-12-15  Xavier Roirand  <roirand@adacore.com>
239
240         * ada-lang.c (ada_value_primitive_field): Handle field search
241         in case of homonyms.
242         (find_struct_field): Ditto.
243         (ada_search_struct_field): Ditto.
244         (ada_value_struct_elt): Ditto.
245         (ada_lookup_struct_elt_type): Ditto.
246
247 2017-12-14  Simon Marchi  <simon.marchi@ericsson.com>
248
249         * python/py-breakpoint.c (bppy_init): Use 'O' format specifier
250         for "qualified" and use PyObject_IsTrue.
251
252 2017-12-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
253
254         * dwarf2read.c (dw2_debug_names_iterator::next): Support
255         DW_IDX_type_unit.
256         (debug_names::dwarf5_offset_size, unit_kind): New.
257         (debug_names::insert): Add parameter kind.
258         (debug_names::build): Support DW_IDX_type_unit.
259         (debug_names::recursively_write_psymbols): Update
260         (debug_names::write_psymbols caller.
261         (debug_names::write_one_signatured_type_data)
262         (debug_names::write_one_signatured_type): New.
263         (debug_names::index_key, debug_names::symbol_value)
264         (debug_names::write_psymbols): Add kind.
265         (debug_names::write_one_signatured_type): New.
266         (write_debug_names): Move dwarf5_offset_size to debug_names.
267         Use debug_names::write_one_signatured_type for type units.
268
269 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
270
271         * ada-lang.c (ada_value_equal): Add handling of typedef types
272         when comparing array objects.
273
274 2017-12-14  Joel Brobecker  <brobecker@adacore.com>
275
276         * ada-tasks.c (read_atcb): Properly set task_info->ptid
277         when !target_has_execution as well.
278         (task_command): Remove error when !target_has_execution.
279
280 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
281
282         * location.h (string_to_event_location): Add match_type
283         parameter.
284         * location.c (string_to_event_location): Likewise.
285         * python/py-breakpoint.c (bppy_init): Handle qualified
286         parameter.
287
288 2017-12-13  Pedro Alves  <palves@redhat.com>
289
290         * completer.c (completion_tracker::maybe_add_completion): New
291         'text' and 'word' parameters.  Use make_completion_match_str.
292         (completion_tracker::add_completion): New 'text' and 'word'
293         parameters.  Pass down.
294         (completion_tracker::recompute_lowest_common_denominator): Change
295         parameter type to gdb::unique_xmalloc_ptr rval ref.  Adjust.
296         * completer.h (completion_tracker::add_completion): New 'text' and
297         'word' parameters.
298         (completion_tracker::recompute_lowest_common_denominator): Change
299         parameter type to gdb::unique_xmalloc_ptr rval ref.
300         (completion_tracker::recompute_lowest_common_denominator): Change
301         parameter type to gdb::unique_xmalloc_ptr rval ref.
302         * symtab.c (completion_list_add_name): Pass down 'text' and 'word'
303         as well.
304
305 2017-12-13  Pedro Alves  <palves@redhat.com>
306
307         * cli/cli-decode.c (complete_on_cmdlist, complete_on_enum): Use
308         make_completion_match_str.
309         * completer.c: Use gdb::unique_xmalloc_ptr and
310         make_completion_match_str.
311         (make_completion_match_str_1): New.
312         (make_completion_match_str(const char *, const char *,
313         const char *)): New.
314         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
315         const char *, const char *)): New.
316         * completer.h (make_completion_match_str(const char *,
317         const char *, const char *)): New.
318         (make_completion_match_str(gdb::unique_xmalloc_ptr<char> &&,
319         const char *, const char *)): New.
320         * interps.c (interpreter_completer): Use make_completion_match_str.
321         * symtab.c (completion_list_add_name, add_filename_to_list): Use
322         make_completion_match_str.
323
324 2017-12-13  Stafford Horne  <shorne@gmail.com>
325
326         * or1k-tdep.c (or1k_analyse_inst): Use _() wrapper for message
327         strings.
328         (or1k_unwind_pc): Use paddress() instead of %p.
329         (or1k_unwind_sp): Likewise.
330         (or1k_frame_cache): Use host_address_to_string()/paddress()
331         instead of %p and use _() wrapper for message strings.
332
333 2017-12-13  Simon Marchi  <simon.marchi@ericsson.com>
334
335         * contrib/ari/gdb_ari.sh: Fix typo in help.
336
337 2017-12-13  Joel Brobecker  <brobecker@adacore.com>
338
339         * event-top.c (handle_line_of_input): Set server_command.
340
341 2017-12-12  Stafford Horne  <shorne@gmail.com>
342             Stefan Wallentowitz  <stefan@wallentowitz.de>
343             Stefan Kristiansson  <stefan.kristiansson@saunalahti.fi>
344             Franck Jullien  <franck.jullien@gmail.com>
345             Jeremy Bennett  <jeremy.bennett@embecosm.com>
346
347         * configure.tgt: Add targets for or1k and or1knd.
348         * or1k-tdep.c: New file.
349         * or1k-tdep.h: New file.
350         * features/Makefile: Add or1k.xml to build.
351         * features/or1k.xml: New file.
352         * features/or1k-core.xml: New file.
353         * features/or1k.c: Generated.
354
355 2017-12-12  Alan Modra  <amodra@gmail.com>
356
357         PR tdep/22576
358         * ppc64-tdep.c (ppc64_plt_entry_point): Rewrite to take TOC-relative
359         PLT offset, and retrieve r2 from stack when executing in reverse.
360         (ppc64_standard_linkage1_target): Drop pc param.  Calculate offset
361         rather than PLT address.
362         (ppc64_standard_linkage2_target): Likewise.
363         (ppc64_standard_linkage3_target): Likewise.
364         (ppc64_standard_linkage4_target): Likewise.
365         (ppc64_skip_trampoline_code_1): Adjust to suit.
366
367 2017-12-11  Simon Marchi  <simon.marchi@ericsson.com>
368
369         PR gdb/22556
370         * remote.c (remote_thread_name): Return NULL if name is empty.
371         (remote_threads_extra_info): Return NULL if extra info is empty.
372
373 2017-12-11  Pedro Alves  <palves@redhat.com>
374
375         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index)
376         (elf_sym_fns_debug_names): Move to elfread.c.
377         * dwarf2read.c (dwarf2_initialize_objfile): Return a boolean
378         instead of a sym_fns and add 'index_kind' output parameter.  Fill
379         the latter in with the index variant kind if using an index.
380         (enum dw_index_kind): Moved to symfile.h.
381         * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names)
382         (elf_sym_fns_lazy_psyms): Move from defs.h.
383         (elf_symfile_read): Adjust to new dwarf2_initialize_objfile
384         interface.
385         * symfile.h (enum class dw_index_kind): New, moved from
386         dwarf2read.c.
387         (dwarf2_initialize_objfile): Change prototype.
388
389 2017-12-11  Ulrich Weigand  <uweigand@de.ibm.com>
390
391         * target-float.c (mpfr_float_ops::from_target): Use mpfr_set_ui
392         instead of mpfr_set_si to convert mantissa bits.
393
394 2017-12-11  Xavier Roirand <roirand@adacore.com>
395             Joel Brobecker  <brobecker@adacore.com>
396
397         * ada-lang.c (ada_tag_value_at_base_address): Change the way
398         tagged type base address is computed.
399         (enum ada_primitive_types) <ada_primitive_type_storage_offset>:
400         New enumerate.
401         (ada_language_arch_info): Set the ada_primitive_type_storage_offset
402         element of lai->primitive_type_vector.
403
404 2017-12-08  Pedro Alves  <palves@redhat.com>
405
406         * dwarf2read.c (mock_mapped_index): Reimplement as an extension of
407         mapped_index_base.
408         (check_match): Adjust to use mock_index directly.
409         (check_find_bounds_finds)
410         (test_mapped_index_find_name_component_bounds): Adjust to work
411         with a mapped_index_base.
412
413 2017-12-08  Pedro Alves  <palves@redhat.com>
414
415         * dwarf2read.c (struct mapped_index_base): New, partially factored
416         out from ...
417         (struct mapped_index): ... this.  Inherit mapped_index_base.
418         (mapped_index::symbol_name_slot_invalid):
419         (mapped_index::symbol_name_at): Add override marker.
420         (mapped_index::symbol_name_count): New.
421         (struct mapped_debug_names): Inherit mapped_index_base.
422         (mapped_debug_names::symbol_name_at): New.
423         (mapped_debug_names::symbol_name_count): New.
424         (mapped_index::find_name_components_bounds): Rename to ...
425         (mapped_index_base::find_name_components_bounds): ... this.
426         (mapped_index::build_name_components): Rename to ...
427         (mapped_index_base::build_name_components): ... this.  Adjust to
428         use mapped_index_base::symbol_name_count and
429         mapped_index_base::symbol_name_slot_invalid.
430         (dw2_expand_symtabs_matching_symbol): Take a mapped_index_base
431         instead of a mapped_index.  Use
432         dw2_expand_symtabs_matching_symbol.
433
434 2017-12-08  Pedro Alves  <palves@redhat.com>
435
436         * dwarf2read.c (mapped_index::symbol_table_slot): New.
437         (mapped_index::address_table): Now a gdb::array_view of const
438         gdb_byte.
439         (mapped_index::symbol_table): Now a gdb::array_view of
440         symbol_table_slot.
441         (mapped_index::address_table_size)
442         (mapped_index::symbol_table_slots): Delete.
443         (create_addrmap_from_index): Adjust.
444         (find_slot_in_mapped_hash): Adjust.
445         (read_index_from_section): Adjust.
446         (dwarf2_read_index): Adjust.
447
448 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
449             Pedro Alves  <palves@redhat.com>
450
451         * defs.h (elf_sym_fns_debug_names): New declaration.
452         * dwarf2read.c: Include "hash_enum.h".
453         (mapped_debug_names): New.
454         (struct dwarf2_per_objfile): Add debug_names, debug_aranges and
455         debug_names_table.
456         (dwarf2_elf_names): Add ".debug_names" and ".debug_aranges".
457         (struct dwz_file): Add debug_names.
458         (dwarf2_per_objfile::locate_sections): Handle debug_names and
459         debug_aranges.
460         (locate_dwz_sections): Handle debug_names.
461         (create_signatured_type_table_from_debug_names)
462         (create_addrmap_from_aranges): New.
463         (dwarf2_read_index): Update function comment.
464         (dwarf5_augmentation): Moved up.
465         (read_debug_names_from_section, create_cus_from_debug_names_list)
466         (create_cus_from_debug_names, dwarf2_read_debug_names): New.
467         (dwarf5_djb_hash): Moved up.
468         (dw2_debug_names_iterator): New.
469         (read_indirect_string_at_offset): New declaration.
470         (mapped_debug_names::namei_to_name)
471         (dw2_debug_names_iterator::find_vec_in_debug_names)
472         (dw2_debug_names_iterator::next, dw2_debug_names_lookup_symbol)
473         (dw2_debug_names_dump, dw2_debug_names_expand_symtabs_for_function)
474         (dw2_debug_names_expand_symtabs_matching, dwarf2_debug_names_functions):
475         New.
476         (dwarf2_initialize_objfile): Return also elf_sym_fns_debug_names.
477         (debug_names::djb_hash): Rename it to dwarf5_djb_hash.
478         (debug_names::build): Update djb_hash caller.
479         (write_debug_names): Move out and rename augmentation to
480         dwarf5_augmentation.
481         * elfread.c (elf_sym_fns_debug_names): New.
482         * psymtab.h (dwarf2_debug_names_functions): New declaration.
483         * symfile.h (struct dwarf2_debug_sections): Add debug_names and
484         debug_aranges.
485         * xcoffread.c (dwarf2_xcoff_names): Add debug_names and debug_aranges.
486
487 2017-12-08  Pedro Alves  <palves@redhat.com>
488
489         * common/hash_enum.h: New file.
490
491 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
492
493         * dwarf2read.c (create_cu_from_index_list): New from ...
494         (create_cus_from_index_list): ... this function, use it.
495         (dw_expand_symtabs_matching_file_matcher)
496         (dw2_expand_symtabs_matching_one): New from ...
497         (dw2_expand_symtabs_matching): ... this function, use them.
498
499 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
500
501         * defs.h (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move here
502         declarations from elfread.c.
503         (dwarf2_initialize_objfile): Change return value.
504         * elfread.c (elf_sym_fns_lazy_psyms, elf_sym_fns_gdb_index): Move these
505         declarations to defs.h.
506         (elf_symfile_read): Adjust dwarf2_initialize_objfile caller.
507         * symfile.h (dwarf2_initialize_objfile): Change return type.
508
509 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
510             Pedro Alves  <palves@redhat.com>
511
512         * contrib/gdb-add-index.sh (index): Rename to ...
513         (index4): ... here.
514         (index5, debugstr, debugstrmerge, debugstrerr): New variables.
515         Support also .debug_names and .debug_str.
516         * dwarf2read.c: Include cmath, set, list.
517         (INDEX_SUFFIX): Rename to ...
518         (INDEX4_SUFFIX): ... here.
519         (INDEX5_SUFFIX, DEBUG_STR_SUFFIX): New.
520         (file_write(FILE *, const void *, size_t)): New.
521         (file_write(FILE *, const std::vector<Elem, Alloc> &)): New.
522         (data_buf::append_unsigned_leb128, data_buf::empty): New.
523         (data_buf::file_write): Use ::file_write.
524         (data_buf::c_str, dwarf5_djb_hash, debug_names)
525         (check_dwarf64_offsets): New.
526         (psyms_seen_size, write_gdbindex): New from
527         write_psymtabs_to_index code.
528         (dwarf5_gdb_augmentation, write_debug_names, assert_file_size)
529         (enum dw_index_kind): New.
530         (write_psymtabs_to_index): New parameter index_kind.  Support
531         filename_str and out_file_str.  Move code to write_gdbindex,
532         possibly call write_debug_names.
533         (save_gdb_index_command): New parameter -dwarf-5.
534         (_initialize_dwarf2_read): Document the new parameter -dwarf-5.
535
536 2017-12-08  Jan Kratochvil  <jan.kratochvil@redhat.com>
537             Pedro Alves  <palves@redhat.com>
538
539         * contrib/cc-with-tweaks.sh: Change interpreter to bash, incl. initial
540         comment.
541         (GDB_ADD_INDEX): New variable.
542         <$want_index>: Call $GDB_ADD_INDEX.
543
544 2017-12-08  Sergio Durigan Junior  <sergiodj@redhat.com>
545
546         * dtrace-probe.c (dtrace_process_dof_probe): Do not declare a new
547         "expression_up" inside the TRY block.
548
549 2017-12-08  Yao Qi  <yao.qi@linaro.org>
550
551         * breakpoint.c (update_watchpoint): Call
552         address_significant.
553
554 2017-12-08  Yao Qi  <yao.qi@linaro.org>
555
556         * breakpoint.c (adjust_breakpoint_address): Call
557         address_significant.
558
559 2017-12-08  Yao Qi  <yao.qi@linaro.org>
560
561         * aarch64-tdep.c (aarch64_gdbarch_init): Install gdbarch
562         significant_addr_bit.
563         * gdbarch.sh (significant_addr_bit): New.
564         * gdbarch.c, gdbarch.h: Re-generated.
565         * target.c (memory_xfer_partial): Call address_significant.
566         * utils.c (address_significant): New function.
567         * utils.h (address_significant): Declare.
568
569 2017-12-08  Tom Tromey  <tom@tromey.com>
570
571         * printcmd.c (ui_printf): Update.  Use std::vector.
572         * common/format.h (struct format_piece): Add constructor.
573         <string>: Now const.
574         (class format_pieces): New class.
575         (parse_format_string, free_format_pieces)
576         (free_format_pieces_cleanup): Remove.
577         * common/format.c (format_pieces::format_pieces): Rename from
578         parse_format_string.  Update.
579         (free_format_pieces, free_format_pieces_cleanup): Remove.
580         * breakpoint.c (parse_cmd_to_aexpr): Update.  Use std::vector.
581         * ax-gdb.h (gen_printf): Remove argument.
582         * ax-gdb.c (gen_printf): Remove "frags" argument.
583         (maint_agent_printf_command): Update.  Use std::vector.
584
585 2017-12-08  Yao Qi  <yao.qi@linaro.org>
586
587         PR breakpionts/22567
588         * linespec.c (minsym_found): Set sal.section.
589
590 2017-12-08  Andreas Arnez  <arnez@linux.vnet.ibm.com>
591
592         * configure.tgt (s390*-*-linux*): Add symfile-mem.o.
593
594 2017-12-07  Keith Seitz  <keiths@redhat.com>
595
596         PR breakpoints/22569
597         * location.c (string_to_explicit_location): When terminating
598         parsing early, break out of enclosing loop instead of returning.
599
600 2017-12-07  Keith Seitz  <keiths@redhat.com>
601
602         * NEWS (New commands): Mention set/show print type nested-type-limit.
603         * c-typeprint.c (c_type_print_base): Print out nested types.
604         * dwarf2read.c (struct typedef_field_list): Rename to ...
605         (struct decl_field_list): ... this.  Change all uses.
606         (struct field_info) <nested_types_list, nested_types_list_count>:
607         New fields.
608         (add_partial_symbol): Look for nested type definitions in C++, too.
609         (dwarf2_add_typedef): Rename to ...
610         (dwarf2_add_type_defn): ... this.
611         (type_can_define_types): New function.
612         Update assertion to use type_can_define_types.
613         Permit NULL for a field's name.
614         (process_structure_scope): Handle child DIEs of types that can
615         define types.
616         Copy the list of nested types into the type struct.
617         * gdbtypes.h (struct typedef_field): Rename to ...
618         (struct decl_field): ... this.  Change all uses.
619         [is_protected, is_private]: New fields.
620         (struct cplus_struct_type) <nested_types, nested_types_count>: New
621         fields.
622         (TYPE_NESTED_TYPES_ARRAY, TYPE_NESTED_TYPES_FIELD)
623         (TYPE_NESTED_TYPES_FIELD_NAME, TYPE_NESTED_TYPES_FIELD_TYPE)
624         (TYPE_NESTED_TYPES_COUNT, TYPE_NESTED_TYPES_FIELD_PROTECTED)
625         (TYPE_NESTED_TYPES_FIELD_PRIVATE): New macros.
626         * typeprint.c (type_print_raw_options, default_ptype_flags): Add
627         default value for print_nested_type_limit.
628         (print_nested_type_limit): New static variable.
629         (set_print_type_nested_types, show_print_type_nested_types): New
630         functions.
631         (_initialize_typeprint): Register new commands for set/show
632         `print-nested-type-limit'.
633         * typeprint.h (struct type_print_options) [print_nested_type_limit]:
634         New field.
635
636 2017-12-07  Tom Tromey  <tom@tromey.com>
637
638         PR breakpoints/22511:
639         * breakpoint.c (commands_command_1): Don't throw an exception when
640         no commands have been read.
641
642 2017-12-07  Adam Stylinski  <adam.stylinski@etegent.com>
643
644         PR c++/21222
645         * target-descriptions.c (print_c_tdesc::visit_pre): Change type of
646         range-for variable.
647
648 2017-12-07  Simon Marchi  <simon.marchi@ericsson.com>
649
650         * common/selftest.h (struct selftest): Add virtual destructor.
651
652 2017-12-07  Phil Muldoon  <pmuldoon@redhat.com>
653
654         * python/py-breakpoint.c (bppy_init): Use string_to_event_location
655         over basic location code. Implement explicit location keywords.
656         (bppy_init_validate_args): New function.
657         * NEWS: Document Python explicit breakpoint locations.
658
659 2017-12-07  Joel Brobecker  <brobecker@adacore.com>
660
661         * MAINTAINERS: Restore target entries for m68hc11-elf,
662         score-elf and xstormy16-elf, incorrectly removed in a previous
663         patch meant to only update the list of active maintainers.
664
665 2017-12-06  Pedro Alves  <palves@redhat.com>
666
667         * break-catch-syscall.c (insert_catch_syscall)
668         (remove_catch_syscall): Adjust to pass reference to
669         inf_data->syscalls_counts directly via gdb::array_view.
670         * fbsd-nat.c (fbsd_set_syscall_catchpoint): Adjust to use bool
671         and gdb::array_view.
672         * linux-nat.c (linux_child_set_syscall_catchpoint): Likewise.
673         * remote.c (remote_set_syscall_catchpoint): Likewise.
674         * target-debug.h (target_debug_print_bool): New.
675         (define target_debug_print_gdb_array_view_const_int): New.
676         * target-delegates.c: Regenerate.
677         * target.h (target_ops) <to_set_syscall_catchpoint>: Use
678         gdb::array_view and bool.
679         (target_set_syscall_catchpoint): Likewise.
680
681 2017-12-06  Simon Marchi  <simon.marchi@ericsson.com>
682
683         * break-catch-syscall.c (catch_syscall_completer): Get pointers
684         to syscall group strings after building the string vector.
685
686 2017-12-06  Pedro Alves  <palves@redhat.com>
687
688         * remote.c (remote_query_supported): Don't send "xmlRegisters=" if
689         "qXfer:features:read"" is disabled.
690         (remote_write_qxfer, remote_read_qxfer, remote_search_memory):
691         Check packet_config_support instead of packet->support directly.
692
693 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
694
695         * target-descriptions.c (struct tdesc_feature) <registers>: Use
696         tdesc_reg_up typedef.
697         (struct target_desc) <features>: Use tdesc_feature_up typedef.
698
699 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
700
701         * target-descriptions.c (struct tdesc_type): Use default
702         destructor.
703         <u>: Remove.
704         <accept>: Remove.
705         (struct tdesc_type_builtin): New.
706         (struct tdesc_type_vector): New.
707         (struct tdesc_type_with_fields): New.
708         (tdesc_predefined_types): Change type to tdesc_type_builtin[].
709         (tdesc_gdb_type): Remove.
710         (tdesc_register_type): Adjust.
711         (tdesc_create_vector): Create tdesc_type_vector.
712         (tdesc_create_struct): Create tdesc_type_with_fields.
713         (tdesc_set_struct_size): Change parameter type.
714         (tdesc_create_union): Create tdesc_type_with_fields.
715         (tdesc_create_flags): Likewise.
716         (tdesc_create_enum): Likewise.
717         (tdesc_add_field): Change parameter type.
718         (tdesc_add_typed_bitfield): Likewise.
719         (tdesc_add_bitfield): Likewise.
720         (tdesc_add_flag): Likewise.
721         (tdesc_add_enum_value): Likewise.
722         (print_c_tdesc) <visit>: Remove overload with tdesc_type
723         parameter, add overloads for tdesc_type_builtin,
724         tdesc_type_with_fields and tdesc_type_vector.
725         <m_printed_type>: Remove.
726         <m_printed_element_type, m_printed_type_with_fields>: Add.
727         * target-descriptions.h (tdesc_create_enum): Change return type.
728         (tdesc_add_typed_bitfield): Change parameter type.
729         (tdesc_add_enum_value): Change parameter type.
730         * xml-tdesc.c (struct tdesc_parsing_data) <current_type>: Change
731         type to tdesc_type_with_fields.
732         (tdesc_start_struct): Adjust.
733         (tdesc_start_flags): Adjust.
734         (tdesc_start_enum): Adjust.
735         (tdesc_start_field): Adjust.
736         * arch/tdesc.h (struct tdesc_type_builtin): Forward-declare.
737         (struct tdesc_type_vector): Forward-declare.
738         (struct tdesc_type_with_fields): Forward-declare.
739         (tdesc_create_struct): Change return type.
740         (tdesc_create_union): Likewise.
741         (tdesc_create_flags): Likewise.
742         (tdesc_add_field): Change parameter type.
743         (tdesc_set_struct_size): Likewise.
744         (tdesc_add_bitfield): Likewise.
745         (tdesc_add_flag): Likewise.
746         * features: Re-generate C files.
747
748 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
749
750         * target-descriptions.c (tdesc_arch_reg): Remove typedef.
751         (struct tdesc_arch_reg): Add constructor.
752         (DEF_VEC_O (tdesc_arch_reg)): Remove.
753         (struct tdesc_arch_data): Initialize fields.
754         <arch_regs>: Change type to std::vector.
755         (target_find_description): Adjust.
756         (tdesc_find_type): Adjust.
757         (tdesc_data_init): Call tdesc_arch_data constructor.
758         (tdesc_data_alloc): Allocate tdesc_arch_data with new.
759         (tdesc_data_cleanup): Free data with delete.
760         (tdesc_numbered_register): Adjust.
761         (tdesc_find_arch_register): Adjust.
762         (tdesc_use_registers): Adjust.
763
764 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
765
766         * target-descriptions.c (tdesc_type_field): Remove typedef.
767         (DEF_VEC_O (tdesc_type_field)): Remove.
768         (struct tdesc_type_field): Add constructor.
769         <name>: Change type to std::string.
770         (struct tdesc_type) <tdesc_type>: Instantiate vector if the type
771         kind uses it.
772         <~tdesc_type>: Destroy vector if the type kind uses it.
773         <u::u::fields>: Change type to std::vector.
774         (tdesc_gdb_type): Adjust.
775         (tdesc_add_field): Adjust.
776         (tdesc_add_typed_bitfield): Adjust.
777         (tdesc_add_field): Adjust.
778         (tdesc_add_enum_value): Adjust.
779         (class print_c_tdesc) <visit>: Adjust.
780
781 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
782
783         * target-descriptions.c (struct tdesc_type) <name>: Change type
784         to std::string.
785         <~tdesc_type>: Don't manually free name.
786         <operator==>: Adjust.
787         (tdesc_named_type): Adjust.
788         (tdesc_find_type): Adjust.
789         (tdesc_gdb_type): Adjust.
790         (class print_c_tdesc) <visit>: Adjust.
791
792 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
793
794         * target-descriptions.c (tdesc_type_p): Remove typedef.
795         (DEF_VEC_P (tdesc_type_p)): Remove.
796         (struct tdesc_feature) <types>: Change type to std::vector.
797         <~tdesc_feature>: Replace with default implementation.
798         <accept>: Adjust.
799         (tdesc_named_type): Adjust.
800         (tdesc_create_vector): Adjust.
801         (tdesc_create_struct): Adjust.
802         (tdesc_create_union): Adjust.
803         (tdesc_create_flags): Adjust.
804         (tdesc_create_enum): Adjust.
805
806 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
807
808         * target-descriptions.c (struct tdesc_reg) <tdesc_reg>: Change
809         type of name_ parameter, adjust to std::string change.
810         <name, group, type>: Change type to std::string.
811         <~tdesc_reg>: Replace with default implementation.
812         <operator==>: Adjust.
813         (tdesc_find_register_early): Adjust.
814         (tdesc_register_name): Adjust.
815         (tdesc_register_type): Adjust.
816         (tdesc_register_in_reggroup_p): Adjust.
817         (class print_c_tdesc) <visit>: Adjust.
818         (class print_c_feature) <visit>: Adjust.
819         * features/arc-arcompact.c: Re-generate.
820         * features/arc-v2.c: Re-generate.
821
822 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
823
824         * target-descriptions.c (tdesc_reg_p): Remove typedef.
825         (DEF_VEC_P (tdesc_reg_p)): Remove.
826         (struct tdesc_feature) <registers>: Change type to std::vector.
827         <~tdesc_feature>: Don't manually free registers.
828         <accept>: Adjust.
829         <operator==>: Adjust.
830         (tdesc_has_registers): Adjust.
831         (tdesc_find_register_early): Adjust.
832         (tdesc_use_registers): Adjust.
833         (tdesc_create_reg): Adjust.
834
835 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
836
837         * target-descriptions.c (tdesc_feature) <name>: Change type to
838         std::string.
839         <~tdesc_feature>: Don't manually free name.
840         <operator==>: Adjust.
841         (tdesc_find_feature): Adjust.
842         (tdesc_feature_name): Adjust.
843         (class print_c_tdesc) <visit_pre>: Adjust.
844         (class print_c_feature) <visit_pre>: Adjust.
845
846 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
847
848         * target-descriptions.c (tdesc_feature_p): Remove typedef.
849         (DEF_VEC_P (tdesc_feature_p)): Remove.
850         (struct target_desc) <features>: Change type to std::vector.
851         <~target_desc>: Replace with default implementation.
852         <accept>: Adjust.
853         <operator==>: Adjust.
854         (tdesc_has_registers): Adjust.
855         (tdesc_find_feature): Adjust.
856         (tdesc_use_registers): Adjust.
857         (tdesc_create_feature): Adjust.
858
859 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
860
861         * target-descriptions.c (arch_p): Remove typedef.
862         (DEF_VEC_P (arch_p)): Remove.
863         (struct target_desc) <compatible>: Change type to std::vector.
864         <~target_desc>: Don't manually free compatible.
865         (tdesc_compatible_p): Adjust.
866         (tdesc_add_compatible): Adjust.
867         (class print_c_tdesc) <visit_pre>: Adjust.
868
869 2017-12-05  Simon Marchi  <simon.marchi@polymtl.ca>
870
871         * target-descriptions.c (property_s): Remove typedef.
872         (DEF_VEC_O (property_s)): Remove.
873         (struct target_desc) <properties>: Make an std::vector.
874         <~target_desc>: Don't manually free properties.
875         (tdesc_property): Adjust.
876         (set_tdesc_property): Adjust.
877         (class print_c_tdesc) <visit_pre>: Adjust.
878
879 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
880
881         * common/gdb_assert.h (gdb_static_assert): Redefine using
882         static_assert.
883
884 2017-12-05  Simon Marchi  <simon.marchi@ericsson.com>
885
886         * ada-lang.c (ada_collect_symbol_completion_matches): Remove
887         unused variables.
888         (ada_is_redundant_range_encoding): Likewise.
889         * ada-varobj.c (ada_varobj_get_value_of_array_variable):
890         Likewise.
891         * alpha-tdep.c (alpha_software_single_step): Likewise.
892         * arm-tdep.c (_initialize_arm_tdep): Likewise.
893         * auto-load.c (info_auto_load_cmd): Likewise.
894         * break-catch-syscall.c (insert_catch_syscall): Likewise.
895         (remove_catch_syscall): Likewise.
896         * breakpoint.c (condition_completer): Likewise.
897         (clear_command): Likewise.
898         (update_breakpoint_locations): Likewise.
899         * btrace.c (btrace_disable): Likewise.
900         (btrace_teardown): Likewise.
901         (btrace_maint_update_pt_packets): Likewise.
902         (maint_btrace_clear_cmd): Likewise.
903         * cli/cli-decode.c (lookup_cmd_1): Likewise.
904         (lookup_cmd_composition): Likewise.
905         * cli/cli-dump.c (scan_filename): Likewise.
906         (restore_command): Likewise.
907         * compile/compile-loc2c.c (compute_stack_depth): Likewise.
908         * compile/compile-object-load.c (compile_object_load): Likewise.
909         * compile/compile-object-run.c (compile_object_run): Likewise.
910         * compile/compile.c (compile_to_object): Likewise.
911         * completer.c (filename_completer): Likewise.
912         (complete_files_symbols): Likewise.
913         (complete_expression): Likewise.
914         * corelow.c (core_open): Likewise.
915         * ctf.c (ctf_start): Likewise.
916         (ctf_write_status): Likewise.
917         (ctf_write_uploaded_tsv): Likewise.
918         (ctf_write_definition_end): Likewise.
919         (ctf_open_dir): Likewise.
920         (ctf_xfer_partial): Likewise.
921         (ctf_trace_find): Likewise.
922         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
923         Likewise.
924         * dwarf2loc.c (allocate_piece_closure): Likewise.
925         (indirect_pieced_value): Likewise.
926         (dwarf2_evaluate_loc_desc_full): Likewise.
927         * dwarf2read.c (dw2_expand_marked_cus): Likewise.
928         (dw2_expand_symtabs_matching): Likewise.
929         (dw2_map_symbol_filenames): Likewise.
930         (read_and_check_comp_unit_head): Likewise.
931         (read_cutu_die_from_dwo): Likewise.
932         (lookup_dwo_unit): Likewise.
933         (read_comp_units_from_section): Likewise.
934         (dwarf2_compute_name): Likewise.
935         (handle_DW_AT_stmt_list): Likewise.
936         (create_cus_hash_table): Likewise.
937         (create_dwp_v2_section): Likewise.
938         (dwarf2_rnglists_process): Likewise.
939         (dwarf2_ranges_process): Likewise.
940         (dwarf2_record_block_ranges): Likewise.
941         (is_vtable_name): Likewise.
942         (read_formatted_entries): Likewise.
943         (skip_form_bytes): Likewise.
944         * elfread.c (elf_symtab_read): Likewise.
945         * exec.c (exec_file_command): Likewise.
946         * f-valprint.c (f_val_print): Likewise.
947         (info_common_command_for_block): Likewise.
948         * guile/guile.c (initialize_scheme_side): Likewise.
949         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Likewise.
950         * guile/scm-cmd.c (cmdscm_completer): Likewise.
951         (gdbscm_register_command_x): Likewise.
952         * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
953         * guile/scm-param.c (gdbscm_parameter_value): Likewise.
954         * guile/scm-ports.c (file_port_magic): Likewise.
955         * guile/scm-pretty-print.c (ppscm_search_pp_list): Likewise.
956         (ppscm_pretty_print_one_value): Likewise.
957         (ppscm_print_children): Likewise.
958         * guile/scm-string.c (gdbscm_string_to_argv): Likewise.
959         * guile/scm-symtab.c (gdbscm_sal_symtab): Likewise.
960         * guile/scm-type.c (gdbscm_type_next_field_x): Likewise.
961         * guile/scm-utils.c (gdbscm_parse_function_args): Likewise.
962         * i386-tdep.c (i386_register_reggroup_p): Likewise.
963         * infcmd.c (run_command_1): Likewise.
964         (until_next_fsm_clean_up): Likewise.
965         * linespec.c (linespec_complete): Likewise.
966         (find_label_symbols): Likewise.
967         * m2-valprint.c (m2_val_print): Likewise.
968         * memattr.c (require_user_regions): Likewise.
969         (lookup_mem_region): Likewise.
970         (disable_mem_command): Likewise.
971         (mem_delete): Likewise.
972         * mep-tdep.c (mep_register_name): Likewise.
973         (mep_analyze_prologue): Likewise.
974         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Likewise.
975         * mi/mi-interp.c (mi_on_sync_execution_done): Likewise.
976         * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
977         * microblaze-linux-tdep.c (microblaze_linux_init_abi): Likewise.
978         * minidebug.c (lzma_open): Likewise.
979         * minsyms.c (lookup_minimal_symbol): Likewise.
980         * mips-linux-tdep.c (mips64_fill_fpregset): Likewise.
981         * mips-tdep.c (mips_stub_frame_sniffer): Likewise.
982         (mips_o64_return_value): Likewise.
983         (mips_single_step_through_delay): Likewise.
984         (_initialize_mips_tdep): Likewise.
985         * nios2-tdep.c (nios2_push_dummy_call): Likewise.
986         (nios2_software_single_step): Likewise.
987         * parse.c (find_minsym_type_and_address): Likewise.
988         * psymtab.c (psym_relocate): Likewise.
989         * python/py-breakpoint.c (bppy_get_commands): Likewise.
990         (gdbpy_breakpoint_modified): Likewise.
991         * python/py-infevents.c (create_inferior_call_event_object):
992         Likewise.
993         * python/py-record-btrace.c (btpy_list_item): Likewise.
994         * python/py-type.c (typy_str): Likewise.
995         * python/py-value.c (valpy_call): Likewise.
996         * python/python.c (do_start_initialization): Likewise.
997         * record-btrace.c (record_btrace_insn_history_range): Likewise.
998         (record_btrace_call_history_range): Likewise.
999         (record_btrace_record_method): Likewise.
1000         (record_btrace_xfer_partial): Likewise.
1001         (btrace_get_frame_function): Likewise.
1002         * record-full.c (record_full_open): Likewise.
1003         * record.c (get_context_size): Likewise.
1004         * registry.h (DEFINE_REGISTRY): Likewise.
1005         * remote-fileio.c (remote_fileio_request): Likewise.
1006         * remote.c (remote_update_thread_list): Likewise.
1007         (remote_check_symbols): Likewise.
1008         (remote_commit_resume): Likewise.
1009         (remote_interrupt): Likewise.
1010         (remote_insert_breakpoint): Likewise.
1011         (compare_sections_command): Likewise.
1012         * rust-exp.y (super_name): Likewise.
1013         (lex_string): Likewise.
1014         (convert_ast_to_type): Likewise.
1015         (convert_ast_to_expression): Likewise.
1016         * rust-lang.c (rust_print_struct_def): Likewise.
1017         (rust_print_type): Likewise.
1018         (rust_evaluate_subexp): Likewise.
1019         * rx-tdep.c (rx_register_type): Likewise.
1020         * ser-event.c (serial_event_clear): Likewise.
1021         * serial.c (serial_open): Likewise.
1022         * spu-tdep.c (spu_overlay_new_objfile): Likewise.
1023         * symfile.c (section_is_overlay): Likewise.
1024         (overlay_unmapped_address): Likewise.
1025         (overlay_mapped_address): Likewise.
1026         (simple_overlay_update_1): Likewise.
1027         (simple_overlay_update): Likewise.
1028         * symtab.c (symbol_find_demangled_name): Likewise.
1029         (search_symbols): Likewise.
1030         * target-descriptions.c (tdesc_predefined_type): Likewise.
1031         * target.c (target_commit_resume): Likewise.
1032         * thread.c (print_selected_thread_frame): Likewise.
1033         * top.c (new_ui_command): Likewise.
1034         (gdb_readline_no_editing): Likewise.
1035         * tracefile-tfile.c (tfile_open): Likewise.
1036         * tracepoint.c (create_tsv_from_upload): Likewise.
1037         * utils.c (quit): Likewise.
1038         (defaulted_query): Likewise.
1039         * valarith.c (value_concat): Likewise.
1040         * xml-syscall.c (xml_list_syscalls_by_group): Likewise.
1041         * xml-tdesc.c (target_fetch_description_xml): Likewise.
1042         * xtensa-tdep.c (xtensa_pseudo_register_read): Likewise.
1043         (xtensa_pseudo_register_write): Likewise.
1044
1045 2017-12-04  Tom Tromey  <tom@tromey.com>
1046
1047         * NEWS: Mention Rust trait object inspection.
1048
1049 2017-12-04  Pedro Alves  <palves@redhat.com>
1050
1051         PR gdb/22499
1052         * amd64-tdep.c (amd64_insn::rex_offset): Rename to...
1053         (amd64_insn::enc_prefix_offset): ... this, and tweak comment.
1054         (vex2_prefix_p, vex3_prefix_p): New functions.
1055         (amd64_get_insn_details): Adjust to rename.  Also skip VEX2 and
1056         VEX3 prefixes.
1057         (fixup_riprel): Set VEX3.!B.
1058
1059 2017-12-03  Simon Marchi  <simon.marchi@ericsson.com>
1060
1061         * target.h (mem_region_vector): Remove.
1062         (struct target_ops) <to_memory_map>: Change return type to
1063         std::vector<mem_region>.
1064         * target-debug.h (target_debug_print_mem_region_vector): Rename
1065         to ...
1066         (target_debug_print_std_vector_mem_region): ... this.
1067         * target-delegates.c: Re-generate.
1068
1069 2017-12-03  Pedro Alves  <palves@redhat.com>
1070
1071         * make-target-delegates (munge_type): Also munge '<', '>', and
1072         ':'.  Avoid double underscores in identifiers, and trailing
1073         underscores.
1074         * target-debug.h
1075         (target_debug_print_VEC_static_tracepoint_marker_p__p): Rename to
1076         ...
1077         (target_debug_print_VEC_static_tracepoint_marker_p_p): ... this.
1078         * target-delegates.c: Regenerate.
1079
1080 2017-12-02  Simon Marchi  <simon.marchi@polymtl.ca>
1081
1082         * common/poison.h (XDELETE): Fix typo.
1083
1084 2017-12-01  Andrew Cagney  <cagney@redhat.com>
1085             Joel Brobecker  <brobecker@adacore.com>
1086             Sergio Durigan Junior  <sergiodj@redhat.com>
1087
1088         * NEWS (Changes since GDB 8.0: Mention new '--readnever'
1089         feature.
1090         * coffread.c (coff_symfile_read): Do not map over sections with
1091         'coff_locate_sections' if readnever is on.
1092         * dwarf2read.c (dwarf2_has_info): Return 0 if
1093         readnever is on.
1094         * elfread.c (elf_symfile_read): Do not map over sections with
1095         'elf_locate_sections' if readnever is on.
1096         * main.c (validate_readnow_readnever): New function.
1097         (captured_main_1): Add support for --readnever.
1098         (print_gdb_help): Document --readnever.
1099         * objfile-flags.h (enum objfile_flag) <OBJF_READNEVER>: New
1100         flag.
1101         * symfile.c (readnever_symbol_files): New global.
1102         (symbol_file_add_with_addrs): Set 'OBJF_READNEVER' when
1103         'READNEVER_SYMBOL_FILES' is set.
1104         (validate_readnow_readnever): New function.
1105         (symbol_file_command): Handle '-readnever' option.
1106         Call 'validate_readnow_readnever'.
1107         (add_symbol_file_command): Handle '-readnever' option.
1108         Call 'validate_readnow_readnever'.
1109         (_initialize_symfile): Document new '-readnever' option for
1110         both 'symbol-file' and 'add-symbol-file' commands.
1111         * top.h (readnever_symbol_files): New extern global.
1112         * xcoffread.c (xcoff_initial_scan): Do not read debug
1113         information if readnever is on.
1114
1115 2017-12-01  Sergio Durigan Junior  <sergiodj@redhat.com>
1116
1117         * symfile.c (symbol_file_command): Call
1118         'symbol_file_add_main_1' only after processing all command
1119         line options.
1120         (add_symbol_file_command): Modify logic to make arguments
1121         position-independent.
1122
1123 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
1124
1125         * ada-lang.c (symbol_list_obstack): Delete.
1126         (resolve_subexp): Make sure "candidates" gets xfree'ed.
1127         (ada_lookup_symbol_list_worker): Remove the limitation that
1128         the result is only good until the next call, now making it
1129         the responsibility of the caller to free the result when no
1130         longer needed.  Adjust the function's intro comment accordingly.
1131         (ada_lookup_symbol_list): Adjust the function's intro comment.
1132         (ada_iterate_over_symbols): Make sure "results" gets xfree'ed.
1133         (ada_lookup_encoded_symbol, get_var_value): Likewise.
1134         (_initialize_ada_language): Remove symbol_list_obstack
1135         initialization.
1136         * ada-exp.y (block_lookup): Make sure "syms" gets xfree'ed.
1137         (write_var_or_type, write_name_assoc): Likewise.
1138
1139 2017-12-01  Tom Tromey  <tom@tromey.com>
1140
1141         * Makefile.in (all_deps_files): New variable.
1142         Include .Po files using all_deps_files.
1143
1144 2017-12-01  Joel Brobecker  <brobecker@adacore.com>
1145
1146         * MAINTAINERS: Update list of maintainers, moving those who
1147         stepped down or became inactive to the "Past Maintainers"
1148         section.
1149
1150 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1151
1152         * configure.ac Don't check for sys/fault.h, sys/syscall.h,
1153         sys/proc.h.
1154         (NEW_PROC_API): Remove.
1155         (prsysent_t, pr_sigset_t, pr_sigaction64_t, pr_siginfo64_t):
1156         Likewise.
1157         * common/common.m4 (GDB_AC_COMMON): Don't check for sys/syscall.h.
1158         * configure: Regenerate.
1159         * config.in: Regenerate.
1160         * gdbserver/configure: Regenerate.
1161         * gdbserver/config.in: Regenerate.
1162
1163         * i386-sol2-nat.c (_initialize_amd64_sol2_nat): Remove
1164         NEW_PROC_API test.
1165         * sparc-sol2-nat.c (_initialize_sparc_sol2_nat): Likewise.
1166
1167         * linux-btrace.c: Remove HAVE_SYS_SYSCALL_H test.
1168
1169         * proc-api.c: Remove !NEW_PROC_API support.
1170         Remove HAVE_SYS_PROC_H and HAVE_SYS_USER_H tests.
1171         Remove tests for macros always defined on Solaris.
1172         * proc-events.c: Remove !NEW_PROC_API support.
1173         Remove Remove HAVE_SYS_SYSCALL_H, HAVE_SYS_PROC_H and
1174         HAVE_SYS_USER_H tests.
1175         (init_syscall_table): Remove non-Solaris syscalls.
1176         Remove tests for syscalls present on all Solaris versions.
1177         Add missing Solaris 10+ syscalls.
1178         (signal_table): Remove non-Solaris signals.
1179         Remove tests for signals present on all Solaris versions.
1180         (fault_table): Remove non-Solaris faults.
1181         Remove tests for faults present on all Solaris versions.
1182         * proc-flags.c: Remove !NEW_PROC_API support.
1183         (pr_flag_table): Remove non-Solaris and pre-Solaris 7 comments.
1184         Remove non-Solaris flags.
1185         * proc-why.c: Remove !NEW_PROC_API support.
1186         (pr_why_table): Remove meaningless comments.
1187         Remove tests for reasons present on all Solaris versions.
1188         Remove OSF/1 cases.
1189         (proc_prettyfprint_why): Likewise.
1190
1191         * procfs.c: Remove !NEW_PROC_API and DYNAMIC_SYSCALLS support.
1192         Remove HAVE_SYS_FAULT_H and HAVE_SYS_SYSCALL_H tests.
1193         Remove WA_READ test, IRIX watchpoint support.
1194         (gdb_sigset_t, gdb_sigaction_t, gdb_siginfo_t): Replace by base
1195         types.  Change users.
1196         (gdb_praddset, gdb_prdelset, gdb_premptysysset, gdb_praddsysset)
1197         (gdb_prdelset, gdb_pr_issyssetmember): Replace by base macros.
1198         Change callers.
1199         Remove CTL_PROC_NAME_FMT tests.
1200         (gdb_prstatus_t, gdb_lwpstatus_t): Replace by base types.  Change
1201         users.
1202         (sysset_t_size): Remove.  Use sizeof (sysset_t) in callers.
1203         Remove PROCFS_DONT_PIOCSSIG_CURSIG support.
1204         (proc_modify_flag): Replace GDBRESET by PCUNSET.
1205         Remove PR_ASYNC, PR_KLC tests.
1206         (proc_unset_inherit_on_fork): Remove PR_ASYNC test.
1207         (proc_parent_pid): Remove PCWATCH etc. tests.
1208         (proc_set_watchpoint): Remove !PCWATCH && !PIOCSWATCH support.
1209         Remove PCAGENT test.
1210         (proc_get_nthreads) [PIOCNTHR && PIOCTLIST]: Remove.
1211         Remove SYS_lwpcreate || SYS_lwp_create test.
1212         (proc_get_current_thread): Likewise.
1213         [PIOCNTHR && PIOCTLIST]: Remove.
1214         [PIOCLSTATUS]: Remove.
1215         (procfs_debug_inferior): Remove non-Solaris cases, conditionals.
1216         [PRFS_STOPEXEC]: Remove.
1217         (syscall_is_lwp_exit): Remove non-Solaris cases, conditionals.
1218         (syscall_is_exit): Likewise.
1219         (syscall_is_exec): Likewise.
1220         (syscall_is_lwp_create): Likewise.
1221         Remove SYS_syssgi support.
1222         (procfs_wait): Remove PR_ASYNC, !PIOCSSPCACT tests.
1223         [SYS_syssgi]: Remove.
1224         Remove non-Solaris cases, conditionals.
1225         (unconditionally_kill_inferior) [PROCFS_NEED_PIOCSSIG_FOR_KILL]:
1226         Remove.
1227         (procfs_init_inferior) [SYS_syssgi]: Remove.
1228         (procfs_set_exec_trap) [PRFS_STOPEXEC]: Remove.
1229         (procfs_inferior_created) [SYS_syssgi]: Remove.
1230         (procfs_set_watchpoint): Remove !AIX5 test.
1231         (procfs_stopped_by_watchpoint): Remove FLTWATCH test, FLTKWATCH
1232         case.
1233         (mappingflags) [MA_PHYS]: Remove.
1234         (info_mappings_callback): Remove PCAGENT test.
1235         Remove PIOCOPENLWP || PCAGENT test.
1236
1237 2017-11-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1238
1239         * sol-thread.c (info_solthreads): Constify args.
1240         Cast args to void *.
1241
1242 2017-11-29  John Baldwin  <jhb@FreeBSD.org>
1243
1244         * target-float.c [HAVE_LIBMPFR]: Define MPFR_USE_INTMAX_T.
1245
1246 2017-11-29  Joel Brobecker  <brobecker@adacore.com>
1247
1248         * ada-lang.c (to_fixed_range_type): Make sure that the size
1249         of the range type being returned is the same as the size
1250         of the range type being fixed.
1251
1252 2017-11-29  Pedro Alves  <palves@redhat.com>
1253
1254         PR c++/19436
1255         * NEWS: Mention setting breakpoints on functions with C++ ABI
1256         tags.
1257         * completer.h (completion_match_for_lcd) <match,
1258         mark_ignored_range>: New methods.
1259         <finish>: Consider ignored ranges.
1260         <clear>: Clear ignored ranges.
1261         <m_ignored_ranges, m_finished_storage>: New fields.
1262         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1263         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1264         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1265         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1266         * language.c (default_symbol_name_matcher): Pass the
1267         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1268         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1269         * utils.c (skip_abi_tag): New function.
1270         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1271         Handle ABI tags.
1272         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1273         parameter.
1274
1275 2017-11-29  Pedro Alves  <palves@redhat.com>
1276
1277         PR c++/19436
1278         * NEWS: Mention setting breakpoints on functions with C++ ABI
1279         tags.
1280         * completer.h (completion_match_for_lcd) <match,
1281         mark_ignored_range>: New methods.
1282         <finish>: Consider ignored ranges.
1283         <clear>: Clear ignored ranges.
1284         <m_ignored_ranges, m_finished_storage>: New fields.
1285         * cp-support.c (cp_search_name_hash): Ignore ABI tags.
1286         (cp_symbol_name_matches_1, cp_fq_symbol_name_matches): Pass the
1287         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1288         (test_cp_symbol_name_cmp): Add [abi:...] tags unit tests.
1289         * language.c (default_symbol_name_matcher): Pass the
1290         completion_match_for_lcd pointer to strncmp_iw_with_mode.
1291         * linespec.c (linespec_lexer_lex_string): Don't tokenize ABI tags.
1292         * utils.c (skip_abi_tag): New function.
1293         (strncmp_iw_with_mode): Add completion_match_for_lcd parameter.
1294         Handle ABI tags.
1295         * utils.h (strncmp_iw_with_mode): Add completion_match_for_lcd
1296         parameter.
1297
1298 2017-11-29  Pedro Alves  <palves@redhat.com>
1299
1300         * NEWS: Mention that breakpoints on C++ functions are now set on
1301         on all namespaces/classes by default, and mention "break
1302         -qualified".
1303         * ax-gdb.c (agent_command_1): Adjust to pass a
1304         symbol_name_match_type to new_linespec_location.
1305         * breakpoint.c (parse_breakpoint_sals): Adjust to
1306         get_linespec_location's return type change.
1307         (strace_marker_create_sals_from_location): Adjust to pass a
1308         symbol_name_match_type to new_linespec_location.
1309         (strace_marker_decode_location): Adjust to get_linespec_location's
1310         return type change.
1311         (strace_command): Adjust to pass a symbol_name_match_type to
1312         new_linespec_location.
1313         (LOCATION_HELP_STRING): Add paragraph about wildmatching, and
1314         mention "-qualified".
1315         * c-lang.c (cplus_language_defn): Install cp_search_name_hash.
1316         * completer.c (explicit_location_match_type::MATCH_QUALIFIED): New
1317         enumerator.
1318         (complete_address_and_linespec_locations): New parameter
1319         'match_type'.  Pass it down.
1320         (explicit_options): Add "-qualified".
1321         (collect_explicit_location_matches): Pass the requested match type
1322         to the linespec completers.  Handle MATCH_QUALIFIED.
1323         (location_completer): Handle "-qualified" combined with linespecs.
1324         * cp-support.c (cp_search_name_hash): New.
1325         (cp_symbol_name_matches_1): Implement wild matching for C++.
1326         (cp_fq_symbol_name_matches): Reimplement.
1327         (cp_get_symbol_name_matcher): Return different matchers depending
1328         on the lookup name's match type.
1329         (selftests::test_cp_symbol_name_matches): Add wild matching tests.
1330         * cp-support.h (cp_search_name_hash): New declaration.
1331         * dwarf2read.c
1332         (selftests::dw2_expand_symtabs_matching::test_symbols): Add
1333         symbols.
1334         (test_dw2_expand_symtabs_matching_symbol): Add wild matching
1335         tests.
1336         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Adjust to
1337         pass a symbol_name_match_type to new_linespec_location.
1338         * linespec.c (linespec_parse_basic): Lookup function symbols using
1339         the parser's symbol name match type.
1340         (convert_explicit_location_to_linespec): New
1341         symbol_name_match_type parameter.  Pass it down to
1342         find_linespec_symbols.
1343         (convert_explicit_location_to_sals): Pass the location's name
1344         match type to convert_explicit_location_to_linespec.
1345         (parse_linespec): New match_type parameter.  Save it in the
1346         parser.
1347         (linespec_parser_new): Default to symbol_name_match_type::WILD.
1348         (linespec_complete_function): New symbol_name_match_type
1349         parameter.  Use it.
1350         (complete_linespec_component): Pass down the parser's recorded
1351         name match type.
1352         (linespec_complete_label): New symbol_name_match_type parameter.
1353         Use it.
1354         (linespec_complete): New symbol_name_match_type parameter.  Save
1355         it in the parser and pass it down.  Adjust to
1356         get_linespec_location's prototype change.
1357         (find_function_symbols, find_linespec_symbols): New
1358         symbol_name_match_type parameter.  Pass it down instead of
1359         assuming symbol_name_match_type::WILD.
1360         * linespec.h (linespec_complete, linespec_complete_function)
1361         (linespec_complete_label): New symbol_name_match_type parameter.
1362         * location.c (event_location::linespec_location): Now a struct
1363         linespec_location.
1364         (EL_LINESPEC): Adjust.
1365         (initialize_explicit_location): Default to
1366         symbol_name_match_type::WILD.
1367         (new_linespec_location): New symbol_name_match_type parameter.
1368         Record it in the location.
1369         (get_linespec_location): Now returns a struct linespec_location.
1370         (new_explicit_location): Also copy func_name_match_type.
1371         (explicit_to_string_internal)
1372         (string_to_explicit_location): Handle "-qualified".
1373         (copy_event_location): Adjust to LINESPEC_LOCATION type change.
1374         Copy symbol_name_match_type fields.
1375         (event_location_deleter::operator()): Adjust to LINESPEC_LOCATION
1376         type change.
1377         (event_location_to_string): Adjust to LINESPEC_LOCATION type
1378         change.  Handle "-qualfied".
1379         (string_to_explicit_location): Handle "-qualified".
1380         (string_to_event_location_basic): New symbol_name_match_type
1381         parameter.  Pass it down.
1382         (string_to_event_location): Handle "-qualified".
1383         * location.h (struct linespec_location): New.
1384         (explicit_location::func_name_match_type): New field.
1385         (new_linespec_location): Now returns a const linespec_location *.
1386         (string_to_event_location_basic): New symbol_name_match_type
1387         parameter.
1388         (explicit_completion_info::saw_explicit_location_option): New
1389         field.
1390         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Adjust to pass a
1391         symbol_name_match_type to new_linespec_location.
1392         * python/py-breakpoint.c (bppy_init): Likewise.
1393         * python/python.c (gdbpy_decode_line): Likewise.
1394
1395 2017-11-29  Pedro Alves  <palves@redhat.com>
1396
1397         * ada-lang.c (ada_lookup_name_info::matches): Change type of
1398         parameter from completion_match to completion_match_result.
1399         Adjust.
1400         (do_wild_match, do_full_match, ada_symbol_name_matches): Likewise.
1401         * completer.c (completion_tracker::maybe_add_completion): Add
1402         match_for_lcd parameter and use it.
1403         (completion_tracker::add_completion): Likewise.
1404         * completer.h (class completion_match_for_lcd): New class.
1405         (completion_match_result::match_for_lcd): New field.
1406         (completion_match_result::set_match): New method.
1407         (completion_tracker): Add comments.
1408         (completion_tracker::add_completion): Add match_for_lcd parameter.
1409         (completion_tracker::reset_completion_match_result): Reset
1410         match_for_lcd too.
1411         (completion_tracker::maybe_add_completion): Add match_for_lcd
1412         parameter.
1413         (completion_tracker::m_lowest_common_denominator_unique): Extend
1414         comments.
1415         * cp-support.c (cp_symbol_name_matches_1)
1416         (cp_fq_symbol_name_matches): Change type of parameter from
1417         completion_match to completion_match_result.  Adjust.
1418         * language.c (default_symbol_name_matcher): Change type of
1419         parameter from completion_match to completion_match_result.
1420         Adjust.
1421         * language.h (completion_match_for_lcd): Forward declare.
1422         (default_symbol_name_matcher): Change type of parameter from
1423         completion_match to completion_match_result.
1424         * symtab.c (compare_symbol_name): Adjust.
1425         (completion_list_add_name): Pass the match_for_lcd to the tracker.
1426         * symtab.h (ada_lookup_name_info::matches): Change type of
1427         parameter from completion_match to completion_match_result.
1428         (symbol_name_matcher_ftype): Likewise, and update comments.
1429
1430 2017-11-29  Pedro Alves  <palves@redhat.com>
1431
1432         * linespec.c (minsym_found, add_minsym): Use msymbol_is_function.
1433         * minsyms.c (msymbol_is_text): Delete.
1434         (msymbol_is_function): New function.
1435         * minsyms.h (msymbol_is_text): Delete.
1436         (msymbol_is_function): New declaration.
1437         * symtab.c (find_function_alias_target): Use msymbol_is_function.
1438
1439 2017-11-29  Tom Tromey  <tom@tromey.com>
1440
1441         * Makefile.in (distclean): Handle the case where rmdir fails.
1442
1443 2017-11-29  Tom Tromey  <tom@tromey.com>
1444
1445         * symfile.c (_initialize_symfile): Update usage text for
1446         add-symbol-file, symbol-file, load.
1447
1448 2017-11-29  Tom Tromey  <tom@tromey.com>
1449
1450         * symfile.c (add_symbol_file_command): Error if some arguments to
1451         -s are missing.  Change unrecognized-argument error message.
1452         (_initialize_symfile): Fix usage text for add-symbol-file.
1453
1454 2017-11-27  Tom Tromey  <tom@tromey.com>
1455
1456         * Makefile.in (REMOTE_OBS): Remove.
1457         (SFILES): Remove remote sources.
1458         (COMMON_SFILES): Add remote sources.
1459         (ALLDEPFILES): Remove dcache.c.
1460
1461 2017-11-27  Tom Tromey  <tom@tromey.com>
1462
1463         * Makefile.in (SUBDIR_TARGET_SRCS, SUBDIR_TARGET_OBS): New
1464         variables.
1465         (SFILES): Use SUBDIR_TARGET_SRCS.
1466         (COMMON_OBS): Use SUBDIR_TARGET_OBS.  Remove waitstatus.o.
1467         (CONFIG_SRC_SUBDIR): Add target.
1468         (%.o): Remove target rule.
1469
1470 2017-11-27  Tom Tromey  <tom@tromey.com>
1471
1472         * Makefile.in (COMMON_OBS): Remove filename-seen-cache.o,
1473         registry.o, thread-fsm.o, debug.o.
1474         (COMMON_SFILES): Add filename-seen-cache.c, registry.c,
1475         thread-fsm.c, debug.c.
1476
1477 2017-11-27  Tom Tromey  <tom@tromey.com>
1478
1479         * Makefile.in (COMMON_SFILES): New.
1480         (SFILES): Move some entries to COMMON_SFILES.
1481         (COMMON_OBS): Use COMMON_SFILES.
1482
1483 2017-11-27  Tom Tromey  <tom@tromey.com>
1484
1485         * Makefile.in (YYFILES): Update comment.
1486         (YYOBJ): Redefine.
1487
1488 2017-11-27  Tom Tromey  <tom@tromey.com>
1489
1490         * Makefile.in (SUBDIR_PYTHON_OBS): Redefine.
1491         (CONFIG_SRC_SUBDIR): Add python.
1492         (%.o): Remove python rule.
1493         (python/%.o): New rule.
1494         * configure: Rebuild.
1495         * configure.ac (CONFIG_OBS): Refer to python/python.o
1496
1497 2017-11-27  Tom Tromey  <tom@tromey.com>
1498
1499         * configure: Rebuild.
1500         * configure.ac (CONFIG_OBS): Refer to guile/guile.o.
1501         * Makefile.in (SUBDIR_GUILE_OBS): Redefine.
1502         (CONFIG_SRC_SUBDIR): Add guile.
1503         (%.o): Remove guile rule.
1504
1505 2017-11-27  Tom Tromey  <tom@tromey.com>
1506
1507         * Makefile.in (SUBDIR_UNITTESTS_OBS): Redefine.
1508         (%.o): Remove unittests rule.
1509         (CONFIG_SRC_SUBDIR): Add unittests.
1510
1511 2017-11-27  Tom Tromey  <tom@tromey.com>
1512
1513         * Makefile.in (SUBDIR_TUI_OBS): Redefine.
1514         (CONFIG_SRC_SUBDIR): Add tui.
1515         (%.o): Remove tui rule.
1516
1517 2017-11-27  Tom Tromey  <tom@tromey.com>
1518
1519         * Makefile.in (SUBDIR_GCC_COMPILE_OBS): Redefine.
1520         (%.o): Remove compile rule.
1521         (CONFIG_SRC_SUBDIR): Add compile.
1522
1523 2017-11-27  Tom Tromey  <tom@tromey.com>
1524
1525         * Makefile.in (SUBDIR_MI_OBS): Redefine.
1526         (%.o): Remove mi rule.
1527         (CONFIG_SRC_SUBDIR): Add mi.
1528         (COMMON_OBS): Use mi/mi-common.o
1529
1530 2017-11-27  Tom Tromey  <tom@tromey.com>
1531
1532         * Makefile.in (SUBDIR_CLI_OBS): Redefine.
1533         (%.o): Remove cli rule.
1534         (CONFIG_SRC_SUBDIR): Add cli.
1535
1536 2017-11-27  Tom Tromey  <tom@tromey.com>
1537
1538         * configure.ac (CONFIG_SRC_SUBDIR): Don't subst.
1539         * configure: Rebuild.
1540         * Makefile.in (CONFIG_SRC_SUBDIR): Redefine.
1541         (CONFIG_DEP_SUBDIR): New variable.
1542         (%.o): Add order-only dependency.
1543         ($(CONFIG_DEP_SUBDIR)): New target.
1544
1545 2017-11-26  Dominik Czarnota  <dominik.b.czarnota@gmail.com>
1546
1547         PR gdb/21945
1548         * findcmd.c (_initialize_mem_search): Update find command help
1549         text.
1550
1551 2017-11-26  Simon Marchi  <simon.marchi@polymtl.ca>
1552
1553         * python/python.c (do_start_initialization): Change progname
1554         type to gdb::unique_xmalloc_ptr.  Release the pointer when using
1555         Python 2.
1556
1557 2017-11-26  Tom Tromey  <tom@tromey.com>
1558
1559         * common/format.h: Add include guards.
1560
1561 2017-11-26  Tom Tromey  <tom@tromey.com>
1562
1563         * nat/linux-personality.h (class
1564         maybe_disable_address_space_randomization): New class.
1565         (maybe_disable_address_space_randomization): Don't declare
1566         function.
1567         * nat/linux-personality.c (restore_personality)
1568         (make_disable_asr_cleanup): Remove.
1569         (maybe_disable_address_space_randomization): Now a constructor.
1570         (~maybe_disable_address_space_randomization): New destructor.
1571         * linux-nat.c (linux_nat_create_inferior): Update.
1572
1573 2017-11-26  Tom Tromey  <tom@tromey.com>
1574
1575         * gcore.c (write_gcore_file_1): Use gdb::unique_xmalloc_ptr.
1576
1577 2017-11-26  Ulrich Weigand  <uweigand@de.ibm.com>
1578
1579         * spu-tdep.c (spu_software_single_step): Access SPU_LSLR_REGNUM as
1580         "cooked" register.  Access only first four bytes of branch target
1581         registers.
1582
1583 2017-11-25  Sergio Durigan Junior  <sergiodj@redhat.com>
1584
1585         PR gdb/22491
1586         * stap-probe.c (relocate_address): New function.
1587         (stap_probe::get_relocated_address): Use 'relocate_address'.
1588         (stap_probe::set_semaphore): Use 'relocate_address' and pass
1589         'm_sem_addr'.
1590         (stap_probe::clear_semaphore): Likewise.
1591
1592 2017-11-25  Pedro Alves  <palves@redhat.com>
1593
1594         * dictionary.c: Include "safe-ctype.h".
1595         * minsyms.c: Include "safe-ctype.h".
1596         * minsyms.c (SYMBOL_HASH_NEXT): Use TOLOWER instead of tolower.
1597
1598 2017-11-25   Pedro Alves  <palves@redhat.com>
1599
1600         * completer.c (complete_line_internal_1): Skip spaces until the
1601         start of the command.
1602
1603 2017-11-24  Pedro Alves  <palves@redhat.com>
1604
1605         * cp-support.c (cp_symbol_name_matches_1): New, factored out from
1606         cp_fq_symbol_name_matches.  Pass language_cplus to
1607         strncmp_with_mode.
1608         (cp_fq_symbol_name_matches): Call cp_symbol_name_matches_1.
1609         (selftests::test_cp_symbol_name_cmp): New.
1610         (_initialize_cp_support): Register "cp_symbol_name_matches"
1611         selftests.
1612         * language.c (default_symbol_name_matcher): Pass language_minimal
1613         to strncmp_iw_with_mode.
1614         * utils.c: Include "cp-support.h" and <algorithm>.
1615         (valid_identifier_name_char, cp_skip_operator_token, skip_ws)
1616         (cp_is_operator): New functions.
1617         (strncmp_iw_with_mode): Use them.  Add language parameter.  Don't
1618         skip whitespace in the symbol name when the lookup name doesn't
1619         have spaces, and vice versa.
1620         (strncmp_iw, strcmp_iw): Pass language to strncmp_iw_with_mode.
1621         * utils.h (strncmp_iw_with_mode): Add language parameter.
1622
1623 2017-11-24  Joel Brobecker  <brobecker@adacore.com>
1624
1625         * ada-lang.c (ada_exception_message_1, ada_exception_message):
1626         New functions.
1627         (print_it_exception): If available, display the exception
1628         message as well.
1629         * NEWS: Document new feature.
1630
1631 2017-11-24  Ulrich Weigand  <uweigand@de.ibm.com>
1632
1633         * configure.nat <spu-linux>: Add fork-inferior.o to NATDEPFILES.
1634
1635 2017-11-24  Philipp Rudo  <prudo@linux.vnet.ibm.com>
1636
1637         * dtrace-probe.c (dtrace_probe::build_arg_exprs)
1638         (dtrace_probe::is_enabled, dtrace_probe::enable)
1639         (dtrace_probe::disable): Remove keyword 'struct' at for-range
1640         variable
1641         * probe.c (gen_ui_out_table_header_info)
1642         (print_ui_out_not_applicables):  Remove keyword 'struct' at
1643         for-range variable
1644
1645 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1646
1647         * configure.tgt: Add arch/aarch64.o
1648
1649 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1650
1651         * common/common-utils.h: Include poison.h.
1652         (xfree): Remove declaration, add definition with static_assert.
1653         * common/common-utils.c (xfree): Remove.
1654         * common/poison.h (IsMallocatable): Define.
1655         (IsFreeable): Define.
1656         (free): Delete for non-freeable types.
1657         (xnew): New.
1658         (XNEW): Undef and redefine.
1659         (xcnew): New.
1660         (XCNEW): Undef and redefine.
1661         (xdelete): New.
1662         (XDELETE): Undef and redefine.
1663         (xnewvec): New.
1664         (XNEWVEC): Undef and redefine.
1665         (xcnewvec): New.
1666         (XCNEWVEC): Undef and redefine.
1667         (xresizevec): New.
1668         (XRESIZEVEC): Undef and redefine.
1669         (xdeletevec): New.
1670         (XDELETEVEC): Undef and redefine.
1671         (xnewvar): New.
1672         (XNEWVAR): Undef and redefine.
1673         (xcnewvar): New.
1674         (XCNEWVAR): Undef and redefine.
1675         (xresizevar): New.
1676         (XRESIZEVAR): Undef and redefine.
1677
1678 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1679
1680         * gdbthread.h (private_thread_info): Define structure type, add
1681         virtual pure destructor.
1682         (thread_info) <priv>: Change type to unique_ptr.
1683         <private_dtor>: Remove.
1684         * thread.c (add_thread_with_info): Adjust to use of unique_ptr.
1685         (private_thread_info::~private_thread_info): Provide default
1686         implementation.
1687         (thread_info::~thread_info): Don't call private_dtor nor
1688         manually free priv.
1689         * aix-thread.c (private_thread_info): Rename to ...
1690         (aix_thread_info): ... this.
1691         (get_aix_thread_info): New.
1692         (sync_threadlists): Adjust.
1693         (iter_tid): Adjust.
1694         (aix_thread_resume): Adjust.
1695         (aix_thread_fetch_registers): Adjust.
1696         (aix_thread_store_registers): Adjust.
1697         (aix_thread_extra_thread_info): Adjust.
1698         * darwin-nat.h (private_thread_info): Rename to ...
1699         (darwin_thread_info): ... this.
1700         (get_darwin_thread_info): New.
1701         * darwin-nat.c (darwin_init_thread_list): Adjust.
1702         (darwin_check_new_threads): Adjust.
1703         (thread_info_from_private_thread_info): Adjust.
1704         * linux-thread-db.c (private_thread_info): Rename to ...
1705         (thread_db_thread_info): ... this, initialize fields.
1706         (get_thread_db_thread_info): New.
1707         <dying>: Change type to bool.
1708         (update_thread_state): Adjust to type rename.
1709         (record_thread): Adjust to type rename an use of unique_ptr.
1710         (thread_db_pid_to_str): Likewise.
1711         (thread_db_extra_thread_info): Likewise.
1712         (thread_db_thread_handle_to_thread_info): Likewise.
1713         (thread_db_get_thread_local_address): Likewise.
1714         * nto-tdep.h (private_thread_info): Rename to ...
1715         (nto_thread_info): ... this, initialize fields.
1716         (get_nto_thread_info): New.
1717         <name>: Change type to std::string.
1718         * nto-tdep.c (nto_extra_thread_info): Adjust to type rename and
1719         use of unique_ptr.
1720         * nto-procfs.c (update_thread_private_data_name): Adjust to
1721         std::string change, allocate nto_private_thread_info with new.
1722         (update_thread_private_data): Adjust to unique_ptr.
1723         * remote.c (private_thread_info): Rename to ...
1724         (remote_thread_info): ... this, initialize data members with
1725         default values.
1726         <extra, name>: Change type to std::string.
1727         <thread_handle>: Change type to non-pointer.
1728         (free_private_thread_info): Remove.
1729         (get_private_info_thread): Rename to...
1730         (get_remote_thread_info): ... this, change return type, adjust to
1731         use of unique_ptr, use remote_thread_info constructor.
1732         (remote_add_thread): Adjust.
1733         (get_private_info_ptid): Rename to...
1734         (get_remote_thread_info): ...this, change return type.
1735         (remote_thread_name): Use get_remote_thread_info, adjust to
1736         change to std::string.
1737         (struct thread_item) <~thread_item>: Remove.
1738         <thread_handle>: Make non pointer.
1739         (start_thread): Adjust to thread_item::thread_handle type
1740         change.
1741         (remote_update_thread_list): Adjust to type name change, move
1742         strings from temporary to long-lived object instead of
1743         duplicating.
1744         (remote_threads_extra_info): Use get_remote_thread_info.
1745         (process_initial_stop_replies): Likewise.
1746         (resume_clear_thread_private_info): Likewise.
1747         (remote_resume): Adjust to type name change.
1748         (remote_commit_resume): Use get_remote_thread_info.
1749         (process_stop_reply): Adjust to type name change.
1750         (remote_stopped_by_sw_breakpoint): Use get_remote_thread_info.
1751         (remote_stopped_by_hw_breakpoint): Likewise.
1752         (remote_stopped_by_watchpoint): Likewise.
1753         (remote_stopped_data_address): Likewise.
1754         (remote_core_of_thread): Likewise.
1755         (remote_thread_handle_to_thread_info): Use
1756         get_private_info_thread, adjust to thread_handle field type
1757         change.
1758
1759 2017-11-24  Simon Marchi  <simon.marchi@polymtl.ca>
1760
1761         * remote.c (struct thread_item): Add constructor, disable copy
1762         construction and copy assignment, define default move
1763         construction and move assignment.
1764         <extra, name>: Change type to std::string.
1765         <core>: Initialize.
1766         <thread_handle>: Make non-pointer.
1767         (thread_item_t): Remove typedef.
1768         (DEF_VEC_O(thread_item_t)): Remove.
1769         (threads_listing_context) <contains_thread>: New method.
1770         <remove_thread>: New method.
1771         <items>: Change type to std::vector.
1772         (clear_threads_listing_context): Remove.
1773         (threads_listing_context_remove): Remove.
1774         (remote_newthread_step): Use thread_item constructor, adjust to
1775         change to std::vector.
1776         (start_thread): Use thread_item constructor, adjust to change to
1777         std::vector.
1778         (end_thread): Adjust to change to std::vector and std::string.
1779         (remote_get_threads_with_qthreadinfo): Use thread_item
1780         constructor, adjust to std::vector.
1781         (remote_update_thread_list): Adjust to change to std::vector and
1782         std::string, use threads_listing_context methods.
1783         (remove_child_of_pending_fork): Adjust.
1784         (remove_new_fork_children): Adjust.
1785         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add rsp-low-selftests.c.
1786         (SUBDIR_UNITTESTS_OBS): Add rsp-low-selftests.o.
1787         * unittests/rsp-low-selftests.c: New file.
1788         * common/rsp-low.h: Include common/byte-vector.h.
1789         (hex2bin): New overload.
1790         * common/rsp-low.c (hex2bin): New overload.
1791
1792 2017-11-24  Simon Marchi  <simon.marchi@ericsson.com>
1793
1794         * inferior.h (private_inferior): Define structure type, add
1795         virtual pure destructor.
1796         (inferior) <priv>: Change type to unique_ptr.
1797         * inferior.c (private_inferior::~private_inferior): Provide
1798         default implementation.
1799         (inferior::~inferior): Don't free priv field.
1800         (exit_inferior_1): Likewise.
1801         * darwin-nat.h (struct darwin_exception_info): Initialize fields.
1802         (darwin_exception_info): Remove typedef.
1803         (DEF_VEC_O (darwin_thread_t)); Remove.
1804         (private_inferior): Rename to ...
1805         (darwin_private_inferior): ... this, extend private_inferior.
1806         (get_darwin_inferior): New.
1807         <threads>: Change type to std::vector of darwin_thread_t pointers.
1808         * darwin-nat.c (darwin_check_new_threads): Adjust.
1809         (find_inferior_task_it): Adjust.
1810         (darwin_find_thread); Adjust.
1811         (darwin_suspend_inferior): Adjust.
1812         (darwin_resume_inferior): Adjust.
1813         (darwin_find_new_inferior): Adjust.
1814         (darwin_decode_notify_message): Adjust.
1815         (darwin_send_reply): Adjust.
1816         (darwin_resume_inferior_threads): Adjust.
1817         (darwin_suspend_inferior_threads): Adjust.
1818         (darwin_decode_message): Adjust.
1819         (darwin_wait): Adjust.
1820         (darwin_interrupt): Adjust.
1821         (darwin_deallocate_threads): Adjust.
1822         (darwin_mourn_inferior): Adjust, don't free private data.
1823         (darwin_reply_to_all_pending_messages): Adjust.
1824         (darwin_stop_inferior): Adjust.
1825         (darwin_setup_exceptions): Adjust.
1826         (darwin_kill_inferior): Adjust.
1827         (darwin_setup_request_notification): Adjust.
1828         (darwin_attach_pid): Adjust.
1829         (darwin_init_thread_list): Adjust.
1830         (darwin_setup_fake_stop_event): Adjust.
1831         (darwin_attach): Adjust.
1832         (darwin_detach): Adjust.
1833         (darwin_xfer_partial): Adjust.
1834         (set_enable_mach_exceptions): Adjust.
1835         (darwin_pid_to_exec_file): Adjust.
1836         (darwin_get_ada_task_ptid): Adjust.
1837         * darwin-nat-info.c (get_task_from_args): Adjust.
1838         (info_mach_ports_command): Adjust.
1839         (info_mach_region_command): Adjust.
1840         (info_mach_exceptions_command): Adjust.
1841         * remote.c (private_inferior): Rename to ...
1842         (remote_private_inferior): ... this, initialize fields.
1843         (get_remote_inferior); New.
1844         (remote_commit_resume): Use get_remote_inferior.
1845         (check_pending_event_prevents_wildcard_vcont_callback): Likewise.
1846
1847 2017-11-24  Pedro Alves  <palves@redhat.com>
1848
1849         * NEWS: Mention linespecs and explicit locations, and completion
1850         improvements.
1851
1852 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1853
1854         * regcache.c (regcache::dump): Remove footnote_register_size.
1855
1856 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1857
1858         * regcache.c (cooked_read_test): Add more test for readonly
1859         regcache.
1860
1861 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1862
1863         * gdbarch-selftests.c (test_target_has_registers): Move it to
1864         target.c.
1865         (test_target_has_stack): Likewise.
1866         (test_target_has_memory): Likewise.
1867         (test_target_prepare_to_store): Likewise.
1868         (test_target_store_registers): Likewise.
1869         (test_target_ops): Likewise.
1870         * regcache.c: Include selftest-arch.h and gdbthread.h.
1871         (target_ops_no_register): New class.
1872         (test_target_fetch_registers): New.
1873         (test_target_store_registers): New.
1874         (test_target_xfer_partial): New.
1875         (readwrite_regcache): New.
1876         (cooked_read_test): New.
1877         (_initialize_regcache): Register the test.
1878         * target.c: (test_target_has_registers): Moved from
1879         gdbarch-selftests.c.
1880         (test_target_has_stack): Likewise.
1881         (test_target_has_memory): Likewise.
1882         (test_target_prepare_to_store): Likewise.
1883         (test_target_store_registers): Likewise.
1884         * target.h (test_target_ops): New class.
1885
1886 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1887
1888         * aarch64-tdep.c (_initialize_aarch64_tdep): Add target desc
1889         selftest.
1890
1891 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1892
1893         * aarch64-tdep.c (_initialize_aarch64_tdep): Remove init.
1894         * arch/aarch64.c (aarch64_create_target_description): Create
1895         new target description.
1896         * features/Makefile: Add new files.
1897         * features/aarch64.c: Remove file.
1898         * features/aarch64-core.c: New autogenerated file.
1899         * features/aarch64-fpu.c: New autogenerated file.
1900         * target-descriptions.c (maint_print_c_tdesc_cmd): Check for aarch64.
1901
1902 2017-11-24  Alan Hayward  <alan.hayward@arm.com>
1903
1904         * Makefile.in: Add new files.
1905         * aarch64-linux-nat.c (aarch64_linux_read_description): Call
1906         aarch64_read_description.
1907         * aarch64-linux-tdep.c (aarch64_linux_core_read_description):
1908         Call aarch64_read_description.
1909         * aarch64-tdep.c (aarch64_read_description): New function.
1910         (aarch64_gdbarch_init): Call aarch64_read_description.
1911         * aarch64-tdep.h (aarch64_read_description): New function.
1912         * arch/aarch64.c: New file.
1913         * configure.tgt: Add new files.
1914
1915 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1916
1917         * mi/mi-main.c (register_changed_p): Update.
1918         * value.c (value_contents_bits_eq): Change return type.
1919         (value_contents_eq): Likewise.
1920         * value.h: Update comments.
1921
1922 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1923
1924         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Remove
1925         local 'changed'.  Remove error.
1926         (register_changed_p): Change return type to bool.
1927
1928 2017-11-24  Yao Qi  <yao.qi@linaro.org>
1929
1930         * arch/tic6x.c: New file.
1931         * arch/tic6x.h: New file.
1932         * features/Makefile (FEATURE_XMLFILES): Add tic6x-c6xp.xml,
1933         tic6x-core.xml and tic6x-gp.xml.
1934         * features/tic6x-c6xp.c: Generated.
1935         * features/tic6x-core.c: Generated.
1936         * features/tic6x-gp.c: Generated.
1937         * target-descriptions.c (maint_print_c_tdesc_cmd): Match
1938         "tic6x-".
1939
1940 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1941
1942         * mi/mi-main.c (list_available_thread_groups): Change map value
1943         type to std::vector.
1944
1945 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1946
1947         * osdata.c (osdata_end_column, get_osdata): Remove std::move.
1948
1949 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1950
1951         * varobj.c (struct varobj_dynamic) <children_requested_>: Rename
1952         back to...
1953         <children_requested>: ... this.
1954         (varobj_get_num_children, varobj_update): Adjust.
1955
1956 2017-11-23  Simon Marchi  <simon.marchi@ericsson.com>
1957
1958         * ada-varobj.c (ada_value_is_changeable_p): Change int to bool where applicable.
1959         (ada_value_has_mutated): Likewise.
1960         * c-varobj.c (varobj_is_anonymous_child): Likewise.
1961         (c_is_path_expr_parent): Likewise.
1962         * mi/mi-cmd-var.c (varobj_update_one): Likewise.
1963         (mi_cmd_var_set_frozen): Likewise.
1964         (mi_cmd_var_update_iter): Likewise.
1965         (mi_cmd_var_update): Likewise.
1966         * varobj.c (pretty_printing): Likewise.
1967         (varobj_enable_pretty_printing): Likewise.
1968         (struct varobj_root) <floating, is_valid>: Likewise.
1969         (struct varobj_dynamic) <children_requested>: Likewise.
1970         (delete_variable): Likewise.
1971         (delete_variable_1): Likewise.
1972         (install_variable): Likewise.
1973         (update_type_if_necessary): Likewise.
1974         (install_new_value): Likewise.
1975         (value_of_root): Likewise.
1976         (is_root_p): Likewise.
1977         (varobj_create): Likewise.
1978         (varobj_delete): Likewise.
1979         (varobj_has_more): Likewise.
1980         (varobj_set_frozen): Likewise.
1981         (varobj_get_frozen): Likewise.
1982         (install_dynamic_child): Likewise.
1983         (dynamic_varobj_has_child_method): Likewise.
1984         (update_dynamic_varobj_children): Likewise.
1985         (varobj_get_num_children): Likewise.
1986         (varobj_list_children): Likewise.
1987         (is_path_expr_parent): Likewise.
1988         (varobj_default_is_path_expr_parent): Likewise.
1989         (varobj_is_dynamic_p): Likewise.
1990         (varobj_set_value): Likewise.
1991         (varobj_value_has_mutated): Likewise.
1992         (varobj_update): Likewise.
1993         (check_scope): Likewise.
1994         (value_of_root_1): Likewise.
1995         (varobj_value_get_print_value): Likewise.
1996         (varobj_editable_p): Likewise.
1997         (varobj_value_is_changeable_p): Likewise.
1998         (varobj_floating_p): Likewise.
1999         (varobj_default_value_is_changeable_p): Likewise.
2000         (varobj_invalidate_iter): Likewise.
2001         * varobj.h (struct varobj_update_result) <type_changed,
2002         children_changed, changed, value_installed>: Likewise.
2003         (struct varobj) <updated, frozen, not_fetched>: Likewise.
2004         (struct lang_varobj_ops) <value_is_changeable_p,
2005         value_has_mutated, is_path_expr_parent>: Likewise.
2006         (varobj_delete): Likewise.
2007         (varobj_set_frozen): Likewise.
2008         (varobj_get_frozen): Likewise.
2009         (varobj_set_value): Likewise.
2010         (varobj_update): Likewise.
2011         (varobj_editable_p): Likewise.
2012         (varobj_floating_p): Likewise.
2013         (varobj_has_more): Likewise.
2014         (varobj_is_dynamic_p): Likewise.
2015         (varobj_default_value_is_changeable_p): Likewise.
2016         (varobj_value_is_changeable_p): Likewise.
2017         (varobj_is_anonymous_child): Likewise.
2018         (varobj_default_is_path_expr_parent): Likewise.
2019
2020 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
2021
2022         * dtrace-probe.c (struct probe_ops dtrace_probe_ops): Delete.
2023         (struct dtrace_probe_arg) <dtrace_probe_arg>: New constructor.
2024         <type_str>: Convert to 'std::string'.
2025         <expr>: Convert to 'expression_up'.
2026         (dtrace_probe_arg_s): Delete type and VEC.
2027         (dtrace_probe_enabler_s): Likewise.
2028         (struct dtrace_probe): Replace by...
2029         (class dtrace_static_probe_ops): ...this and...
2030         (class dtrace_probe): ...this.
2031         (dtrace_probe_is_linespec): Rename to...
2032         (dtrace_static_probe_ops::is_linespec): ...this.  Adjust code
2033         to reflect change.
2034         (dtrace_process_dof_probe): Use 'std::vector' instead of VEC.
2035         Adjust code.  Create new instance of 'dtrace_probe'.
2036         (dtrace_build_arg_exprs): Rename to...
2037         (dtrace_probe::build_arg_exprs): ...this.  Adjust code to
2038         reflect change.
2039         (dtrace_get_probes): Rename to...
2040         (dtrace_static_probe_ops::get_probes): ...this.  Adjust code
2041         to reflect change.
2042         (dtrace_get_arg): Rename to...
2043         (dtrace_probe::get_arg_by_number): ...this.  Adjust code to
2044         reflect change.
2045         (dtrace_probe_is_enabled): Rename to...
2046         (dtrace_probe::is_enabled): ...this.  Adjust code to reflect
2047         change.
2048         (dtrace_get_probe_address): Rename to...
2049         (dtrace_probe::get_relocated_address): ...this.  Adjust code
2050         to reflect change.
2051         (dtrace_get_probe_argument_count): Rename to...
2052         (dtrace_probe::get_argument_count): ...this.  Adjust code to
2053         reflect change.
2054         (dtrace_can_evaluate_probe_arguments): Rename to...
2055         (dtrace_probe::can_evaluate_arguments): ...this.  Adjust code
2056         to reflect change.
2057         (dtrace_evaluate_probe_argument): Rename to...
2058         (dtrace_probe::evaluate_argument): ...this.  Adjust code to
2059         reflect change.
2060         (dtrace_compile_to_ax): Rename to...
2061         (dtrace_probe::compile_to_ax): ...this.  Adjust code to
2062         reflect change.
2063         (dtrace_probe_destroy): Delete.
2064         (dtrace_type_name): Rename to...
2065         (dtrace_static_probe_ops::type_name): ...this.  Adjust code to
2066         reflect change.
2067         (dtrace_probe::get_static_ops): New method.
2068         (dtrace_gen_info_probes_table_header): Rename to...
2069         (dtrace_static_probe_ops::gen_info_probes_table_header):
2070         ...this.  Adjust code to reflect change.
2071         (dtrace_gen_info_probes_table_values): Rename to...
2072         (dtrace_probe::gen_info_probes_table_values): ...this.  Adjust
2073         code to reflect change.
2074         (dtrace_enable_probe): Rename to...
2075         (dtrace_probe::enable_probe): ...this.  Adjust code to reflect
2076         change.
2077         (dtrace_disable_probe): Rename to...
2078         (dtrace_probe::disable_probe): ...this.  Adjust code to reflect
2079         change.
2080         (struct probe_ops dtrace_probe_ops): Delete.
2081         (info_probes_dtrace_command): Call 'info_probes_for_spops'
2082         instead of 'info_probes_for_ops'.
2083         (_initialize_dtrace_probe): Use 'all_static_probe_ops' instead
2084         of 'all_probe_ops'.
2085
2086 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
2087             Simon Marchi  <simark@simark.ca>
2088
2089         * stap-probe.c (struct probe_ops stap_probe_ops): Delete
2090         variable.
2091         (struct stap_probe_arg) <stap_probe_arg>: New constructor.
2092         <aexpr>: Change type to 'expression_up'.
2093         (stap_probe_arg_s): Delete type and VEC.
2094         (struct stap_probe): Delete.  Replace by...
2095         (class stap_static_probe_ops): ...this and...
2096         (class stap_probe): ...this.  Rename variables to add 'm_'
2097         prefix.  Do not use 'union' for arguments anymore.
2098         (stap_get_expected_argument_type): Receive probe name instead
2099         of 'struct stap_probe'.  Adjust code.
2100         (stap_parse_probe_arguments): Rename to...
2101         (stap_probe::parse_arguments): ...this.  Adjust code to
2102         reflect change.
2103         (stap_get_probe_address): Rename to...
2104         (stap_probe::get_relocated_address): ...this.  Adjust code
2105         to reflect change.
2106         (stap_get_probe_argument_count): Rename to...
2107         (stap_probe::get_argument_count): ...this.  Adjust code
2108         to reflect change.
2109         (stap_get_arg): Rename to...
2110         (stap_probe::get_arg_by_number'): ...this. Adjust code to
2111         reflect change.
2112         (can_evaluate_probe_arguments): Rename to...
2113         (stap_probe::can_evaluate_arguments): ...this.  Adjust code
2114         to reflect change.
2115         (stap_evaluate_probe_argument): Rename to...
2116         (stap_probe::evaluate_argument): ...this.  Adjust code
2117         to reflect change.
2118         (stap_compile_to_ax): Rename to...
2119         (stap_probe::compile_to_ax): ...this.  Adjust code to
2120         reflect change.
2121         (stap_probe_destroy): Delete.
2122         (stap_modify_semaphore): Adjust comment.
2123         (stap_set_semaphore): Rename to...
2124         (stap_probe::set_semaphore): ...this.  Adjust code to reflect
2125         change.
2126         (stap_clear_semaphore): Rename to...
2127         (stap_probe::clear_semaphore): ...this.  Adjust code to
2128         reflect change.
2129         (stap_probe::get_static_ops): New method.
2130         (handle_stap_probe): Adjust code to create instance of
2131         'stap_probe'.
2132         (stap_get_probes): Rename to...
2133         (stap_static_probe_ops::get_probes): ...this.  Adjust code to
2134         reflect change.
2135         (stap_probe_is_linespec): Rename to...
2136         (stap_static_probe_ops::is_linespec): ...this.  Adjust code to
2137         reflect change.
2138         (stap_type_name): Rename to...
2139         (stap_static_probe_ops::type_name): ...this.  Adjust code to
2140         reflect change.
2141         (stap_gen_info_probes_table_header): Rename to...
2142         (stap_static_probe_ops::gen_info_probes_table_header):
2143         ...this.  Adjust code to reflect change.
2144         (stap_gen_info_probes_table_values): Rename to...
2145         (stap_probe::gen_info_probes_table_values): ...this.  Adjust
2146         code to reflect change.
2147         (struct probe_ops stap_probe_ops): Delete.
2148         (info_probes_stap_command): Use 'info_probes_for_spops'
2149         instead of 'info_probes_for_ops'.
2150         (_initialize_stap_probe): Use 'all_static_probe_ops' instead
2151         of 'all_probe_ops'.
2152
2153 2017-11-22  Sergio Durigan Junior  <sergiodj@redhat.com>
2154
2155         * break-catch-throw.c (fetch_probe_arguments): Use
2156         'probe.prob' instead of 'probe.probe'.
2157         * breakpoint.c (create_longjmp_master_breakpoint): Call
2158         'can_evaluate_arguments' and 'get_relocated_address' methods
2159         from probe.
2160         (create_exception_master_breakpoint): Likewise.
2161         (add_location_to_breakpoint): Use 'sal->prob' instead of
2162         'sal->probe'.
2163         (bkpt_probe_insert_location): Call 'set_semaphore' method from
2164         probe.
2165         (bkpt_probe_remove_location): Likewise, for 'clear_semaphore'.
2166         * elfread.c (elf_get_probes): Use 'static_probe_ops' instead
2167         of 'probe_ops'.
2168         (probe_key_free): Call 'delete' on probe.
2169         (check_exception_resume): Use 'probe.prob' instead of
2170         'probe.probe'.
2171         * location.c (string_to_event_location_basic): Call
2172         'probe_linespec_to_static_ops'.
2173         * probe.c (class any_static_probe_ops): New class.
2174         (any_static_probe_ops any_static_probe_ops): New variable.
2175         (parse_probes_in_pspace): Receive 'static_probe_ops' as
2176         argument.  Adjust code to reflect change.
2177         (parse_probes): Use 'static_probe_ops' instead of
2178         'probe_ops'.  Adjust code to reflect change.
2179         (find_probes_in_objfile): Call methods to get name and
2180         provider from probe.
2181         (find_probe_by_pc): Use 'result.prob' instead of
2182         'result.probe'.  Call 'get_relocated_address' method from
2183         probe.
2184         (collect_probes): Adjust comment and argument list to receive
2185         'static_probe_ops' instead of 'probe_ops'.  Adjust code to
2186         reflect change.  Call necessary methods from probe.
2187         (compare_probes): Call methods to get name and provider from
2188         probes.
2189         (gen_ui_out_table_header_info): Receive 'static_probe_ops'
2190         instead of 'probe_ops'.  Use 'std::vector' instead of VEC,
2191         adjust code accordingly.
2192         (print_ui_out_not_applicables): Likewise.
2193         (info_probes_for_ops): Rename to...
2194         (info_probes_for_spops): ...this.  Receive 'static_probe_ops'
2195         as argument instead of 'probe_ops'.  Adjust code.  Call
2196         necessary methods from probe.
2197         (info_probes_command): Use 'info_probes_for_spops'.
2198         (enable_probes_command): Pass correct argument to
2199         'collect_probes'.  Call methods from probe.
2200         (disable_probes_command): Likewise.
2201         (get_probe_address): Move to 'any_static_probe_ops::get_address'.
2202         (get_probe_argument_count): Move to
2203         'any_static_probe_ops::get_argument_count'.
2204         (can_evaluate_probe_arguments): Move to
2205         'any_static_probe_ops::can_evaluate_arguments'.
2206         (evaluate_probe_argument): Move to
2207         'any_static_probe_ops::evaluate_argument'.
2208         (probe_safe_evaluate_at_pc): Use 'probe.prob' instead of
2209         'probe.probe'.
2210         (probe_linespec_to_ops): Rename to...
2211         (probe_linespec_to_static_ops): ...this.  Adjust code.
2212         (probe_any_is_linespec): Rename to...
2213         (any_static_probe_ops::is_linespec): ...this.
2214         (probe_any_get_probes): Rename to...
2215         (any_static_probe_ops::get_probes): ...this.
2216         (any_static_probe_ops::type_name): New method.
2217         (any_static_probe_ops::gen_info_probes_table_header): New
2218         method.
2219         (compute_probe_arg): Use 'pc_probe.prob' instead of
2220         'pc_probe.probe'.  Call methods from probe.
2221         (compile_probe_arg): Likewise.
2222         (std::vector<const probe_ops *> all_probe_ops): Delete.
2223         (std::vector<const static_probe_ops *> all_static_probe_ops):
2224         New variable.
2225         (_initialize_probe): Use 'all_static_probe_ops' instead of
2226         'all_probe_ops'.
2227         * probe.h (struct info_probe_column) <field_name>: Delete
2228         extraneous newline
2229         (info_probe_column_s): Delete type and VEC.
2230         (struct probe_ops): Delete.  Replace with...
2231         (class static_probe_ops): ...this and...
2232         (clas probe): ...this.
2233         (struct bound_probe) <bound_probe>: Delete extraneous
2234         newline.  Adjust constructor to receive 'probe' instead of
2235         'struct probe'.
2236         <probe>: Rename to...
2237         <prob>: ...this.  Delete extraneous newline.
2238         <objfile>: Delete extraneous newline.
2239         (register_probe_ops): Delete unused prototype.
2240         (info_probes_for_ops): Rename to...
2241         (info_probes_for_spops): ...this.  Adjust comment.
2242         (get_probe_address): Move to 'probe::get_address'.
2243         (get_probe_argument_count): Move to
2244         'probe::get_argument_count'.
2245         (can_evaluate_probe_arguments): Move to
2246         'probe::can_evaluate_arguments'.
2247         (evaluate_probe_argument): Move to 'probe::evaluate_argument'.
2248         * solib-svr4.c (struct svr4_info): Adjust comment.
2249         (struct probe_and_action) <probe>: Rename to...
2250         <prob>: ...this.
2251         (register_solib_event_probe): Receive 'probe' instead of
2252         'struct probe' as argument.  Use 'prob' instead of 'probe'
2253         when applicable.
2254         (solib_event_probe_action): Call 'get_argument_count' method
2255         from probe.  Adjust comment.
2256         (svr4_handle_solib_event): Adjust comment.  Call
2257         'evaluate_argument' method from probe.
2258         (svr4_create_probe_breakpoints): Call 'get_relocated_address'
2259         from probe.
2260         (svr4_create_solib_event_breakpoints): Use 'probe' instead of
2261         'struct probe'.  Call 'can_evaluate_arguments' from probe.
2262         * symfile.h: Forward declare 'class probe' instead of 'struct
2263         probe'.
2264         * symtab.h: Likewise.
2265         (struct symtab_and_line) <probe>: Rename to...
2266         <prob>: ...this.
2267         * tracepoint.c (start_tracing): Use 'prob' when applicable.
2268         Call probe methods.
2269         (stop_tracing): Likewise.
2270
2271 2017-11-22  Joel Brobecker  <brobecker@adacore.com>
2272
2273         * ravenscar-thread.c (ravenscar_inferior_created): Remove
2274         trailing newline at end of string in call to warning.
2275
2276 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2277
2278         * osdata.h: Include vector isntead of vec.h.
2279         (osdata_column_s): Remove typedef.
2280         (struct osdata_column): Add constructor.
2281         <name, value>: Change type to std::string.
2282         (DEF_VEC_O (osdata_column_s)): Remove.
2283         (osdata_item_s): Remove typedef.
2284         (struct osdata_item) <columns>: Change type to std::vector.
2285         (DEF_VEC_O (osdata_item_s)): Remove.
2286         (struct osdata): Add constructor.
2287         <type>: Change type to std::string.
2288         <items>: Change type to std::vector.
2289         (osdata_p): Remove typedef.
2290         (DEF_VEC_P (osdata_p)): Remove.
2291         (osdata_parse): Return a unique_ptr.
2292         (osdata_free): Remove.
2293         (make_cleanup_osdata_free): Remove.
2294         (get_osdata): Return a unique_ptr.
2295         (get_osdata_column): Return pointer to std::string, take a
2296         reference to osdata_item as parameter.
2297         * osdata.c (struct osdata_parsing_data) <osdata>: Change type to
2298         unique_ptr.
2299         <property_name>: Change type to std::string.
2300         (osdata_start_osdata): Allocate osdata with new and adjust.
2301         (osdata_start_item): Adjust.
2302         (osdata_start_column): Adjust.
2303         (osdata_end_column): Adjust.
2304         (clear_parsing_data): Remove.
2305         (osdata_parse): Return a unique_ptr and adjust, remove cleanup.
2306         (osdata_item_clear): Remove.
2307         (get_osdata): return a unique_ptr and adjust.
2308         (get_osdata_column): Return a pointer to std::string and adjust.
2309         (info_osdata): Adjust.
2310         * mi/mi-main.c: Include <map>.
2311         (free_vector_of_osdata_items): Remove.
2312         (list_available_thread_groups): Adjust, use std::map instead of
2313         splay tree.
2314
2315 2017-11-22  Simon Marchi  <simon.marchi@ericsson.com>
2316
2317         * stack.c (iterate_over_block_locals): Add LOC_OPTIMIZED_OUT
2318         case in switch.
2319
2320 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2321
2322         * varobj.h (DEF_VEC_P (varobj_p)): Remove.
2323
2324 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2325
2326         * varobj.h (struct varobj_update_result): Add constructor, add
2327         move constructor, disable copy and assign, initialize fields.
2328         <newobj>: Change type to std::vector.
2329         (varobj_update): Return std::vector.
2330         * varobj.c (install_dynamic_child): Change VEC parameters to
2331         std::vector and adjust.
2332         (update_dynamic_varobj_children): Likewise.
2333         (varobj_update): Return std::vector and adjust.
2334         * mi/mi-cmd-var.c (varobj_update_one): Adjust to vector changes.
2335
2336 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2337
2338         * varobj.h (struct varobj) <parent>: Remove const.
2339         <children>: Change type to std::vector.
2340         (varobj_list_children): Return std::vector const reference.
2341         (varobj_restrict_range): Change parameter type to std::vector
2342         const reference.
2343         * varobj.c (varobj_has_more): Adjust.
2344         (varobj_restrict_range): Change parameter type to std::vector
2345         const reference and adjust.
2346         (install_dynamic_child): Adjust.
2347         (update_dynamic_varobj_children): Adjust.
2348         (varobj_list_children): Return std::vector const reference and
2349         adjust.
2350         (varobj_add_child): Adjust.
2351         (update_type_if_necessary): Adjust.
2352         (varobj_update): Adjust.
2353         (delete_variable_1): Adjust.
2354         * ada-varobj.c (ada_value_has_mutated): Adjust.
2355         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust.
2356
2357 2017-11-22  Simon Marchi  <simon.marchi@polymtl.ca>
2358
2359         * varobj.h (struct varobj): Add constructor and destructor,
2360         initialize fields.
2361         * varobj.c (struct varobj_root): Initialize fields.
2362         (struct varobj_dynamic): Initialize fields.
2363         (varobj_create): Use unique_ptr instead of cleanup.  Create
2364         varobj with new instead of new_root_variable.
2365         (delete_variable_1): Free variable with delete instead of
2366         free_variable.
2367         (create_child_with_value): Create variable with new instead of
2368         new_variable.
2369         (varobj::varobj): New.
2370         (varobj::~varobj): New (body mostly coming from free_variable).
2371         (new_variable): Remove.
2372         (free_variable): Remove.
2373         (do_free_variable_cleanup): Remove.
2374         (make_cleanup_free_variable): Remove.
2375
2376 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2377
2378         * core-regset.c: Remove file.
2379         * Makefile.in (ALLDEPFILES): Remove core-regset.c.
2380
2381 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2382
2383         * NEWS: Document use of GNU MPFR.
2384         * README: Likewise.
2385
2386         * Makefile.in (LIBMPFR): Add define.
2387         (CLIBS): Add $(LIBMPFR).
2388         * configure.ac: Add --with-mpfr configure option.
2389         * configure: Regenerate.
2390         * config.in: Regenerate.
2391
2392         * target-float.c [HAVE_LIBMPFR]: Include <mpfr.h>.
2393         (class mpfr_float_ops): New type.
2394         (mpfr_float_ops::from_target): Two new overloaded functions.
2395         (mpfr_float_ops::to_target): Likewise.
2396         (mpfr_float_ops::to_string): New function.
2397         (mpfr_float_ops::from_string): Likewise.
2398         (mpfr_float_ops::to_longest): Likewise.
2399         (mpfr_float_ops::from_longest): Likewise.
2400         (mpfr_float_ops::from_ulongest): Likewise.
2401         (mpfr_float_ops::to_host_double): Likewise.
2402         (mpfr_float_ops::from_host_double): Likewise.
2403         (mpfr_float_ops::convert): Likewise.
2404         (mpfr_float_ops::binop): Likewise.
2405         (mpfr_float_ops::compare): Likewise.
2406         (get_target_float_ops): Use mpfr_float_ops if available.
2407
2408 2017-11-22  Ulrich Weigand  <uweigand@de.ibm.com>
2409
2410         * target-float.c: Do not include <math.h>.
2411         Include <cmath> and <limits>.
2412         (DOUBLEST): Do not define.
2413         (class target_float_ops): New type.
2414         (class host_float_ops): New templated type.
2415         (class decimal_float_ops): New type.
2416
2417         (floatformat_to_doublest): Rename to ...
2418         (host_float_ops<T>::from_target): ... this.  Use template type T
2419         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2420         (host_float_ops<T>::from_target): New overload using a type argument.
2421         (floatformat_from_doublest): Rename to ...
2422         (host_float_ops<T>::to_target): ... this.  Use template type T
2423         instead of DOUBLEST.  Use C++ math routines.  Update recursive calls.
2424         (host_float_ops<T>::to_target): New overload using a type argument.
2425         (floatformat_printf_format): New function.
2426         (struct printf_length_modifier): New templated type.
2427         (floatformat_to_string): Rename to ...
2428         (host_float_ops<T>::to_string): ... this.  Use type instead of
2429         floatformat argument.  Use floatformat_printf_format and
2430         printf_length_modifier.  Remove special handling of invalid numbers,
2431         infinities and NaN (moved to target_float_to_string).
2432         (struct scanf_length_modifier): New templated type.
2433         (floatformat_from_string): Rename to ...
2434         (host_float_ops<T>::from_string): ... this.  Use type instead of
2435         floatformat argument.  Use scanf_length_modifier.
2436         (floatformat_to_longest): Rename to ...
2437         (host_float_ops<T>::to_longest): ... this.  Use type instead of
2438         floatformat argument.  Handle out-of-range values deterministically.
2439         (floatformat_from_longest): Rename to ...
2440         (host_float_ops<T>::from_longest): ... this.  Use type instead of
2441         floatformat argument.
2442         (floatformat_from_ulongest): Rename to ...
2443         (host_float_ops<T>::from_ulongest): ... this.  Use type instead of
2444         floatformat argument.
2445         (floatformat_to_host_double): Rename to ...
2446         (host_float_ops<T>::to_host_double): ... this.  Use type instead of
2447         floatformat argument.
2448         (floatformat_from_host_double): Rename to ...
2449         (host_float_ops<T>::from_host_double): ... this.  Use type instead of
2450         floatformat argument.
2451         (floatformat_convert): Rename to ...
2452         (host_float_ops<T>::convert): ... this.  Use type instead of
2453         floatformat arguments.  Remove handling of no-op conversions.
2454         (floatformat_binop): Rename to ...
2455         (host_float_ops<T>::binop): ... this.  Use type instead of
2456         floatformat arguments.
2457         (floatformat_compare): Rename to ...
2458         (host_float_ops<T>::compare): ... this.  Use type instead of
2459         floatformat arguments.
2460
2461         (match_endianness): Use type instead of length/byte_order arguments.
2462         (set_decnumber_context): Likewise.
2463         (decimal_from_number): Likewise.  Update calls.
2464         (decimal_to_number): Likewise.
2465         (decimal_is_zero): Likewise.  Update calls.  Move to earlier in file.
2466         (decimal_float_ops::to_host_double): New dummy function.
2467         (decimal_float_ops::from_host_double): Likewise.
2468         (decimal_to_string): Rename to ...
2469         (decimal_float_ops::to_string): ... this.  Use type instead of
2470         length/byte_order arguments.  Update calls.
2471         (decimal_from_string): Rename to ...
2472         (decimal_float_ops::from_string): ... this.  Use type instead of
2473         length/byte_order arguments.  Update calls.
2474         (decimal_from_longest): Rename to ...
2475         (decimal_float_ops::from_longest): ... this.  Use type instead of
2476         length/byte_order arguments.  Update calls.
2477         (decimal_from_ulongest): Rename to ...
2478         (decimal_float_ops::from_ulongest): ... this.  Use type instead of
2479         length/byte_order arguments.  Update calls.
2480         (decimal_to_longest): Rename to ...
2481         (decimal_float_ops::to_longest): ... this.  Use type instead of
2482         length/byte_order arguments.  Update calls.
2483         (decimal_binop): Rename to ...
2484         (decimal_float_ops::binop): ... this.  Use type instead of
2485         length/byte_order arguments.  Update calls.
2486         (decimal_compare): Rename to ...
2487         (decimal_float_ops::compare): ... this.  Use type instead of
2488         length/byte_order arguments.  Update calls.
2489         (decimal_convert): Rename to ...
2490         (decimal_float_ops::convert): ... this.  Use type instead of
2491         length/byte_order arguments.  Update calls.
2492
2493         (target_float_same_category_p): New function.
2494         (target_float_same_format_p): Likewise.
2495         (target_float_format_length): Likewise.
2496         (enum target_float_ops_kind): New type.
2497         (get_target_float_ops_kind): New function.
2498         (get_target_float_ops): Three new overloaded functions.
2499
2500         (target_float_is_zero): Update call.
2501         (target_float_to_string): Add special handling of invalid numbers,
2502         infinities and NaN (moved from floatformat_to_string).  Use
2503         target_float_ops callback.
2504         (target_float_from_string): Use target_float_ops callback.
2505         (target_float_to_longest): Likewise.
2506         (target_float_from_longest): Likewise.
2507         (target_float_from_ulongest): Likewise.
2508         (target_float_to_host_double): Likewise.
2509         (target_float_from_host_double): Likewise.
2510         (target_float_convert): Add special case for no-op conversions.
2511         Use target_float_ops callback.
2512         (target_float_binop): Use target_float_ops callback.
2513         (target_float_compare): Likewise.
2514
2515 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2516
2517         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use strcpy.
2518
2519 2017-11-22  Yao Qi  <yao.qi@linaro.org>
2520
2521         * cli/cli-decode.c (help_list): Use memcpy instead of strncpy.
2522         * cp-namespace.c (cp_lookup_transparent_type_loop): Likewise.
2523
2524 2017-11-21  Jerome Guitton  <guitton@adacore.com>
2525
2526         * ravenscar-thread.c (ravenscar_wait): Update inferior ptid
2527         with event ptid from the lower layer before doing the
2528         ravenscar-specific update.
2529
2530 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2531
2532         * ravenscar-thread.c (is_ravenscar_task): Also verify that
2533         the ptid's TID is nonzero.
2534
2535 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2536
2537         * ada-lang.h (ada_get_tcb_types_info): Add declaration.
2538         * ada-tasks.c (ada_get_tcb_types_info): Renames get_tcb_types_info.
2539         Make non-static.  Change return type to char *.  Adjust code
2540         accordingly.  Rewrite the function's documentation.
2541         (read_atcb): Adjust call to get_tcb_types_info accordingly.
2542         * ravenscar-thread.c (ravenscar_inferior_created): Check that
2543         we have enough debugging information in the runtime to support
2544         Ada task debugging before we enable the ravenscar-thread layer.
2545
2546 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2547
2548         * ada-lang.h (ada_get_task_info_from_ptid): Add declaration.
2549         * ada-tasks.c (ada_get_task_info_from_ptid): New function.
2550         * ravenscar-thread.c: Add into comment.
2551         (base_magic_null_ptid): Delete.
2552         (base_ptid): Change documentation.
2553         (ravenscar_active_task): Renames ravenscar_running_thread.
2554         All callers updated throughout.
2555         (is_ravenscar_task, ravenscar_get_thread_base_cpu): New function.
2556         (ravenscar_task_is_currently_active): Likewise.
2557         (get_base_thread_from_ravenscar_task): Ditto.
2558         (ravenscar_update_inferior_ptid): Adjust to handle multiple CPUs.
2559         (ravenscar_runtime_initialized): Likewise.
2560         (get_running_thread_id): Add new parameter "cpu".  Adjust
2561         implementation to handle this new parameter.
2562         (ravenscar_fetch_registers): Small adjustment to use
2563         is_ravenscar_task and ravenscar_task_is_currently_active in
2564         order to decide whether to use the target beneath or this
2565         module's arch_ops.
2566         (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise.
2567         (ravenscar_stopped_by_sw_breakpoint): Use
2568         get_base_thread_from_ravenscar_task to get the underlying
2569         thread, rather than using base_ptid.
2570         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2571         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2572         Likewise.
2573         (ravenscar_inferior_created): Do not set base_magic_null_ptid.
2574
2575 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2576
2577         * ada-lang.h (struct ada_task_info) <base_cpu>: New field.
2578         * ada-lang.c (struct atcb_fieldno) <base_cpu>: New field.
2579         (get_tcb_types_info): Set fieldnos.base_cpu.
2580         (read_atcb): Set task_info->base_cpu.
2581         (info_task): Print "Base CPU" info if set by runtime.
2582
2583 2017-11-21  Joel Brobecker  <brobecker@adacore.com>
2584
2585         * ravenscar-thread.c (ravenscar_stopped_by_sw_breakpoint)
2586         (ravenscar_stopped_by_hw_breakpoint, ravenscar_stopped_by_watchpoint)
2587         (ravenscar_stopped_data_address, ravenscar_core_of_thread):
2588         New functions.
2589         (init_ravenscar_thread_ops): Set the to_stopped_by_sw_breakpoint,
2590         to_stopped_by_hw_breakpoint, to_stopped_by_watchpoint,
2591         to_stopped_data_address and to_core_of_thread fields of
2592         ravenscar_ops.
2593
2594 2017-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
2595
2596         * ppc-tdep.h (enum powerpc_long_double_abi): New data type.
2597         (struct gdbarch_tdep): New member long_double_abi.
2598         * rs6000-tdep.c (rs6000_gdbarch_init): Initialize long_double_abi
2599         member of tdep struct based on Tag_GNU_Power_ABI_FP attribute.
2600         * ppc-linux-tdep.c (ppc_linux_init_abi): Install long double data
2601         format depending on long_double_abi tdep member.
2602         (ppc_floatformat_for_type): Handle __ibm128 type.
2603
2604 2017-11-20  Simon Marchi  <simon.marchi@polymtl.ca>
2605
2606         * darwin-nat.c (set_enable_mach_exceptions): Constify parameter.
2607
2608 2017-11-21  Pedro Alves  <palves@redhat.com>
2609
2610         * dwarf2read.c (mapped_index::find_name_components_bounds)
2611         <completion mode, upper bound>: Use std::lower_bound instead of
2612         std::upper_bound.
2613         (test_mapped_index_find_name_component_bounds): Remove incorrect
2614         "t1_fund" from expected symbols.
2615
2616 2017-11-21  Pedro Alves  <palves@redhat.com>
2617
2618         * dwarf2read.c (mapped_index::name_components_casing): New field.
2619         (mapped_index) <build_name_components,
2620         find_name_components_bounds): Declare new methods.
2621         (mapped_index::find_name_components_bounds)
2622         (mapped_index::build_name_components): New methods, factored out
2623         from dw2_expand_symtabs_matching_symbol.
2624         (check_find_bounds_finds)
2625         (test_mapped_index_find_name_component_bounds): New.
2626         (run_test): Rename to ...
2627         (test_dw2_expand_symtabs_matching_symbol): ... this.
2628         (run_test): Reimplement.
2629
2630 2017-11-21  Pedro Alves  <palves@redhat.com>
2631
2632         * cp-name-parser.y (cp_ident_is_alpha, cp_ident_is_alnum): New.
2633         (symbol_end): Use cp_ident_is_alnum.
2634         (yylex): Use cp_ident_is_alpha and cp_ident_is_alnum.
2635         * dwarf2read.c (make_sort_after_prefix_name): New function.
2636         (dw2_expand_symtabs_matching_symbol): Use it.
2637         (test_symbols): Add more symbols.
2638         (run_test): Add tests.
2639
2640 2017-11-17  Tom Tromey  <tom@tromey.com>
2641
2642         * symtab.h (enum symbol_subclass_kind): New.
2643         (struct symbol) <is_cplus_template_function, is_rust_vtable>:
2644         Remove.
2645         <subclass>: New member.
2646         (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update.
2647         * rust-lang.c (rust_get_trait_object_pointer): Update.
2648         * dwarf2read.c (read_func_scope): Update.
2649         (read_variable): Update.
2650
2651 2017-11-17  Tom Tromey  <tom@tromey.com>
2652
2653         * dwarf2read.c (read_func_scope): Update.
2654         * symtab.h (struct template_symbol): Derive from symbol.
2655         <base>: Remove.
2656
2657 2017-11-17  Tom Tromey  <tom@tromey.com>
2658
2659         * symtab.h (struct symbol) <is_rust_vtable>: New member.
2660         (struct rust_vtable_symbol): New.
2661         (find_symbol_at_address): Declare.
2662         * symtab.c (find_symbol_at_address): New function.
2663         * symfile.h (struct quick_symbol_functions)
2664         <find_compunit_symtab_by_address>: New member.
2665         * symfile-debug.c (debug_qf_find_compunit_symtab_by_address): New
2666         function.
2667         (debug_sym_quick_functions): Link to
2668         debug_qf_find_compunit_symtab_by_address.
2669         * rust-lang.c (rust_get_trait_object_pointer): New function.
2670         (rust_evaluate_subexp) <case UNOP_IND>: New case.  Call
2671         rust_get_trait_object_pointer.
2672         * psymtab.c (psym_relocate): Clear psymbol_map.
2673         (psym_fill_psymbol_map, psym_find_compunit_symtab_by_address): New
2674         functions.
2675         (psym_functions): Link to psym_find_compunit_symtab_by_address.
2676         * objfiles.h (struct objfile) <psymbol_map>: New member.
2677         * dwarf2read.c (dwarf2_gdb_index_functions): Update.
2678         (process_die) <DW_TAG_variable>: New case.  Call read_variable.
2679         (rust_containing_type, read_variable): New functions.
2680
2681 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2682
2683         * common/gdb_vecs.h (DEF_VEC_I (int)): Remove.
2684
2685 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2686
2687         * common/filestuff.c: Include <algorithm>.
2688         (open_fds): Change type to std::vector<int>.
2689         (do_mark_open_fd): Adjust.
2690         (unmark_fd_no_cloexec): Adjust.
2691         (do_close): Adjust.
2692
2693 2017-11-17  Simon Marchi  <simon.marchi@polymtl.ca>
2694
2695         * breakpoint.c (output_thread_groups): Take an std::vector.
2696         (print_one_breakpoint_location): Adjust.
2697
2698 2017-11-17  Joel Brobecker  <brobecker@adacore.com>
2699
2700         * ada-lang.c (resolve_subexp): Add handling of OP_VAR_MSYM_VALUE.
2701         (ada_evaluate_subexp_for_cast): New function.
2702         (ada_evaluate_subexp) <UNOP_CAST>: Replace code by call to
2703         ada_evaluate_subexp_for_cast.
2704         (ada_evaluate_subexp) <nosideret>: Replace code by call to
2705         eval_skip_value.
2706         * eval.c (evaluate_var_value): Make non-static.
2707         (evaluate_var_msym_value, eval_skip_value): Likewise.
2708         * value.h (evaluate_var_value, evaluate_var_msym_value)
2709         (eval_skip_value): Declare.
2710
2711 2017-11-16  Joel Brobecker  <brobecker@adacore.com>
2712
2713         * ada-lang.c (ada_value_cast): Remove parameter "noside".
2714         Update all callers.
2715
2716 2017-11-16  Pedro Alves  <palves@redhat.com>
2717
2718         * python/py-unwind.c (pyuw_sniffer): Translate
2719         PyExc_KeyboardInterrupt to a GDB Quit exception.
2720
2721 2017-11-16  Pedro Alves  <palves@redhat.com>
2722
2723         * infrun.c (resume_cleanups): Delete.
2724         (resume): No longer install a resume_cleanups cleanup nor call
2725         QUIT.
2726         (proceed): Pass the terminal to the inferior.
2727         (keep_going_pass_signal): No longer install a resume_cleanups
2728         cleanup.
2729
2730 2017-11-16  Pedro Alves  <palves@redhat.com>
2731
2732         * inf-loop.c (inferior_event_handler): Don't swallow the exception
2733         if the prompt is blocked.
2734
2735 2017-11-16  Pedro Alves  <palves@redhat.com>
2736
2737         * breakpoint.c (insert_bp_location): Replace bp_err and
2738         bp_err_message locals by a gdb_exception local.
2739
2740 2017-11-16  Pedro Alves  <palves@redhat.com>
2741
2742         * inflow.c (scoped_ignore_sigttou): New class.
2743         (child_terminal_ours_1, new_tty): Use it.
2744
2745 2017-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
2746
2747         * target-float.c (decimal_from_number): Add byte_order argument and
2748         call match_endianness.  Error if unknown floating-point type.
2749         (decimal_to_number): Add byte_order argument and call match_endianness.
2750         (decimal_from_longest): Update call.  Do not call match_endianness.
2751         (decimal_from_ulongest): Likewise.
2752         (decimal_binop): Likewise.
2753         (decimal_is_zero): Likewise.
2754         (decimal_compare): Likewise.
2755         (decimal_convert): Likewise.
2756
2757 2017-11-16  Phil Muldoon  <pmuldoon@redhat.com>
2758
2759         * python/python.c (gdbpy_rbreak): New function.
2760         * NEWS: Document Python rbreak feature.
2761
2762 2017-11-16  Yao Qi  <yao.qi@linaro.org>
2763
2764         * features/tic6x-c62x.xml: Remove.
2765         * features/tic6x-c64x.xml: Remove.
2766         * features/tic6x-c64xp.xml: Remove.
2767
2768 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2769
2770         * symtab.h: Include <array>.
2771
2772 2017-11-15  John Baldwin  <jhb@FreeBSD.org>
2773
2774         * bsd-kvm.c (bsd_kvm_cmd): Constify 'arg'.
2775         (bsd_kvm_proc_cmd): Likewise.
2776
2777 2017-11-15  Simon Marchi  <simon.marchi@ericsson.com>
2778
2779         * tui/tui-win.c (window_name_completer): Replace VEC with
2780         std::vector.
2781
2782 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2783
2784         * MAINTAINERS: Remove no-longer applicable entries.
2785
2786 2017-11-15  Andrew Cagney  <cagney@gnu.org>
2787
2788         * MAINTAINERS: Move self to Past Maintainers.
2789
2790 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2791
2792         * features/Makefile (XMLTOC): Remove nios2-linux.xml.
2793         * features/nios2-linux.c: Remove.
2794         * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Don't call
2795         initialize_tdesc_nios2_linux.
2796
2797 2017-11-15  Yao Qi  <yao.qi@linaro.org>
2798
2799         * m68hc11-tdep.c (M68HC11_NUM_REGS): Change it to
2800         M68HC11_LAST_HARD_REG + 1.
2801
2802 2017-11-14  Paul Carroll  <pcarroll@codesourcery.com>
2803
2804         PR gdb/22388
2805         * remote.c (remote_write_bytes_aux, remote_read_bytes_1,
2806         remote_read_bytes, remote_write_qxfer, remote_xfer_partial):
2807         Return TARGET_XFER_EOF if size of returned data is 0.
2808
2809 2017-11-14  Simon Marchi  <simon.marchi@ericsson.com>
2810
2811         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2812         memory-map-selftests.c.
2813         (SUBDIR_UNITTESTS_OBS): Add memory-map-selftests.o.
2814         * memory-map.c (memory_map_start_memory): Fix computation of hi
2815         address.
2816         * unittests/memory-map-selftests.c: New file.
2817
2818 2017-11-09  Joel Brobecker  <brobecker@adacore.com>
2819
2820         * ada-lang.c: Fix some typos in the general command documenting
2821         how Ada expressions are being evaluated and how their result
2822         is printed.
2823
2824 2017-11-09  Tom Tromey  <tom@tromey.com>
2825
2826         * psymtab.c (psymbol_hash): Do not hash string contents.
2827         (psymbol_compare): Add comment.
2828
2829 2017-11-09  Tom Tromey  <tom@tromey.com>
2830
2831         * dictionary.c (dict_hash): Move "TKB" check into the "switch".
2832
2833 2017-11-08  Joel Brobecker  <brobecker@adacore.com>
2834
2835         * ada-exp.y (write_var_from_sym): Remove parameter
2836         "orig_left_context".  Update all callers.
2837
2838 2017-11-08  Simon Marchi  <simon.marchi@ericsson.com>
2839
2840         * tracepoint.h (class collection_list) <stringify>: Return
2841         std::vector<std::string>.
2842         (encode_actions_rsp): Change parameters to
2843         std::vector<std::string> *.
2844         * tracepoint.c (collection_list::stringify): Return
2845         std::vector<std::string> and adjust accordingly.
2846         (encode_actions_rsp): Changee parameters to
2847         std::vector<std::string> and adjust accordingly.
2848         * remote.c (free_actions_list),
2849         free_actions_list_cleanup_wrapper): Remove.
2850         (remote_download_tracepoint): Adjust to std::vector.
2851
2852 2017-11-08  Tom Tromey  <tom@tromey.com>
2853
2854         * dwarf2read.c (symbolp): Remove typedef.
2855         (read_func_scope): Use std::vector.
2856         (process_structure_scope): Use std::vector.
2857
2858 2017-11-08  Pedro Alves  <palves@redhat.com>
2859
2860         * ada-lang.c (ada_make_symbol_completion_list): Use
2861         completion_skip_symbol.
2862         * symtab.c (symbol_is_function_or_method(minimal_symbol*)): New.
2863         (symbol_is_function_or_method(symbol*)): New.
2864         (add_symtab_completions): Add complete_symbol_mode parameter.  Use
2865         completion_skip_symbol.
2866         (default_collect_symbol_completion_matches_break_on): Use
2867         completion_skip_symbol.  Pass down mode.
2868         (collect_file_symbol_completion_matches): Pass down mode.
2869         * symtab.h (symbol_is_function_or_method): New declarations.
2870         (completion_skip_symbol): New template function.
2871
2872 2017-11-08  Pedro Alves  <palves@redhat.com>
2873
2874         * linespec.c (iterate_over_all_matching_symtabs): Add
2875         search_domain parameter.  Pass it down to expand_symtabs_matching.
2876         (decode_objc): Request FUNCTIONS_DOMAIN symbols only.
2877         (lookup_prefix_sym): Adjust by passing ALL_DOMAIN as
2878         search_domain.
2879         (add_all_symbol_names_from_pspace): Add search_domain parameter.
2880         Pass it down.
2881         (find_method, find_function_symbols): Request FUNCTIONS_DOMAIN
2882         symbols.
2883         (add_matching_symbols_to_info): Add search_domain parameter.  Pass
2884         it down.
2885
2886 2017-11-08  Pedro Alves  <palves@redhat.com>
2887
2888         * ada-lang.c (ada_make_symbol_completion_list): Remove text and
2889         text_len locals and don't pass them down.
2890         * symtab.c (completion_list_add_name): Remove
2891         sym_text/sym_text_len parameters and adjust.
2892         (completion_list_add_symbol, completion_list_add_msymbol)
2893         (completion_list_objc_symbol, completion_list_add_fields)
2894         (add_symtab_completions): Likewise.
2895         (default_collect_symbol_completion_matches_break_on)
2896         (collect_file_symbol_completion_matches): Remove sym_text_len
2897         local and don't pass it down.
2898         * symtab.h (completion_list_add_name): Remove
2899         sym_text/sym_text_len parameters.
2900
2901 2017-11-08  Pedro Alves  <palves@redhat.com>
2902
2903         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
2904         unittests/lookup_name_info-selftests.c.
2905         (SUBDIR_UNITTESTS_OBS): Add lookup_name_info-selftests.o.
2906         * cp-support.c: Include "selftest.h".
2907         (cp_remove_params_1): Rename from cp_remove_params.  Add
2908         'require_param' parameter, and handle it.
2909         (cp_remove_params): Reimplement.
2910         (cp_remove_params_if_any): New.
2911         (selftests::quote): New.
2912         (selftests::check_remove_params): New.
2913         (selftests::test_cp_remove_params): New.
2914         (_initialize_cp_support): Install
2915         selftests::test_cp_remove_params.
2916         * cp-support.h (cp_remove_params_if_any): Declare.
2917         * dwarf2read.c :Include "selftest.h".
2918         (dw2_expand_symtabs_matching_symbol): Use
2919         lookup_name_info::make_ignore_params.
2920         (selftests::dw2_expand_symtabs_matching::mock_mapped_index)
2921         (selftests::dw2_expand_symtabs_matching::string_or_null)
2922         (selftests::dw2_expand_symtabs_matching::check_match)
2923         (selftests::dw2_expand_symtabs_matching::test_symbols)
2924         (selftests::dw2_expand_symtabs_matching::run_test): New.
2925         (_initialize_dwarf2_read): Register
2926         selftests::dw2_expand_symtabs_matching::run_test.
2927         * psymtab.c (psym_expand_symtabs_matching): Use
2928         lookup_name_info::make_ignore_params.
2929         * symtab.c (demangle_for_lookup_info::demangle_for_lookup_info):
2930         If the lookup name wants to ignore parameters, strip them.
2931         (compare_symbol_name): Remove sym_text/sym_text_len parameters and
2932         code handling '('.
2933         (completion_list_add_name): Don't pass down sym_text/sym_text_len.
2934         (default_collect_symbol_completion_matches_break_on): Don't try to
2935         strip parameters.
2936         * symtab.h (lookup_name_info::lookup_name_info): Add
2937         'ignore_parameters' parameter.
2938         (lookup_name_info::ignore_parameters)
2939         (lookup_name_info::make_ignore_params): New methods.
2940         (lookup_name_info::m_ignore_parameters): New field.
2941         * unittests/lookup_name_info-selftests.c: New file.
2942
2943 2017-11-08  Pedro Alves  <palves@redhat.com>
2944
2945         * dwarf2read.c (dw2_expand_marked_cus)
2946         (dw2_expand_symtabs_matching_symbol): Remove forward declarations.
2947         (dw2_expand_symtabs_matching): Move further below.
2948         (dw2_expand_marked_cus): Reindent.
2949
2950 2017-11-08  Pedro Alves  <palves@redhat.com>
2951
2952         * dwarf2read.c (byte_swap, MAYBE_SWAP): Move higher up in file.
2953         (struct name_component): New.
2954         (mapped_index::name_components): New field.
2955         (mapped_index::symbol_name_at): New method.
2956         (dwarf2_read_index): Call mapped_index ctor.
2957         (dw2_map_matching_symbols): Add comment about name_components
2958         table.
2959         (dw2_expand_symtabs_matching): Factor part to...
2960         (dw2_expand_symtabs_matching_symbol): ... this new function.
2961         Build name components table, and lookup symbols in it before
2962         calling the name matcher.
2963         (dw2_expand_marked_cus): New, factored out from
2964         dw2_expand_symtabs_matching.
2965         (dwarf2_per_objfile_free): Call the mapped_index's dtor.
2966
2967 2017-11-08   Pedro Alves  <palves@redhat.com>
2968
2969         * ada-lang.c (ada_encode): Rename to ..
2970         (ada_encode_1): ... this.  Add throw_errors parameter and handle
2971         it.
2972         (ada_encode): Reimplement.
2973         (match_name): Delete, folded into full_name.
2974         (resolve_subexp): No longer pass the encoded name to
2975         ada_lookup_symbol_list.
2976         (should_use_wild_match): Delete.
2977         (name_match_type_from_name): New.
2978         (ada_lookup_simple_minsym): Use lookup_name_info and the
2979         language's symbol_name_matcher_ftype.
2980         (add_symbols_from_enclosing_procs, ada_add_local_symbols)
2981         (ada_add_block_renamings): Adjust to use lookup_name_info.
2982         (ada_lookup_name): New.
2983         (add_nonlocal_symbols, ada_add_all_symbols)
2984         (ada_lookup_symbol_list_worker, ada_lookup_symbol_list)
2985         (ada_iterate_over_symbols): Adjust to use lookup_name_info.
2986         (ada_name_for_lookup): Delete.
2987         (ada_lookup_encoded_symbol): Construct a verbatim name.
2988         (wild_match): Reverse sense of return type.  Use bool.
2989         (full_match): Reverse sense of return type.  Inline bits of old
2990         match_name here.
2991         (ada_add_block_symbols): Adjust to use lookup_name_info.
2992         (symbol_completion_match): Delete, folded into...
2993         (ada_lookup_name_info::matches): ... .this new method.
2994         (symbol_completion_add): Delete.
2995         (ada_collect_symbol_completion_matches): Add name_match_type
2996         parameter.  Adjust to use lookup_name_info and
2997         completion_list_add_name.
2998         (get_var_value, ada_add_global_exceptions): Adjust to use
2999         lookup_name_info.
3000         (ada_get_symbol_name_cmp): Delete.
3001         (do_wild_match, do_full_match): New functions.
3002         (ada_lookup_name_info::ada_lookup_name_info): New method.
3003         (ada_symbol_name_matches, ada_get_symbol_name_matcher): New
3004         functions.
3005         (ada_language_defn): Install ada_get_symbol_name_matcher.
3006         * ada-lex.l (processId): If name starts with '<', copy it
3007         verbatim.
3008         * block.c (block_iter_match_step, block_iter_match_first)
3009         (block_iter_match_next, block_lookup_symbol)
3010         (block_lookup_symbol_primary, block_find_symbol): Adjust to use
3011         lookup_name_info.
3012         * block.h (block_iter_match_first, block_iter_match_next)
3013         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use lookup_name_info.
3014         * c-lang.c (c_language_defn, cplus_language_defn)
3015         (asm_language_defn, minimal_language_defn): Adjust comments to
3016         refer to la_get_symbol_name_matcher.
3017         * completer.c (complete_files_symbols)
3018         (collect_explicit_location_matches, symbol_completer): Pass a
3019         symbol_name_match_type down.
3020         * completer.h (class completion_match, completion_match_result):
3021         New classes.
3022         (completion_tracker::reset_completion_match_result): New method.
3023         (completion_tracker::m_completion_match_result): New field.
3024         * cp-support.c (make_symbol_overload_list_block): Adjust to use
3025         lookup_name_info.
3026         (cp_fq_symbol_name_matches, cp_get_symbol_name_matcher): New
3027         functions.
3028         * cp-support.h (cp_get_symbol_name_matcher): New declaration.
3029         * d-lang.c: Adjust comments to refer to
3030         la_get_symbol_name_matcher.
3031         * dictionary.c (dict_vector) <iter_match_first, iter_match_next>:
3032         Adjust to use lookup_name_info.
3033         (dict_iter_match_first, dict_iter_match_next)
3034         (iter_match_first_hashed, iter_match_next_hashed)
3035         (iter_match_first_linear, iter_match_next_linear): Adjust to work
3036         with a lookup_name_info.
3037         * dictionary.h (dict_iter_match_first, dict_iter_match_next):
3038         Likewise.
3039         * dwarf2read.c (dw2_lookup_symbol): Adjust to use lookup_name_info.
3040         (dw2_map_matching_symbols): Adjust to use symbol_name_match_type.
3041         (gdb_index_symbol_name_matcher): New class.
3042         (dw2_expand_symtabs_matching) Adjust to use lookup_name_info and
3043         gdb_index_symbol_name_matcher.  Accept a NULL symbol_matcher.
3044         * f-lang.c (f_collect_symbol_completion_matches): Adjust to work
3045         with a symbol_name_match_type.
3046         (f_language_defn): Adjust comments to refer to
3047         la_get_symbol_name_matcher.
3048         * go-lang.c (go_language_defn): Adjust comments to refer to
3049         la_get_symbol_name_matcher.
3050         * language.c (default_symbol_name_matcher)
3051         (language_get_symbol_name_matcher): New functions.
3052         (unknown_language_defn, auto_language_defn): Adjust comments to
3053         refer to la_get_symbol_name_matcher.
3054         * language.h (symbol_name_cmp_ftype): Delete.
3055         (language_defn) <la_collect_symbol_completion_matches>: Add match
3056         type parameter.
3057         <la_get_symbol_name_cmp>: Delete field.
3058         <la_get_symbol_name_matcher>: New field.
3059         <la_iterate_over_symbols>: Adjust to use lookup_name_info.
3060         (default_symbol_name_matcher, language_get_symbol_name_matcher):
3061         Declare.
3062         * linespec.c (iterate_over_all_matching_symtabs)
3063         (iterate_over_file_blocks): Adjust to use lookup_name_info.
3064         (find_methods): Add language parameter, and use lookup_name_info
3065         and the language's symbol_name_matcher_ftype.
3066         (linespec_complete_function): Adjust.
3067         (lookup_prefix_sym): Use lookup_name_info.
3068         (add_all_symbol_names_from_pspace): Adjust.
3069         (find_superclass_methods): Add language parameter and pass it
3070         down.
3071         (find_method): Pass symbol language down.
3072         (find_linespec_symbols): Don't demangle or Ada encode here.
3073         (search_minsyms_for_name): Add lookup_name_info parameter.
3074         (add_matching_symbols_to_info): Add name_match_type parameter.
3075         Use lookup_name_info.
3076         * m2-lang.c (m2_language_defn): Adjust comments to refer to
3077         la_get_symbol_name_matcher.
3078         * minsyms.c: Include <algorithm>.
3079         (add_minsym_to_demangled_hash_table): Remove table parameter and
3080         add objfile parameter.  Use search_name_hash, and add language to
3081         demangled languages vector.
3082         (struct found_minimal_symbols): New struct.
3083         (lookup_minimal_symbol_mangled, lookup_minimal_symbol_demangled):
3084         New functions.
3085         (lookup_minimal_symbol): Adjust to use them.  Don't canonicalize
3086         input names here.  Use lookup_name_info instead.  Lookup up
3087         demangled names once for each language in the demangled names
3088         vector.
3089         (iterate_over_minimal_symbols): Use lookup_name_info.  Lookup up
3090         demangled names once for each language in the demangled names
3091         vector.
3092         (build_minimal_symbol_hash_tables): Adjust.
3093         * minsyms.h (iterate_over_minimal_symbols): Adjust to pass down a
3094         lookup_name_info.
3095         * objc-lang.c (objc_language_defn): Adjust comment to refer to
3096         la_get_symbol_name_matcher.
3097         * objfiles.h: Include <vector>.
3098         (objfile_per_bfd_storage) <demangled_hash_languages>: New field.
3099         * opencl-lang.c (opencl_language_defn): Adjust comment to refer to
3100         la_get_symbol_name_matcher.
3101         * p-lang.c (pascal_language_defn): Adjust comment to refer to
3102         la_get_symbol_name_matcher.
3103         * psymtab.c (psym_lookup_symbol): Use lookup_name_info.
3104         (match_partial_symbol): Use symbol_name_match_type,
3105         lookup_name_info and psymbol_name_matches.
3106         (lookup_partial_symbol): Use lookup_name_info.
3107         (map_block): Use symbol_name_match_type and lookup_name_info.
3108         (psym_map_matching_symbols): Use symbol_name_match_type.
3109         (psymbol_name_matches): New.
3110         (recursively_search_psymtabs): Use lookup_name_info and
3111         psymbol_name_matches.  Rename 'kind' parameter to 'domain'.
3112         (psym_expand_symtabs_matching): Use lookup_name_info.  Rename
3113         'kind' parameter to 'domain'.
3114         * rust-lang.c (rust_language_defn): Adjust comment to refer to
3115         la_get_symbol_name_matcher.
3116         * symfile-debug.c (debug_qf_map_matching_symbols)
3117         (debug_qf_map_matching_symbols): Use symbol_name_match_type.
3118         (debug_qf_expand_symtabs_matching): Use lookup_name_info.
3119         * symfile.c (expand_symtabs_matching): Use lookup_name_info.
3120         * symfile.h (quick_symbol_functions) <map_matching_symbols>:
3121         Adjust to use symbol_name_match_type.
3122         <expand_symtabs_matching>: Adjust to use lookup_name_info.
3123         (expand_symtabs_matching): Adjust to use lookup_name_info.
3124         * symmisc.c (maintenance_expand_symtabs): Use
3125         lookup_name_info::match_any ().
3126         * symtab.c (symbol_matches_search_name): New.
3127         (eq_symbol_entry): Adjust to use lookup_name_info and the
3128         language's matcher.
3129         (demangle_for_lookup_info::demangle_for_lookup_info): New.
3130         (lookup_name_info::match_any): New.
3131         (iterate_over_symbols, search_symbols): Use lookup_name_info.
3132         (compare_symbol_name): Add language, lookup_name_info and
3133         completion_match_result parameters, and use them.
3134         (completion_list_add_name): Make extern.  Add language and
3135         lookup_name_info parameters.  Use them.
3136         (completion_list_add_symbol, completion_list_add_msymbol)
3137         (completion_list_objc_symbol): Add lookup_name_info parameters and
3138         adjust.  Pass down language.
3139         (completion_list_add_fields): Add lookup_name_info parameters and
3140         adjust.  Pass down language.
3141         (add_symtab_completions): Add lookup_name_info parameters and
3142         adjust.
3143         (default_collect_symbol_completion_matches_break_on): Add
3144         name_match_type parameter, and use it.  Use lookup_name_info.
3145         (default_collect_symbol_completion_matches)
3146         (collect_symbol_completion_matches): Add name_match_type
3147         parameter, and pass it down.
3148         (collect_symbol_completion_matches_type): Adjust.
3149         (collect_file_symbol_completion_matches): Add name_match_type
3150         parameter, and use lookup_name_info.
3151         * symtab.h: Include <string> and "common/gdb_optional.h".
3152         (enum class symbol_name_match_type): New.
3153         (class ada_lookup_name_info): New.
3154         (struct demangle_for_lookup_info): New.
3155         (class lookup_name_info): New.
3156         (symbol_name_matcher_ftype): New.
3157         (SYMBOL_MATCHES_SEARCH_NAME): Use symbol_matches_search_name.
3158         (symbol_matches_search_name): Declare.
3159         (MSYMBOL_MATCHES_SEARCH_NAME): Delete.
3160         (default_collect_symbol_completion_matches)
3161         (collect_symbol_completion_matches)
3162         (collect_file_symbol_completion_matches): Add name_match_type
3163         parameter.
3164         (iterate_over_symbols): Use lookup_name_info.
3165         (completion_list_add_name): Declare.
3166         * utils.c (enum class strncmp_iw_mode): Moved to utils.h.
3167         (strncmp_iw_with_mode): Now extern.
3168         * utils.h (enum class strncmp_iw_mode): Moved from utils.c.
3169         (strncmp_iw_with_mode): Declare.
3170
3171 2017-11-08  Keith Seitz  <keiths@redhat.com>
3172             Pedro Alves  <palves@redhat.com>
3173
3174         * ada-lang.c (ada_language_defn): Install
3175         default_search_name_hash.
3176         * buildsym.c (struct buildsym_compunit): <language>: New field.
3177         (finish_block_internal): Pass language when creating dictionaries.
3178         (start_buildsym_compunit, start_symtab): New language parameters.
3179         Use them.
3180         (restart_symtab): Pass down compilation unit's language.
3181         * buildsym.h (enum language): Forward declare.
3182         (start_symtab): New 'language' parameter.
3183         * c-lang.c (c_language_defn, cplus_language_defn)
3184         (asm_language_defn, minimal_language_defn): Install
3185         default_search_name_hash.
3186         * coffread.c (coff_start_symtab): Adjust.
3187         * d-lang.c (d_language_defn): Install default_search_name_hash.
3188         * dbxread.c (struct symloc): Add 'pst_language' field.
3189         (PST_LANGUAGE): Define.
3190         (start_psymtab, read_ofile_symtab): Use it.
3191         (process_one_symbol): New 'language' parameter.  Pass it down.
3192         * dictionary.c (struct dictionary) <language>: New field.
3193         (DICT_LANGUAGE): Define.
3194         (dict_create_hashed, dict_create_hashed_expandable)
3195         (dict_create_linear, dict_create_linear_expandable): New parameter
3196         'language'.  Set the dictionary's language.
3197         (iter_match_first_hashed): Adjust to rename.
3198         (insert_symbol_hashed): Assert we don't see mismatching
3199         languages.  Adjust to rename.
3200         (dict_hash): Rename to ...
3201         (default_search_name_hash): ... this and make extern.
3202         * dictionary.h (struct language_defn): Forward declare.
3203         (dict_create_hashed): New parameter 'language'.
3204         * dwarf2read.c (dwarf2_start_symtab): Pass down language.
3205         * f-lang.c (f_language_defn): Install default_search_name_hash.
3206         * go-lang.c (go_language_defn): Install default_search_name_hash.
3207         * jit.c (finalize_symtab): Pass compunit's language to dictionary
3208         creation.
3209         * language.c (unknown_language_defn, auto_language_defn):
3210         * language.h (language_defn::la_search_name_hash): New field.
3211         (default_search_name_hash): Declare.
3212         * m2-lang.c (m2_language_defn): Install default_search_name_hash.
3213         * mdebugread.c (new_block): New parameter 'language'.
3214         * mdebugread.c (parse_symbol): Pass symbol language to block
3215         allocation.
3216         (psymtab_to_symtab_1): Pass down language.
3217         (new_symtab): Pass compunit's language to block allocation.
3218         * objc-lang.c (objc_language_defn): Install
3219         default_search_name_hash.
3220         * opencl-lang.c (opencl_language_defn):
3221         * p-lang.c (pascal_language_defn): Install
3222         default_search_name_hash.
3223         * rust-lang.c (rust_language_defn): Install
3224         default_search_name_hash.
3225         * stabsread.h (enum language): Forward declare.
3226         (process_one_symbol): Add 'language' parameter.
3227         * symtab.c (search_name_hash): New function.
3228         * symtab.h (search_name_hash): Declare.
3229         * xcoffread.c (read_xcoff_symtab): Pass language to start_symtab.
3230
3231 2017-11-08  Pedro Alves  <palves@redhat.com>
3232
3233         * cp-name-parser.y (main): Don't initialize extra_chars.
3234
3235 2017-11-07  Tom Tromey  <tom@tromey.com>
3236
3237         * event-top.h (command_handler): Constify.
3238         * record-full.c (cmd_record_full_start): Update.
3239         * thread.c (thread_apply_all_command): Update.
3240         * printcmd.c (eval_command): Update.
3241         * mi/mi-main.c (mi_execute_cli_command): Update.
3242         (mi_execute_async_cli_command): Update.
3243         * tui/tui-stack.c (tui_update_command): Update.
3244         * cli/cli-interp.c (safe_execute_command): Constify.
3245         * record.c (record_start): Update.
3246         (record_start, record_stop, cmd_record_start): Update.
3247         * record-btrace.c (cmd_record_btrace_bts_start): Update.
3248         (cmd_record_btrace_pt_start): Update.
3249         (cmd_record_btrace_start): Update.
3250         (cmd_record_btrace_start): Update.
3251         * reverse.c (exec_reverse_once): Update.
3252         * python/python.c (execute_gdb_command): Don't copy the command.
3253         * event-top.c (command_line_handler): Update.
3254         (command_handler): Constify.
3255         * defs.h (deprecated_call_command_hook): Constify.
3256         * cli/cli-script.h (execute_user_command): Constify.
3257         * cli/cli-script.c (execute_user_command): Constify.
3258         (execute_cmd_pre_hook, execute_cmd_post_hook): Constify.
3259         (enum command_control_type): Update.
3260         * main.c (catch_command_errors): Remove non-const overload.
3261         (catch_command_errors_ftype): Remove.
3262         * python/py-cmd.c (cmdpy_function): Constify.
3263         * guile/scm-cmd.c (cmdscm_function): Constify.
3264         * cli/cli-dump.c (call_dump_func): Constify.
3265         * cli/cli-decode.c (do_const_cfunc): Constify.
3266         (do_sfunc): Constify.
3267         (cmd_func): Constify.
3268         * gdbcmd.h (execute_command, execute_command_to_string): Constify.
3269         * top.h (execute_command): Constify.
3270         * top.c (execute_command): Constify.
3271         (execute_command_to_string): Constify.
3272         (deprecated_call_command_hook): Constify.
3273         * command.h (cmd_func): Constify.
3274         * cli/cli-decode.h (struct cmd_list_element) <func>: Constify.
3275
3276 2017-11-07  Tom Tromey  <tom@tromey.com>
3277
3278         * ada-lang.c (catch_ada_exception_command): Constify.
3279         (catch_assert_command): Constify.
3280         * break-catch-throw.c (catch_catch_command, catch_throw_command)
3281         (catch_rethrow_command): Constify.
3282         (catch_exception_command_1): Constify.
3283         * breakpoint.h (add_catch_command): Constify.
3284         * break-catch-syscall.c (catch_syscall_command_1): Constify.
3285         (catch_syscall_split_args): Constify.
3286         * break-catch-sig.c (catch_signal_command): Constify.
3287         (catch_signal_split_args): Constify.
3288         * cli/cli-decode.h (struct cmd_list_element) <function>: Use
3289         cmd_const_sfunc_ftype.
3290         * cli/cli-decode.c (add_setshow_cmd_full): Constify.
3291         (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3292         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3293         (add_setshow_string_cmd, struct cmd_list_element)
3294         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3295         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3296         (add_setshow_zuinteger_unlimited_cmd, add_setshow_zuinteger_cmd):
3297         Constify.
3298         (set_cmd_sfunc): Constify.
3299         (empty_sfunc): Constify.
3300         * command.h (add_setshow_enum_cmd, add_setshow_auto_boolean_cmd)
3301         (add_setshow_boolean_cmd, add_setshow_filename_cmd)
3302         (add_setshow_string_cmd, add_setshow_string_noescape_cmd)
3303         (add_setshow_optional_filename_cmd, add_setshow_integer_cmd)
3304         (add_setshow_uinteger_cmd, add_setshow_zinteger_cmd)
3305         (add_setshow_zuinteger_cmd, add_setshow_zuinteger_unlimited_cmd):
3306         Constify.
3307         (set_cmd_sfunc): Constify.
3308         (cmd_sfunc_ftype): Remove.
3309         * compile/compile.c (set_compile_args): Constify.
3310         * infrun.c (set_disable_randomization): Constify.
3311         * infcmd.c (set_args_command, set_cwd_command): Constify.
3312         * breakpoint.c (set_condition_evaluation_mode): Constify.
3313         (add_catch_command): Constify.
3314         (catch_fork_command_1, catch_exec_command_1)
3315         (catch_load_command_1, catch_unload_command_1): Constify.
3316         (catch_load_or_unload): Constify.
3317         * guile/scm-param.c (pascm_set_func): Constify.
3318         (add_setshow_generic): Constify.
3319         * python/py-param.c (get_set_value): Constify.
3320         * top.h (set_verbose): Constify.
3321         * tui/tui-win.c (tui_set_var_cmd): Constify.
3322         * mi/mi-main.c (set_mi_async_command): Constify.
3323         * cli/cli-logging.c (set_logging_overwrite)
3324         (set_logging_redirect): Constify.
3325         * value.c (set_max_value_size): Constify.
3326         * valprint.c (set_input_radix, set_output_radix): Constify.
3327         * utils.c (set_width_command, set_height_command): Constify.
3328         * typeprint.c (set_print_type_methods, set_print_type_typedefs): Constify.
3329         * tracepoint.c (set_disconnected_tracing)
3330         (set_circular_trace_buffer, set_trace_buffer_size)
3331         (set_trace_user, set_trace_notes, set_trace_stop_notes): Constify.
3332         * top.c (set_history_size_command, set_verbose, set_editing)
3333         (set_gdb_datadir, set_history_filename): Constify.
3334         * target.c (set_targetdebug, maint_set_target_async_command)
3335         (maint_set_target_non_stop_command, set_target_permissions)
3336         (set_write_memory_permission): Constify.
3337         (open_target): Constify.
3338         * target-descriptions.c (set_tdesc_filename_cmd): Constify.
3339         * target-dcache.c (set_stack_cache, set_code_cache): Constify.
3340         * symtab.c (set_symbol_cache_size_handler): Constify.
3341         * symfile.c (set_ext_lang_command): Constify.
3342         * symfile-debug.c (set_debug_symfile): Constify.
3343         * source.c (set_directories_command): Constify.
3344         * solib.c (reload_shared_libraries, gdb_sysroot_changed): Constify.
3345         * serial.c (set_parity): Constify.
3346         * rs6000-tdep.c (powerpc_set_soft_float, powerpc_set_vector_abi): Constify.
3347         * remote.c (set_remote_exec_file, set_remotebreak)
3348         (set_remote_protocol_Z_packet_cmd, set_range_stepping): Constify.
3349         * record.c (set_record_insn_history_size)
3350         (set_record_call_history_size): Constify.
3351         * record-full.c (set_record_full_insn_max_num): Constify.
3352         * proc-api.c (set_procfs_trace_cmd, set_procfs_file_cmd): Constify.
3353         * osabi.c (set_osabi): Constify.
3354         * mips-tdep.c (set_mips64_transfers_32bit_regs)
3355         (reinit_frame_cache_sfunc, mips_abi_update): Constify.
3356         * maint.c (maintenance_set_profile_cmd): Constify.
3357         * linux-thread-db.c (set_libthread_db_search_path): Constify.
3358         * language.c (set_language_command, set_range_command)
3359         (set_case_command): Constify.
3360         * infrun.c (set_non_stop, set_observer_mode)
3361         (set_stop_on_solib_events, set_schedlock_func)
3362         (set_exec_direction_func): Constify.
3363         * infcmd.c (set_inferior_tty_command): Constify.
3364         * disasm.c (set_disassembler_options_sfunc): Constify.
3365         * demangle.c (set_demangling_command): Constify.
3366         * dcache.c (set_dcache_size, set_dcache_line_size): Constify.
3367         * cris-tdep.c (set_cris_version, set_cris_mode)
3368         (set_cris_dwarf2_cfi): Constify.
3369         * corefile.c (set_gnutarget_command): Constify.
3370         * charset.c (set_host_charset_sfunc, set_target_charset_sfunc)
3371         (set_target_wide_charset_sfunc): Constify.
3372         * breakpoint.c (update_dprintf_commands): Constify.
3373         * auto-load.c (set_auto_load_dir, set_auto_load_safe_path): Constify.
3374         * arm-tdep.c (set_fp_model_sfunc, arm_set_abi)
3375         (set_disassembly_style_sfunc): Constify.
3376         * arch-utils.c (set_endian, set_architecture): Constify.
3377         * alpha-tdep.c (reinit_frame_cache_sfunc): Constify.
3378         * agent.c (set_can_use_agent): Constify.
3379
3380 2017-11-07  Tom Tromey  <tom@tromey.com>
3381
3382         * go32-nat.c (go32_sysinfo, go32_sldt, go32_sgdt, go32_sidt)
3383         (go32_pde, go32_pte, go32_pte_for_address): Constify.
3384         * gnu-nat.c (_parse_bool_arg, show_thread_default_pause_cmd)
3385         (set_thread_default_pause_cmd, set_thread_default_run_cmd)
3386         (show_thread_default_run_cmd, set_thread_default_detach_sc_cmd)
3387         (parse_int_arg, show_thread_default_detach_sc_cmd)
3388         (set_signals_cmd, show_signals_cmd, set_sig_thread_cmd)
3389         (show_sig_thread_cmd, set_stopped_cmd, show_stopped_cmd)
3390         (set_exceptions_cmd, show_exceptions_cmd, set_task_pause_cmd)
3391         (show_task_pause_cmd, set_task_detach_sc_cmd)
3392         (show_task_detach_sc_cmd, set_task_exc_port_cmd)
3393         (set_noninvasive_cmd, set_thread_pause_cmd)
3394         (show_thread_pause_cmd, set_thread_run_cmd, show_thread_run_cmd)
3395         (set_thread_detach_sc_cmd, show_thread_detach_sc_cmd)
3396         (set_thread_exc_port_cmd, thread_takeover_sc_cmd): Constify.
3397         * windows-nat.c (display_selectors): Constify.
3398         * cli/cli-decode.h (struct cmd_list_element) <function>: Remove
3399         non-const "cfunc".
3400         * cli/cli-decode.c (set_cmd_cfunc): Remove non-const overload.
3401         (cmd_cfunc_eq): Likewise.
3402         (struct cmd_list_element): Likewise.
3403         (do_cfunc): Remove.
3404         (cli_user_command_p): Update.
3405         * command.h (add_cmd): Remove non-const overload.
3406         (cmd_cfunc_ftype): Remove typedef.
3407         (cmd_cfunc_eq): Remove non-const overload.
3408         * value.c (show_values): Constify.
3409         * thread.c (thread_apply_all_command): Constify.
3410         * symfile.c (load_command): Constify.
3411         * source.c (directory_command): Constify.
3412         * maint.c (maintenance_internal_error)
3413         (maintenance_demangler_warning, maintenance_space_display)
3414         (maintenance_print_architecture, maintenance_translate_address)
3415         (maintenance_info_selftests, maintenance_internal_warning):
3416         Constify.
3417         * breakpoint.c (disable_trace_command, enable_trace_command):
3418         Constify.
3419         * auto-load.c (info_auto_load_local_gdbinit, add_auto_load_dir):
3420         Constify.
3421         (add_auto_load_safe_path): Constify.
3422         * guile/scm-auto-load.c (info_auto_load_guile_scripts): Constify.
3423         * top.h (show_commands): Constify.
3424         * linux-thread-db.c (info_auto_load_libthread_db): Constify.
3425         * sparc64-tdep.c (adi_examine_command): Constify.
3426         (adi_assign_command): Constify.
3427
3428 2017-11-07  Tom Tromey  <tom@tromey.com>
3429
3430         * frame.h (info_locals_command, info_args_command): Constify.
3431         * auto-load.h (auto_load_info_scripts): Constify.
3432         * inferior.h (registers_info): Constify.
3433         * copying.c: Rebuild.
3434         * copying.awk: Constify generated commands.
3435         * auto-load.c (auto_load_info_scripts)
3436         (info_auto_load_gdb_scripts): Constify.
3437         * cli/cli-decode.c (struct cmd_list_element): Take a
3438         cmd_const_cfunc_ftype.
3439         * command.h (add_info): Take a cmd_const_cfunc_ftype.
3440         * tui/tui-win.c (tui_all_windows_info): Constify.
3441         * python/py-auto-load.c (info_auto_load_python_scripts):
3442         Constify.
3443         * cli/cli-cmds.c (show_command): Remove non-const overload.
3444         * tracepoint.c (info_tvariables_command, info_scope_command):
3445         Constify.
3446         (info_static_tracepoint_markers_command): Constify.
3447         * thread.c (info_threads_command): Constify.
3448         (print_thread_info_1): Constify.
3449         * target.c (info_target_command): Constify.
3450         * symtab.c (info_sources_command, info_functions_command)
3451         (info_types_command): Constify.
3452         (info_variables_command): Remove non-const overload.
3453         * symfile.c (info_ext_lang_command): Constify.
3454         * stack.c (info_frame_command, info_locals_command)
3455         (info_args_command): Constify.
3456         (backtrace_command): Remove non-const overload.
3457         * source.c (info_source_command, info_line_command): Constify.
3458         * solib.c (info_sharedlibrary_command): Constify.
3459         * skip.c (info_skip_command): Constify.
3460         * ser-go32.c (info_serial_command): Constify.
3461         * reverse.c (info_bookmarks_command): Constify.
3462         * printcmd.c (info_symbol_command, info_address_command)
3463         (info_display_command): Constify.
3464         * osdata.c (info_osdata_command): Constify.
3465         * objc-lang.c (info_selectors_command, info_classes_command):
3466         Constify.
3467         * nto-procfs.c (procfs_pidlist, procfs_meminfo): Constify.
3468         * memattr.c (info_mem_command): Constify.
3469         * macrocmd.c (info_macro_command, info_macros_command): Constify.
3470         * linux-fork.c (info_checkpoints_command): Constify.
3471         * infrun.c (info_signals_command): Constify.
3472         * inflow.c (info_terminal_command): Constify.
3473         * inferior.c (info_inferiors_command): Constify.
3474         (print_inferior): Constify.
3475         * infcmd.c (info_program_command, info_all_registers_command)
3476         (info_registers_command, info_vector_command)
3477         (info_float_command): Constify.
3478         (registers_info): Constify.
3479         * gnu-nat.c (info_send_rights_cmd, info_recv_rights_cmd)
3480         (info_port_sets_cmd, info_dead_names_cmd, info_port_rights_cmd):
3481         Constify.
3482         * f-valprint.c (info_common_command): Constify.
3483         * dcache.c (info_dcache_command): Constify.
3484         (dcache_info_1): Constify.
3485         * darwin-nat-info.c (info_mach_tasks_command)
3486         (info_mach_task_command, info_mach_ports_command)
3487         (info_mach_port_command, info_mach_threads_command)
3488         (info_mach_thread_command, info_mach_regions_command)
3489         (info_mach_regions_recurse_command, info_mach_region_command)
3490         (info_mach_exceptions_command): Constify.
3491         (get_task_from_args): Constify.
3492         * cp-support.c (info_vtbl_command): Constify.
3493         * breakpoint.c (info_watchpoints_command)
3494         (info_tracepoints_command): Constify.
3495         (info_breakpoints_command): Remove non-const overload.
3496         * avr-tdep.c (avr_io_reg_read_command): Constify.
3497         * auxv.c (info_auxv_command): Constify.
3498         * ada-tasks.c (info_tasks_command): Constify.
3499         (info_task): Constify.
3500         * ada-lang.c (info_exceptions_command): Constify.
3501
3502 2017-11-07  Tom Tromey  <tom@tromey.com>
3503
3504         * solib.h (no_shared_libraries): Constify.
3505         * frame.h (return_command): Constify.
3506         * cli/cli-cmds.h (quit_command): Constify.
3507         * top.h (quit_command, execute_command): Constify.
3508         * target.h (flash_erase_command): Constify.
3509         * inferior.h (set_inferior_args, attach_command): Constify.
3510         * tracepoint.h (start_tracing, stop_tracing): Constify.
3511         * breakpoint.h (break_command, tbreak_command)
3512         (hbreak_command_wrapper, thbreak_command_wrapper)
3513         (rbreak_command_wrapper, watch_command_wrapper)
3514         (awatch_command_wrapper, rwatch_command_wrapper)
3515         (get_tracepoint_by_number): Constify.
3516         * symtab.c (info_variables_command, rbreak_command)
3517         (symtab_symbol_info): Constify.
3518         (info_variables_command): Add non-const overload.
3519         * top.c (dont_repeat_command): Constify.
3520         * breakpoint.c (ignore_command, commands_command)
3521         (condition_command, tbreak_command, hbreak_command)
3522         (thbreak_command, clear_command, break_command)
3523         (info_breakpoints_command, watch_command, rwatch_command)
3524         (awatch_command, trace_command, ftrace_command, strace_command)
3525         (trace_pass_command, break_range_command, dprintf_command)
3526         (agent_printf_command, get_tracepoint_by_number)
3527         (watch_maybe_just_location, trace_pass_command): Constify.
3528         (info_breakpoints_command): Add non-const overload.
3529         * tracefile.c (tsave_command): Constify.
3530         * infcmd.c (attach_command, disconnect_command, signal_command)
3531         (queue_signal_command, stepi_command, nexti_command)
3532         (finish_command, next_command, step_command, until_command)
3533         (advance_command, jump_command, continue_command, run_command)
3534         (start_command, starti_command, interrupt_command)
3535         (run_command_1, set_inferior_args, step_1): Constify.
3536         * inferior.c (add_inferior_command, remove_inferior_command)
3537         (clone_inferior_command): Constify.
3538         * linux-fork.c (checkpoint_command, restart_command): Constify.
3539         * windows-nat.c (signal_event_command): Constify.
3540         * guile/guile.c (guile_repl_command, guile_command): Constify.
3541         * printcmd.c (x_command, display_command, printf_command)
3542         (output_command, set_command, call_command, print_command)
3543         (eval_command): Constify.
3544         (non_const_set_command): Remove.
3545         (_initialize_printcmd): Update.
3546         * source.c (forward_search_command, reverse_search_command):
3547         Constify.
3548         * jit.c (jit_reader_load_command, jit_reader_unload_command):
3549         Constify.
3550         * infrun.c (handle_command): Constify.
3551         * memattr.c (mem_command): Constify.
3552         * stack.c (return_command, up_command, up_silently_command)
3553         (down_command, down_silently_command, frame_command)
3554         (backtrace_command, func_command, backtrace_command_1): Constify.
3555         (backtrace_command): Add non-const overload.
3556         * remote-sim.c (simulator_command): Constify.
3557         * exec.c (set_section_command): Constify.
3558         * tracepoint.c (tdump_command, trace_variable_command)
3559         (tstatus_command, tstop_command, tstart_command)
3560         (end_actions_pseudocommand, while_stepping_pseudocommand)
3561         (collect_pseudocommand, teval_pseudocommand, actions_command)
3562         (start_tracing, stop_tracing): Constify.
3563         * value.c (init_if_undefined_command): Constify.
3564         * tui/tui-stack.c (tui_update_command): Constify.
3565         * tui/tui-win.c (tui_refresh_all_command)
3566         (tui_set_tab_width_command, tui_set_win_height_command)
3567         (tui_set_focus_command, tui_scroll_forward_command)
3568         (tui_scroll_backward_command, tui_scroll_left_command)
3569         (tui_scroll_right_command, parse_scrolling_args, tui_set_focus)
3570         (tui_set_win_height): Constify.
3571         * tui/tui-layout.c (tui_layout_command): Constify.
3572         * procfs.c (proc_trace_syscalls, proc_trace_sysentry_cmd)
3573         (proc_trace_sysexit_cmd, proc_untrace_sysentry_cmd)
3574         (proc_untrace_sysexit_cmd): Constify.
3575         * remote.c (threadlist_test_cmd, threadinfo_test_cmd)
3576         (threadset_test_cmd, threadlist_update_test_cmd)
3577         (threadalive_test): Constify.
3578         * objc-lang.c (print_object_command): Constify.
3579         * command.h (add_com): Constify.
3580         * cli/cli-dump.c (restore_command): Constify.
3581         * cli/cli-cmds.c (pwd_command, echo_command, quit_command)
3582         (help_command, complete_command, shell_command, edit_command)
3583         (list_command, disassemble_command, make_command)
3584         (apropos_command, alias_command): Constify.
3585         * cli/cli-script.c (document_command, define_command)
3586         (while_command, if_command, validate_comname): Constify.
3587         * cli/cli-decode.c (struct cmd_list_element): Change type of
3588         "fun".
3589         * target.c (do_monitor_command, flash_erase_command): Constify.
3590         * regcache.c (reg_flush_command): Constify.
3591         * reverse.c (reverse_step, reverse_next, reverse_stepi)
3592         (reverse_nexti, reverse_continue, reverse_finish)
3593         (save_bookmark_command, goto_bookmark_command)
3594         (exec_reverse_once): Constify.
3595         * python/python.c (python_interactive_command, python_command):
3596         Constify.
3597         * typeprint.c (ptype_command, whatis_command, whatis_exp):
3598         Constify.
3599         * solib.c (sharedlibrary_command, no_shared_libraries): Constify.
3600         * gcore.c (gcore_command): Constify.
3601
3602 2017-11-07  Tom Tromey  <tom@tromey.com>
3603
3604         * printcmd.c (x_command): Call set_repeat_arguments.
3605         * cli/cli-cmds.c (list_command): Call set_repeat_arguments.
3606         * top.c (repeat_arguments): New global.
3607         (set_repeat_arguments): New function.
3608         (execute_command): Handle repeat_arguments.
3609         (show_commands): Calls set_repeat_arguments.
3610         * command.h (set_repeat_arguments): Declare.
3611
3612 2017-11-07  Tom Tromey  <tom@tromey.com>
3613
3614         * stack.c (backtrace_command): Use std::string.
3615         (backtrace_command_1): Make "count_exp" const.
3616
3617 2017-11-07  Tom Tromey  <tom@tromey.com>
3618
3619         * source.c (directory_switch, mod_path, add_path): Constify.
3620         * defs.h (add_path, mod_path, directory_switch): Constify.
3621         * mi/mi-cmd-env.c (env_mod_path): Constify.
3622
3623 2017-11-07  Tom Tromey  <tom@tromey.com>
3624
3625         * infcmd.c (strip_bg_char): Return gdb::unique_xmalloc_ptr.
3626         (run_command_1, continue_command, step_1, jump_command)
3627         (signal_command, until_command, advance_command, finish_command)
3628         (attach_command): Update.
3629
3630 2017-11-07  Tom Tromey  <tom@tromey.com>
3631
3632         * command.h (set_cmd_cfunc): Don't declare.
3633         * cli/cli-decode.c (set_cmd_cfunc): Now static.
3634
3635 2017-11-07  Tom Tromey  <tom@tromey.com>
3636
3637         * stack.c (select_frame_command): Constify.
3638         * cli/cli-decode.c (add_com_suppress_notification): Constify.
3639         * command.h (add_com_suppress_notification): Constify.
3640
3641 2017-11-07  Tom Tromey  <tom@tromey.com>
3642
3643         * breakpoint.c (stop_command): Constify.
3644         * cli/cli-decode.c (struct cmd_list_element): Constify.
3645         * command.h (add_abbrev_prefix_cmd): Constify.
3646
3647 2017-11-07  Pedro Alves  <palves@redhat.com>
3648
3649         * breakpoint.c (extract_bp_kind): New enum.
3650         (extract_bp_num, extract_bp_or_bp_range): New functions, partially
3651         factored out from ...
3652         (extract_bp_number_and_location): ... here.
3653         * cli/cli-utils.c (get_number_trailer): Handle '-$variable'.
3654
3655 2017-11-07  Pedro Alves  <palves@redhat.com>
3656
3657         * breakpoint.c (extract_bp_number_and_location): Change return
3658         type to void.  Throw error instead of warning.
3659         (enable_disable_command): Adjust.
3660
3661 2017-11-07  Xavier Roirand  <roirand@adacore.com>
3662             Pedro Alves  <palves@redhat.com>
3663
3664         * breakpoint.c (map_breakpoint_number_range): New, factored out
3665         from ...
3666         (map_breakpoint_numbers): ... here.
3667         (find_location_by_number): Change parameters from string to
3668         breakpoint number and location.
3669         (extract_bp_number_and_location): New function.
3670         (enable_disable_bp_num_loc)
3671         (enable_disable_breakpoint_location_range)
3672         (enable_disable_command): New functions, factored out ...
3673         (enable_command, disable_command): ... these functions, and
3674         adjusted to support ranges.
3675         * NEWS: Document enable/disable breakpoint location range feature.
3676
3677 2017-11-06  Luis Machado  <luis.machado@linaro.org>
3678
3679         * MAINTAINERS (Write After Approval): Update my e-mail address.
3680
3681 2017-11-06  Pedro Alves  <palves@redhat.com>
3682
3683         * gnu-nat.c (gnu_terminal_init): Delete.
3684         (gnu_target): Don't install gnu_terminal_init.
3685         * inflow.c (child_terminal_init_with_pgrp): Delete, merged with ...
3686         (child_terminal_init): ... this function.
3687
3688 2017-11-06  Pedro Alves  <palves@redhat.com>
3689
3690         * common/common.m4 (GDB_AC_COMMON): No longer check termio.h nor
3691         sgtty.h.
3692         * config.in, configure: Regenerate.
3693
3694 2017-11-06  Pedro Alves  <palves@redhat.com>
3695
3696         * event-top.c: Check SIGTSTP instead of STOP_SIGNAL thoughout.
3697         (async_init_signals): Adjust.
3698         (handle_stop_sig): Rename to ...
3699         (handle_sigtstp): ... this.
3700         (async_stop_sig): Rename to ...
3701         (async_sigtstp_handler): ... this, and delete STOP_SIGNAL !=
3702         SIGTSTP path.
3703         * event-top.h: Move signal.h include to the top.  Check SIGTSTP
3704         instead of STOP_SIGNAL thoughout.
3705         (handle_stop_sig): Rename to ...
3706         (handle_sigtstp): ... this.
3707         * top.c (command_line_input): Replace STOP_SIGNAL -> SIGTSTP.
3708
3709 2017-11-06  Pedro Alves  <palves@redhat.com>
3710
3711         * inflow.c (child_terminal_inferior, child_terminal_ours_1): No
3712         longer set flags twice in row.
3713
3714 2017-11-06  Pedro Alves  <palves@redhat.com>
3715
3716         * Makefile.in (SER_HARDWIRE): Update comment.
3717         (HFILES_NO_SRCDIR): Remove gdb_termios.h.
3718         * common/gdb_termios.h: Delete file.
3719         * common/job-control.c: Include termios.h and unistd.h instead of
3720         gdb_termios.h.
3721         (gdb_setpgid): Remove HAVE_TERMIOS || TIOCGPGRP preprocessor
3722         check.
3723         (have_job_control): Check HAVE_TERMIOS_H instead of HAVE_TERMIOS.
3724         Remove sgtty code.
3725         * configure.ac: No longer check for termio.h and sgtty.h.
3726         * configure: Regenerate.
3727         * inflow.c: Include termios.h instead of gdb_termios.h.  Replace
3728         PROCESS_GROUP_TYPE checks with HAVE_TERMIOS_H checks throughout.
3729         Replace PROCESS_GROUP_TYPE references with pid_t references
3730         throughout.
3731         (gdb_getpgrp): Delete.
3732         (set_initial_gdb_ttystate): Use tcgetpgrp instead of gdb_getpgrp.
3733         (child_terminal_inferior): Remove comment.  Remove sgtty code.
3734         (child_terminal_ours_1): Use tcgetpgrp directly instead of
3735         gdb_getpgrp.  Use serial_set_tty_state instead aof
3736         serial_noflush_set_tty_state.  Remove sgtty code.
3737         * inflow.h: Include unistd.h instead of gdb_termios.h.  Replace
3738         PROCESS_GROUP_TYPE check with HAVE_TERMIOS_H check.
3739         (inferior_process_group): Now returns pid_t.
3740         * ser-base.c (ser_base_noflush_set_tty_state): Delete.
3741         * ser-base.h (ser_base_noflush_set_tty_state): Delete.
3742         * ser-event.c (serial_event_ops): Update.
3743         * ser-go32.c (dos_noflush_set_tty_state): Delete.
3744         (dos_ops): Update.
3745         * ser-mingw.c (hardwire_ops, tty_ops, pipe_ops, tcp_ops): Update.
3746         * ser-pipe.c (pipe_ops): Update.
3747         * ser-tcp.c (tcp_ops): Update.
3748         * ser-unix.c: Include termios.h instead of gdb_termios.h.  Remove
3749         HAVE_TERMIOS checks.
3750         [HAVE_TERMIO] (struct hardwire_ttystate): Delete.
3751         [HAVE_SGTTY] (struct hardwire_ttystate): Delete.
3752         (get_tty_state, set_tty_state): Drop termio and sgtty code, and
3753         assume termios.
3754         (hardwire_noflush_set_tty_state): Delete.
3755         (hardwire_print_tty_state, hardwire_drain_output)
3756         (hardwire_flush_output, hardwire_flush_input)
3757         (hardwire_send_break, hardwire_raw, hardwire_setbaudrate)
3758         (hardwire_setstopbits, hardwire_setparity): Drop termio and sgtty
3759         code, and assume termios.
3760         (hardwire_ops): Update.
3761         (_initialize_ser_hardwire): Remove HAVE_TERMIOS check.
3762         * serial.c (serial_noflush_set_tty_state): Delete.
3763         * serial.h (serial_noflush_set_tty_state): Delete.
3764         (serial_ops::noflush_set_tty_state): Delete.
3765
3766 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3767
3768         * Makefile.in (SFILES): Remove doublest.c and dfp.c.
3769         (HFILES_NO_SRCDIR): Remove doublest.h and dfp.h.
3770         (COMMON_OBS): Remove doublest.o and dfp.o.
3771         Do not build target-float.c (instead of doublest.c)
3772         with -Wformat-nonliteral.
3773
3774         * doublest.c: Remove file.
3775         * doublest.h: Remove file.
3776         * dfp.c: Remove file.
3777         * dfp.h: Remove file.
3778
3779         * target-float.c: Do not include "doublest.h" and "dfp.h".
3780         (DOUBLEST): Move here from doublest.h.
3781         (enum float_kind): Likewise.
3782         (FLOATFORMAT_CHAR_BIT): Likewise.
3783         (FLOATFORMAT_LARGEST_BYTES): Likewise.
3784         (floatformat_totalsize_bytes): Move here from doublest.c.  Make static.
3785         (floatformat_precision): Likewise.
3786         (floatformat_normalize_byteorder, get_field, put_field): Likewise.
3787         (floatformat_is_negative, floatformat_classify, floatformat_mantissa):
3788         Likewise.
3789         (host_float_format, host_double_format, host_long_double_format):
3790         Likewise.
3791         (floatformat_to_string, floatformat_from_string): Likewise.
3792         (floatformat_to_doublest): Likewise.  Also, inline the original
3793         convert_floatformat_to_doublest.
3794         (floatformat_from_doublest): Likewise.  Also, inline the original
3795         convert_floatformat_from_doublest.
3796
3797         Include "dpd/decimal128.h", "dpd/decimal64.h", and "dpd/decimal32.h".
3798         (MAX_DECIMAL_STRING): Move here from dfp.c.
3799         (match_endianness): Likewise.
3800         (set_decnumber_context, decimal_check_errors): Likewise.
3801         (decimal_from_number, decimal_to_number): Likewise.
3802         (decimal_to_string, decimal_from_string): Likewise.  Make static.
3803         (decimal_from_longest, decimal_from_ulongest): Likewise.
3804         (decimal_to_longest): Likewise.
3805         (decimal_binop, decimal_is_zero, decimal_compare): Likewise.
3806         (decimal_convert): Likewise.
3807
3808 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3809
3810         * doublest.c: Do not include "gdbtypes.h".
3811         (extract_typed_floating): Remove.
3812         (store_typed_floating): Remove.
3813         (convert_typed_floating): Remove.
3814         * doublest.h (struct type): Remove.
3815         (DOUBLEST_PRINT_FORMAT): Remove.
3816         (DOUBLEST_SCAN_FORMAT): Remove.
3817         (extract_typed_floating): Remove.
3818         (store_typed_floating): Remove.
3819         (convert_typed_floating): Remove.
3820
3821         * dfp.c (decimal_from_doublest): Remove.
3822         (decimal_to_doublest): Remove.
3823         * dfp.h: Do not include "doublest.h".
3824         (decimal_from_doublest): Remove.
3825         (decimal_to_doublest): Remove.
3826
3827         * value.c: Do not include "doublest.h" and "dfp.h".
3828         (value_as_double): Remove.
3829         (unpack_double): Remove.
3830         (value_from_double): Remove.
3831         (value_from_decfloat): Remove.
3832         * value.h: Do not include "doublest.h".
3833         (value_as_double): Remove.
3834         (unpack_double): Remove.
3835         (value_from_double): Remove.
3836         (value_from_decfloat): Remove.
3837
3838 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3839
3840         * i386-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3841         (i386_extract_return_value): Use target_float_convert.
3842         (i386_store_return_value): Likewise.
3843         * i387-tdep.c (i387_register_to_value): Use target_float_convert.
3844         (i387_value_to_register): Likewise.
3845         * ia64-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3846         (ia64_register_to_value): Use target_float_convert.
3847         (ia64_value_to_register): Likewise.
3848         (ia64_extract_return_value): Likewise.
3849         (ia64_store_return_value): Likewise.
3850         (ia64_push_dummy_call): Likewise.
3851         * m68k-tdep.c: Include "target-float.h".
3852         (m68k_register_to_value): Use target_float_convert.
3853         (m68k_value_to_register): Likewise.
3854         (m68k_svr4_extract_return_value): Likewise.
3855         (m68k_svr4_store_return_value): Likewise.
3856         * ppc-sysv-tdep.c: Include "target-float.h".
3857         (ppc_sysv_abi_push_dummy_call): Use target_float_convert.
3858         (do_ppc_sysv_return_value): Likewise.
3859         (ppc64_sysv_abi_push_freg): Likewise.
3860         (ppc64_sysv_abi_return_value_base): Likewise.
3861         * rs6000-aix-tdep.c: Include "target-float.h".
3862         (rs6000_push_dummy_call): Use target_float_convert.
3863         (rs6000_return_value): Likewise.
3864         * rs6000-lynx178-tdep.c: Include "target-float.h".
3865         (rs6000_lynx178_push_dummy_call): Use target_float_convert.
3866         (rs6000_lynx178_return_value): Likewise.
3867         * rs6000-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3868         (rs6000_register_to_value): Use target_float_convert.
3869         (rs6000_value_to_register): Likewise.
3870         * arm-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3871         (arm_extract_return_value): Use target_float_convert.
3872         (arm_store_return_value): Likewise.
3873         * sh-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3874         (sh_register_convert_to_virtual): Use target_float_convert.
3875         (sh_register_convert_to_raw): Likewise.
3876         * sh64-tdep.c: Include "target-float.h".
3877         (sh64_extract_return_value): Use target_float_convert.
3878         (sh64_register_convert_to_virtual): Likewise.
3879         (sh64_register_convert_to_raw): Likewise.  Fix argument types.
3880
3881 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3882
3883         * target-float.c (floatformat_to_host_double): New function.
3884         (floatformat_from_host_double): Likewise.
3885         (target_float_to_host_double): Likewise.
3886         (target_float_from_host_double): Likewise.
3887         * target-float.h (target_float_to_host_double): Add prototype.
3888         (target_float_from_host_double): Likewise.
3889
3890         * guile/scm-value.c: Include "target-float.h".
3891         (gdbscm_value_to_real): Use target_float_to_host_double.
3892         Handle integer source values via value_as_long.
3893         * guile/scm-math.c: Include "target-float.h".  Do not include
3894         "doublest.h", "dfp.h", and "expression.h".
3895         (vlscm_convert_typed_number): Use target_float_from_host_double.
3896         (vlscm_convert_number): Likewise.
3897
3898         * python/py-value.c (valpy_float): Use target_float_to_host_double.
3899         (convert_value_from_python): Use target_float_from_host_double.
3900
3901 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3902
3903         * ada-lang.c (cast_to_fixed): Reimplement in target arithmetic.
3904         (cast_from_fixed): Likewise.
3905         (ada_scaling_type): New function.
3906         (ada_delta): Return value instead of DOUBLEST.  Perform target
3907         arithmetic instead of host arithmetic.
3908         (scaling_factor): Rename to ...
3909         (ada_scaling_factor) ... this.  Make non-static.  Return value instead
3910         of DOUBLEST.  Perform target arithmetic instead of host arithmetic.
3911         (ada_fixed_to_float): Remove.
3912         (ada_float_to_fixed): Remove.
3913         * ada-lang.h (ada_fixed_to_float): Remove.
3914         (ada_float_to_fixed): Remove.
3915         (ada_delta): Return value instead of DOUBLEST.
3916         (ada_scaling_factor): Add prototype.
3917
3918         * ada-typeprint.c: Include "target-float.h".
3919         (print_fixed_point_type): Perform target arithmetic instead of
3920         host arithmetic.
3921         * ada-valprint.c: Include "target-float.h".
3922         (ada_val_print_num): Perform target arithmetic instead of
3923         host arithmetic for fixed-point types.
3924
3925 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3926
3927         * target-float.c: Include <math.h>.
3928         (floatformat_binop): New function.
3929         (floatformat_compare): Likewise.
3930         (target_float_binop): Likewise.
3931         (target_float_compare): Likewise.
3932         * target-float.h: Include "expression.h".
3933         (target_float_binop): Add prototype.
3934         (target_float_compare): Likewise.
3935
3936         * valarith.c: Do not include "doublest.h" and "dfp.h".
3937         Include "common/byte-vector.h".
3938         (value_args_as_decimal): Remove, replace by ...
3939         (value_args_as_target_float): ... this function.  Handle both
3940         binary and decimal target floating-point formats.
3941         (scalar_binop): Handle both binary and decimal FP using
3942         value_args_as_target_float and target_float_binop.
3943         (value_equal): Handle both binary and decimal FP using
3944         value_args_as_target_float and target_float_compare.
3945         (value_less): Likewise.
3946         (value_pos): Handle all scalar types as simple copy.
3947         (value_neg): Handle all scalar types via BINOP_SUB from 0.
3948         * dfp.c (decimal_binop): Throw error instead of internal_error
3949         when called with an unsupported operation code.
3950
3951 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3952
3953         * target-float.c (target_float_to_string): New function.
3954         (target_float_from_string): New function.
3955         * target-float.h (target_float_to_string): Add prototype.
3956         (target_float_from_string): Add prototype.
3957
3958         * valprint.c: Include "target-float.h".  Do not include
3959         "doublest.h" and "dfp.h".
3960         (print_floating): Use target_float_to_string.
3961         * printcmd.c: Include "target-float.h".  Do not include "dfp.h".
3962         (printf_floating): Use target_float_to_string.
3963         * i387-tdep.c: Include "target-float.h".  Do not include "doublest.h".
3964         (print_i387_value): Use target_float_to_string.
3965         * mips-tdep.c: Include "target-float.h".
3966         (mips_print_fp_register): Use target_float_to_string.
3967         * sh64-tdep.c: Include "target-float.h".
3968         (sh64_do_fp_register): Use target_float_to_string.
3969
3970         * parse.c: Include "target-float.h".  Do not include
3971         "doublest.h" and "dfp.h".
3972         (parse_float): Use target_float_from_string.
3973         * stabsread.c: Include "target-float.h".  Do not include "doublest.h".
3974         (define_symbol): Use target_float_from_string.
3975         * gdbarch-selftests.c: Include "target-float.h".
3976         (register_to_value_test): Use target_float_from_string.
3977
3978 2017-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
3979
3980         * Makefile.c (SFILES): Add target-float.c.
3981         (HFILES_NO_SRCDIR): Add target-float.h.
3982         (COMMON_OBS): Add target-float.o.
3983         * target-float.h: New file.
3984         * target-float.c: New file.
3985
3986         * doublest.c (floatformat_classify): Fix detection of float_zero.
3987
3988         * gdbtypes.c (is_floating_type): New function.
3989         * gdbtypes.h (is_floating_type): Add prototype.
3990
3991         * value.c: Do not include "floatformat.h".
3992         (unpack_double): Use target_float_is_valid.
3993         (is_floating_value): New function.
3994         * value.h (is_floating_value): Add prototype-
3995
3996         * valarith.c: Include "target-float.h".
3997         (value_logical_not): Use target_float_is_zero.
3998
3999         * python/py-value.c: Include "target-float.h".
4000         (valpy_nonzero): Use target_float_is_zero.
4001
4002 2017-11-04  Tom Tromey  <tom@tromey.com>
4003
4004         * h8300-tdep.c (h8300_push_dummy_call): Use std::vector.
4005
4006 2017-11-04  Tom Tromey  <tom@tromey.com>
4007
4008         * breakpoint.c (set_momentary_breakpoint): Return
4009         breakpoint_up.
4010         (until_break_command): Update.
4011         (new_until_break_fsm): Change argument types to
4012         breakpoint_up.
4013         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
4014         (do_delete_breakpoint_cleanup, make_cleanup_delete_breakpoint):
4015         Remove.
4016         * infcmd.c (finish_forward): Update.
4017         * breakpoint.h (set_momentary_breakpoint)
4018         (set_momentary_breakpoint_at_pc): Return breakpoint_up.
4019         (make_cleanup_delete_breakpoint): Remove.
4020         (struct breakpoint_deleter): New.
4021         (breakpoint_up): New typedef.
4022         * infrun.c (insert_step_resume_breakpoint_at_sal_1): Update.
4023         (insert_exception_resume_breakpoint): Update.
4024         (insert_exception_resume_from_probe): Update.
4025         (insert_longjmp_resume_breakpoint): Update.
4026         * arm-linux-tdep.c (arm_linux_copy_svc): Update.
4027         * elfread.c (elf_gnu_ifunc_resolver_stop): Update.
4028         * infcall.c (call_function_by_hand_dummy): Update
4029
4030 2017-11-04  Tom Tromey  <tom@tromey.com>
4031
4032         * c-typeprint.c (c_type_print_base): Use gdb::unique_xmalloc_ptr.
4033
4034 2017-11-04  Tom Tromey  <tom@tromey.com>
4035
4036         * linux-tdep.c (linux_core_info_proc_mappings): Use
4037         gdb::def_vector.
4038         (linux_get_siginfo_data): Return gdb::byte_vector.  Remove
4039         "size" argument.
4040         (linux_corefile_thread): Update.
4041         (linux_make_corefile_notes): Remove unused variable.
4042
4043 2017-11-04  Tom Tromey  <tom@tromey.com>
4044
4045         * ppc-linux-tdep.c (ppc_linux_get_syscall_number): Use
4046         gdb::byte_vector.
4047
4048 2017-11-04  Tom Tromey  <tom@tromey.com>
4049
4050         * objfiles.c (do_free_objfile_cleanup): Remove.
4051         * compile/compile-object-load.c (compile_object_load): Update.
4052         * objfiles.h (make_cleanup_free_objfile): Remove.
4053
4054 2017-11-04  Tom Tromey  <tom@tromey.com>
4055
4056         * sparc64-tdep.c (do_examine): Use gdb::def_vector.
4057         (adi_read_versions): Change "tags" to "gdb_byte *".
4058         (adi_print_versions): Likewise.
4059
4060 2017-11-04  Tom Tromey  <tom@tromey.com>
4061
4062         * breakpoint.c
4063         (scoped_rbreak_breakpoints::scoped_rbreak_breakpoints): Rename
4064         from start_rbreak_breakpoints.
4065         (scoped_rbreak_breakpoints): Rename from end_rbreak_breakpoints.
4066         * breakpoint.h (class scoped_rbreak_breakpoints): New.
4067         (start_rbreak_breakpoints, end_rbreak_breakpoints): Remove.
4068         * symtab.c (do_end_rbreak_breakpoints): Remove.
4069         (rbreak_command): Use scoped_rbreak_breakpoints, std::string.
4070
4071 2017-11-04  Tom Tromey  <tom@tromey.com>
4072
4073         * cp-namespace.c (reset_directive_searched): Remove.
4074         (cp_lookup_symbol_via_imports): Use scoped_restore.
4075         * cp-support.c (reset_directive_searched): Remove.
4076         (make_symbol_overload_list_using): Use scoped_restore.
4077         * d-namespace.c (d_lookup_symbol_imports): Use scoped_restore.
4078         (reset_directive_searched): Remove.
4079
4080 2017-11-04  Tom Tromey  <tom@tromey.com>
4081
4082         * symfile.c (find_separate_debug_file_by_debuglink): Use
4083         unique_xmalloc_ptr.
4084
4085 2017-11-04  Tom Tromey  <tom@tromey.com>
4086
4087         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
4088         type of "info".
4089         (compute_stack_depth): Likewise.
4090         (do_compile_dwarf_expr_to_c): Use std::vector.
4091
4092 2017-11-04  Tom Tromey  <tom@tromey.com>
4093
4094         * compile/compile-object-load.c (link_callbacks_einfo): Use
4095         std::string.
4096
4097 2017-11-04  Tom Tromey  <tom@tromey.com>
4098
4099         * dwarf2read.c (process_full_comp_unit, process_full_type_unit):
4100         Use scoped_free_pendings.
4101         * dbxread.c (dbx_symfile_read, dbx_psymtab_to_symtab_1): Use
4102         scoped_free_pendings.
4103         * xcoffread.c (xcoff_psymtab_to_symtab_1): Use scoped_free_pendings.
4104         (xcoff_initial_scan): Likewise.
4105         * buildsym.c (reset_symtab_globals): Update comment.
4106         (scoped_free_pendings): Rename from really_free_pendings.
4107         (prepare_for_building): Update comment.
4108         (buildsym_init): Likewise.
4109         * buildsym.h (class scoped_free_pendings): New class.
4110         (really_free_pendings): Don't declare.
4111
4112 2017-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
4113
4114         * doublest.c (convert_doublest_to_floatformat): Fix uninitialized
4115         output when converting a zero value to a special byteorder format.
4116
4117 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4118
4119         * frame.c (do_frame_register_read): Remove aspace.
4120         * jit.c (jit_frame_sniffer): Likwise.
4121         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
4122         * regcache.c (regcache::regcache): Pass nullptr.
4123         (regcache_print): Caller updated.
4124         * regcache.h (regcache::regcache): Remove one constructor
4125         parameter aspace.
4126
4127 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4128
4129         * regcache.h (regcache) <m_readonly_p>: Change it to const bool.
4130
4131 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4132
4133         * breakpoint.c (insert_single_step_breakpoints): Update.
4134         * frame.c (struct frame_info) <aspace>: Add const.
4135         (frame_save_as_regcache): Add const.
4136         (get_frame_address_space): Return const address_space *.
4137         * frame.h (get_frame_address_space): Update declaration.
4138         * infrun.c (struct step_over_info) <aspace>: Add const.
4139         (set_step_over_info): Make aspace const.
4140         (displaced_step_prepare_throw): Change variable const.
4141         (resume): Likewise.
4142         (proceed): Likewise.
4143         (adjust_pc_after_break): Likewise.
4144         (save_waitstatus): Likewise.
4145         (handle_signal_stop): Likewise.
4146         (keep_going_pass_signal): Likewise.
4147         * jit.c (jit_frame_sniffer): Add const.
4148         * mips-tdep.c (mips_single_step_through_delay): Likewise.
4149         * ppc-linux-tdep.c (ppu2spu_sniffer): Likewise.
4150         * record-full.c (record_full_wait_1): Likewise.
4151         * regcache.c (regcache::regcache): Change parameter to const.
4152         * regcache.h (regcache::regcache): Likewise.
4153         (regcache::aspace): Return const address_space *.
4154         (regcache) <m_aspace>: Add const.
4155
4156 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4157
4158         * darwin-nat.c (cancel_breakpoint): Use regcache->aspace ().
4159         * frame.c (create_sentinel_frame): Likewise.
4160         * infrun.c (displaced_step_prepare_throw): Likewise.
4161         (resume): Likewise.
4162         (thread_still_needs_step_over_bp): Likewise.
4163         (proceed): Likewise.
4164         (do_target_wait): Likewise.
4165         (adjust_pc_after_break): Likewise.
4166         (handle_syscall_event): Likewise.
4167         (save_waitstatus): Likewise.
4168         (handle_inferior_event_1): Likewise.
4169         (handle_signal_stop): Likewise.
4170         (keep_going_pass_signal): Likewise.
4171         * linux-nat.c (status_callback): Likewise.
4172         (save_stop_reason): Likewise.
4173         (resume_stopped_resumed_lwps): Likewise.
4174         * record-full.c (record_full_exec_insn): Likewise.
4175         (record_full_wait_1): Likewise.
4176         * regcache.c (get_regcache_aspace): Remove.
4177         * regcache.h (get_regcache_aspace): Remove.
4178
4179 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4180
4181         * regcache.c (struct regcache_descr) <nr_raw_registers>: Remove.
4182         (init_regcache_descr): Use gdbarch_num_regs.
4183         (regcache::regcache): Likewise.
4184         (regcache::get_register_status): Likewise.
4185         (regcache::assert_raw_regnum): Likewise.
4186         (regcache::cooked_read): Likewise.
4187         (regcache::cooked_read_value): Likewise.
4188         (regcache::cooked_write): Likewise.
4189         (regcache::dump): Likewise.
4190         (regcache::num_raw_registers): New method.
4191         * regcache.h (class regcache) <num_raw_registers>: New.
4192
4193 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4194
4195         * regcache.c (regcache::assert_regnum): New method.
4196         (regcache::invalidate): Call assert_regnum.
4197         (regcache::raw_update): Likewise.
4198         (regcache::raw_write): Likewise.
4199         (regcache::raw_read_part): Likewise.
4200         (regcache::raw_write_part): Likewise.
4201         (regcache::raw_supply): Likewise.
4202         (regcache::raw_supply_integer): Likewise.
4203         (regcache::raw_supply_zeroed): Likewise.
4204         (regcache::raw_collect): Likewise.
4205         (regcache::raw_collect_integer): Likewise.
4206         * regcache.h (regcache::assert_regnum): Declare.
4207
4208 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4209
4210         * regcache.c (regcache::dump): Remove code.
4211
4212 2017-11-02  Yao Qi  <yao.qi@linaro.org>
4213
4214         * regcache.c (struct regcache_descr) <sizeof_raw_register_status>:
4215         Remove.
4216         <sizeof_cooked_register_status>: Remove.
4217         (init_regcache_descr): Update.
4218         (regcache::regcache): Use nr_cooked_registers and nr_raw_registers.
4219         (regcache::save): Likewise.
4220         (regcache::dump): Likewise.
4221
4222 2017-11-01  James Bowman  <james.bowman@ftdichip.com>
4223
4224         * ft32-tdep.c (ft32_fetch_instruction): New function.
4225         (ft32_analyze_prologue): Use ft32_fetch_instruction().
4226
4227 2017-10-31  Simon Marchi  <simon.marchi@polymtl.ca>
4228
4229         * cli/cli-script.c (execute_control_command): Rename to ...
4230         (execute_control_command_1): ... this.
4231         (execute_control_command): New function.
4232
4233 2017-10-31  Simon Marchi  <simon.marchi@ericsson.com>
4234
4235         * tracepoint.c (tfind_command): Remove const_cast.
4236
4237 2017-10-30  Mike Gulick  <mgulick@mathworks.com>
4238
4239         * Makefile.in (HFILES_NO_SRCDIR): Remove reference to gdb.h.
4240
4241 2017-10-30  Simon Marchi  <simon.marchi@ericsson.com>
4242
4243         * common/common-utils.h (in_inclusive_range): New function.
4244         * arm-tdep.c (arm_record_extension_space): Use
4245         in_inclusive_range.
4246         (thumb_record_ld_st_reg_offset): Use in_inclusive_range.
4247         * cris-tdep.c (cris_spec_reg_applicable): Use
4248         in_inclusive_range.
4249
4250 2017-10-30  Pedro Alves  <palves@redhat.com>
4251             Simon Marchi  <simon.marchi@ericsson.com>
4252
4253         * remote.c (remote_set_syscall_catchpoint): Build a std::string
4254         instead of a gdb::unique_xmalloc_ptr, using string_appendf.
4255
4256 2017-10-30  Pedro Alves  <palves@redhat.com>
4257
4258         * common/common-utils.c (string_appendf, string_vappendf): New
4259         functions.
4260         * common/common-utils.h (string_appendf, string_vappendf): New
4261         declarations.
4262         * unittests/common-utils-selftests.c (string_appendf_func)
4263         (test_appendf_func, string_vappendf_wrapper, string_appendf_tests)
4264         (string_vappendf_tests): New functions.
4265         (_initialize_common_utils_selftests): Register "string_appendf" and
4266         "string_vappendf tests".
4267
4268 2017-10-30  Pedro Alves  <palves@redhat.com>
4269
4270         * unittests/common-utils-selftests.c (format_func): New typedef.
4271         (string_printf_tests, string_vprintf_tests): Tests factored out
4272         and merged to ...
4273         (test_format_func): ... this new function.
4274         (string_printf_tests, string_vprintf_tests): Reimplement on top of
4275         test_format_func.
4276
4277 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4278
4279         * darwin-nat.c: Remove include of gdb.h.
4280
4281 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4282
4283         * xtensa-xtregs.c: Fix formatting issues.
4284
4285 2017-10-29  Simon Marchi  <simon.marchi@ericsson.com>
4286
4287         * xtensa-xtregs.c (xtensa_regtable_t) <name>: Constify.
4288
4289 2017-10-28  Maksim Dzabraev  <dzabraew@gmail.com>
4290
4291         PR python/21213
4292         * python/py-infthread.c (thpy_get_inferior): Increment reference
4293         of inferior before returning it.
4294
4295 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4296
4297         * unittests/common-utils-selftests.c (format): Add
4298         ATTRIBUTE_PRINTF.
4299
4300 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4301
4302         * xml-syscall.c (struct syscall_desc): Add constructor.
4303         <name>: Change type to std::string.
4304         (syscall_desc_up): New typedef.
4305         (syscall_desc_p): Remove typeder.
4306         (DEF_VEC_P(syscall_desc_p)): Remove.
4307         (struct syscall_group_desc): Add constructor.
4308         <name>: Change type to std::string.
4309         <syscalls>: Change type to std::vector.
4310         (syscall_group_desc_up): New typedef.
4311         (syscall_group_desc_p): Remove typedef.
4312         (DEF_VEC_P(syscall_group_desc_p)): Remove.
4313         (struct syscalls_info) <syscalls>: Change type to std::vector of
4314         unique_ptr.
4315         <groups>: Likewise.
4316         <my_gdb_datadir>: Change type to std::string.
4317         (syscalls_info_up): New typedef.
4318         (allocate_syscalls_info): Remove.
4319         (syscalls_info_free_syscalls_desc): Remove.
4320         (syscalls_info_free_syscall_group_desc): Remove.
4321         (free_syscalls_info): Remove.
4322         (make_cleanup_free_syscalls_info): Remove.
4323         (syscall_group_create_syscall_group_desc): Adjust.
4324         (syscall_group_add_syscall): Adjust.
4325         (syscall_create_syscall_desc): Adjust.
4326         (syscall_parse_xml): Adjust, use unique_ptr instead of cleanup.
4327         (init_syscalls_info): Adjust.
4328         (syscall_group_get_group_by_name): Adjust.
4329         (xml_get_syscall_number): Adjust.
4330         (xml_get_syscall_name): Adjust.
4331         (xml_list_of_syscalls): Adjust.
4332         (xml_list_syscalls_by_group): Adjust.
4333         (xml_list_of_groups): Adjust.
4334
4335 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4336
4337         * probe.h: Don't include gdb_vecs.h.
4338         (DEF_VEC_P (probe_p)): Remove.
4339         (find_probes_in_objfile): Return an std::vector.
4340         * probe.c (find_probes_in_objfile): Likewise.
4341         * breakpoint.c (breakpoint_objfile_data)
4342         <longjmp_probes>: Change type to std::vector.
4343         <exception_probes>: Likewise.
4344         (free_breakpoint_probes): Don't manually free vectors.
4345         (create_longjmp_master_breakpoint): Adjust.
4346         (create_exception_master_breakpoint): Adjust.
4347         * solib-svr4.c (svr4_create_probe_breakpoints): Change
4348         parameter type, adjust.
4349         (svr4_create_solib_event_breakpoints): Adjust.
4350
4351 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4352
4353         * breakpoint.c (breakpoint_objfile_data): Initialize fields.
4354         (get_breakpoint_objfile_data): Allocate breakpoint_objfile_data
4355         with new.
4356         (free_breakpoint_probes): Rename to ...
4357         (free_breakpoint_objfile_data): ... this, and call delete on
4358         bp_objfile_data..
4359
4360 2017-10-27  Simon Marchi  <simon.marchi@polymtl.ca>
4361
4362         * auto-load.c: Don't include gdb_vecs.h, include algorithm.
4363         (loaded_script_ptr): Remove typedef.
4364         (DEF_VEC_P (loaded_script_ptr)): Remove.
4365         (struct collect_matching_scripts_data): Add constructor.
4366         <scripts_p>: Change type to (pointer to) std::vector.
4367         (collect_matching_scripts_data): Adjust.
4368         (sort_scripts_by_name): Make suitable for std::sort.
4369         (print_scripts): Don't sort vector, adjust to std::vector.
4370         (auto_load_info_scripts): Sort vectors, adjust to std::vector.
4371
4372 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4373
4374         * symfile.c (filename_language): Make struct, not typedef.  Add
4375         constructor.
4376         <ext>: Change type to std::string.
4377         (DEF_VEC_O (filename_language)): Remove.
4378         (filename_language_table): Change type to std::vector.
4379         (add_filename_language): Adjust.
4380         (set_ext_lang_command): Adjust.
4381         (info_ext_lang_command): Adjust.
4382         (deduce_language_from_filename): Adjust.
4383         (class scoped_restore_filename_language_table): Remove.
4384         (test_filename_language): Use scoped_restore.
4385         (test_set_ext_lang_command): Use scoped_restore, adjust to
4386         std::vector change.
4387
4388 2017-10-27  Simon Marchi  <simon.marchi@ericsson.com>
4389
4390         * symfile.c: Include selftest.h.
4391         (class scoped_restore_filename_language_table): New.
4392         (test_filename_language): New test.
4393         (test_set_ext_lang_command): New test.
4394         (_initialize_symfile): Register tests.
4395
4396 2017-10-27  Keith Seitz  <keiths@redhat.com>
4397
4398         * breakpoint.c (print_breakpoint_location): Use the symbol saved
4399         in the bp_location, falling back to find_pc_sect_function when
4400         needed.
4401         (add_location_to_breakpoint): Save sal->symbol.
4402         * breakpoint.h (struct bp_location) <symbol>: New field.
4403         * symtab.c (find_function_start_sal): Save the symbol into the SaL.
4404         * symtab.h (struct symtab_and_line) <symbol>: New field.
4405
4406 2017-10-26  Patrick Frants  <osscontribute@gmail.com>
4407
4408         PR gdb/13669
4409         * cp-valprint.c (cp_print_value_fields): Use obstack_blank_fast
4410         to rewind obstack.
4411
4412 2017-10-26  Pedro Alves  <palves@redhat.com>
4413
4414         * remote.c (remote_async_terminal_ours_p): Delete.
4415         (remote_open_1, remote_terminal_inferior, remote_terminal_ours):
4416         Remove references to 'remote_async_terminal_ours_p'.
4417
4418 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4419
4420         * breakpoint.h (regular_breakpoint_inserted_here_p): Remove.
4421
4422 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4423
4424         * break-catch-sig.c (signal_catchpoint_breakpoint_hit): Make
4425         aspace const.
4426         * break-catch-syscall.c (breakpoint_hit_catch_syscall):
4427         Likewise.
4428         * breakpoint.c (bpstat_check_location): Remove cast.
4429         (breakpoint_hit_catch_fork): Make aspce const.
4430         (breakpoint_hit_catch_solib): Likewise.
4431         (breakpoint_hit_catch_exec): Likewise.
4432         (breakpoint_hit_ranged_breakpoint): Likewise.
4433         (breakpoint_hit_watchpoint): Likewise.
4434         (base_breakpoint_breakpoint_hit): Likewise.
4435         (bkpt_breakpoint_hit): Likewise.
4436         (dprintf_breakpoint_hit): Likewise.
4437         (tracepoint_breakpoint_hit): Likewise.
4438         * breakpoint.h (breakpoint_ops) <breakpoint_hit>: Likewise.
4439
4440 2017-10-26  Yao Qi  <yao.qi@linaro.org>
4441
4442         * breakpoint.c (breakpoint_location_address_match): Change
4443         "struct address_space *" to "const address_space".
4444         (breakpoint_location_address_range_overlap): Likewise.
4445         (breakpoint_here_p): Likewise.
4446         (breakpoint_in_range_p): Likewise.
4447         (moribund_breakpoint_here_p): Likewise.
4448         (bp_location_inserted_here_p): Likewise.
4449         (software_breakpoint_inserted_here_p): Likewise.
4450         (hardware_breakpoint_inserted_here_p): Likewise.
4451         (hardware_watchpoint_inserted_in_range): Likewise.
4452         (bpstat_check_location): Likewise.
4453         (bpstat_stop_status): Likewise.
4454         (breakpoint_address_match): Likewise.
4455         (breakpoint_address_match_range): Likewise.
4456         (breakpoint_location_address_match): Likewise.
4457         (breakpoint_location_address_range_overlap): Likewise.
4458         (insert_single_step_breakpoint): Likewise.
4459         (breakpoint_has_location_inserted_here): Likewise.
4460         (single_step_breakpoint_inserted_here_p): Likewise.
4461         (pc_at_non_inline_function): Likewise.
4462         * breakpoint.h (bpstat_stop_status): Update declaration.
4463         (breakpoint_here_p): Likewise.
4464         (breakpoint_in_range_p): Likewise.
4465         (moribund_breakpoint_here_p): Likewise.
4466         (breakpoint_inserted_here_p): Likewise.
4467         (software_breakpoint_inserted_here_p): Likewise.
4468         (hardware_breakpoint_inserted_here_p): Likewise.
4469         (breakpoint_has_location_inserted_here): Likewise.
4470         (single_step_breakpoint_inserted_here_p): Likewise.
4471         (hardware_watchpoint_inserted_in_range): Likewise.
4472         (breakpoint_address_match): Likewise.
4473         (insert_single_step_breakpoint): Likewise.
4474         (pc_at_non_inline_function): Likewise.
4475         * gdbthread.h (thread_has_single_step_breakpoint_here): Likewise.
4476         * record.c (record_check_stopped_by_breakpoint): Likewise.
4477         * record.h (record_check_stopped_by_breakpoint): Likewise.
4478         * thread.c (thread_has_single_step_breakpoint_here): Likewise.
4479
4480 2017-10-25  Yao Qi  <yao.qi@linaro.org>
4481
4482         * aarch32-linux-nat.c (aarch32_gp_regcache_supply): Use
4483         regcache->arch () instead get_regcache_arch.
4484         * aarch64-fbsd-nat.c (aarch64_fbsd_fetch_inferior_registers):
4485         Likewise.
4486         (aarch64_fbsd_store_inferior_registers): Likewise.
4487         * aarch64-linux-nat.c (fetch_gregs_from_thread): Likewise.
4488         (store_gregs_to_thread): Likewise.
4489         (fetch_fpregs_from_thread): Likewise.
4490         (store_fpregs_to_thread): Likewise.
4491         * aarch64-tdep.c (aarch64_extract_return_value): Likewise.
4492         (aarch64_store_return_value): Likewise.
4493         (aarch64_software_single_step): Likewise.
4494         * aix-thread.c (aix_thread_wait): Likewise.
4495         (supply_reg32): Likewise.
4496         (supply_sprs64): Likewise.
4497         (supply_sprs32): Likewise.
4498         (fill_gprs64): Likewise.
4499         (fill_gprs32): Likewise.
4500         (fill_sprs64): Likewise.
4501         (fill_sprs32): Likewise.
4502         (store_regs_user_thread): Likewise.
4503         (store_regs_kernel_thread): Likewise.
4504         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
4505         (alphabsd_store_inferior_registers): Likewise.
4506         * alpha-tdep.c (alpha_extract_return_value): Likewise.
4507         (alpha_store_return_value): Likewise.
4508         (alpha_deal_with_atomic_sequence): Likewise.
4509         (alpha_next_pc): Likewise.
4510         (alpha_software_single_step): Likewise.
4511         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
4512         (amd64bsd_store_inferior_registers): Likewise.
4513         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
4514         Likewise.
4515         (amd64_linux_store_inferior_registers): Likewise.
4516         * amd64-nat.c (amd64_supply_native_gregset): Likewise.
4517         (amd64_collect_native_gregset): Likewise.
4518         * amd64-obsd-tdep.c (amd64obsd_supply_uthread): Likewise.
4519         (amd64obsd_collect_uthread): Likewise.
4520         * amd64-tdep.c (amd64_supply_fpregset): Likewise.
4521         (amd64_collect_fpregset): Likewise.
4522         (amd64_supply_fxsave): Likewise.
4523         (amd64_supply_xsave): Likewise.
4524         (amd64_collect_fxsave): Likewise.
4525         (amd64_collect_xsave): Likewise.
4526         * arc-tdep.c (arc_write_pc): Likewise.
4527         * arch-utils.c (default_skip_permanent_breakpoint): Likewise.
4528         * arm-fbsd-nat.c (arm_fbsd_fetch_inferior_registers): Likewise.
4529         (arm_fbsd_store_inferior_registers): Likewise.
4530         * arm-linux-nat.c (fetch_vfp_regs): Likewise.
4531         (store_vfp_regs): Likewise.
4532         (arm_linux_fetch_inferior_registers): Likewise.
4533         (arm_linux_store_inferior_registers): Likewise.
4534         * arm-linux-tdep.c (arm_linux_supply_gregset): Likewise.
4535         (arm_linux_sigreturn_next_pc): Likewise.
4536         (arm_linux_get_next_pcs_syscall_next_pc): Likewise.
4537         * arm-nbsd-nat.c (arm_supply_gregset): Likewise.
4538         (fetch_register): Likewise.
4539         (store_register): Likewise.
4540         * arm-tdep.c (arm_is_thumb): Likewise.
4541         (displaced_in_arm_mode): Likewise.
4542         (bx_write_pc): Likewise.
4543         (arm_get_next_pcs_addr_bits_remove): Likewise.
4544         (arm_software_single_step): Likewise.
4545         (arm_extract_return_value): Likewise.
4546         (arm_store_return_value): Likewise.
4547         (arm_write_pc): Likewise.
4548         * bfin-tdep.c (bfin_extract_return_value): Likewise.
4549         * bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
4550         (bsd_uthread_store_registers): Likewise.
4551         * core-regset.c (fetch_core_registers): Likewise.
4552         * corelow.c (get_core_registers): Likewise.
4553         * cris-tdep.c (cris_store_return_value): Likewise.
4554         (cris_extract_return_value): Likewise.
4555         (find_step_target): Likewise.
4556         (find_step_target): Likewise.
4557         (cris_software_single_step): Likewise.
4558         * ctf.c (ctf_fetch_registers): Likewise.
4559         * darwin-nat.c (cancel_breakpoint): Likewise.
4560         * fbsd-tdep.c (fbsd_collect_thread_registers): Likewise.
4561         * frv-tdep.c (frv_extract_return_value): Likewise.
4562         * ft32-tdep.c (ft32_store_return_value): Likewise.
4563         (ft32_extract_return_value): Likewise.
4564         * go32-nat.c (fetch_register): Likewise.
4565         (go32_fetch_registers): Likewise.
4566         (go32_store_registers): Likewise.
4567         (store_register): Likewise.
4568         * h8300-tdep.c (h8300_extract_return_value): Likewise.
4569         (h8300_store_return_value): Likewise.
4570         * hppa-linux-nat.c (fetch_register): Likewise.
4571         (store_register): Likewise.
4572         (hppa_linux_fetch_inferior_registers): Likewise.
4573         (hppa_linux_store_inferior_registers): Likewise.
4574         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Likewise.
4575         (i386_darwin_store_inferior_registers): Likewise.
4576         * i386-gnu-nat.c (gnu_fetch_registers): Likewise.
4577         (gnu_store_registers): Likewise.
4578         * i386-linux-nat.c (fetch_register): Likewise.
4579         (store_register): Likewise.
4580         (supply_gregset): Likewise.
4581         (fill_gregset): Likewise.
4582         (i386_linux_fetch_inferior_registers): Likewise.
4583         (i386_linux_store_inferior_registers): Likewise.
4584         (i386_linux_resume): Likewise.
4585         * i386-linux-tdep.c (i386_linux_get_syscall_number_from_regcache):
4586         Likewise.
4587         * i386-nto-tdep.c (i386nto_supply_gregset): Likewise.
4588         * i386-obsd-nat.c (i386obsd_supply_pcb): Likewise.
4589         * i386-obsd-tdep.c (i386obsd_supply_uthread): Likewise.
4590         (i386obsd_collect_uthread): Likewise.
4591         * i386-tdep.c (i386_mmx_regnum_to_fp_regnum): Likewise.
4592         (i386_supply_gregset): Likewise.
4593         (i386_collect_gregset): Likewise.
4594         (i386_supply_fpregset): Likewise.
4595         (i386_collect_fpregset): Likewise.
4596         (i386_mpx_bd_base): Likewise.
4597         * i386-v4-nat.c (supply_fpregset): Likewise.
4598         (fill_fpregset): Likewise.
4599         * i387-tdep.c (i387_supply_fsave): Likewise.
4600         (i387_collect_fsave): Likewise.
4601         (i387_supply_fxsave): Likewise.
4602         (i387_collect_fxsave): Likewise.
4603         (i387_supply_xsave): Likewise.
4604         (i387_collect_xsave): Likewise.
4605         * ia64-linux-nat.c (ia64_linux_fetch_registers): Likewise.
4606         (ia64_linux_store_registers): Likewise.
4607         * ia64-tdep.c (ia64_access_rse_reg): Likewise.
4608         (ia64_extract_return_value): Likewise.
4609         (ia64_store_return_value): Likewise.
4610         (find_func_descr): Likewise.
4611         * inf-child.c (inf_child_fetch_inferior_registers): Likewise.
4612         * inf-ptrace.c (inf_ptrace_fetch_registers): Likewise.
4613         (inf_ptrace_store_registers): Likewise.
4614         * infrun.c (use_displaced_stepping): Likewise.
4615         (displaced_step_prepare_throw): Likewise.
4616         (resume): Likewise.
4617         (proceed): Likewise.
4618         (do_target_wait): Likewise.
4619         (adjust_pc_after_break): Likewise.
4620         (handle_inferior_event_1): Likewise.
4621         (handle_signal_stop): Likewise.
4622         (save_infcall_suspend_state): Likewise.
4623         (restore_infcall_suspend_state): Likewise.
4624         * iq2000-tdep.c (iq2000_extract_return_value): Likewise.
4625         * jit.c (jit_frame_prev_register): Likewise.
4626         * linux-nat.c (save_stop_reason): Likewise.
4627         (linux_nat_wait_1): Likewise.
4628         (resume_stopped_resumed_lwps): Likewise.
4629         * linux-record.c (record_linux_sockaddr): Likewise.
4630         (record_linux_msghdr): Likewise.
4631         (record_linux_system_call): Likewise.
4632         * linux-tdep.c (linux_collect_thread_registers): Likewise.
4633         * lm32-tdep.c (lm32_extract_return_value): Likewise.
4634         (lm32_store_return_value): Likewise.
4635         * m32c-tdep.c (m32c_read_flg): Likewise.
4636         (m32c_pseudo_register_read): Likewise.
4637         (m32c_pseudo_register_write): Likewise.
4638         * m32r-linux-tdep.c (m32r_linux_supply_gregset): Likewise.
4639         (m32r_linux_collect_gregset): Likewise.
4640         * m32r-tdep.c (m32r_store_return_value): Likewise.
4641         (m32r_extract_return_value): Likewise.
4642         * m68k-bsd-nat.c (m68kbsd_supply_fpregset): Likewise.
4643         (m68kbsd_collect_fpregset): Likewise.
4644         * m68k-bsd-tdep.c (m68kbsd_supply_fpregset): Likewise.
4645         * m68k-linux-nat.c (fetch_register): Likewise.
4646         (old_fetch_inferior_registers): Likewise.
4647         (old_store_inferior_registers): Likewise.
4648         (store_regs): Likewise.
4649         * m68k-tdep.c (m68k_svr4_extract_return_value): Likewise.
4650         (m68k_svr4_store_return_value): Likewise.
4651         * m88k-tdep.c (m88k_store_arguments): Likewise.
4652         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Likewise.
4653         (mi_cmd_data_write_register_values): Likewise.
4654         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers): Likewise.
4655         (mips_fbsd_store_inferior_registers): Likewise.
4656         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Likewise.
4657         (mips_fbsd_supply_gregs): Likewise.
4658         (mips_fbsd_collect_fpregs): Likewise.
4659         (mips_fbsd_collect_gregs): Likewise.
4660         (mips_fbsd_supply_fpregset): Likewise.
4661         (mips_fbsd_collect_fpregset): Likewise.
4662         (mips_fbsd_supply_gregset): Likewise.
4663         (mips_fbsd_collect_gregset): Likewise.
4664         * mips-linux-nat.c (supply_gregset): Likewise.
4665         (fill_gregset): Likewise.
4666         (supply_fpregset): Likewise.
4667         (fill_fpregset): Likewise.
4668         * mips-linux-tdep.c (mips_supply_gregset): Likewise.
4669         (mips_fill_gregset): Likewise.
4670         (mips_supply_fpregset): Likewise.
4671         (mips_fill_fpregset): Likewise.
4672         (mips64_supply_gregset): Likewise.
4673         (micromips_linux_sigframe_validate): Likewise.
4674         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
4675         (mipsnbsd_fetch_inferior_registers): Likewise.
4676         (mipsnbsd_store_inferior_registers): Likewise.
4677         * mips-nbsd-tdep.c (mipsnbsd_supply_fpregset): Likewise.
4678         (mipsnbsd_supply_gregset): Likewise.
4679         (mipsnbsd_iterate_over_regset_sections): Likewise.
4680         (mipsnbsd_supply_reg): Likewise.
4681         (mipsnbsd_supply_fpreg): Likewise.
4682         * mips-tdep.c (mips_in_frame_stub): Likewise.
4683         (mips_dummy_id): Likewise.
4684         (is_octeon_bbit_op): Likewise.
4685         (micromips_bc1_pc): Likewise.
4686         (extended_mips16_next_pc): Likewise.
4687         (mips16_next_pc): Likewise.
4688         (deal_with_atomic_sequence): Likewise.
4689         * moxie-tdep.c (moxie_process_readu): Likewise.
4690         * nios2-tdep.c (nios2_get_next_pc): Likewise.
4691         * nto-procfs.c (procfs_store_registers): Likewise.
4692         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers): Likewise.
4693         (ppcfbsd_store_inferior_registers): Likewise.
4694         * ppc-linux-nat.c (fetch_vsx_register): Likewise.
4695         (fetch_altivec_register): Likewise.
4696         (get_spe_registers): Likewise.
4697         (fetch_spe_register): Likewise.
4698         (fetch_altivec_registers): Likewise.
4699         (fetch_all_gp_regs): Likewise.
4700         (fetch_all_fp_regs): Likewise.
4701         (store_vsx_register): Likewise.
4702         (store_altivec_register): Likewise.
4703         (set_spe_registers): Likewise.
4704         (store_spe_register): Likewise.
4705         (store_altivec_registers): Likewise.
4706         (store_all_gp_regs): Likewise.
4707         (store_all_fp_regs): Likewise.
4708         * ppc-linux-tdep.c (ppc_linux_supply_gregset): Likewise.
4709         (ppc_linux_collect_gregset): Likewise.
4710         (ppc_canonicalize_syscall): Likewise.
4711         (ppc_linux_record_signal): Likewise.
4712         (ppu2spu_prev_register): Likewise.
4713         * ppc-nbsd-nat.c (ppcnbsd_supply_pcb): Likewise.
4714         * ppc-obsd-nat.c (ppcobsd_fetch_registers): Likewise.
4715         (ppcobsd_store_registers): Likewise.
4716         * ppc-ravenscar-thread.c (ppc_ravenscar_generic_fetch_registers):
4717         Likewise.
4718         (ppc_ravenscar_generic_store_registers): Likewise.
4719         * procfs.c (procfs_fetch_registers): Likewise.
4720         (procfs_store_registers): Likewise.
4721         * ravenscar-thread.c (ravenscar_fetch_registers): Likewise.
4722         (ravenscar_store_registers): Likewise.
4723         (ravenscar_prepare_to_store): Likewise.
4724         * record-btrace.c (record_btrace_fetch_registers): Likewise.
4725         * record-full.c (record_full_wait_1): Likewise.
4726         (record_full_registers_change): Likewise.
4727         (record_full_store_registers): Likewise.
4728         (record_full_core_fetch_registers): Likewise.
4729         (record_full_save): Likewise.
4730         (record_full_goto_insn): Likewise.
4731         * regcache.c (regcache_register_size): Likewise.
4732         (get_regcache_arch): Remove.
4733         (regcache_read_pc): Likewise.
4734         * regcache.h (get_regcache_arch): Remove.
4735         * remote-sim.c (gdbsim_fetch_register): Likewise.
4736         (gdbsim_store_register): Likewise.
4737         * remote.c (fetch_register_using_p): Likewise.
4738         (send_g_packet): Likewise.
4739         (remote_prepare_to_store): Likewise.
4740         (store_registers_using_G): Likewise.
4741         * reverse.c (save_bookmark_command): Likewise.
4742         (goto_bookmark_command): Likewise.
4743         * rs6000-aix-tdep.c (branch_dest): Likewise.
4744         * rs6000-nat.c (rs6000_ptrace64): Likewise.
4745         (fetch_register): Likewise.
4746         * rs6000-tdep.c (ppc_supply_reg): Likewise.
4747         (ppc_collect_reg): Likewise.
4748         (ppc_collect_gregset): Likewise.
4749         (ppc_collect_fpregset): Likewise.
4750         (ppc_collect_vsxregset): Likewise.
4751         (ppc_collect_vrregset): Likewise.
4752         (ppc_displaced_step_hw_singlestep): Likewise.
4753         (rs6000_pseudo_register_read): Likewise.
4754         (rs6000_pseudo_register_write): Likewise.
4755         * s390-linux-nat.c (supply_gregset): Likewise.
4756         (fill_gregset): Likewise.
4757         (s390_linux_fetch_inferior_registers): Likewise.
4758         * s390-linux-tdep.c (s390_write_pc): Likewise.
4759         (s390_software_single_step): Likewise.
4760         (s390_all_but_pc_registers_record): Likewise.
4761         (s390_linux_syscall_record): Likewise.
4762         * sentinel-frame.c (sentinel_frame_prev_arch): Likewise.
4763         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
4764         (shnbsd_store_inferior_registers): Likewise.
4765         * sh-tdep.c (sh_extract_return_value_nofpu): Likewise.
4766         (sh_extract_return_value_fpu): Likewise.
4767         (sh_store_return_value_nofpu): Likewise.
4768         (sh_corefile_supply_regset): Likewise.
4769         (sh_corefile_collect_regset): Likewise.
4770         * sh64-tdep.c (sh64_extract_return_value): Likewise.
4771         (sh64_store_return_value): Likewise.
4772         * sparc-linux-tdep.c (sparc32_linux_collect_core_fpregset): Likewise.
4773         * sparc-nat.c (sparc_fetch_inferior_registers): Likewise.
4774         (sparc_store_inferior_registers): Likewise.
4775         * sparc-ravenscar-thread.c (register_in_thread_descriptor_p): Likewise.
4776         (sparc_ravenscar_prepare_to_store): Likewise.
4777         * sparc-tdep.c (sparc32_store_arguments): Likewise.
4778         (sparc_analyze_control_transfer): Likewise.
4779         (sparc_step_trap): Likewise.
4780         (sparc_software_single_step): Likewise.
4781         (sparc32_gdbarch_init): Likewise.
4782         (sparc_supply_rwindow): Likewise.
4783         (sparc_collect_rwindow): Likewise.
4784         * sparc64-linux-tdep.c (sparc64_linux_collect_core_fpregset): Likewise.
4785         * sparc64-nbsd-nat.c (sparc64nbsd_supply_gregset): Likewise.
4786         (sparc64nbsd_collect_gregset): Likewise.
4787         (sparc64nbsd_supply_fpregset): Likewise.
4788         (sparc64nbsd_collect_fpregset): Likewise.
4789         * sparc64-tdep.c (sparc64_store_arguments): Likewise.
4790         (sparc64_supply_gregset): Likewise.
4791         (sparc64_collect_gregset): Likewise.
4792         (sparc64_supply_fpregset): Likewise.
4793         (sparc64_collect_fpregset): Likewise.
4794         * spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
4795         * spu-tdep.c (spu_unwind_sp): Likewise.
4796         (spu2ppu_prev_register): Likewise.
4797         (spu_memory_remove_breakpoint): Likewise.
4798         * stack.c (return_command): Likewise.
4799         * tic6x-tdep.c (tic6x_extract_signed_field): Likewise.
4800         * tracefile-tfile.c (tfile_fetch_registers): Likewise.
4801         * tracefile.c (trace_save_ctf): Likewise.
4802         * windows-nat.c (do_windows_fetch_inferior_registers): Likewise.
4803         (do_windows_store_inferior_registers): Likewise.
4804         (windows_resume): Likewise.
4805         * xtensa-linux-nat.c (fill_gregset): Likewise.
4806         (supply_gregset_reg): Likewise.
4807         * xtensa-tdep.c (xtensa_register_write_masked): Likewise.
4808         (xtensa_register_read_masked): Likewise.
4809         (xtensa_supply_gregset): Likewise.
4810         (xtensa_extract_return_value): Likewise.
4811         (xtensa_store_return_value): Likewise.
4812
4813 2017-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
4814
4815         * doublest.c (floatformat_from_string): New function.
4816         * doublest.h (floatformat_from_string): Add prototype.
4817
4818         * std-operator.def (OP_DOUBLE, OP_DECFLOAT): Remove, replace by ...
4819         (OP_FLOAT): ... this.
4820         * expression.h: Do not include "doublest.h".
4821         (union exp_element): Replace doubleconst and decfloatconst by
4822         new element floatconst.
4823         * ada-lang.c (resolve_subexp): Handle OP_FLOAT instead of OP_DOUBLE.
4824         (ada_evaluate_subexp): Likewise.
4825         * eval.c (evaluate_subexp_standard): Handle OP_FLOAT instead of
4826         OP_DOUBLE and OP_DECFLOAT.
4827         * expprint.c (print_subexp_standard): Likewise.
4828         (dump_subexp_body_standard): Likewise.
4829         * breakpoint.c (watchpoint_exp_is_const): Likewise.
4830
4831         * parse.c: Include "dfp.h".
4832         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4833         (write_exp_elt_floatcst): New function.
4834         (operator_length_standard): Handle OP_FLOAT instead of OP_DOUBLE
4835         and OP_DECFLOAT.
4836         (operator_check_standard): Likewise.
4837         (parse_float): Do not accept suffix.  Take type as input.  Return bool.
4838         Return target format buffer instead of host DOUBLEST.
4839         Use floatformat_from_string and decimal_from_string to parse
4840         either binary or decimal floating-point types.
4841         (parse_c_float): Remove.
4842         * parser-defs.h: Do not include "doublest.h".
4843         (write_exp_elt_dblcst, write_exp_elt_decfloatcst): Remove.
4844         (write_exp_elt_floatcst): Add prototype.
4845         (parse_float): Update prototype.
4846         (parse_c_float): Remove.
4847
4848         * c-exp.y: Do not include "dfp.h".
4849         (typed_val_float): Use byte buffer instead of DOUBLEST.
4850         (typed_val_decfloat): Remove.
4851         (DECFLOAT): Remove.
4852         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4853         (parse_number): Update to new parse_float interface.
4854         Parse suffixes and determine type before calling parse_float.
4855         Handle decimal and binary FP types the same way.
4856
4857         * d-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4858         (FLOAT_LITERAL): Use OP_FLOAT and write_exp_elt_floatcst.
4859         (parse_number): Update to new parse_float interface.
4860         Parse suffixes and determine type before calling parse_float.
4861
4862         * f-exp.y: Replace dval by typed_val_float.
4863         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4864         (parse_number): Use parse_float instead of atof.
4865
4866         * go-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4867         (parse_go_float): Remove.
4868         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4869         (parse_number): Call parse_float instead of parse_go_float.
4870         Parse suffixes and determine type before calling parse_float.
4871
4872         * p-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4873         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4874         (parse_number): Update to new parse_float interface.
4875         Parse suffixes and determine type before calling parse_float.
4876
4877         * m2-exp.y: Replace dval by byte buffer val.
4878         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4879         (parse_number): Call parse_float instead of atof.
4880
4881         * rust-exp.y (typed_val_float): Use byte buffer instead of DOUBLEST.
4882         (lex_number): Call parse_float instead of strtod.
4883         (ast_dliteral): Use OP_FLOAT instead of OP_DOUBLE.
4884         (convert_ast_to_expression): Handle OP_FLOAT instead of OP_DOUBLE.
4885         Use write_exp_elt_floatcst.
4886         (unit_testing): Remove static variable.
4887         (rust_type): Do not check unit_testing.
4888         (rust_lex_tests): Do not set uint_testing.  Set up dummy rust_parser.
4889
4890         * ada-exp.y (type_float, type_double): Remove.
4891         (typed_val_float): Use byte buffer instead of DOUBLEST.
4892         (FLOAT): Use OP_FLOAT and write_exp_elt_floatcst.
4893         * ada-lex.l (processReal): Use parse_float instead of sscanf.
4894
4895 2017-10-25  Alan Hayward  <alan.hayward@arm.com>
4896
4897         * aarch64-tdep.h (enum aarch64_regnum): Remove.
4898         * arch/aarch64.h: New file.
4899
4900 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4901
4902         * dfp.h (decimal_from_string): Use const reference for argument.
4903         * dfp.c (decimal_from_string): Likewise.
4904
4905 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4906
4907         * i387-tdep.c (print_i387_value): Use floatformat_to_string.
4908         * sh64-tdep.c (sh64_do_fp_register): Likewise.
4909         * mips-tdep.c (mips_print_fp_register): Likewise.
4910
4911 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4912
4913         * common/format.h (enum argclass): Replace decfloat_arg by
4914         dec32float_arg, dec64float_arg, and dec128float_arg.
4915         * common/format.c (parse_format_string): Update to return
4916         new decimal float argument classes.
4917
4918         * printcmd.c (printf_decfloat): Rename to ...
4919         (printf_floating): ... this.  Add argclass argument, and use it
4920         instead of parsing the format string again.  Add support for
4921         binary floating-point values, using floatformat_to_string.
4922         Convert value to the target format if it doesn't already match.
4923         (ui_printf): Call printf_floating instead of printf_decfloat,
4924         also for double_arg / long_double_arg.  Pass argclass.
4925
4926         * dfp.c (decimal_to_string): Add format string argument.
4927         * dfp.h (decimal_to_string): Likewise.
4928
4929         * doublest.c (floatformat_to_string): Add format string argument.
4930         * doublest.h (floatformat_to_string): Likewise.
4931
4932 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4933
4934         * doublest.c (floatformat_precision): New routine.
4935         (floatformat_to_string): Likewise.
4936         * doublest.c (floatformat_to_string): Add prototype.
4937
4938         * printcmd.c (print_scalar_formatted): Only call print_floating
4939         on floating-point types.
4940         * valprint.c: Do not include "floatformat.h".
4941         (generic_val_print_decfloat): Remove.
4942         (generic_val_print): Call generic_val_print_float for both
4943         TYPE_CODE_FLT and TYPE_CODE_DECFLOAT.
4944         (print_floating): Use floatformat_to_string.  Handle decimal float.
4945         (print_decimal_floating): Remove, merge into floatformat_to_string.
4946         * value.h (print_decimal_floating): Remove.
4947
4948         * Makefile.in: Do not build doublest.c with -Wformat-nonliteral.
4949
4950 2017-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
4951
4952         * buildsym.c (end_symtab_get_static_block): Use std::stable_sort.
4953
4954 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
4955
4956         * memattr.h: Don't include vec.h.
4957         (struct mem_attrib): Initialize fields.
4958         <unknown>: New static method.
4959         (struct mem_region): Add constructors, operator<, initialize
4960         fields.
4961         * memattr.c: Include algorithm.
4962         (default_mem_attrib, unknown_mem_attrib): Remove.
4963         (user_mem_region_list): New global.
4964         (target_mem_region_list, mem_region_list): Change type to
4965         std::vector<mem_region>.
4966         (mem_use_target): Now a function.
4967         (target_mem_regions_valid): Change type to bool.
4968         (mem_region_lessthan, mem_region_cmp, mem_region_init): Remove.
4969         (require_user_regions): Adjust.
4970         (require_target_regions): Adjust.
4971         (create_mem_region): Adjust.
4972         (lookup_mem_region): Adjust.
4973         (invalidate_target_mem_regions): Adjust.
4974         (mem_clear): Rename to...
4975         (user_mem_clear): ... this, and adjust.
4976         (mem_command): Adjust.
4977         (info_mem_command): Adjust.
4978         (mem_enable, enable_mem_command, mem_disable,
4979         disable_mem_command): Adjust.
4980         (mem_delete): Adjust.
4981         (delete_mem_command): Adjust.
4982         * memory-map.h (parse_memory_map): Return an std::vector.
4983         * memory-map.c (parse_memory_map): Likewise.
4984         (struct memory_map_parsing_data): Add constructor.
4985         <memory_map>: Point to std::vector.
4986         (memory_map_start_memory): Adjust.
4987         (memory_map_end_memory): Adjust.
4988         (memory_map_end_property): Adjust.
4989         (clear_result): Remove.
4990         * remote.c (remote_memory_map): Return an std::vector.
4991         * target-debug.h (target_debug_print_VEC_mem_region_s__p):
4992         Remove.
4993         (target_debug_print_mem_region_vector): New.
4994         * target-delegates.c: Regenerate.
4995         * target.h (mem_region_vector): New typedef.
4996         (to_memory_map): Return mem_region_vector.
4997         (target_memory_map): Return an std::vector.
4998         * target.c (target_memory_map): Return an std::vector.
4999         (flash_erase_command): Adjust.
5000
5001 2017-10-21  Simon Marchi  <simon.marchi@ericsson.com>
5002
5003         * memory-map.c (struct memory_map_parsing_data) <property_name>:
5004         Change type to std::string.
5005         (memory_map_start_property): Adjust.
5006         (memory_map_end_property): Adjust.
5007
5008 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
5009
5010         * infrun.h: Include common/byte-vector.h.
5011         (struct displaced_step_closure): New struct.
5012         (struct buf_displaced_step_closure): New struct.
5013         * infrun.c (displaced_step_closure::~displaced_step_closure):
5014         Provide default implementation.
5015         (displaced_step_clear): Deallocate step closure with delete.
5016         * aarch64-tdep.c (displaced_step_closure): Rename to ...
5017         (aarch64_displaced_step_closure): ... this, extend
5018         displaced_step_closure.
5019         (aarch64_displaced_step_data) <dsc>: Change type to
5020         aarch64_displaced_step_closure.
5021         (aarch64_displaced_step_copy_insn): Adjust to type change, use
5022         unique_ptr.
5023         (aarch64_displaced_step_fixup): Add cast for displaced step
5024         closure.
5025         * amd64-tdep.c (displaced_step_closure): Rename to ...
5026         (amd64_displaced_step_closure): ... this, extend
5027         displaced_step_closure.
5028         <insn_buf>: Change type to std::vector<gdb_byte>.
5029         <max_len>: Remove.
5030         (fixup_riprel): Change type of DSC parameter, adjust to type
5031         change of insn_buf.
5032         (fixup_displaced_copy): Change type of DSC parameter.
5033         (amd64_displaced_step_copy_insn): Instantiate
5034         amd64_displaced_step_closure.
5035         (amd64_displaced_step_fixup): Add cast for closure type, adjust
5036         to type change of insn_buf.
5037         * arm-linux-tdep.c (arm_linux_cleanup_svc): Change type of
5038         parameter DSC.
5039         (arm_linux_copy_svc): Likewise.
5040         (cleanup_kernel_helper_return): Likewise.
5041         (arm_catch_kernel_helper_return): Likewise.
5042         (arm_linux_displaced_step_copy_insn): Instantiate
5043         arm_displaced_step_closure.
5044         * arm-tdep.c (arm_pc_is_thumb): Add cast for closure.
5045         (displaced_read_reg): Change type of parameter DSC.
5046         (branch_write_pc): Likewise.
5047         (load_write_pc): Likewise.
5048         (alu_write_pc): Likewise.
5049         (displaced_write_reg): Likewise.
5050         (arm_copy_unmodified): Likewise.
5051         (thumb_copy_unmodified_32bit): Likewise.
5052         (thumb_copy_unmodified_16bit): Likewise.
5053         (cleanup_preload): Likewise.
5054         (install_preload): Likewise.
5055         (arm_copy_preload): Likewise.
5056         (thumb2_copy_preload): Likewise.
5057         (install_preload_reg): Likewise.
5058         (arm_copy_preload_reg): Likewise.
5059         (cleanup_copro_load_store): Likewise.
5060         (install_copro_load_store): Likewise.
5061         (arm_copy_copro_load_store) Likewise.
5062         (thumb2_copy_copro_load_store): Likewise.
5063         (cleanup_branch): Likewise.
5064         (install_b_bl_blx): Likewise.
5065         (arm_copy_b_bl_blx): Likewise.
5066         (thumb2_copy_b_bl_blx): Likewise.
5067         (thumb_copy_b): Likewise.
5068         (install_bx_blx_reg): Likewise.
5069         (arm_copy_bx_blx_reg): Likewise.
5070         (thumb_copy_bx_blx_reg): Likewise.
5071         (cleanup_alu_imm): Likewise.
5072         (arm_copy_alu_imm): Likewise.
5073         (thumb2_copy_alu_imm): Likewise.
5074         (cleanup_alu_reg): Likewise.
5075         (install_alu_reg): Likewise.
5076         (arm_copy_alu_reg): Likewise.
5077         (thumb_copy_alu_reg): Likewise.
5078         (cleanup_alu_shifted_reg): Likewise.
5079         (install_alu_shifted_reg): Likewise.
5080         (arm_copy_alu_shifted_reg): Likewise.
5081         (cleanup_load): Likewise.
5082         (cleanup_store): Likewise.
5083         (arm_copy_extra_ld_st): Likewise.
5084         (install_load_store): Likewise.
5085         (thumb2_copy_load_literal): Likewise.
5086         (thumb2_copy_load_reg_imm): Likewise.
5087         (arm_copy_ldr_str_ldrb_strb): Likewise.
5088         (cleanup_block_load_all): Likewise.
5089         (cleanup_block_store_pc): Likewise.
5090         (cleanup_block_load_pc): Likewise.
5091         (arm_copy_block_xfer): Likewise.
5092         (thumb2_copy_block_xfer): Likewise.
5093         (cleanup_svc): Likewise.
5094         (install_svc): Likewise.
5095         (arm_copy_svc): Likewise.
5096         (thumb_copy_svc): Likewise.
5097         (arm_copy_undef): Likewise.
5098         (thumb_32bit_copy_undef): Likewise.
5099         (arm_copy_unpred): Likewise.
5100         (arm_decode_misc_memhint_neon): Likewise.
5101         (arm_decode_unconditional): Likewise.
5102         (arm_decode_miscellaneous): Likewise.
5103         (arm_decode_dp_misc): Likewise.
5104         (arm_decode_ld_st_word_ubyte): Likewise.
5105         (arm_decode_media): Likewise.
5106         (arm_decode_b_bl_ldmstm): Likewise.
5107         (arm_decode_ext_reg_ld_st): Likewise.
5108         (thumb2_decode_dp_shift_reg): Likewise.
5109         (thumb2_decode_ext_reg_ld_st): Likewise.
5110         (arm_decode_svc_copro): Likewise.
5111         (thumb2_decode_svc_copro): Likewise.
5112         (install_pc_relative): Likewise.
5113         (thumb_copy_pc_relative_16bit): Likewise.
5114         (thumb_decode_pc_relative_16bit): Likewise.
5115         (thumb_copy_pc_relative_32bit): Likewise.
5116         (thumb_copy_16bit_ldr_literal): Likewise.
5117         (thumb_copy_cbnz_cbz): Likewise.
5118         (thumb2_copy_table_branch): Likewise.
5119         (cleanup_pop_pc_16bit_all): Likewise.
5120         (thumb_copy_pop_pc_16bit): Likewise.
5121         (thumb_process_displaced_16bit_insn): Likewise.
5122         (decode_thumb_32bit_ld_mem_hints): Likewise.
5123         (thumb_process_displaced_32bit_insn): Likewise.
5124         (thumb_process_displaced_insn): Likewise.
5125         (arm_process_displaced_insn): Likewise.
5126         (arm_displaced_init_closure): Likewise.
5127         (arm_displaced_step_fixup): Add cast for closure.
5128         * arm-tdep.h: Include infrun.h.
5129         (displaced_step_closure): Rename to ...
5130         (arm_displaced_step_closure): ... this, extend
5131         displaced_step_closure.
5132         <u::svc::copy_svc_os>: Change type of parameter DSC.
5133         <cleanup>: Likewise.
5134         (arm_process_displaced_insn): Likewise.
5135         (arm_displaced_init_closure): Likewise.
5136         (displaced_read_reg): Likewise.
5137         (displaced_write_reg): Likewise.
5138         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5139         Adjust.
5140         * i386-tdep.h: Include infrun.h.
5141         (i386_displaced_step_closure): New typedef.
5142         * i386-tdep.c (i386_displaced_step_copy_insn): Use
5143         i386_displaced_step_closure.
5144         (i386_displaced_step_fixup): Adjust.
5145         * rs6000-tdep.c (ppc_displaced_step_closure): New typedef.
5146         (ppc_displaced_step_copy_insn): Use ppc_displaced_step_closure
5147         and unique_ptr.
5148         (ppc_displaced_step_fixup): Adjust.
5149         * s390-linux-tdep.c (s390_displaced_step_closure): New typedef.
5150         (s390_displaced_step_copy_insn): Use s390_displaced_step_closure
5151         and unique_ptr.
5152         (s390_displaced_step_fixup): Adjust.
5153
5154 2017-10-21  Simon Marchi  <simon.marchi@polymtl.ca>
5155
5156         * interps.h (interp_resume, interp_suspend, interp_set_temp):
5157         Remove declarations.
5158
5159 2017-10-20  Tom Tromey  <tom@tromey.com>
5160
5161         * gdb_bfd.c (struct gdb_bfd_data) <included_bfds>: Now a
5162         std::vector.
5163         (gdb_bfd_record_inclusion): Update.
5164         (bfdp): Remove typedef.
5165
5166 2017-10-20  Tom Tromey  <tom@tromey.com>
5167
5168         * gdb_bfd.c (gdb_bfd_ref): Use new.
5169         (struct gdb_bfd_data): Add constructor, destructor, and member
5170         initializers.
5171         (gdb_bfd_unref): Use delete.
5172
5173 2017-10-20  Tom Tromey  <tom@tromey.com>
5174
5175         * exec.c (exec_file_attach): Use new_bfd_ref.
5176         * symfile-mem.c (symbol_file_add_from_memory): Use new_bfd_ref.
5177         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
5178         (gdb_bfd_openw, gdb_bfd_openr_iovec, gdb_bfd_fdopenr): Use
5179         new_bfd_ref.
5180         * gdb_bfd.h (new_bfd_ref): New function.
5181
5182 2017-10-20  Pedro Alves  <palves@redhat.com>
5183
5184         * main.c (captured_command_loop): Add attribute noinline.
5185
5186 2017-10-19  Simon Marchi  <simon.marchi@ericsson.com>
5187
5188         * interps.c (struct interp_factory): Add constructor.
5189         (interp_factory_p): Remove typedef.
5190         (DEF_VEC_P(interp_factory_p)): Remove.
5191         (interpreter_factories): Change type to std::vector.
5192         (interp_factory_register): Adjust.
5193         (interp_lookup): Adjust.
5194         (interpreter_completer): Adjust.
5195
5196 2017-10-19  Tom Tromey  <tom@tromey.com>
5197
5198         * break-catch-syscall.c (catch_syscall_completer): Use
5199         std::string, gdb::unique_xmalloc_ptr.
5200
5201 2017-10-19  Tom Tromey  <tom@tromey.com>
5202
5203         * infcall.c (call_function_by_hand_dummy): Use std::string.
5204
5205 2017-10-19  Tom Tromey  <tom@tromey.com>
5206
5207         * mi/mi-main.c (mi_cmd_execute): Update.
5208         * top.h (prepare_execute_command): Return scoped_value_mark.
5209         * value.h (class scoped_value_mark): Use DISABLE_COPY_AND_ASSIGN.
5210         Add move constructor.
5211         * top.c (prepare_execute_command): Return scoped_value_mark.
5212         (execute_command): Update.
5213
5214 2017-10-19  Pedro Alves  <palves@redhat.com>
5215
5216         * xml-support.c (xml_fetch_content_from_file): Check fread's
5217         return.
5218
5219 2017-10-19  Pedro Alves  <palves@redhat.com>
5220
5221         * ser-base.c (ser_base_read_error_fd): Delete the file handler if
5222         async.
5223         (handle_error_fd): New function.
5224         (ser_base_async): Add/delete an event loop file handler for
5225         error_fd.
5226
5227 2017-10-19  Pedro Alves  <palves@redhat.com>
5228
5229         * xml-support.c (xml_fetch_content_from_file): Don't read in
5230         chunks.  Instead use fseek to determine the file's size, and read
5231         it in one go.
5232
5233 2017-11-18  Keith Seitz  <keiths@redhat.com>
5234
5235         * c-exp.y (oper): Canonicalize conversion operators of user-defined
5236         types.
5237         Add whitespace to front of type name.
5238
5239 2017-10-18  Keith Seitz  <keiths@redhat.com>
5240
5241         * dwarf2read.c (dwarf2_add_typedef): Issue a complaint on unhandled
5242         DW_AT_accessibility.
5243
5244 2017-10-18  Yao Qi  <yao.qi@linaro.org>
5245
5246         * features/tic6x-c62x-linux.c: Remove.
5247
5248 2017-10-17  Tom Tromey  <tom@tromey.com>
5249
5250         * disasm.c (do_mixed_source_and_assembly_deprecated): Use
5251         gdb::optional, ui_out_emit_list, ui_out_emit_tuple.
5252         (do_mixed_source_and_assembly): Likewise.
5253
5254 2017-10-17  Tom Tromey  <tom@tromey.com>
5255
5256         * regcache.c (regcache::xfer_part): Remove assertion.
5257
5258 2017-10-17  Pedro Alves  <palves@redhat.com>
5259
5260         * xml-support.c (xml_fetch_content_from_file): Call
5261         unique_ptr::release() instead unique_ptr::get() when passing
5262         through xrealloc.
5263
5264 2017-10-17  Yao Qi  <yao.qi@linaro.org>
5265
5266         * regcache.c (regcache::xfer_part): Remove parameters read and
5267         write, add parameter is_raw.  All callers are updated.
5268
5269 2017-10-16  Keith Seitz  <keiths@redhat.com>
5270
5271         * c-typeprint.c (enum access_specifier): Moved here from
5272         c_type_print_base.
5273         (output_access_specifier): New function.
5274         (c_type_print_base): Consider typedefs when assessing
5275         whether access labels are needed.
5276         Use output_access_specifier as needed.
5277         Output access specifier for typedefs, if needed.
5278         * dwarf2read.c (dwarf2_add_typedef): Record DW_AT_accessibility.
5279         * gdbtypes.h (struct typedef_field) <is_protected, is_private>: New
5280         fields.
5281         (TYPE_TYPEDEF_FIELD_PROTECTED, TYPE_TYPEDEF_FIELD_PRIVATE): New
5282         accessor macros.
5283
5284 2017-10-16  Tom Tromey  <tom@tromey.com>
5285
5286         * linux-tdep.c (linux_info_proc, linux_find_memory_regions_full)
5287         (linux_fill_prpsinfo, linux_vsyscall_range_raw): Update.
5288         * target.c (target_fileio_read_stralloc): Update.
5289         * sparc64-tdep.c (adi_is_addr_mapped): Update.
5290         * target.h (target_fileio_read_stralloc): Return
5291         unique_xmalloc_ptr.
5292
5293 2017-10-16  Tom Tromey  <tom@tromey.com>
5294
5295         * xml-syscall.c (xml_init_syscalls_info): Update.
5296         * xml-support.c (xinclude_start_include): Update.
5297         (xml_fetch_content_from_file): Return unique_xmalloc_ptr.
5298         * xml-support.h (xml_fetch_another): Return unique_xmalloc_ptr.
5299         (xml_fetch_content_from_file): Likewise.
5300         * osdata.c (get_osdata): Update.
5301         * target.h (target_read_stralloc, target_get_osdata): Return
5302         unique_xmalloc_ptr.
5303         * solib-aix.c (solib_aix_get_library_list): Update.
5304         * solib-target.c (solib_target_current_sos): Update.
5305         * solib-svr4.c (svr4_current_sos_via_xfer_libraries): Update.
5306         * xml-tdesc.c (fetch_available_features_from_target): Update.
5307         (target_fetch_description_xml): Update.
5308         (file_read_description_xml): Update.
5309         * remote.c (remote_get_threads_with_qxfer, remote_memory_map)
5310         (remote_traceframe_info, btrace_read_config, remote_read_btrace)
5311         (remote_pid_to_exec_file): Update.
5312         * target.c (target_read_stralloc): Return unique_xmalloc_ptr.
5313         (target_get_osdata): Likewise.
5314
5315 2017-10-16  Tom Tromey  <tom@tromey.com>
5316
5317         * remote.c (remote_register_number_and_offset): Use std::vector.
5318         (remote_set_syscall_catchpoint): Use gdb::unique_xmalloc_ptr.
5319         (putpkt_binary): Use gdb::def_vector.
5320         (compare_sections_command): Use gdb::byte_vector.
5321
5322 2017-10-16  Tom Tromey  <tom@tromey.com>
5323
5324         * ppc-linux-nat.c (hwdebug_insert_point): Use
5325         gdb::unique_xmalloc_ptr, XDUP.
5326
5327 2017-10-16  Tom Tromey  <tom@tromey.com>
5328
5329         * probe.c (parse_probes): Use std::string.
5330         (info_probes_for_ops, enable_probes_command)
5331         (disable_probes_command): Remove cleanups.
5332
5333 2017-10-16  Tom Tromey  <tom@tromey.com>
5334
5335         * buildsym.c (block_compar): Remove.
5336         (end_symtab_get_static_block): Use std::vector.
5337
5338 2017-10-16  Simon Marchi  <simon.marchi@ericsson.com>
5339
5340         * memrange.h (struct mem_range): Define operator< and operator==.
5341         (mem_range_s): Remove.
5342         (DEF_VEC_O (mem_range_s)): Remove.
5343         (normalize_mem_ranges): Change parameter type to std::vector.
5344         * memrange.c (compare_mem_ranges): Remove.
5345         (normalize_mem_ranges): Change parameter type to std::vector,
5346         adjust to vector change.
5347         * exec.c (section_table_available_memory): Return vector, remove
5348         parameter.
5349         (section_table_read_available_memory): Adjust to std::vector
5350         change.
5351         * remote.c (remote_read_bytes): Adjust to std::vector
5352         change.
5353         * tracepoint.h (traceframe_available_memory): Change parameter
5354         type to std::vector.
5355         * tracepoint.c (traceframe_available_memory): Change parameter
5356         type to std::vector, adjust.
5357         * gdb/mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to
5358         std::vector change.
5359         * gdb/Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
5360         unittests/memrange-selftests.c.
5361         (SUBDIR_UNITTESTS_OBS): Add memrange-selftests.o.
5362         * gdb/unittests/memrange-selftests.c: New file.
5363
5364 2017-10-16  Pedro Alves  <palves@redhat.com>
5365
5366         * elfread.c (probe_key_free): Rename range-for variable.
5367         * probe.c (parse_probes_in_pspace, find_probes_in_objfile)
5368         (find_probe_by_pc, collect_probes): Rename range-for variable.
5369
5370 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5371
5372         * features/Makefile (XMLTOC): Remove tic6x-*.xml.
5373         * features/tic6x-c62x.c: Remove.
5374         * features/tic6x-c64x-linux.c: Remove.
5375         * features/tic6x-c64x.c: Remove.
5376         * features/tic6x-c64xp-linux.c: Remove.
5377         * features/tic6x-c64xp.c: Remove.
5378         * tic6x-linux-tdep.c (_initialize_tic6x_linux_tdep): Don't call
5379         initialize_tdesc_tic6x_*_linux functions.
5380         * tic6x-tdep.c (_initialize_tic6x_tdep): Don't call
5381         initialize_tdesc_tic6x_* functions.
5382
5383 2017-10-16  Yao Qi  <yao.qi@linaro.org>
5384
5385         * features/Makefile (WHICH): Remove tic6x-c64xp, tic6x-c64x
5386         tic6x-c62x.
5387         * regformats/tic6x-c62x.dat: Remove.
5388         * regformats/tic6x-c64x.dat: Remove.
5389         * regformats/tic6x-c64xp.dat: Remove.
5390
5391 2017-10-15  Simon Marchi  <simon.marchi@ericsson.com>
5392
5393         * tracepoint.c (parse_traceframe_info): Return a unique_ptr
5394         (the !HAVE_LIBEXPAT version).
5395
5396 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5397
5398         * nat/linux-osdata.c (struct pid_pgid_entry) <operator<>: Make
5399         const.
5400
5401 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5402
5403         * target.h: Include tracepoint.h.
5404         (enum trace_find_type): Move to tracepoint.h.
5405         (struct target_ops) <to_traceframe_info>: Return a unique ptr.
5406         * tracepoint.h: Don't include target.h
5407         (enum trace_find_type): Move from target.h.
5408         (parse_traceframe_info): Return a unique ptr.
5409         * tracepoint.c (current_traceframe_info): Change type to unique
5410         ptr.
5411         (free_traceframe_info): Remove.
5412         (clear_traceframe_info): Don't manually free
5413         current_traceframe_info.
5414         (free_result): Remove.
5415         (parse_traceframe_info): Return a unique ptr.
5416         (get_traceframe_info): Adjust to unique ptr.
5417         * ctf.c (ctf_traceframe_info): Return a unique ptr.
5418         * remote.c (remote_traceframe_info): Return a unique ptr.
5419         * tracefile-tfile.c (tfile_traceframe_info): Return a unique
5420         ptr.
5421         * target-debug.h (target_debug_print_traceframe_info_up): New
5422         macro.
5423         * target-delegates.c: Regenerate.
5424
5425 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5426
5427         * memrange.h (struct mem_range): Add constructors.
5428         * tracepoint.h (struct traceframe_info) <memory>: Change type to
5429         std::vector<mem_range>.
5430         * tracepoint.c (free_traceframe_info): Don't manually free
5431         vector.
5432         (traceframe_info_start_memory): Adjust to vector change.
5433         (traceframe_available_memory): Likewise.
5434         * tracefile-tfile.c (build_traceframe_info): Likewise.
5435         * ctf.c (ctf_traceframe_info): Likewise.
5436
5437 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5438
5439         * tracepoint.h (struct traceframe_info) <tvars>: Change type to
5440         std::vector<int>.
5441         * tracepoint.c (free_traceframe_info): Deallocate with delete.
5442         (traceframe_info_start_tvar): Adjust to vector change.
5443         (parse_traceframe_info): Allocate with new.
5444         * ctf.c (ctf_traceframe_info): Allocate with new, adjust to
5445         vector change.
5446         * tracefile-tfile.c (build_traceframe_info): Adjust to vector
5447         change.
5448         tfile_traceframe_info): Allocate with new.
5449         * mi/mi-main.c (mi_cmd_trace_frame_collected): Adjust to vector
5450         change.
5451
5452 2017-10-14  Simon Marchi  <simon.marchi@polymtl.ca>
5453
5454         * tracepoint.c (traceframe_info): Rename to...
5455         (current_traceframe_info): ...this.
5456         (clear_traceframe_info): Adjust.
5457         (get_traceframe_info): Adjust.
5458
5459 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5460
5461         * nat/linux-osdata.c: Include algorithm.
5462         (compare_processes): Remove.
5463         (struct pid_pgid_entry): New struct.
5464         (linux_xfer_osdata_processgroups): Use std::vector instead of
5465         XNEWVEC.
5466
5467 2017-10-14  Simon Marchi  <simon.marchi@ericsson.com>
5468
5469         * objfiles.h: Don't include symfile.h.
5470         (struct partial_symbol): Remove forward-declaration.
5471         (struct objfile) <global_psymbols, static_psymbols>: Change type
5472         to std::vector<partial_symbol *>.
5473         * objfiles.c (objfile::objfile): Don't memset those fields.
5474         (objfile::~objfile): Don't free those fields.
5475         * psympriv.h (struct psymbol_allocation_list): Remove
5476         forward-declaration.
5477         (add_psymbol_to_list): Change psymbol_allocation_list parameter
5478         to std::vector.
5479         (start_psymtab_common): Change parameters to std::vector.
5480         * psymtab.c: Include algorithm.
5481         (require_partial_symbols): Call shrink_to_fit.
5482         (find_pc_sect_psymbol): Adjust to vector change.
5483         (match_partial_symbol): Likewise.
5484         (lookup_partial_symbol): Likewise.
5485         (psym_relocate): Likewise.
5486         (dump_psymtab): Likewise.
5487         (recursively_search_psymtabs): Likewise.
5488         (compare_psymbols): Remove.
5489         (sort_pst_symbols): Adjust to vector change.
5490         (start_psymtab_common): Likewise.
5491         (end_psymtab_common): Likewise.
5492         (psymbol_bcache_full): De-constify return value.
5493         (add_psymbol_to_bcache): Likewise.
5494         (extend_psymbol_list): Remove.
5495         (append_psymbol_to_list): Adjust to vector change.
5496         (add_psymbol_to_list): Likewise.
5497         (init_psymbol_list): Likewise.
5498         (maintenance_info_psymtabs): Likewise.
5499         (maintenance_check_psymtabs): Likewise.
5500         * symfile.h (struct psymbol_allocation_list): Remove.
5501         * symfile.c (reread_symbols): Adjust to vector change.
5502         * dbxread.c (start_psymtab): Change type of parameters.
5503         (dbx_symfile_read): Adjust to vector change.
5504         (read_dbx_symtab): Likewise.
5505         (start_psymtab): Change type of parameters.
5506         * dwarf2read.c (dwarf2_build_psymtabs): Adjust to vector change.
5507         (create_partial_symtab): Likewise.
5508         (add_partial_symbol): Likewise.
5509         (write_one_signatured_type): Likewise.
5510         (recursively_write_psymbols): Likewise.
5511         * mdebugread.c (parse_partial_symbols): Likewise.
5512         * xcoffread.c (xcoff_start_psymtab): Change type of parameters.
5513         (scan_xcoff_symtab): Adjust to vector change.
5514         (xcoff_initial_scan): Likewise.
5515
5516 2017-10-13  Simon Marchi  <simon.marchi@ericsson.com>
5517
5518         * ada-typeprint.c (print_dynamic_range_bound): Use std::string.
5519
5520 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5521
5522         * features/Makefile: Remove tic6x-*-expedite, add tic6x-expedite.
5523         Remove s390x-*-expedite, add s390x-expedite.
5524
5525 2017-10-13  Yao Qi  <yao.qi@linaro.org>
5526
5527         * features/s390-gs-linux64.c: Regenerated.
5528         * features/s390x-gs-linux64.c: Regenerated.
5529
5530 2017-10-13  Tom Tromey  <tom@tromey.com>
5531
5532         * compile/compile-object-run.c (do_module_cleanup): Use delete.
5533         * solib.c (update_solib_list, reload_shared_libraries_1): Use
5534         delete.
5535         * symfile.c (symbol_file_add_with_addrs): Use new.
5536         (symbol_file_add_separate): Update comment.
5537         (syms_from_objfile_1, remove_symbol_file_command): Use delete.
5538         * jit.c (jit_object_close_impl): Use new.
5539         (jit_unregister_code): Use delete.
5540         * objfiles.c (objfile::objfile): Rename from allocate_objfile.
5541         (~objfile): Rename from free_objfile.
5542         (free_objfile_separate_debug, do_free_objfile_cleanup)
5543         (free_all_objfiles, objfile_purge_solibs): Use delete.
5544         * objfiles.h (struct objfile): Add constructor and destructor.
5545         Use DISABLE_COPY_AND_ASSIGN.  Add initializers to data members.
5546         (allocate_objfile, free_objfile): Don't declare.
5547         (struct objstats): Add initializers.
5548
5549 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5550
5551         * arch-utils.h (simple_displaced_step_copy_insn): Remove.
5552         * arch-utils.c (simple_displaced_step_copy_insn): Remove.
5553         * gdbarch.sh (displaced_step_copy_insn): Adjust comment.
5554         * gdbarch.h: Regenerate.
5555         * i386-linux-tdep.c (i386_linux_displaced_step_copy_insn):
5556         Adjust comment.
5557         * i386-tdep.c (i386_displaced_step_copy_insn): Adjust comment.
5558         (i386_displaced_step_fixup): Adjust comment.
5559         * rs6000-tdep.c (ppc_displaced_step_copy_insn): Adjust comment.
5560
5561 2017-10-12  Tom Tromey  <tom@tromey.com>
5562
5563         * prologue-value.h (pv_area::store_would_trash): Return bool.
5564         (pv_area::find_reg): Likewise.
5565         * prologue-value.c (pv_area::store_would_trash): Return bool.
5566         (pv_area::find_reg): Likewise.
5567
5568 2017-10-12  Tom Tromey  <tom@tromey.com>
5569
5570         * s390-linux-tdep.c (s390_store, s390_load)
5571         (s390_check_for_saved, s390_analyze_prologue): Update.
5572         * rx-tdep.c (check_for_saved, rx_analyze_prologue): Update.
5573         * rl78-tdep.c (rl78_analyze_prologue, check_for_saved): Update.
5574         * prologue-value.h (class pv_area): Move from prologue-value.c.
5575         Change names of members.  Add constructor, destructor, member
5576         functions.
5577         (make_pv_area, free_pv_area, make_cleanup_free_pv_area)
5578         (pv_area_store, pv_area_fetch, pv_area_store_would_trash)
5579         (pv_area_fetch, pv_area_scan): Don't declare.
5580         * prologue-value.c (struct pv_area::area_entry): Now member of
5581         pv_area.
5582         (struct pv_area): Move to prologue-value.h.
5583         (pv_area::pv_area): Rename from make_pv_area.
5584         (pv_area::~pv_area): Rename from free_pv_area.
5585         (do_free_pv_area_cleanup, make_cleanup_free_pv_area): Remove.
5586         (clear_entries, find_entry, overlaps, store_would_trash, store)
5587         (fetch, find_reg, scan): Now member of pv_area.
5588         Remove "area" argument.  Update.
5589         * msp430-tdep.c (check_for_saved, msp430_analyze_prologue):
5590         Update.
5591         * mn10300-tdep.c (push_reg, check_for_saved)
5592         (mn10300_analyze_prologue): Update.
5593         * mep-tdep.c (is_arg_spill, check_for_saved)
5594         (mep_analyze_prologue): Update.
5595         * m32c-tdep.c (m32c_pv_push, m32c_srcdest_fetch)
5596         (m32c_srcdest_store, m32c_pv_enter, m32c_is_arg_spill)
5597         (m32c_is_struct_return, m32c_analyze_prologue): Update.
5598         * arm-tdep.c (thumb_analyze_prologue, arm_analyze_prologue):
5599         Update.
5600         * arc-tdep.c (arc_is_in_prologue, arc_analyze_prologue): Update.
5601         * aarch64-tdep.c (aarch64_analyze_prologue): Update.
5602
5603 2017-10-12  Simon Marchi  <simon.marchi@ericsson.com>
5604
5605         * linux-nat.h (linux_nat_set_delete_thread): New declaration.
5606         * linux-nat.c (linux_nat_delete_thread): New variable.
5607         (lwp_free): Invoke linux_nat_delete_thread if set.
5608         (linux_nat_set_delete_thread): New function.
5609         * aarch64-linux-nat.c (_initialize_aarch64_linux_nat): Assign
5610         thread delete callback.
5611         * arm-linux-nat.c (arm_linux_delete_thread): New function.
5612         (_initialize_arm_linux_nat): Assign thread delete callback.
5613         * s390-linux-nat.c (s390_delete_thread): New function.
5614         (_initialize_s390_nat): Assign thread delete callback.
5615         * x86-linux-nat.c (x86_linux_add_target): Likewise.
5616         * nat/aarch64-linux.c (aarch64_linux_delete_thread): New
5617         function.
5618         * nat/aarch64-linux.h (aarch64_linux_delete_thread): New
5619         declaration.
5620         * nat/x86-linux.c (x86_linux_delete_thread): New function.
5621         * nat/x86-linux.h (x86_linux_delete_thread): New declaration.
5622
5623 2017-10-09  Tom Tromey  <tom@tromey.com>
5624
5625         * tui/tui-win.c (tui_set_win_height, parse_scrolling_args): Use
5626         std::string.
5627         * tui/tui-layout.c (enum tui_status): Use std::string.
5628
5629 2017-10-11  Tom Tromey  <tom@tromey.com>
5630
5631         * gdbthread.h (thread_command): Constify.
5632         * inferior.h (detach_command): Constify.
5633         * top.h (set_history, show_history): Constify.
5634         * arm-tdep.c (set_arm_command, show_arm_command): Constify.
5635         * serial.c (serial_set_cmd, serial_show_cmd): Constify.
5636         * bsd-kvm.c (bsd_kvm_cmd): Constify.
5637         * printcmd.c (set_command): Constify.
5638         (non_const_set_command): New function.
5639         * dcache.c (set_dcache_command, show_dcache_command): Constify.
5640         * breakpoint.c (enable_command, disable_command, delete_command)
5641         (catch_command, tcatch_command, set_breakpoint_cmd)
5642         (show_breakpoint_cmd): Constify.
5643         * macrocmd.c (macro_command): Constify.
5644         * infcmd.c (unset_command, kill_command, detach_command)
5645         (info_proc_cmd): Constify.
5646         * i386-tdep.c (set_mpx_cmd, show_mpx_cmd): Constify.
5647         * auto-load.c (show_auto_load_cmd, set_auto_load_cmd)
5648         (info_auto_load_cmd): Constify.
5649         * target-descriptions.c (set_tdesc_cmd, show_tdesc_cmd)
5650         (unset_tdesc_cmd): Constify.
5651         * ada-lang.c (set_ada_command, show_ada_command)
5652         (maint_set_ada_cmd, maint_show_ada_cmd): Constify.
5653         * guile/guile.c (set_guile_command, show_guile_command)
5654         (info_guile_command): Constify.
5655         * tui/tui-win.c (tui_command, set_tui_cmd, show_tui_cmd):
5656         Constify.
5657         * skip.c (skip_command): Constify.
5658         * compile/compile.c (_initialize_compile): Constify.
5659         * dwarf2read.c (set_dwarf_cmd, show_dwarf_cmd): Constify.
5660         * btrace.c (maint_btrace_cmd, maint_btrace_set_cmd)
5661         (maint_btrace_show_cmd, maint_btrace_pt_set_cmd)
5662         (maint_btrace_pt_show_cmd): Constify.
5663         * remote.c (set_remote_cmd, show_remote_cmd, remote_command):
5664         Constify.
5665         * python/python.c (user_show_python, user_set_python): Constify.
5666         * mips-tdep.c (set_mips_command, show_mips_command)
5667         (set_mipsfpu_command): Constify.
5668         * record-btrace.c (cmd_record_btrace_start)
5669         (cmd_set_record_btrace, cmd_show_record_btrace)
5670         (cmd_set_record_btrace_bts, cmd_show_record_btrace_bts)
5671         (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): Constify.
5672         * rs6000-tdep.c (set_powerpc_command, show_powerpc_command):
5673         Constify.
5674         * symfile.c (overlay_command): Constify.
5675         * spu-tdep.c (set_spu_command, show_spu_command): Constify.
5676         * cli/cli-logging.c (set_logging_command, show_logging_command):
5677         Constify.
5678         * cli/cli-dump.c (dump_command, append_command)
5679         (srec_dump_command, ihex_dump_command, verilog_dump_command)
5680         (tekhex_dump_command, binary_dump_command)
5681         (binary_append_command): Constify.
5682         * cli/cli-decode.c (struct cmd_list_element): Change type of
5683         "fun".
5684         * cli/cli-cmds.c (info_command, show_command, set_debug)
5685         (show_debug): Constify.
5686         (show_command): Add non-const overload.
5687         * top.c (set_history, show_history): Constify.
5688         * sh-tdep.c (set_sh_command, show_sh_command): Constify.
5689         * command.h (add_prefix_cmd): Accept a cmd_const_cfunc_ftype.
5690         * target.c (target_command): Constify.
5691         * sparc64-tdep.c (info_adi_command): Constify.
5692         * record-full.c (cmd_record_full_start): Constify.
5693         (set_record_full_command): Constify.  Fix typo.
5694         (show_record_full_command): Constify.
5695         * thread.c (thread_command, thread_apply_command): Constify.
5696         * memattr.c (dummy_cmd): Constify.
5697         * value.c (function_command): Constify.
5698         * frame.c (set_backtrace_cmd, show_backtrace_cmd): Constify.
5699         * probe.c (info_probes_command): Constify.
5700         * ser-tcp.c (set_tcp_cmd, show_tcp_cmd): Constify.
5701         * gnu-nat.c (set_task_cmd, show_task_cmd, set_thread_cmd)
5702         (show_thread_cmd, set_thread_default_cmd)
5703         (show_thread_default_cmd): Constify.
5704         (check_empty): Constify.
5705         * tracepoint.c (tfind_command): Constify.
5706         * cp-support.c (maint_cplus_command): Constify.
5707         * windows-tdep.c (info_w32_command): Constify.
5708         * record.c (cmd_record_start, set_record_command)
5709         (show_record_command, info_record_command, cmd_record_goto):
5710         Constify.
5711         * ravenscar-thread.c (set_ravenscar_command)
5712         (show_ravenscar_command): Constify.
5713         * utils.c (set_internal_problem_cmd, show_internal_problem_cmd):
5714         Constify.
5715         (add_internal_problem_command): Remove casts.
5716         * arc-tdep.c (maintenance_print_arc_command): Constify.
5717         * valprint.c (set_print, show_print, set_print_raw)
5718         (show_print_raw): Constify.
5719         * maint.c (maintenance_command, maintenance_info_command)
5720         (maintenance_print_command, maintenance_set_cmd)
5721         (maintenance_show_cmd, set_per_command_cmd)
5722         (show_per_command_cmd, maintenance_check_command): Constify.
5723         * language.c (set_check, show_check): Constify.
5724         * typeprint.c (show_print_type, set_print_type): Constify.
5725         * go32-nat.c (go32_info_dos_command): Constify.
5726
5727 2017-10-11  Tom Tromey  <tom@tromey.com>
5728
5729         * breakpoint.c (prepare_re_set_context): Remove.
5730         (breakpoint_re_set_one): Update.  Don't use cleanups.
5731         (breakpoint_re_set): Use scoped_restore, std::string, and
5732         scoped_restore_current_language.
5733
5734 2017-10-11  Tom Tromey  <tom@tromey.com>
5735
5736         * breakpoint.c (commands_command_1): Use std::string.
5737         (cleanup_executing_breakpoints): Remove.
5738         (bpstat_do_actions_1): Use scoped_restore.
5739         (bpstat_check_watchpoint): Use std::string.
5740         (decode_static_tracepoint_spec): Likewise.
5741         (break_range_command): Likewise.
5742         (watch_command_1): Likewise.
5743         (compare_breakpoints): Change argument types.
5744         (clear_command): Use std::vector.
5745         (cleanup_executing_breakpoints): Remove.
5746         (update_global_location_list): Use unique_xmalloc_ptr.
5747         (strace_command): Remove unused declaration.
5748
5749 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5750
5751         * Makefile.in (ALLDEPFILES): Add arm-fbsd-nat.c.
5752         * NEWS: Mention new FreeBSD/arm native configuration.
5753         * configure.host: Add arm*-*-freebsd*.
5754         * configure.nat: Likewise.
5755         * arm-fbsd-nat.c: New file.
5756
5757 2017-10-11  John Baldwin  <jhb@FreeBSD.org>
5758
5759         * Makefile.in (ALL_TARGET_OBS): Add arm-fbsd-tdep.o.
5760         (ALLDEPFILES): Add arm-fbsd-tdep.c.
5761         * NEWS: Mention new FreeBSD/arm target.
5762         * configure.tgt: Add arm*-*-freebsd*.
5763         * arm-fbsd-tdep.c: New file.
5764         * arm-fbsd-tdep.h: New file.
5765
5766 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5767
5768         * linux-tdep.c (linux_make_corefile_notes): Remove call to
5769         `gdbarch_elfcore_write_linux_prpsinfo'.
5770         * gdbarch.sh (elfcore_write_linux_prpsinfo): Remove architecture
5771         method.
5772         (elf_internal_linux_prpsinfo): Remove declaration.
5773         * gdbarch.h: Regenerate.
5774         * gdbarch.c: Regenerate.
5775
5776 2017-10-11  Maciej W. Rozycki  <macro@imgtec.com>
5777
5778         * ppc-linux-tdep.c (ppc_linux_init_abi): Remove call to
5779         `set_gdbarch_elfcore_write_linux_prpsinfo'.
5780
5781 2017-10-11  Pedro Alves  <palves@redhat.com>
5782
5783         * breakpoint.c (reattach_breakpoints): Delete.
5784         * breakpoint.h (reattach_breakpoints): Delete.
5785
5786 2017-10-11  Simon Marchi  <simon.marchi@ericsson.com>
5787
5788         * symfile.c (registered_sym_fns): Make struct, not typedef.
5789         (DEF_VEC_O (registered_sym_fns)): Remove.
5790         (symtab_fns): Change type to std::vector.
5791         (add_symtab_fns): Adjust.
5792         (find_sym_fns): Adjust.
5793
5794 2017-10-11  Anton Kolesov  <Anton.Kolesov@synopsys.com>
5795
5796         * arc-tdep.c (arc_gdbarch_init): Pass proper cpu value to disassembler.
5797         * arc-tdep.h (arc_arch_is_em): New function.
5798         (arc_arch_is_hs): Likewise.
5799
5800 2017-10-11  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
5801
5802         * macrotab.h (macro_lookup_inclusion): Remove unnecessary
5803         parentheses in the declaration.
5804         (macro_lookup_inclusion): Likewise.
5805         (macro_lookup_definition): Likewise.
5806         * p-lang.h (pascal_builtin_types): Likewise.
5807         * tui/tui-data.c (tui_win_list): Likewise.
5808         * tui/tui-data.h (tui_win_list): Likewise.
5809         * utils.h (make_cleanup_free_section_addr_info): Likewise.
5810
5811 2017-10-11  Mark Rages  <markrages@gmail.com>
5812
5813         * target-memory.c (block_boundaries): Fix for block address not
5814         aligned on block size.
5815
5816 2017-10-10  Pedro Alves <palves@redhat.com>
5817             Tom Tromey  <tom@tromey.com>
5818
5819         * breakpoint.c (struct captured_breakpoint_query_args)
5820         (do_captured_breakpoint_query, gdb_breakpoint_query): Delete.
5821         (print_breakpoint): New.
5822         * breakpoint.h (print_breakpoint): Declare.
5823         * common/common-exceptions.h (enum return_reason): Remove
5824         references to catch_exceptions.
5825         * exceptions.c (catch_exceptions, catch_exceptions_with_msg):
5826         Delete.
5827         * exceptions.h (catch_exceptions_ftype, catch_exceptions)
5828         (catch_exception_ftype, catch_exceptions_with_msg): Delete.
5829         * gdb.h: Delete.
5830         * gdbthread.h (thread_select): Declare.
5831         * mi/mi-cmd-break.c: Don't include gdb.h.
5832         (breakpoint_notify): Use print_breakpoint.
5833         * mi/mi-cmd-catch.c: Don't include gdb.h.
5834         * mi/mi-interp.c: Don't include gdb.h.
5835         (mi_print_breakpoint_for_event): New.
5836         (mi_breakpoint_created, mi_breakpoint_modified): Use
5837         mi_print_breakpoint_for_event.
5838         * mi/mi-main.c: Don't include gdb.h.
5839         (mi_cmd_thread_select): Parse the global thread ID here.  Use
5840         thread_select instead of gdb_thread_select.
5841         (mi_cmd_thread_list_ids): Output "thread-ids" tuple here instead
5842         of using gdb_list_thread_ids.
5843         * remote-fileio.c (do_remote_fileio_request): Change type.  Reply
5844         FILEIO_ENOSYS here.
5845         (remote_fileio_request): Use TRY/CATCH instead of
5846         catch_exceptions.
5847         * symfile-mem.c (struct symbol_file_add_from_memory_args)
5848         (symbol_file_add_from_memory_wrapper): Delete.
5849         (add_vsyscall_page): Use TRY/CATCH instead of catch_exceptions.
5850         * thread.c: Don't include gdb.h.
5851         (do_captured_list_thread_ids, gdb_list_thread_ids): Delete.
5852         (thread_alive): Use thread_select.
5853         (do_captured_thread_select): Delete, parts salvaged as ...
5854         (thread_select): ... this new function.
5855         (gdb_thread_select): Delete.
5856
5857 2017-10-10  Pedro Alves  <palves@redhat.com>
5858             Tom Tromey  <tom@tromey.com>
5859
5860         * breakpoint.c (breakpoint_cond_eval): Change return type to bool
5861         and reverse logic.
5862         (WP_DELETED, WP_VALUE_CHANGED, WP_VALUE_NOT_CHANGED, WP_IGNORE):
5863         No longer macros.  Instead ...
5864         (enum wp_check_result): They're now values of this new
5865         enumeration.
5866         (watchpoint_check): Change return type to wp_check_result and
5867         parameter type to bpstat.
5868         (bpstat_check_watchpoint): Use TRY/CATCH instead of catch_errors.
5869         (bpstat_check_breakpoint_conditions): Use TRY/CATCH instead of
5870         catch_errors.  Reverse logic of watchpoint_check call.
5871         (breakpoint_re_set_one): Now returns void and takes a breakpoint
5872         pointer as parameter.
5873         (breakpoint_re_set): Use TRY/CATCH instead of catch_errors.
5874         * common/common-exceptions.c (throw_exception_sjlj): Update
5875         comments to avoid mentioning catch_errors.
5876         * exceptions.c (catch_errors): Delete.
5877         * exceptions.h: Update comments to avoid mentioning catch_errors.
5878         (catch_errors_ftype, catch_errors): Delete.
5879         * infrun.c (normal_stop): Use TRY/CATCH instead of catch_errors.
5880         (hook_stop_stub): Delete.
5881         (restore_selected_frame): Change return type to void, and
5882         parameter type to const frame_id &.
5883         (restore_infcall_control_state): Use TRY/CATCH instead of
5884         catch_errors.
5885         * main.c (captured_command_loop): Return void and remove
5886         parameter.  Remove references to catch_errors.
5887         (captured_main): Use TRY/CATCH instead of catch_errors.
5888         * objc-lang.c (objc_submethod_helper_data)
5889         (find_objc_msgcall_submethod_helper): Delete.
5890         (find_objc_msgcall_submethod): Use TRY/CATCH instead of
5891         catch_errors.
5892         * record-full.c (record_full_message): Return void.
5893         (record_full_message_args, record_full_message_wrapper): Delete.
5894         (record_full_message_wrapper_safe): Return bool and use TRY/CATCH
5895         instead of catch_errors.
5896         * solib-aix.c (solib_aix_open_symbol_file_object): Change
5897         parameter type to int.
5898         * solib-darwin.c (open_symbol_file_object): Ditto.
5899         * solib-dsbt.c (open_symbol_file_object): Ditto.
5900         * solib-frv.c (open_symbol_file_object): Ditto.
5901         * solib-svr4.c (open_symbol_file_object): Ditto.
5902         * solib-target.c (solib_target_open_symbol_file_object): Ditto.
5903         * solib.c (update_solib_list): Use TRY/CATCH instead of
5904         catch_errors.
5905         * solist.h (struct target_so_ops) <open_symbol_file_object>:
5906         Change type.
5907         * symmisc.c (struct print_symbol_args): Remove.
5908         (dump_symtab_1): Use TRY/CATCH instead of catch_errors.
5909         (print_symbol): Change type.
5910         * windows-nat.c (handle_load_dll, handle_unload_dll): Return void
5911         and remove parameters.
5912         (catch_errors): New.
5913         (get_windows_debug_event): Adjust.
5914
5915 2017-10-09  Tom Tromey  <tom@tromey.com>
5916
5917         * mi/mi-main.c (free_splay_tree): Remove.
5918         (list_available_thread_groups): Use splay_tree_up.
5919         * common/gdb_splay_tree.h: New file.
5920
5921 2017-10-09  Tom Tromey  <tom@tromey.com>
5922
5923         * mi/mi-main.c (do_nothing): Remove.
5924         (list_available_thread_groups): Update.
5925
5926 2017-10-09  Pedro Alves  <palves@redhat.com>
5927
5928         * infrun.c (handle_inferior_event_1) <TARGET_WAITKIND_EXECD>: Skip
5929         reading registers when switching context.
5930
5931 2017-10-09  John Baldwin  <jhb@FreeBSD.org>
5932
5933         * fbsd-nat.c (fbsd_siginfo_size): Use gdbarch_long_bit.
5934         (fbsd_convert_siginfo): Likewise.
5935         * fbsd-tdep.c (fbsd_core_xfer_siginfo): Likewise.
5936
5937 2017-10-09  Simon Marchi  <simon.marchi@polymtl.ca>
5938
5939         * configure.ac (try_guile_versions): Remove guile-2.2.
5940         * configure: Regenerate.
5941
5942 2017-10-09  Tom Tromey  <tom@tromey.com>
5943
5944         * Makefile.in (COMPILE.post, POSTCOMPILE): Restore $(basename).
5945         (COMPILE.pre): Use $(CXX).
5946
5947 2017-10-09  Pedro Alves  <palves@redhat.com>
5948
5949         * cp-support.c (cp_remove_params): Return a gdb::unique_xmalloc_ptr.
5950         Use bool.
5951         (overload_list_add_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5952         * cp-support.h (cp_remove_params): Now returns a
5953         gdb::unique_xmalloc_ptr.
5954         * dwarf2read.c (find_slot_in_mapped_hash): Now returns bool.
5955         Adjust to cp_remove_params returning a gdb::unique_xmalloc_ptr.
5956         * psymtab.c (psymtab_search_name): Adjust to cp_remove_params
5957         returning a gdb::unique_xmalloc_ptr.
5958         (lookup_partial_symbol): Adjust to use gdb::unique_xmalloc_ptr.
5959         * stack.c (find_frame_funname): Adjust to cp_remove_params
5960         returning a gdb::unique_xmalloc_ptr.
5961
5962 2017-10-08  Tom Tromey  <tom@tromey.com>
5963
5964         * dwarf2read.c (dwarf2_get_dwz_file): Use
5965         gdb::unique_xmalloc_ptr.
5966         (find_slot_in_mapped_hash): Likewise.
5967         (dwarf2_physname): Likewise.
5968         (create_dwo_unit_in_dwp_v1): Use std::string.
5969         (create_dwo_unit_in_dwp_v2): Likewise.
5970         (lookup_dwo_cutu): Likewise.
5971         (inherit_abstract_dies): Use std::vector.
5972         (read_array_type): Likewise.
5973         (dwarf_decode_macros): Remove unused declaration.
5974         (unsigned_int_compar): Remove.
5975         (dwarf2_build_psymtabs_hard): Use scoped_restore.
5976         (psymtabs_addrmap_cleanup): Remove.
5977
5978 2017-10-08  Tom Tromey  <tom@tromey.com>
5979
5980         * frame-unwind.c (frame_unwind_try_unwinder): Update.
5981         * frame.h (frame_cleanup_after_sniffer): Declare.
5982         (frame_prepare_for_sniffer): Return void.
5983         * frame.c (frame_cleanup_after_sniffer): No longer static.  Change
5984         type of argument.
5985         (frame_prepare_for_sniffer): Return void.
5986
5987 2017-10-08  Tom Tromey  <tom@tromey.com>
5988
5989         * utils.h (make_cleanup_value_free): Remove.
5990         * utils.c (do_value_free, struct cleanup): Remove.
5991         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>:
5992         Use gdb_value_up.
5993         * value.h (struct value_deleter): New.
5994         (gdb_value_up): New typedef.
5995
5996 2017-10-08  Tom Tromey  <tom@tromey.com>
5997
5998         * symtab.c (free_search_symbols, do_free_search_symbols_cleanup)
5999         (make_cleanup_free_search_symbols): Remove.
6000         (search_symbols): Return std::vector.
6001         (symbol_search::compare_search_syms): Now member of
6002         symbol_search.  Change arguments.
6003         (sort_search_symbols_remove_dups): Change arguments.  Rewrite.
6004         (symtab_symbol_info, rbreak_command): Update.
6005         * symtab.h (struct symbol_search) <next>: Remove.
6006         Add constructors.
6007         (symbol_search::operator<): New function.
6008         (symbol_search::operator==): New function.
6009         (search_symbols): Remove std::vector.
6010         (free_search_symbols, make_cleanup_free_search_symbols): Remove.
6011         (symbol_search::compare_search_syms): Declare.
6012
6013 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6014
6015         * Makefile.in (ALL_64_TARGET_OBS): Replace aarch64-insn.o with
6016         arch/aarch64-insn.o.
6017         Remove one rule.
6018         * configure.tgt: Replace aarch64-insn.o with arch/aarch64-insn.o.
6019
6020 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6021
6022         * Makefile.in (ALL_TARGET_OBS): Replace arm.o, arm-get-next-pcs.o,
6023         and arm-linux.o with arch/arm.o, arch/arm-get-next-pcs.o and
6024         arch/arm-linux.o respectively.
6025         * configure.tgt: Likewise.
6026
6027 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6028
6029         * Makefile.in (ALL_TARGET_OBS): Rename i386.o to arch/i386.o.
6030         * configure.tgt (i386_tobjs): Replace i386.o with arch/i386.o.
6031
6032 2017-10-06  Pedro Alves  <palves@redhat.com>
6033
6034         * windows-nat.c: Include <algorithm>.
6035
6036 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6037
6038         * configure.tgt (i386_tobjs): New variable.
6039         (amd64_tobjs): New variable.
6040         Set $cpu_obs and $os_obs.
6041
6042 2017-10-06  Yao Qi  <yao.qi@linaro.org>
6043
6044         * Makefile.in (CONFIG_SRC_SUBDIR): New.
6045         (ALL_64_TARGET_OBS): Replace amd64.o with arch/amd64.o.
6046         (clean): Remove object files and dependency files.
6047         (distclean): Remove the directory.
6048         * configure.ac: Invoke AC_CONFIG_COMMANDS.
6049         * configure: Re-generated.
6050         * configure.tgt: Replace amd64.o with arch/amd64.o.
6051
6052 2017-10-05  Jose E. Marchesi  <jose.marchesi@oracle.com>
6053
6054         PR build/22188
6055         * arm-tdep.c (arm_decode_misc_memhint_neon): Fix decoding of CPS
6056         and SETEND.
6057
6058 2017-10-05  Pedro Alves  <palves@redhat.com>
6059
6060         * linux-nat.c (linux_child_follow_fork): When following the parent
6061         and detaching the child, consult the parent thread's architecture
6062         instead of the child's.
6063
6064 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
6065
6066         * ax.h: Do not include "doublest.h".
6067         (union agent_val): Remove.
6068
6069 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
6070
6071         * dfp.h (MAX_DECIMAL_STRING): Move to dfp.c.
6072         (decimal_to_string): Return std::string object.
6073         (decimal_from_string): Accept std::string object.  Return bool.
6074         (decimal_from_integral, decimal_from_doublest): Remove.
6075         (decimal_from_longest): Add prototype.
6076         (decimal_from_ulongest): Likewise.
6077         (decimal_to_longest): Likewise.
6078         (decimal_from_doublest): Likewise.
6079         * dfp.c: Do not include "gdbtypes.h" or "value.h".
6080         (MAX_DECIMAL_STRING): Move here.
6081         (decimal_to_string): Return std::string object.
6082         (decimal_from_string): Accept std::string object.  Return bool.
6083         (decimal_from_integral): Remove, replace by ...
6084         (decimal_from_longest, decimal_from_ulongest): ... these new functions.
6085         (decimal_to_longest): New function.
6086         (decimal_from_floating): Remove, replace by ...
6087         (decimal_from_doublest): ... this new function.
6088         (decimal_to_doublest): Update to new decimal_to_string interface.
6089
6090         * value.c (unpack_long): Use decimal_to_longest.
6091         * valops.c (value_cast): Use decimal_from_doublest instead of
6092         decimal_from_floating.  Use decimal_from_[u]longest isntead of
6093         decimal_from_integral.
6094         * valarith.c (value_args_as_decimal): Likewise.
6095         * valprint.c (print_decimal_floating): Update to new
6096         decimal_to_string interface.
6097         * printcmd.c (printf_decfloat): Likewise.
6098         * c-exp.y (parse_number): Update to new decimal_from_string interface.
6099
6100 2017-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
6101
6102         * doublest.h: Do not include "floatformat.h".  Remove stale comments.
6103         * gdbtypes.c: Include "floatformat.h".
6104         * value.c: Likewise.
6105         * m68k-tdep.c: Likewise.
6106
6107         * findvar.c: Do not include "floatformat.h".
6108         * amd64-darwin-tdep.c: Likewise.
6109         * arm-linux-tdep.c: Likewise.
6110         * i386-darwin-tdep.c: Likewise.
6111         * i387-tdep.c: Likewise.
6112         * m68k-linux-tdep.c: Likewise.
6113         * mep-tdep.c: Likewise.
6114         * mips-tdep.c: Likewise.
6115         * nios2-tdep.c: Likewise.
6116         * s390-linux-tdep.c: Likewise.
6117         * sparc-obsd-tdep.c: Likewise.
6118         * sparc-tdep.c: Likewise.
6119         * sparc64-tdep.c: Likewise.
6120         * spu-tdep.c: Likewise.
6121         * tic6x-tdep.c: Likewise.
6122         * tilegx-tdep.c: Likewise.
6123         * vax-tdep.c: Likewise.
6124         * xstormy16-tdep.c: Likewise.
6125         * xtensa-tdep.c: Likewise.
6126
6127         * top.c: Do not include "doublest.h".
6128         * aarch64-tdep.c: Likewise.
6129         * alpha-tdep.c: Likewise.
6130         * arm-linux-tdep.c: Likewise.
6131         * m68k-linux-tdep.c: Likewise.
6132         * tilegx-tdep.c: Likewise.
6133         * xstormy16-tdep.c: Likewise.
6134
6135 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
6136
6137         * mips-fbsd-tdep.c (MIPS_INST_ADDIU_A0_SP_N32): Define.
6138         (mipsn32_fbsd_sigframe): Define.
6139         (mips_fbsd_init_abi): Install mipsn32_fbsd_sigframe unwinder
6140         for FreeBSD/mipsn32.
6141
6142 2017-10-05  John Baldwin  <jhb@FreeBSD.org>
6143
6144         * fbsd-tdep.c (fbsd_print_auxv_entry): Handle AT_EHDRFLAGS and
6145         AT_HWCAP.
6146
6147 2017-10-05  Tristan Gingold  <tgingold@free.fr>
6148
6149         * MAINTAINERS (Misc): Update my email address.
6150
6151 2017-10-04  Pedro Alves  <palves@redhat.com>
6152
6153         * remote.c (get_remote_arch_state): New 'gdbarch' parameter.  Use
6154         it instead of target_gdbarch.
6155         (get_remote_state, get_remote_packet_size): Adjust
6156         get_remote_arch_state calls, passing down target_gdbarch
6157         explicitly.
6158         (packet_reg_from_regnum, packet_reg_from_pnum): New parameter
6159         'gdbarch' and use it instead of target_gdbarch.
6160         (get_memory_packet_size): Adjust get_remote_arch_state calls,
6161         passing down target_gdbarch explicitly.
6162         (struct stop_reply) <arch>: New field.
6163         (remote_parse_stop_reply): Use the stopped thread's architecture,
6164         not the current inferior's.  Save the architecture in the
6165         stop_reply.
6166         (process_stop_reply): Use the stop reply's architecture.
6167         (process_g_packet, remote_fetch_registers)
6168         (remote_prepare_to_store, store_registers_using_G)
6169         (remote_store_registers): Adjust get_remote_arch_state calls,
6170         using the regcache's architecture.
6171         (remote_get_trace_status): Adjust get_remote_arch_state calls,
6172         passing down target_gdbarch explicitly.
6173         * spu-multiarch.c (spu_thread_architecture): Defer to the target
6174         beneath instead of calling target_gdbarch.
6175         * target.c (default_thread_architecture): Use the specified
6176         inferior's architecture, instead of the current inferior's
6177         architecture (via target_gdbarch).
6178
6179 2017-10-04  Pedro Alves  <palves@redhat.com>
6180
6181         * regcache.c (get_thread_arch_regcache): Remove null_ptid special
6182         case.
6183         (regcache_print): Handle !target_has_registers here instead.
6184
6185 2017-10-04  Pedro Alves  <palves@redhat.com>
6186
6187         * frame.c (create_test_frame): Delete.
6188         * frame.h (create_test_frame): Delete.
6189         * gdbarch-selftests.c: Include gdbthread.h and target.h.
6190         (class regcache_test): Delete.
6191         (test_target_has_registers, test_target_has_stack)
6192         (test_target_has_memory, test_target_prepare_to_store)
6193         (test_target_store_registers): New functions.
6194         (test_target_ops): New class.
6195         (register_to_value_test): Error out if there's already a
6196         process_stratum (or higher) target pushed.  Create a fuller mock
6197         environment, with mock target_ops, inferior, address space, thread
6198         and inferior_ptid.
6199         * progspace.c (struct address_space): Move to ...
6200         * progspace.h (struct address_space): ... here.
6201         * regcache.h (regcache::~regcache, regcache::raw_write)
6202         [GDB_SELF_TEST]: No longer virtual.
6203
6204 2017-10-04  Simon Marchi  <simon.marchi@ericsson.com>
6205
6206         * mi/mi-main.c (list_available_thread_groups): Reverse filter logic.
6207
6208 2017-10-04  Pedro Alves  <palves@redhat.com>
6209
6210         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Move code
6211         out of 'between TRY and CATCH'.
6212
6213 2017-10-04  Pedro Alves  <palves@redhat.com>
6214
6215         * cli/cli-cmds.c (complete_command): Add missing END_CATCH.
6216         * common/common-exceptions.h (TRY): Open an outermost scope.
6217         Expand intro comment.
6218         (CATCH): Reindent.
6219         (END_CATCH): Close the outermost scope.
6220         * completer.c (complete_line_internal): Add missing END_CATCH.
6221
6222 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6223
6224         * NEWS (Changes since GDB 8.0): Add entry about new
6225         'set-cwd-on-gdbserver' feature.
6226         (New remote packets): Add entry for QSetWorkingDir.
6227         * common/common-inferior.h (set_inferior_cwd): New prototype.
6228         * infcmd.c (set_inferior_cwd): Remove "static".
6229         (show_cwd_command): Expand text to include remote debugging.
6230         * remote.c: Add PACKET_QSetWorkingDir.
6231         (remote_protocol_features) <QSetWorkingDir>: New entry for
6232         PACKET_QSetWorkingDir.
6233         (extended_remote_set_inferior_cwd): New function.
6234         (extended_remote_create_inferior): Call
6235         "extended_remote_set_inferior_cwd".
6236         (_initialize_remote): Call "add_packet_config_cmd" for
6237         QSetWorkingDir.
6238
6239 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6240
6241         * NEWS (New commands): Mention "set/show cwd".
6242         * cli/cli-cmds.c (_initialize_cli_cmds): Mention "set cwd" on
6243         "cd" command's help text.
6244         * common/common-inferior.h (get_inferior_cwd): New prototype.
6245         * infcmd.c (inferior_cwd_scratch): New global variable.
6246         (set_inferior_cwd): New function.
6247         (get_inferior_cwd): Likewise.
6248         (set_cwd_command): Likewise.
6249         (show_cwd_command): Likewise.
6250         (_initialize_infcmd): Add "set/show cwd" commands.
6251         * inferior.h (class inferior) <cwd>: New field.
6252         * nat/fork-inferior.c: Include "gdb_tilde_expand.h".
6253         (fork_inferior): Change inferior's cwd before its execution.
6254         * windows-nat.c (windows_create_inferior): Pass inferior's cwd
6255         to CreateProcess.
6256
6257 2017-10-04  Sergio Durigan Junior  <sergiodj@redhat.com>
6258
6259         * Makefile.in (SFILES): Add gdb_tilde_expand.c.
6260         (HFILES_NO_SRCDIR): Add gdb_tilde_expand.h.
6261         (COMMON_OBS): Add gdb_tilde_expand.o.
6262         * common/gdb_tilde_expand.c: New file.
6263         * common/gdb_tilde_expand.h: Likewise.
6264
6265 2017-10-03  Maciej W. Rozycki  <macro@imgtec.com>
6266
6267         * gdbarch.sh (objfile): Remove duplicate declaration.
6268         * gdbarch.h: Regenerate.
6269
6270 2017-10-03  Tom Tromey  <tom@tromey.com>
6271
6272         * utils.c (internal_vproblem): Use string_vprintf.
6273
6274 2017-10-03  Tom Tromey  <tom@tromey.com>
6275
6276         * printcmd.c (info_symbol_command): Use std::string.
6277
6278 2017-10-03  Tom Tromey  <tom@tromey.com>
6279
6280         * top.c (gdb_safe_append_history): Use std::string.
6281
6282 2017-10-03  Tom Tromey  <tom@tromey.com>
6283
6284         * event-top.c (stdin_event_handler): Update.
6285         * main.c (captured_main_1): Update.
6286         * top.h (make_delete_ui_cleanup): Remove.
6287         (struct ui): Add constructor and destructor.
6288         (new_ui, delete_ui): Remove.
6289         * top.c (make_delete_ui_cleanup): Remove.
6290         (new_ui_command): Use std::unique_ptr.
6291         (delete_ui_cleanup): Remove.
6292         (ui::ui): Rename from new_ui.  Update.
6293         (free_ui): Remove.
6294         (ui::~ui): Rename from delete_ui.  Update.
6295
6296 2017-10-03  Tom Tromey  <tom@tromey.com>
6297
6298         * symfile.c (load_progress): Use gdb::byte_vector.
6299
6300 2017-10-03  Tom Tromey  <tom@tromey.com>
6301
6302         * mi/mi-main.c (mi_cmd_trace_frame_collected): Remove unused
6303         declaration.
6304         * printcmd.c (x_command): Remove unused declaration.
6305         * symfile.c (symbol_file_command): Remove unused declaration.
6306
6307 2017-10-03  Tom Tromey  <tom@tromey.com>
6308
6309         * utils.c (internal_vproblem): Use std::string.
6310         (defaulted_query): Likewise.
6311
6312 2017-10-03  Tom Tromey  <tom@tromey.com>
6313
6314         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Update.
6315         * top.c (execute_command_to_string): Update.
6316         * utils.c (make_cleanup_restore_page_info): Remove.
6317         (do_restore_page_info_cleanup): Remove.
6318         (set_batch_flag_and_restore_page_info):
6319         New.
6320         (make_cleanup_restore_page_info): Remove.
6321         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6322         (~set_batch_flag_and_restore_page_info): New
6323         (make_cleanup_restore_uinteger): Remove.
6324         (make_cleanup_restore_integer): Remove.
6325         (struct restore_integer_closure): Remove.
6326         (restore_integer): Remove.
6327         * utils.h (struct set_batch_flag_and_restore_page_info): New
6328         class.
6329         (set_batch_flag_and_make_cleanup_restore_page_info): Remove.
6330         (make_cleanup_restore_page_info): Remove.
6331         (make_cleanup_restore_uinteger) Remove.
6332         (make_cleanup_restore_integer) Remove.
6333
6334 2017-10-03  Tom Tromey  <tom@tromey.com>
6335
6336         * record-full.h (record_full_gdb_operation_disable_set): Return
6337         scoped_restore_tmpl<int>.
6338         * infrun.c (adjust_pc_after_break): Update.
6339         (handle_signal_stop): Update.
6340         * record-full.c (record_full_gdb_operation_disable_set): Return
6341         scoped_restore_tmpl<int>.
6342         (record_full_wait_1, record_full_insert_breakpoint)
6343         (record_full_remove_breakpoint, record_full_save)
6344         (record_full_goto_insn): Update.
6345
6346 2017-10-02  Tom Tromey  <tom@tromey.com>
6347
6348         PR rust/22236:
6349         * rust-lang.c (rust_val_print_str): New function.
6350         (val_print_struct): Call it.
6351         (rust_subscript): Preserve name of slice type.
6352
6353 2017-10-02  Tom Tromey  <tom@tromey.com>
6354
6355         * rust-lang.c (rust_subscript): Handle slices in
6356         EVAL_AVOID_SIDE_EFFECTS case.
6357
6358 2017-10-02  Tom Tromey  <tom@tromey.com>
6359
6360         * rust-lang.c (rust_slice_type_p): Recognize &str as a slice type.
6361
6362 2017-10-02  Tom Tromey  <tom@tromey.com>
6363
6364         * rust-lang.h (rust_slice_type): Add "extern".
6365
6366 2017-10-02  Tom Tromey  <tom@tromey.com>
6367             Pedro Alves  <palves@redhat.com>
6368
6369         * ada-lang.h (ada_exc_info::operator<): Make const.
6370         (ada_exc_info::operator==): Make const.
6371         * ada-lang.c (ada_exc_info::operator<, ada_exc_info::operator==):
6372         Make const.
6373
6374 2017-09-29  Tom Tromey  <tom@tromey.com>
6375
6376         * target.c (read_whatever_is_readable): Change type of "result".
6377         Update.
6378         (free_memory_read_result_vector): Remove.
6379         (read_memory_robust): Change return type.  Update.
6380         * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.  Use
6381         bin2hex, std::string.
6382         * target.h (memory_read_result_s): Remove typedef.
6383         (free_memory_read_result_vector): Remove.
6384         (read_memory_robust): Return std::vector.
6385
6386 2017-09-29  Tom Tromey  <tom@tromey.com>
6387
6388         * mi/mi-main.c (captured_mi_execute_command): Use scope_restore.
6389
6390 2017-09-29  Tom Tromey  <tom@tromey.com>
6391
6392         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Update.
6393         * ada-lang.h (struct ada_exc_info): Remove typedef.  Declare
6394         operator< and operator==.
6395         (ada_exceptions_list): Return a std::vector.
6396         * ada-lang.c (ada_exc_info::operator<): Rename from
6397         compare_ada_exception_info.
6398         (ada_exc_info::operator==): New.
6399         (sort_remove_dups_ada_exceptions_list): Change type of
6400         "exceptions".
6401         (ada_add_standard_exceptions, ada_add_exceptions_from_frame)
6402         (ada_add_global_exceptions): Likewise.
6403         (ada_exceptions_list_1): Return a std::vector.
6404         (ada_exceptions_list): Likewise.
6405
6406 2017-09-29  Tom Tromey  <tom@tromey.com>
6407
6408         * mi/mi-main.c (struct print_one_inferior_data) <inferiors>: Now a
6409         'std::set *'.
6410         (print_one_inferior): Update.
6411         (free_vector_of_ints): Remove.
6412         (list_available_thread_groups): Change "ids" to std::set.
6413         (mi_cmd_list_thread_groups): Update.
6414         (struct collect_cores_data) <core>: Now a std::set.
6415         (collect_cores): Update.
6416         (unique): Remove.
6417         (print_one_inferior): Update.
6418
6419 2017-09-29  Tom Tromey  <tom@tromey.com>
6420
6421         * mi/mi-main.c (mi_execute_cli_command): Use std::string.
6422         (mi_execute_async_cli_command): Likewise.
6423         (mi_cmd_trace_frame_collected): Use field_fmt.
6424
6425 2017-09-29  Tom Tromey  <tom@tromey.com>
6426
6427         * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Use
6428         gdb::byte_vector.
6429
6430 2017-09-29  Tom Tromey  <tom@tromey.com>
6431
6432         * mi/mi-parse.c (mi_parse): Remove unused declaration.
6433
6434 2017-09-29  Tom Tromey  <tom@tromey.com>
6435
6436         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Don't copy "oarg".
6437
6438 2017-09-29  Tom Tromey  <tom@tromey.com>
6439
6440         * varobj.h (varobj_gen_name): Return std::string.
6441         * varobj.c (varobj_gen_name): Return std::string.
6442         * mi/mi-cmd-var.c (mi_cmd_var_create): Use std::string.
6443         (mi_cmd_var_delete): Don't copy "name".
6444
6445 2017-09-29  Tom Tromey  <tom@tromey.com>
6446
6447         * mi/mi-cmd-break.c (mi_argv_to_format): Return std::string.
6448         (mi_cmd_break_insert_1): Update.
6449
6450 2017-09-29  Tom Tromey  <tom@tromey.com>
6451
6452         * target.h (make_scoped_defer_target_commit_resume): Update.
6453         * target.c (make_scoped_defer_target_commit_resume): Rename from
6454         make_cleanup_defer_target_commit_resume.  Return a
6455         scoped_restore.
6456         * infrun.c (proceed): Use make_scoped_defer_target_commit_resume.
6457
6458 2017-09-29  Tom Tromey  <tom@tromey.com>
6459
6460         * main.c (captured_main_1): Remove unused declaration.
6461         * spu-multiarch.c (parse_spufs_run): Remove unused declaration.
6462
6463 2017-09-29  Tom Tromey  <tom@tromey.com>
6464
6465         * symtab.c (search_symbols): Remove unused outer cleanup.
6466         (make_source_files_completion_list): Remove unused declaration.
6467
6468 2017-09-29  Tom Tromey  <tom@tromey.com>
6469
6470         * mt-tdep.c (mt_push_dummy_call): Use gdb::byte_vector.
6471
6472 2017-09-29  Tom Tromey  <tom@tromey.com>
6473
6474         * xstormy16-tdep.c (xstormy16_push_dummy_call): Use
6475         gdb::byte_vector.
6476
6477 2017-09-29  Tom Tromey  <tom@tromey.com>
6478
6479         * complaints.c (vcomplaint): Use std::string.
6480
6481 2017-09-29  Tom Tromey  <tom@tromey.com>
6482
6483         * tracepoint.c (trace_variable_command): Use std::string.
6484         (encode_actions_1): Remove unused declarations.
6485         (create_tsv_from_upload): Use std::string.
6486
6487 2017-09-29  Tom Tromey  <tom@tromey.com>
6488
6489         * cp-support.c (gdb_demangle): Use std::string.
6490
6491 2017-09-29  Tom Tromey  <tom@tromey.com>
6492
6493         * stack.c (parse_frame_specification): Use std::string
6494         (info_frame_command): Use gdb::unique_xmalloc_ptr.
6495
6496 2017-09-29  Tom Tromey  <tom@tromey.com>
6497
6498         * tilegx-tdep.c (tilegx_push_dummy_call): Use gdb::byte_vector.
6499
6500 2017-09-29  Tom Tromey  <tom@tromey.com>
6501
6502         * utils.c (vfprintf_maybe_filtered): Use std::string.
6503         (vfprintf_unfiltered): Likewise.
6504
6505 2017-09-29  Tom Tromey  <tom@tromey.com>
6506
6507         * event-top.c (top_level_prompt): Return std::string.
6508         (display_gdb_prompt): Update.
6509
6510 2017-09-29  Tom Tromey  <tom@tromey.com>
6511
6512         * unittests/common-utils-selftests.c (format): New function.
6513         (string_vprintf_tests): New function.
6514         (_initialize_common_utils_selftests): Register new tests.
6515         * common/common-utils.c (string_vprintf): New function.
6516         * common/common-utils.h (string_vprintf): Declare.
6517
6518 2017-09-29  Pedro Alves  <palves@redhat.com>
6519
6520         * common/rsp-low.c (unpack_varlen_hex): Constify.
6521         * common/rsp-low.h (unpack_varlen_hex): Constify.
6522         * linux-nat.c (linux_child_static_tracepoint_markers_by_strid):
6523         Constify.
6524         * remote.c (remote_set_permissions, read_ptid)
6525         (remote_current_thread, remote_get_threads_with_qthreadinfo)
6526         (remote_static_tracepoint_marker_at)
6527         (remote_static_tracepoint_markers_by_strid)
6528         (stop_reply_extract_thread, remote_parse_stop_reply): Constify.
6529         * tracepoint.c (parse_trace_status, parse_tracepoint_status)
6530         (parse_tracepoint_definition, parse_tsv_definition)
6531         (parse_static_tracepoint_marker_definition): Constify.
6532         * tracepoint.h (parse_static_tracepoint_marker_definition)
6533         (parse_trace_status, parse_tracepoint_status)
6534         (parse_tracepoint_definition, parse_tsv_definition): Constify.
6535
6536 2017-09-29  Pedro Alves  <palves@redhat.com>
6537
6538         * remote.c (target_buf, target_buf_size): Delete.
6539         (remote_get_noisy_reply): Remove buf_p and sizeof_buf parameters.
6540         Use the connection's packet buffer instead.
6541         All callers adjusted.
6542         (_initialize_remote): Remove references to target_buf and
6543         target_buf_size.
6544
6545 2017-09-28  Pedro Alves  <palves@redhat.com>
6546
6547         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
6548         unittests/common-utils-selftests.c.
6549         (SUBDIR_UNITTESTS_OBS): Add common-utils-selftests.o.
6550         (COMMON_OBS): Remove utils-selftests.o.
6551         * utils-selftests.c: Move to ...
6552         * unittests/common-utils-selftests.c: ... here and rename self
6553         test to "string_printf".
6554
6555 2017-09-28  Alexander Shaposhnikov <alexander.v.shaposhnikov@gmail.com> (tiny patch)
6556
6557         * dwarf2read.c (open_and_init_dwp_file): Protect against dwp_file
6558         having NULL cus or tus.
6559
6560 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6561
6562         * arm-tdep.c: (convert_from_extended): Remove.
6563         (convert_to_extended): Likewise.
6564         (arm_extract_return_value): Use convert_typed_floating.
6565         (arm_store_return_value): Likewise.
6566
6567         * sh-tdep.h (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6568         * sh-tdep.c: Do not include "floatformat.h".
6569         (sh_littlebyte_bigword_type): New function.
6570         (sh_register_convert_to_virtual): Use convert_typed_floating.
6571         (sh_register_convert_to_raw): Likewise.
6572         * sh64-tdep.c: (struct gdbarch_tdep): Add sh_littlebyte_bigword_type.
6573         (sh64_littlebyte_bigword_type): New function.
6574         (sh64_extract_return_value): Use convert_typed_floating.
6575         (sh64_register_convert_to_virtual): Likewise.
6576         (sh64_register_convert_to_raw): Likewise.
6577
6578 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6579
6580         * doublest.h (floatformat_from_type): Move to gdbtypes.h.
6581         * doublest.c (floatformat_from_type): Move to gdbtypes.c.
6582
6583         * gdbtypes.h (union type_specific): Make field floatformat hold
6584         just a single struct floatformat, not an array.
6585         (floatformat_from_type): Move here.
6586         * gdbtypes.c (floatformat_from_type): Move here.  Update to
6587         changed TYPE_FLOATFORMAT definition.
6588         (verify_floatformat): Update to changed TYPE_FLOATFORMAT.
6589         (recursive_dump_type): Likewise.
6590         (init_float_type): Install correct floatformat for byte order.
6591         (arch_float_type): Likewise.
6592
6593 2017-09-27  Ulrich Weigand  <uweigand@de.ibm.com>
6594
6595         * gdbtypes.c (init_type): Change incoming argument from
6596         length-in-bytes to length-in-bits.  Assert length is a
6597         multiple of TARGET_CHAR_BITS.
6598         (arch_type, arch_flags_type): Likewise.
6599         (init_integer_type): Update call to init_type.
6600         (init_character_type): Likewise.
6601         (init_boolean_type): Likewise.
6602         (init_float_type): Likewise.
6603         (init_decfloat_type): Likewise.
6604         (init_complex_type): Likewise.
6605         (init_pointer_type): Likewise.
6606         (objfile_type): Likewise.
6607         (arch_integer_type): Update call to arch_type.
6608         (arch_character_type): Likewise.
6609         (arch_boolean_type): Likewise.
6610         (arch_float_type): Likewise.
6611         (arch_decfloat_type): Likewise.
6612         (arch_complex_type): Likewise.
6613         (arch_pointer_type): Likewise.
6614         (gdbtypes_post_init): Likewise.
6615
6616         * dwarf2read.c (dwarf2_init_float_type): Update call to init_type.
6617         (read_base_type): Likewise.
6618         * mdebugread.c (basic_type): Likewise.
6619         * stabsread.c (dbx_init_float_type): Likewise.
6620         (rs6000_builtin_type): Likewise.
6621         (read_range_type): Likewise.  Also, fix call to init_integer_type
6622         with erroneous length argument.
6623
6624         * ada-lang.c (ada_language_arch_info): Update call to arch_type.
6625         * d-lang.c (build_d_types): Likewise.
6626         * f-lang.c (build_fortran_types): Likewise.
6627         * go-lang.c (build_go_types): Likewise.
6628         * opencl-lang.c (build_opencl_types): Likewise.
6629         * jit.c (finalize_symtab): Likewise.
6630         * gnu-v3-abi.c (build_gdb_vtable_type): Likewise.
6631         (build_std_type_info_type): Likewise.
6632         * target-descriptions.c (tdesc_gdb_type): Likewise.  Also,
6633         update call to arch_flags_type.
6634
6635         * linux-tdep.c (linux_get_siginfo_type_with_fields): Update call to
6636         arch_type.
6637         * fbsd-tdep.c (fbsd_get_siginfo_type): Likewise.
6638         * windows-tdep.c (windows_get_tlb_type): Likewise.
6639
6640         * avr-tdep.c (avr_gdbarch_init): Update call to arch_type.
6641         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
6642         * m32c-tdep.c (make_types): Likewise.
6643         * rl78-tdep.c (rl78_gdbarch_init): Likewise.
6644         (rl78_psw_type): Update call to arch_flags_type.
6645         * m68k-tdep.c (m68k_ps_type): Update call to arch_flags_type.
6646         * rx-tdep.c (rx_psw_type): Likewise.
6647         (rx_fpsw_type): Likewise.
6648         * sparc-tdep.c (sparc_psr_type): Likewise.
6649         (sparc_fsr_type): Likewise.
6650         * sparc64-tdep.c (sparc64_pstate_type): Likewise.
6651         (sparc64_ccr_type): Likewise.
6652         (sparc64_fsr_type): Likewise.
6653         (sparc64_fprs_type): Likewise.
6654
6655 2017-09-27  Tom Tromey  <tom@tromey.com>
6656
6657         * findcmd.c (find_command): Constify.
6658
6659 2017-09-27  Tom Tromey  <tom@tromey.com>
6660
6661         * ada-tasks.c (task_command_1, task_command): Constify.
6662
6663 2017-09-27  Tom Tromey  <tom@tromey.com>
6664
6665         * symtab.c (maintenance_print_symbol_cache)
6666         (maintenance_flush_symbol_cache)
6667         (maintenance_print_symbol_cache_statistics): Constify.
6668
6669 2017-09-27  Tom Tromey  <tom@tromey.com>
6670
6671         * inferior.c (detach_inferior_command, kill_inferior_command)
6672         (inferior_command): Constify.
6673
6674 2017-09-27  Tom Tromey  <tom@tromey.com>
6675
6676         * regcache.c (regcache_print, maintenance_print_registers)
6677         (maintenance_print_raw_registers)
6678         (maintenance_print_cooked_registers)
6679         (maintenance_print_register_groups)
6680         (maintenance_print_remote_registers): Constify.
6681
6682 2017-09-27  Tom Tromey  <tom@tromey.com>
6683
6684         * printcmd.c (map_display_numbers, undisplay_command)
6685         (enable_disable_display_command, enable_display_command)
6686         (disable_display_command): Constify.
6687
6688 2017-09-27  Tom Tromey  <tom@tromey.com>
6689
6690         * breakpoint.h (delete_command): Don't declare.
6691         * breakpoint.c (delete_command, enable_once_command)
6692         (enable_count_command, enable_delete_command, breakpoint_1)
6693         (maintenance_info_breakpoints, stopin_command, stopat_command)
6694         (delete_command, delete_trace_command, save_breakpoints)
6695         (save_breakpoints_command, save_tracepoints_command): Constify.
6696
6697 2017-09-27  Tom Tromey  <tom@tromey.com>
6698
6699         * macrocmd.c (macro_expand_command, macro_expand_once_command)
6700         (skip_ws, extract_identifier, macro_define_command)
6701         (macro_undef_command, macro_list_command): Constify.
6702
6703 2017-09-27  Tom Tromey  <tom@tromey.com>
6704
6705         * infcmd.c (environment_info, set_environment_command)
6706         (unset_environment_command, path_info, info_proc_cmd_1)
6707         (info_proc_cmd_mappings, info_proc_cmd_stat)
6708         (info_proc_cmd_status, info_proc_cmd_cwd, info_proc_cmd_cmdline)
6709         (info_proc_cmd_exe, info_proc_cmd_all): Constify.
6710
6711 2017-09-27  Tom Tromey  <tom@tromey.com>
6712
6713         * i386-tdep.c (i386_mpx_info_bounds, i386_mpx_set_bounds):
6714         Constify.
6715
6716 2017-09-27  Tom Tromey  <tom@tromey.com>
6717
6718         * symfile-mem.c (add_symbol_file_from_memory_command): Constify.
6719
6720 2017-09-27  Tom Tromey  <tom@tromey.com>
6721
6722         * demangle.c (demangle_command): Constify.
6723
6724 2017-09-27  Tom Tromey  <tom@tromey.com>
6725
6726         * progspace.c (maintenance_info_program_spaces_command):
6727         Constify.
6728
6729 2017-09-27  Tom Tromey  <tom@tromey.com>
6730
6731         * compile/compile.c (check_raw_argument, compile_file_command)
6732         (compile_code_command, compile_print_command): Constify.
6733
6734 2017-09-27  Tom Tromey  <tom@tromey.com>
6735
6736         * reggroups.c (maintenance_print_reggroups): Constify.
6737
6738 2017-09-27  Tom Tromey  <tom@tromey.com>
6739
6740         * dwarf2read.c (save_gdb_index_command): Constify.
6741
6742 2017-09-27  Tom Tromey  <tom@tromey.com>
6743
6744         * stap-probe.c (info_probes_stap_command): Constify.
6745
6746 2017-09-27  Tom Tromey  <tom@tromey.com>
6747
6748         * fork-child.c (unset_exec_wrapper_command): Constify.
6749
6750 2017-09-27  Tom Tromey  <tom@tromey.com>
6751
6752         * btrace.c (get_uint, get_context_size, no_chunk)
6753         (maint_btrace_packet_history_cmd)
6754         (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
6755         (maint_info_btrace_cmd): Constify.
6756
6757 2017-09-27  Tom Tromey  <tom@tromey.com>
6758
6759         * reverse.c (delete_bookmark_command): Constify.
6760
6761 2017-09-27  Tom Tromey  <tom@tromey.com>
6762
6763         * remote.c (set_memory_packet_size)
6764         (set_memory_write_packet_size, show_memory_write_packet_size)
6765         (set_memory_read_packet_size, show_memory_read_packet_size)
6766         (compare_sections_command, packet_command, remote_put_command)
6767         (remote_get_command, remote_delete_command): Constify.
6768
6769 2017-09-27  Tom Tromey  <tom@tromey.com>
6770
6771         * mips-tdep.c (show_mipsfpu_command, set_mipsfpu_single_command)
6772         (set_mipsfpu_double_command, set_mipsfpu_none_command)
6773         (set_mipsfpu_auto_command): Constify.
6774
6775 2017-09-27  Tom Tromey  <tom@tromey.com>
6776
6777         * cli/cli-cmds.h (cd_command): Constify.
6778         * cli/cli-cmds.c (cd_command): Constify.
6779
6780 2017-09-27  Tom Tromey  <tom@tromey.com>
6781
6782         * thread.c (thread_name_command, thread_find_command): Constify.
6783
6784 2017-09-27  Tom Tromey  <tom@tromey.com>
6785
6786         * probe.c (enable_probes_command, disable_probes_command):
6787         Constify.
6788
6789 2017-09-27  Tom Tromey  <tom@tromey.com>
6790
6791         * symfile.c (symbol_file_command): Constify.
6792         * gdbcore.h (deprecated_file_changed_hook): Constify.
6793         * exec.c (deprecated_file_changed_hook, exec_file_command)
6794         (file_command): Constify.
6795         * defs.h (symbol_file_command): Constify.
6796
6797 2017-09-27  Tom Tromey  <tom@tromey.com>
6798
6799         * remote-fileio.c (set_system_call_allowed)
6800         (show_system_call_allowed): Constify.
6801
6802 2017-09-27  Tom Tromey  <tom@tromey.com>
6803
6804         * tracepoint.c (delete_trace_variable_command)
6805         (tfind_end_command, tfind_start_command, tfind_pc_command)
6806         (tfind_tracepoint_command, tfind_line_command)
6807         (tfind_range_command, tfind_outside_command): Constify.
6808
6809 2017-09-27  Tom Tromey  <tom@tromey.com>
6810
6811         * ax-gdb.c (maint_agent_printf_command, agent_command)
6812         (agent_eval_command): Constify.
6813
6814 2017-09-27  Tom Tromey  <tom@tromey.com>
6815
6816         * tracepoint.c (info_scope_command): Constify.
6817         * python/python.c (gdbpy_decode_line): Constify.
6818         * python/py-breakpoint.c (bppy_init): Constify.
6819         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Constify.
6820         * location.h: (new_linespec_location)
6821         (string_to_event_location_basic, string_to_event_location):
6822         Constify.
6823         * location.c (new_linespec_location)
6824         (string_to_event_location_basic, string_to_event_location):
6825         Constify.
6826         * linespec.h (decode_line_with_current_source)
6827         (decode_line_with_last_displayed, linespec_lex_to_end): Constify.
6828         * linespec.c (linespec_lex_to_end)
6829         (decode_line_with_current_source)
6830         (decode_line_with_last_displayed): Constify.
6831         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x):
6832         Constify.
6833         * cli/cli-cmds.c (edit_command, list_command): Constify.
6834         * breakpoint.h (until_break_command, watch_command_wrapper)
6835         (awatch_command_wrapper, rwatch_command_wrapper)
6836         (init_ada_exception_breakpoint): Constify.
6837         * breakpoint.c (break_command_1, dprintf_command)
6838         (break_range_command, watch_command_wrapper)
6839         (rwatch_command_wrapper, awatch_command_wrapper)
6840         (until_break_command, init_ada_exception_breakpoint)
6841         (strace_marker_create_sals_from_location, trace_command)
6842         (ftrace_command, strace_command, struct tracepoint): Constify.
6843         * ax-gdb.c (agent_command_1): Constify.
6844         * ada-lang.c (ada_exception_sal): Constify.
6845
6846 2017-09-27  Tom Tromey  <tom@tromey.com>
6847
6848         * record.c (cmd_record_delete, cmd_record_stop, cmd_record_save)
6849         (cmd_record_goto_begin, cmd_record_goto_end, get_insn_number)
6850         (get_context_size, no_chunk, get_insn_history_modifiers)
6851         (cmd_record_insn_history, get_call_history_modifiers)
6852         (cmd_record_call_history): Constify.
6853
6854 2017-09-27  Tom Tromey  <tom@tromey.com>
6855
6856         * source.c (show_substitute_path_command)
6857         (unset_substitute_path_command, set_substitute_path_command):
6858         Constify.
6859
6860 2017-09-27  Tom Tromey  <tom@tromey.com>
6861
6862         * typeprint.c (maintenance_print_type): Constify.
6863         * maint.c (maintenance_dump_me, maintenance_demangle)
6864         (maintenance_time_display, maintenance_info_sections)
6865         (maintenance_print_statistics, maintenance_deprecate)
6866         (maintenance_undeprecate): Constify.
6867         (maintenance_do_deprecate): Constify.  Use std::string.
6868         (maintenance_selftest): Constify.
6869         * gdbtypes.h (maintenance_print_type): Constify.
6870
6871 2017-09-27  Tom Tromey  <tom@tromey.com>
6872
6873         * hppa-tdep.c (unwind_command): Constify.
6874
6875 2017-09-27  Tom Tromey  <tom@tromey.com>
6876
6877         * target-descriptions.c (unset_tdesc_filename_cmd)
6878         (maint_print_c_tdesc_cmd, maintenance_check_xml_descriptions):
6879         Constify.
6880
6881 2017-09-27  Tom Tromey  <tom@tromey.com>
6882
6883         * dummy-frame.c (maintenance_print_dummy_frames): Constify.
6884
6885 2017-09-27  Tom Tromey  <tom@tromey.com>
6886
6887         * tui/tui.c (tui_enable_command, tui_disable_command): Constify.
6888
6889 2017-09-27  Tom Tromey  <tom@tromey.com>
6890
6891         * tui/tui-regs.c (tui_reg_command): Constify.
6892
6893 2017-09-27  Tom Tromey  <tom@tromey.com>
6894
6895         * skip.c (skip_file_command, skip_function_command)
6896         (skip_enable_command, skip_disable_command, skip_delete_command):
6897         Constify.
6898
6899 2017-09-27  Tom Tromey  <tom@tromey.com>
6900
6901         * record-btrace.c (cmd_record_btrace_bts_start)
6902         (cmd_record_btrace_pt_start): Constify.
6903
6904 2017-09-27  Tom Tromey  <tom@tromey.com>
6905
6906         * symmisc.c (maintenance_print_symbols)
6907         (maintenance_print_msymbols, maintenance_print_objfiles)
6908         (maintenance_info_symtabs, maintenance_check_symtabs)
6909         (maintenance_expand_symtabs, maintenance_info_line_tables):
6910         Constify.
6911
6912 2017-09-27  Tom Tromey  <tom@tromey.com>
6913
6914         * top.c (new_ui_command): Constify.
6915
6916 2017-09-27  Tom Tromey  <tom@tromey.com>
6917
6918         * symfile.c (add_symbol_file_command)
6919         (remove_symbol_file_command, list_overlays_command)
6920         (map_overlay_command, unmap_overlay_command)
6921         (overlay_auto_command, overlay_manual_command)
6922         (overlay_off_command, overlay_load_command): Constify.
6923
6924 2017-09-27  Tom Tromey  <tom@tromey.com>
6925
6926         * spu-tdep.c (info_spu_event_command, info_spu_signal_command)
6927         (info_spu_mailbox_command, info_spu_dma_command)
6928         (info_spu_proxydma_command): Constify.
6929
6930 2017-09-27  Tom Tromey  <tom@tromey.com>
6931
6932         * cli/cli-logging.c (set_logging_on, set_logging_off): Constify.
6933
6934 2017-09-27  Tom Tromey  <tom@tromey.com>
6935
6936         * cli/cli-script.c (user_defined_command): Constify.
6937
6938 2017-09-27  Tom Tromey  <tom@tromey.com>
6939
6940         * cli/cli-dump.c (dump_memory_command, dump_value_command)
6941         (dump_srec_memory, dump_srec_value, dump_ihex_memory)
6942         (dump_ihex_value, dump_verilog_memory, dump_verilog_value)
6943         (dump_tekhex_memory, dump_tekhex_value, dump_binary_memory)
6944         (dump_binary_value, append_binary_memory, append_binary_value):
6945         Constify.
6946         (struct dump_context) <func>: Constify.
6947         (add_dump_command): Update.
6948
6949 2017-09-27  Tom Tromey  <tom@tromey.com>
6950
6951         * cli/cli-cmds.c (show_version, show_configuration)
6952         (source_command, show_user): Constify.
6953
6954 2017-09-27  Tom Tromey  <tom@tromey.com>
6955
6956         * target.c (maintenance_print_target_stack): Constify.
6957
6958 2017-09-27  Tom Tromey  <tom@tromey.com>
6959
6960         * interps.c (interpreter_exec_cmd): Constify.
6961
6962 2017-09-27  Tom Tromey  <tom@tromey.com>
6963
6964         * record-full.c (cmd_record_full_restore): Constify.
6965
6966 2017-09-27  Tom Tromey  <tom@tromey.com>
6967
6968         * memattr.c (enable_mem_command, disable_mem_command)
6969         (delete_mem_command): Constify.
6970
6971 2017-09-27  Tom Tromey  <tom@tromey.com>
6972
6973         * value.c (show_convenience): Constify.
6974
6975 2017-09-27  Tom Tromey  <tom@tromey.com>
6976
6977         * gdbcore.h (core_file_command): Update.
6978         * corefile.c (core_file_command): Constify.
6979
6980 2017-09-27  Tom Tromey  <tom@tromey.com>
6981
6982         * user-regs.c (maintenance_print_user_registers): Constify.
6983
6984 2017-09-27  Tom Tromey  <tom@tromey.com>
6985
6986         * cp-namespace.c (maintenance_cplus_namespace): Constify.
6987
6988 2017-09-27  Tom Tromey  <tom@tromey.com>
6989
6990         * cp-support.c (first_component_command): Constify.
6991
6992 2017-09-27  Tom Tromey  <tom@tromey.com>
6993
6994         * psymtab.c (maintenance_print_psymbols)
6995         (maintenance_info_psymtabs, maintenance_check_psymtabs):
6996         Constify.
6997
6998 2017-09-27  Tom Tromey  <tom@tromey.com>
6999
7000         * windows-tdep.c (display_tib): Constify.
7001
7002 2017-09-27  Tom Tromey  <tom@tromey.com>
7003
7004         * linux-fork.c (delete_checkpoint_command)
7005         (detach_checkpoint_command): Constify.
7006
7007 2017-09-27  Tom Tromey  <tom@tromey.com>
7008
7009         * cp-abi.c (set_cp_abi_cmd, show_cp_abi_cmd): Constify.
7010
7011 2017-09-27  Tom Tromey  <tom@tromey.com>
7012
7013         * arc-tdep.c (dump_arc_instruction_command): Constify.
7014
7015 2017-09-27  Tom Tromey  <tom@tromey.com>
7016
7017         * valprint.c (set_radix, show_radix): Constify.
7018
7019 2017-09-27  Tom Tromey  <tom@tromey.com>
7020
7021         * dtrace-probe.c (info_probes_dtrace_command): Constify.
7022
7023 2017-09-27  Tom Tromey  <tom@tromey.com>
7024
7025         * command.h (not_just_help_class_command): Update.
7026         * cli/cli-decode.h (not_just_help_class_command): Update.
7027         * cli/cli-decode.c (not_just_help_class_command): Constify.
7028
7029 2017-09-27  Tom Tromey  <tom@tromey.com>
7030
7031         * gdb_bfd.c (maintenance_info_bfds): Constify.
7032
7033 2017-09-27  Tom Tromey  <tom@tromey.com>
7034
7035         * cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
7036         overloads.
7037         (do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
7038         (do_const_cfunc): New function.
7039         (cmd_cfunc_eq): New overload.
7040         (cli_user_command_p): Check do_const_cfunc.
7041         * cli/cli-decode.h (struct cmd_list_element) <function>: New field
7042         const_cfunc.
7043         * command.h (add_cmd): Add const overload and no-function
7044         overload.
7045         (set_cmd_cfunc): Add const overload.
7046         (cmd_const_cfunc_ftype): Declare.
7047         (cmd_cfunc_eq): Add const overload.
7048         * breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
7049         python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
7050         overload.
7051
7052 2017-09-27  Tom Tromey  <tom@tromey.com>
7053
7054         * macroexp.c (get_next_token_for_substitution): New function.
7055         (substitute_args): Call it.  Check for __VA_OPT__.
7056
7057 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7058             Pedro Alves <palves@redhat.com>
7059
7060         * dwarf2read.c (dwarf2_cu): Remove field producer_is_icc and add
7061         producer_is_icc_lt_14.
7062         (producer_is_icc_lt_14): New function.
7063         (check_producer): Add code for checking version of ICC.
7064         (producer_is_icc): Move to producer.c.
7065         (read_structure_type): Restrict ICC workaround to ICC<14.
7066         * producer.c: Include selftest.h.
7067         (producer_is_icc, producer_parsing_tests, _initialize_producer):
7068         New functions.
7069         * producer.h (producer_is_icc): New declaration.
7070
7071 2017-09-26  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7072
7073         * Makefile.in (SFILES): Add producer.c.
7074         (COMMON_OBS): Add producer.o
7075         * amd64-tdep.c (producer.h): Add new include.
7076         * dwarf2read.c (producer.h): Add new include.
7077         * producer.c: New file.
7078         * producer.h: New file.
7079         * utils.c (producer_is_gcc, producer_is_gcc_ge_4): Move to
7080         producer.c.
7081         * utils.h (producer_is_gcc, producer_is_gcc_ge_4): Move to
7082         producer.h.
7083
7084 2017-09-26  Matthias Klose  <doko@ubuntu.com>
7085
7086         * configure.ac: Search ncursesw before ncurses.
7087         Check ncursesw/ncurses.h before ncurses/ncurses.h.
7088         * gdb_curses.h: Include <ncursesw/ncurses.h>
7089         * config.in, configure: Regenerate.
7090
7091 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7092
7093         PR gdb/22185
7094         * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as
7095         obsolete.
7096         Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*.
7097         Remove i386sol2 support.
7098         * configure.nat <i386sol2>: Remove.
7099         <sol2-64>: Fold into ...
7100         <sol2>: ... this.
7101         Move common settings to default section.
7102         Add sol-thread.o.
7103         * configure.tgt <i[34567]86-*-solaris2.1[0-9]*,
7104         x86_64-*-solaris2.1[0-9]*>: Rename to ...
7105         <i[34567]86-*-solaris2*, x86_64-*-solaris2*>: ... this.
7106         <i[34567]86-*-solaris*>: Remove.
7107         <sparc-*-solaris2.[0-6], sparc-*-solaris2.[0-6].*>: Remove.
7108
7109         * configure.ac: Remove wctype in libw check.
7110         (_MSE_INT_H): Don't define on Solaris 7-9.
7111         <solaris*>: Remove libthread_db.so.1 check.
7112         * configure: Regenerate.
7113         * config.in: Regenerate.
7114
7115         * proc-service.c: Remove PROC_SERVICE_IS_OLD handling.
7116         (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t)
7117         (gdb_ps_size_t): Remove.
7118         Use base types in users.
7119         * sol-thread.c: Likewise, also for gdb_ps_addr_t.
7120
7121         * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.
7122
7123 2017-09-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7124
7125         PR build/22206
7126         * sparc64-tdep.c (adi_tag_fd): Print pid as long.
7127         (adi_is_addr_mapped): Likewise.
7128         (PSR_ICC): Don't redefine.
7129         (PSR_IMPL): Likewise.
7130
7131 2017-09-25  Tom Tromey  <tom@tromey.com>
7132
7133         * regcache.c (regcache::dump): Use string_printf.
7134
7135 2017-09-25  Tom Tromey  <tom@tromey.com>
7136
7137         * regcache.c (class regcache_invalidator): New.
7138         (struct register_to_invalidate): Remove.
7139         (make_cleanup_regcache_invalidate): Remove.
7140         (regcache::raw_write): Use regcache_invalidator.
7141
7142 2017-09-25  Tom Tromey  <tom@tromey.com>
7143
7144         * spu-tdep.c (spu2ppu_sniffer): Update.
7145         * regcache.h (make_cleanup_regcache_xfree): Don't declare.
7146         * regcache.c (do_regcache_xfree, make_cleanup_regcache_xfree):
7147         Remove.
7148         * ppc-linux-tdep.c (ppu2spu_sniffer): Update.
7149         * mi/mi-main.c (mi_cmd_data_list_changed_registers): Update.
7150         * frame.h (frame_save_as_regcache): Return std::unique_ptr.
7151         * frame.c (frame_save_as_regcache): Return std::unique_ptr.
7152         (frame_pop): Update.
7153
7154 2017-09-25  Tom Tromey  <tom@tromey.com>
7155
7156         * spu-tdep.c (spu2ppu_dealloc_cache): Use delete.
7157         * regcache.h (regcache_xfree): Don't declare.
7158         * regcache.c (regcache_xfree): Remove.
7159         (do_regcache_xfree): Use delete.
7160         * ppc-linux-tdep.c (ppu2spu_dealloc_cache): Use delete.
7161         * linux-fork.c (free_fork): Use delete.
7162         (fork_save_infrun_state): Likewise.
7163         * jit.c (jit_dealloc_cache): Use delete.
7164         * infrun.c (discard_infcall_suspend_state): Use delete.
7165
7166 2017-09-25  Tom Tromey  <tom@tromey.com>
7167
7168         * regcache.h (regcache_xmalloc): Don't declare.
7169         (regcache_raw_set_cached_value): Update comment.
7170         * regcache.c (regcache_xmalloc): Remove.
7171         * ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
7172         * jit.c (jit_frame_sniffer): Use new.
7173         * frame.c (frame_save_as_regcache): Use new.
7174
7175 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7176
7177         * NEWS: Advertise support for guarded-storage registers on IBM z.
7178
7179 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7180
7181         * s390-linux-nat.c (have_regset_gs): New static variable.
7182         (s390_linux_fetch_inferior_registers): Handle guarded-storage
7183         control block and guarded-storage broadcast control regsets.
7184         (s390_read_description): Detect whether the target has
7185         guarded-storage support, return appropriate tdesc.
7186         * s390-linux-tdep.c (features/s390-gs-linux64.c): New include.
7187         (features/s390x-gs-linux64.c): Likewise.
7188         (struct gdbarch_tdep) <have_gs>: New field.
7189         (s390_regmap_gs, s390_regmap_gsbc, s390_gs_regset)
7190         (s390_gsbc_regset): New variables.
7191         (s390_iterate_over_regset_sections): Iterate over s390_gs_regset
7192         and s390_gsbc_regset, if applicable.
7193         (s390_core_read_description): Check whether core file was from a
7194         target with guarded-storage support; include appropriate regsets.
7195         (s390_gdbarch_init): Add registers for guarded-storage support.
7196         (_initialize_s390_tdep): Initialize new target descriptions that
7197         include registers for guarded-storage support.
7198         * s390-linux-tdep.h (HWCAP_S390_GS, S390_GSD_REGNUM)
7199         (S390_GSSM_REGNUM, S390_GSEPLA_REGNUM)
7200         (S390_BC_GSD_REGNUM, S390_BC_GSSM_REGNUM): New defines.
7201         (S390_NUM_REGS): Adjust macro definition.
7202         (s390_gs_regset, s390_gsbc_regset, tdesc_s390_gs_linux64)
7203         (tdesc_s390x_gs_linux64): New declarations.
7204
7205 2017-09-25  Andreas Arnez  <arnez@linux.vnet.ibm.com>
7206
7207         * features/s390-gs-linux64.xml: New file.
7208         * features/s390-gs.xml: New file.
7209         * features/s390-gsbc.xml: New file.
7210         * features/s390x-gs-linux64.xml: New file.
7211         * features/Makefile (WHICH): Add s390-gs-linux64 and
7212         s390x-gs-linux64.
7213         (s390-gs-linux64-expedite, s390x-gs-linux64-expedite): New macros.
7214         (XMLTOC): Add s390-gs-linux64.xml and s390x-linux64.xml.
7215         * features/s390-gs-linux64.c: New generated file.
7216         * features/s390x-gs-linux64.c: New file.
7217         * regformats/s390-gs-linux64.dat: New file.
7218         * regformats/s390x-gs-linux64.dat: New file.
7219
7220 2017-09-23  Tom Tromey  <tom@tromey.com>
7221
7222         * defs.h (make_cleanup_override_quit_handler): Don't declare.
7223
7224 2017-09-22  Tom Tromey  <tom@tromey.com>
7225
7226         * utils.c (class scoped_input_handler) <m_quit_handler>: Change
7227         type to scoped_restore_tmpl.
7228         <scoped_input_handler>: Initialize m_quit_handler directly.
7229
7230 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
7231
7232         * cli/cli-cmds.c (pwd_command): Use "getcwd (NULL, 0)".
7233         (cd_command): Likewise.  Free "current_directory" before
7234         assigning to it.
7235         * main.c (captured_main_1): Use "getcwd (NULL, 0)".
7236         * mi/mi-cmd-env.c (mi_cmd_env_pwd): Likewise.
7237         * top.c (gdb_dirbuf): Remove global declaration.
7238         * top.h (gdb_dirbuf): Likewise.
7239
7240 2017-09-22  Sergio Durigan Junior  <sergiodj@redhat.com>
7241
7242         * gnulib/aclocal.m4: Regenerate.
7243         * gnulib/config.in: Regenerate.
7244         * gnulib/configure: Regenerate.
7245         * gnulib/import/Makefile.am: Regenerate.
7246         * gnulib/import/Makefile.in: Regenerate.
7247         * gnulib/import/assure.h: New file.
7248         * gnulib/import/at-func.c: Likewise
7249         * gnulib/import/chdir-long.c: New file.
7250         * gnulib/import/chdir-long.h: New file.
7251         * gnulib/import/cloexec.c: New file.
7252         * gnulib/import/cloexec.h: New file.
7253         * gnulib/import/close.c: New file.
7254         * gnulib/import/closedir.c: New file.
7255         * gnulib/import/dirent-private.h: New file.
7256         * gnulib/import/dup-safer.c: New file.
7257         * gnulib/import/dup.c: New file.
7258         * gnulib/import/dup2.c: New file.
7259         * gnulib/import/error.c: New file.
7260         * gnulib/import/error.h: New file.
7261         * gnulib/import/exitfail.c: New file.
7262         * gnulib/import/exitfail.h: New file.
7263         * gnulib/import/fchdir.c: New file.
7264         * gnulib/import/fcntl.c: New file.
7265         * gnulib/import/fcntl.in.h: New file.
7266         * gnulib/import/fd-hook.c: New file.
7267         * gnulib/import/fd-hook.h: New file.
7268         * gnulib/import/fd-safer.c: New file.
7269         * gnulib/import/fdopendir.c: New file.
7270         * gnulib/import/filename.h: New file.
7271         * gnulib/import/filenamecat-lgpl.c: New file.
7272         * gnulib/import/filenamecat.h: New file.
7273         * gnulib/import/fstat.c: New file.
7274         * gnulib/import/fstatat.c: New file.
7275         * gnulib/import/getcwd-lgpl.c: New file.
7276         * gnulib/import/getcwd.c: New file.
7277         * gnulib/import/getdtablesize.c: New file.
7278         * gnulib/import/getlogin_r.c: New file.
7279         * gnulib/import/getprogname.c: New file.
7280         * gnulib/import/getprogname.h: New file.
7281         * gnulib/import/gettext.h: New file.
7282         * gnulib/import/glob-libc.h: New file.
7283         * gnulib/import/glob.c: New file.
7284         * gnulib/import/glob.in.h: New file.
7285         * gnulib/import/intprops.h: New file.
7286         * gnulib/import/m4/chdir-long.m4: New file.
7287         * gnulib/import/m4/close.m4: New file.
7288         * gnulib/import/m4/closedir.m4: New file.
7289         * gnulib/import/m4/d-ino.m4: New file.
7290         * gnulib/import/m4/d-type.m4: New file.
7291         * gnulib/import/m4/dup.m4: New file.
7292         * gnulib/import/m4/dup2.m4: New file.
7293         * gnulib/import/m4/error.m4: New file.
7294         * gnulib/import/m4/fchdir.m4: New file.
7295         * gnulib/import/m4/fcntl.m4: New file.
7296         * gnulib/import/m4/fcntl_h.m4: New file.
7297         * gnulib/import/m4/fdopendir.m4: New file.
7298         * gnulib/import/m4/filenamecat.m4: New file.
7299         * gnulib/import/m4/fstat.m4: New file.
7300         * gnulib/import/m4/fstatat.m4: New file.
7301         * gnulib/import/m4/getcwd-abort-bug.m4: New file.
7302         * gnulib/import/m4/getcwd-path-max.m4: New file.
7303         * gnulib/import/m4/getcwd.m4: New file.
7304         * gnulib/import/m4/getdtablesize.m4: New file.
7305         * gnulib/import/m4/getlogin_r.m4: New file.
7306         * gnulib/import/m4/getprogname.m4: New file.
7307         * gnulib/import/m4/glob.m4: New file.
7308         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
7309         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
7310         * gnulib/import/m4/mempcpy.m4: New file.
7311         * gnulib/import/m4/memrchr.m4: New file.
7312         * gnulib/import/m4/mode_t.m4: New file.
7313         * gnulib/import/m4/msvc-inval.m4: New file.
7314         * gnulib/import/m4/msvc-nothrow.m4: New file.
7315         * gnulib/import/m4/open.m4: New file.
7316         * gnulib/import/m4/openat.m4: New file.
7317         * gnulib/import/m4/opendir.m4: New file.
7318         * gnulib/import/m4/readdir.m4: New file.
7319         * gnulib/import/m4/realloc.m4: New file.
7320         * gnulib/import/m4/rewinddir.m4: New file.
7321         * gnulib/import/m4/save-cwd.m4: New file.
7322         * gnulib/import/m4/strdup.m4: New file.
7323         * gnulib/import/m4/strerror.m4: New file.
7324         * gnulib/import/m4/unistd-safer.m4: New file.
7325         * gnulib/import/mempcpy.c: New file.
7326         * gnulib/import/memrchr.c: New file.
7327         * gnulib/import/msvc-inval.c: New file.
7328         * gnulib/import/msvc-inval.h: New file.
7329         * gnulib/import/msvc-nothrow.c: New file.
7330         * gnulib/import/msvc-nothrow.h: New file.
7331         * gnulib/import/open.c: New file.
7332         * gnulib/import/openat-die.c: New file.
7333         * gnulib/import/openat-priv.h: New file.
7334         * gnulib/import/openat-proc.c: New file.
7335         * gnulib/import/openat.c: New file.
7336         * gnulib/import/openat.h: New file.
7337         * gnulib/import/opendir.c: New file.
7338         * gnulib/import/pipe-safer.c: New file.
7339         * gnulib/import/readdir.c: New file.
7340         * gnulib/import/realloc.c: New file.
7341         * gnulib/import/rewinddir.c: New file.
7342         * gnulib/import/save-cwd.c: New file.
7343         * gnulib/import/save-cwd.h: New file.
7344         * gnulib/import/strdup.c: New file.
7345         * gnulib/import/strerror-override.c: New file.
7346         * gnulib/import/strerror-override.h: New file.
7347         * gnulib/import/strerror.c: New file.
7348         * gnulib/import/unistd--.h: New file.
7349         * gnulib/import/unistd-safer.h: New file.
7350         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add
7351         "getcwd" and "glob".
7352         * ser-tcp.c: Undefine "close" before redefining it.
7353
7354 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7355
7356         * guile/scm-value.c (gdbscm_value_address): Initialize address,
7357         get rid of res_val.
7358
7359 2017-09-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7360
7361         * configure.nat <i386sol2,i386>: Add fork-inferior.o to NATDEPFILES.
7362         <sol2,sparc>: Likewise.
7363         <sol2-64,i386>: Likewise.
7364
7365         * warning.m4 (AM_GDB_WARNINGS): Disable -Wunknown-pragmas,
7366         -Wdeprecated-declarations on *-*-solaris*.
7367         * configure: Regenerate.
7368
7369         * procfs.c: Include "nat/inferior.h".
7370         (procfs_info_proc): Fix typo.
7371
7372 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7373
7374         * remote.c (vector): Include.
7375         (struct private_thread_info): Add field, thread_handle.
7376         (free_private_thread_info): Deallocate storage associated with
7377         thread handle.
7378         (get_private_info_thread): Initialize `thread_handle' field.
7379         (struct thread_item): Add field, thread_handle.
7380         (clear_threads_listing_context): Deallocate storage associated
7381         with thread handle.
7382         (start_thread): Add support for "handle" attribute.
7383         (thread_attributes): Add "handle".
7384         (remote_get_threads_with_qthreadinfo): Initialize thread_handle
7385         field.
7386         (remote_update_thread_list): Update thread_handle.
7387         (remote_thread_handle_to_thread_info): New function.
7388         (init_remote_ops): Initialize to_thread_handle_to_thread_info.
7389
7390 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7391
7392         * python/py-inferior.c (gdbpy_thread_from_thread_handle): New
7393         function.
7394         (inferior_object_methods): Add gdbpy_thread_from_thread_handle.
7395         * python/python-internal.h (thread_object_type): Declare.
7396
7397 2017-09-21  Kevin Buettner  <kevinb@redhat.com>
7398
7399         * target.h (struct target_ops): Add to_thread_handle_to_thread_info.
7400         (target_thread_handle_to_thread_info): Declare.
7401         * target.c (target_thread_handle_to_thread_info): New function.
7402         * target-delegates.c: Regenerate.
7403         * gdbthread.h (find_thread_by_handle): Declare.
7404         * thread.c (find_thread_by_handle): New function.
7405         * linux-thread-db.c (thread_db_thread_handle_to_thread_info): New
7406         function.
7407         (init_thread_db_ops): Register thread_db_thread_handle_to_thread_info.
7408
7409 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7410
7411         * nat/linux-waitpid.c (linux_debug): Add ATTRIBUTE_PRINTF.
7412
7413 2017-09-21  Simon Marchi  <simon.marchi@ericsson.com>
7414
7415         * microblaze-tdep.c (microblaze_debug): Add ATTRIBUTE_PRINTF.
7416
7417 2017-09-21  Yao Qi  <yao.qi@linaro.org>
7418
7419         * configure.tgt (aarch64*-*-freebsd*): Add fbsd-tdep.o solib-svr4.o
7420         to gdb_target_obs.
7421
7422 2017-09-20  Tom Tromey  <tom@tromey.com>
7423
7424         * breakpoint.c (struct counted_command_line): Remove.
7425         (breakpoint_commands): Update.
7426         (alloc_counted_command_line, incref_counted_command_line)
7427         (decref_counted_command_line, do_cleanup_counted_command_line)
7428         (make_cleanup_decref_counted_command_line): Remove.
7429         (breakpoint_set_commands, commands_command_1, ~bpstats, bpstats)
7430         (bpstat_clear_actions, bpstat_do_actions_1, watchpoint_check)
7431         (bpstat_stop_status, print_one_breakpoint_location, ~breakpoint)
7432         (save_breakpoints): Update.
7433         * breakpoint.h (counted_command_line): Now a typedef to
7434         shared_ptr.
7435         (struct breakpoint) <commands>: Now a counted_command_line.
7436         (struct bpstats) <command>: Likewise.
7437
7438 2017-09-20  Tom Tromey  <tom@tromey.com>
7439
7440         * breakpoint.c (struct commands_info, do_map_commands_command):
7441         Remove.
7442         (commands_command_1): Update.
7443         (iterate_over_related_breakpoints): Take a function_view.
7444         (do_delete_breakpoint, do_map_delete_breakpoint): Remove.
7445         (delete_command): Update.
7446         (map_breakpoint_numbers): Take a function_view.
7447         (do_disable_breakpoint, do_map_delete_breakpoint): Remove.
7448         (disable_command): Update.
7449         (do_enable_breakpoint, do_map_enable_breakpoint): Remove.
7450         (enable_command): Update.
7451         (struct disp_data, do_enable_breakpoint_disp)
7452         (do_map_enable_once_breakpoint, do_map_enable_count_breakpoint)
7453         (do_map_enable_delete_breakpoint): Remove.
7454         (enable_once_command, enable_count_command, enable_delete_command)
7455         (delete_trace_variable_command): Update.
7456
7457 2017-09-20  Tom Tromey  <tom@tromey.com>
7458
7459         * breakpoint.c (~bpstats): Rename from bpstat_free.  Update.
7460         (bpstat_clear): Use delete.
7461         (bpstats): New constructors.
7462         (bpstat_copy, bpstat_stop_status): Use new.
7463         (dprintf_after_condition_true): Update.
7464         * breakpoint.h (bpstats::bpstats): Add constructors.
7465         (bpstats::~bpstats): Add destructor.
7466
7467 2017-09-20  Pedro Alves  <palves@redhat.com>
7468
7469         * eval.c (make_params): Delete, refactored as ...
7470         (class fake_method): ... this new type's ctor.
7471         (fake_method::~fake_method): New.
7472         (evaluate_subexp_standard): Use 'fake_method'.
7473
7474 2017-09-20  Tom Tromey  <tom@tromey.com>
7475
7476         * windows-nat.c (get_windows_debug_event, windows_wait)
7477         (do_initial_windows_stuff, windows_attach): Update.
7478         * utils.c (vwarning, internal_vproblem): Update.
7479         (ui_unregister_input_event_handler_cleanup)
7480         (prepare_to_handle_input): Remove.
7481         (class scoped_input_handler): New.
7482         (defaulted_query, prompt_for_continue): Update.
7483         * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
7484         Update.
7485         * top.c (undo_terminal_modifications_before_exit): Update.
7486         * target/target.h (target_terminal_init, target_terminal_inferior)
7487         (target_terminal_ours): Don't declare.
7488         (class target_terminal): New.
7489         * target.h (target_terminal_is_inferior, target_terminal_is_ours)
7490         (target_terminal_ours_for_output)
7491         (make_cleanup_restore_target_terminal): Don't declare.
7492         (target_terminal_info): Remove.
7493         * target.c (enum terminal_state, terminal_state): Remove.
7494         (target_terminal::terminal_state): Define.
7495         (target_terminal::init): Rename from target_terminal_init.
7496         (target_terminal::inferior): Rename from
7497         target_terminal_inferior.
7498         (target_terminal::ours): Rename from target_terminal_ours.
7499         (target_terminal::ours_for_output): Rename from
7500         target_terminal_ours_for_output.
7501         (target_terminal::info): New method.
7502         (cleanup_restore_target_terminal)
7503         (make_cleanup_restore_target_terminal): Remove.
7504         * solib.c (handle_solib_event): Update.
7505         * remote.c (remote_serial_quit_handler): Update.
7506         (remote_terminal_inferior, remote_wait_as): Update.
7507         * record-full.c (record_full_wait_1): Update.
7508         * nto-procfs.c (procfs_create_inferior): Update.
7509         * nat/fork-inferior.c (startup_inferior): Update.
7510         * mi/mi-interp.c (mi_new_thread, mi_thread_exit)
7511         (mi_record_changed, mi_inferior_added, mi_inferior_appeared)
7512         (mi_inferior_exit, mi_inferior_removed, mi_traceframe_changed)
7513         (mi_tsv_created, mi_tsv_deleted, mi_tsv_modified)
7514         (mi_breakpoint_created, mi_breakpoint_deleted)
7515         (mi_breakpoint_modified, mi_on_resume, mi_solib_loaded)
7516         (mi_solib_unloaded, mi_command_param_changed, mi_memory_changed)
7517         (mi_user_selected_context_changed, report_initial_inferior):
7518         Update.
7519         * linux-nat.c (linux_nat_attach, linux_nat_terminal_ours)
7520         (linux_nat_terminal_inferior): Update.
7521         * infrun.c (follow_fork_inferior)
7522         (handle_vfork_child_exec_or_exit, do_target_resume)
7523         (check_curr_ui_sync_execution_done, handle_inferior_event_1)
7524         (handle_signal_stop, maybe_remove_breakpoints, normal_stop):
7525         Update.
7526         * inflow.c (child_terminal_init, info_terminal_command): Update.
7527         * infcmd.c (post_create_inferior, continue_1, prepare_one_step)
7528         (attach_command): Update.
7529         * infcall.c (call_thread_fsm_should_stop): Update.
7530         * gnu-nat.c (gnu_attach): Update.
7531         * extension.c (struct active_ext_lang_state)
7532         (restore_active_ext_lang): Update.
7533         * exceptions.c (print_flush): Update.
7534         * event-top.c (async_enable_stdin, default_quit_handler): Update.
7535         (struct quit_handler_cleanup_data, restore_quit_handler)
7536         (restore_quit_handler_dtor, make_cleanup_override_quit_handler):
7537         Remove.
7538         * cp-support.c (gdb_demangle): Update.
7539         * breakpoint.c (update_inserted_breakpoint_locations)
7540         (insert_breakpoint_locations, handle_jit_event)
7541         (disable_breakpoints_in_unloaded_shlib): Update.
7542         * annotate.c (annotate_breakpoints_invalid)
7543         (annotate_frames_invalid): Update.
7544
7545 2017-09-20  Tom Tromey  <tom@tromey.com>
7546
7547         * main.c (catch_command_errors): Rename from
7548         catch_command_errors_const.
7549         (captured_main_1): Update.
7550
7551 2017-09-20  Pedro Alves  <palves@redhat.com>
7552
7553         * cli/cli-cmds.c (list_command): Use print_sal_location.
7554         (print_sal_location): New function.
7555         (ambiguous_line_spec): Use print_sal_location.
7556         * linespec.c (symbol_to_sal): Record the symbol in the sal.
7557         * symtab.c (find_function_start_sal): Likewise.
7558         * symtab.h (symtab_and_line::symbol): New field.
7559
7560 2017-09-20  Pedro Alves  <palves@redhat.com>
7561
7562         * linespec.c (minsym_found): Handle non-text minsyms.
7563         (symbol_to_sal): Record a sal.pc for non-block, non-label symbols.
7564
7565 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7566
7567         * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add missing
7568         backslash.
7569
7570 2017-09-20  Walfred Tedeschi  <walfred.tedeschi@intel.com>
7571
7572         * gdb.arch/i386-avx512.c (move_zmm_data_to_reg): Use
7573         vmovups instead vmovaps.
7574         (move_zmm_data_to_memory): Use vmovups instead vmovaps.
7575
7576 2017-09-19  John Baldwin  <jhb@FreeBSD.org>
7577
7578         * NEWS (Changes since GDB 8.0): Add starti.
7579         * infcmd.c (enum run_break): New.
7580         (run_command_1): Queue pending event for RUN_STOP_AT_FIRST_INSN
7581         case.
7582         (run_command): Use enum run_how.
7583         (start_command): Likewise.
7584         (starti_command): New function.
7585         (RUN_ARGS_HELP): New macro.
7586         (_initialize_infcmd): Use RUN_ARGS_HELP for run and start
7587         commands.  Add starti command.
7588
7589 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7590
7591         * Makefile.in (monitor.o): Remove the rule.
7592
7593 2017-09-19  Yao Qi  <yao.qi@linaro.org>
7594
7595         * annotate.h (struct annotate_arg_emitter): Use
7596         DISABLE_COPY_AND_ASSIGN.
7597         * common/refcounted-object.h (refcounted_object): Likewise.
7598         * completer.h (struct completion_result): Likewise.
7599         * dwarf2read.c (struct dwarf2_per_objfile): Likewise.
7600         * filename-seen-cache.h (filename_seen_cache): Likewise.
7601         * gdbcore.h (thread_section_name): Likewise.
7602         * gdb_regex.h (compiled_regex): Likewise.
7603         * gdbthread.h (scoped_restore_current_thread): Likewise.
7604         * inferior.h (scoped_restore_current_inferior): Likewise.
7605         * jit.c (jit_reader): Likewise.
7606         * linespec.h (struct linespec_result): Likewise.
7607         * mi/mi-parse.h (struct mi_parse): Likewise.
7608         * nat/fork-inferior.c (execv_argv): Likewise.
7609         * progspace.h (scoped_restore_current_program_space): Likewise.
7610         * python/python-internal.h (class gdbpy_enter): Likewise.
7611         * regcache.h (regcache): Likewise.
7612         * target-descriptions.c (struct tdesc_reg): Likewise.
7613         (struct tdesc_type): Likewise.
7614         (struct tdesc_feature): Likewise.
7615         * ui-out.h (ui_out_emit_type): Likewise.
7616
7617 2017-09-18  Simon Marchi  <simon.marchi@ericsson.com>
7618
7619         * dwarf2expr.c (dwarf_expr_context::execute_stack_op): Remove
7620         label abort_expression.
7621
7622 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7623
7624         * common/buffer.c (buffer_xml_printf): Adjust.
7625         * common/xml-utils.c (xml_escape_text): Change return type to
7626         std::string, update code accordingly.
7627         * common/xml-utils.h (xml_escape_text): Change return type to
7628         std::string.
7629         * rs6000-aix-tdep.c (rs6000_aix_shared_library_to_xml): Adjust.
7630         * windows-tdep.c (windows_xfer_shared_library): Adjust.
7631         * unittests/xml-utils-selftests.c (test_xml_escape_text):
7632         Adjust.
7633
7634 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7635
7636         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add new source file.
7637         (SUBDIR_UNITTESTS_OBS): Add new object file.
7638         * unittests/xml-utils-selftests.c: New file.
7639
7640 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7641
7642         * common/selftest.h (selftest): New struct/interface.
7643         (register_test): Add name parameter, add new overload.
7644         (run_tests): Add filter parameter.
7645         (for_each_selftest_ftype): New typedef.
7646         (for_each_selftest): New declaration.
7647         * common/selftest.c (tests): Change type to
7648         map<string, unique_ptr<selftest>>.
7649         (simple_selftest): New struct.
7650         (register_test): New function.
7651         (register_test): Add name parameter and use it.
7652         (run_tests): Add filter parameter and use it.  Add prints.
7653         Adjust to vector -> map change.
7654         * aarch64-tdep.c (_initialize_aarch64_tdep): Add names when
7655         registering selftests.
7656         * arm-tdep.c (_initialize_arm_tdep): Likewise.
7657         * disasm-selftests.c (_initialize_disasm_selftests): Likewise.
7658         * dwarf2-frame.c (_initialize_dwarf2_frame): Likewise.
7659         * dwarf2loc.c (_initialize_dwarf2loc): Likewise.
7660         * findvar.c (_initialize_findvar): Likewise.
7661         * gdbarch-selftests.c (_initialize_gdbarch_selftests): Likewise.
7662         * maint.c (maintenance_selftest): Update call to run_tests.
7663         (maintenance_info_selftests): New function.
7664         (_initialize_maint_cmds): Register "maintenance info selftests"
7665         command.  Update "maintenance selftest" doc.
7666         * regcache.c (_initialize_regcache): Add names when registering
7667         selftests.
7668         * rust-exp.y (_initialize_rust_exp): Likewise.
7669         * selftest-arch.c (gdbarch_selftest): New struct.
7670         (gdbarch_tests): Remove.
7671         (register_test_foreach_arch): Add name parameter.  Call
7672         register_test.
7673         (tests_with_arch): Remove, move most content to
7674         gdbarch_selftest::operator().
7675         (_initialize_selftests_foreach_arch): Remove.
7676         * selftest-arch.h (register_test_foreach_arch): Add name
7677         parameter.
7678         (run_tests_with_arch): New declaration.
7679         * utils-selftests.c (_initialize_utils_selftests): Add names
7680         when registering selftests.
7681         * utils.c (_initialize_utils): Likewise.
7682         * unittests/array-view-selftests.c
7683         (_initialize_array_view_selftests): Likewise.
7684         * unittests/environ-selftests.c (_initialize_environ_selftests):
7685         Likewise.
7686         * unittests/function-view-selftests.c
7687         (_initialize_function_view_selftests): Likewise.
7688         * unittests/offset-type-selftests.c
7689         (_initialize_offset_type_selftests): Likewise.
7690         * unittests/optional-selftests.c
7691         (_initialize_optional_selftests): Likewise.
7692         * unittests/scoped_restore-selftests.c
7693         (_initialize_scoped_restore_selftests): Likewise.
7694         * NEWS: Document "maintenance selftest" and "maint info
7695         selftests".
7696
7697 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7698
7699         * mi/mi-main.c (mi_load_progress): Restore current_uiout using a
7700         scoped_restore.
7701
7702 2017-09-16  Simon Marchi  <simon.marchi@ericsson.com>
7703
7704         * mi/mi-main.c (mi_load_progress): Make uiout variable
7705         a unique_ptr.
7706
7707 2017-09-15  Pedro Alves  <palves@redhat.com>
7708
7709         * compile/compile-c-types.c (convert_enum, convert_int)
7710         (convert_float): Adjust to refer to int_type_v0 and float_type_v0.
7711
7712 2017-09-15  Simon Marchi  <simon.marchi@ericsson.com>
7713
7714         * dwarf2read.c (copy_string): Remove.
7715         (parse_macro_definition): Replace copy_string with savestring.
7716
7717 2017-09-15  Yao Qi  <yao.qi@linaro.org>
7718
7719         * configure.tgt (i[34567]86-*-darwin*): Append amd64.o to
7720         gdb_target_obs.
7721         (i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*):
7722         Likewise.
7723         (i[34567]86-*-linux*): Likewise.
7724
7725 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7726
7727         * dwarf2expr.h (dwarf_stack_value): Add constructor.
7728         (dwarf_expr_context) <~dwarf_expr_context>: Define as default.
7729         <stack>: Change type to std::vector.
7730         <stack_len, stack_allocated>: Remove.
7731         <grow_stack>: Remove.
7732         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7733         (dwarf_expr_context::~dwarf_expr_context): Remove.
7734         (dwarf_expr_context::grow_stack): Remove.
7735         (dwarf_expr_context::push): Adjust.
7736         (dwarf_expr_context::pop): Adjust.
7737         (dwarf_expr_context::fetch): Adjust.
7738         (dwarf_expr_context::fetch_in_stack_memory): Adjust.
7739         (dwarf_expr_context::stack_empty_p): Adjust.
7740         (dwarf_expr_context::execute_stack_op): Adjust.
7741
7742 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7743
7744         * dwarf2expr.h (dwarf_expr_context) <stack_empty_p>: Change
7745         return type to bool.
7746         * dwarf2expr.c (dwarf_expr_context::stack_empty_p): Likewise.
7747
7748 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7749
7750         * dwarf2expr.h (dwarf_expr_piece) <v.mem.in_stack_memory>:
7751         Change type to bool.
7752         (dwarf_stack_value) <in_stack_memory>: Likewise.
7753         (dwarf_expr_context) <push_address>: Change parameter type to
7754         bool.
7755         <fetch_in_stack_memory>: Change return type to bool.
7756         <push>: Change parameter type to bool.
7757         * dwarf2expr.c (dwarf_expr_context::push): Change parameter type
7758         to bool.
7759         (dwarf_expr_context::push_address): Likewise.
7760         (dwarf_expr_context::fetch_in_stack_memory): Change return type
7761         to bool.
7762         (dwarf_expr_context::execute_stack_op): Adjust.
7763         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Adjust.
7764
7765 2017-09-14  Simon Marchi  <simon.marchi@ericsson.com>
7766
7767         * dwarf2expr.h (struct dwarf_expr_piece): Move up.
7768         (struct dwarf_expr_context) <n_pieces>: Remove.
7769         <pieces>: Change type to std::vector.
7770         * dwarf2expr.c (dwarf_expr_context::dwarf_expr_context): Adjust.
7771         (dwarf_expr_context::~dwarf_expr_context): Don't manually free
7772         pieces.
7773         (dwarf_expr_context::add_piece): Adjust.
7774         * dwarf2loc.c (struct piece_closure): Initialize fields.
7775         <n_pieces>: Remove.
7776         <pieces>: Change type to std::vector.
7777         (allocate_piece_closure): Adjust, change parameter to
7778         std::vector rvalue and std::move it to piece_closure.
7779         (rw_pieced_value): Adjust.
7780         (check_pieced_synthetic_pointer): Adjust.
7781         (indirect_synthetic_pointer): Adjust.
7782         (coerce_pieced_ref): Adjust.
7783         (free_pieced_value_closure):  Adjust.  Use delete to free
7784         piece_closure.
7785         (dwarf2_evaluate_loc_desc_full): Adjust.  std::move ctx.pieces
7786         to allocate_piece_closure.
7787         (dwarf2_loc_desc_get_symbol_read_needs): Adjust.
7788
7789 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7790
7791         * probe.h (probe_ops_cp): Remove typedef.
7792         (DEF_VEC_P (probe_ops_cp)): Remove.
7793         (all_probe_ops): Change type to std::vector.
7794         * probe.c (info_probes_for_ops): Adjust to vector change.
7795         (probe_linespec_to_ops): Likewise.
7796         (all_probe_ops): Change type to std::vector.
7797         (_initialize_probe): Adjust to vector change.
7798         * dtrace-probe.c (_initialize_dtrace_probe): Likewise.
7799         * elfread.c (elf_get_probes): Likewise.
7800         * stap-probe.c (_initialize_stap_probe): Likewise.
7801
7802 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7803
7804         * probe.h (struct bound_probe): Define constructors.
7805         * probe.c (bound_probe_s): Remove typedef.
7806         (DEF_VEC_O (bound_probe_s)): Remove VEC.
7807         (collect_probes): Change return type to std::vector, remove
7808         cleanup.
7809         (compare_probes): Return bool, change parameter type.  Change
7810         semantic to "less than".
7811         (gen_ui_out_table_header_info): Change parameter to std::vector
7812         and update.
7813         (exists_probe_with_pops): Likewise.
7814         (info_probes_for_ops): Update to std::vector change.
7815         (enable_probes_command): Likewise.
7816         (disable_probes_command): Likewise.
7817
7818 2017-09-12  Simon Marchi  <simon.marchi@ericsson.com>
7819
7820         * probe.h (struct probe_ops) <get_probes>: Change parameter from
7821         vec to std::vector.
7822         * probe.c (parse_probes_in_pspace): Update.
7823         (find_probes_in_objfile): Update.
7824         (find_probe_by_pc): Update.
7825         (collect_probes): Update.
7826         (probe_any_get_probes): Update.
7827         * symfile.h (struct sym_probe_fns) <sym_get_probes> Change
7828         return type to reference to std::vector.
7829         * dtrace-probe.c (dtrace_process_dof_probe): Change parameter to
7830         std::vector and update.
7831         (dtrace_process_dof): Likewise.
7832         (dtrace_get_probes): Likewise.
7833         * elfread.c (elf_get_probes): Change return type to std::vector,
7834         store an std::vector in bfd_data.
7835         (probe_key_free): Update to std::vector.
7836         * stap-probe.c (handle_stap_probe): Change parameter to
7837         std::vector and update.
7838         (stap_get_probes): Likewise.
7839         * symfile-debug.c (debug_sym_get_probes): Change return type to
7840         std::vector and update.
7841
7842 2017-09-11  Tom Tromey  <tom@tromey.com>
7843
7844         * breakpoint.c (program_breakpoint_here_p): Update.
7845         * target.c (make_scoped_restore_show_memory_breakpoints): Rename
7846         from make_show_memory_breakpoints_cleanup.  Return a
7847         scoped_restore_tmpl<int>.
7848         (restore_show_memory_breakpoints): Remove.
7849         * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Update.
7850         * mem-break.c (memory_validate_breakpoint): Update.
7851         * ia64-tdep.c (ia64_memory_insert_breakpoint): Update.
7852         (ia64_memory_remove_breakpoint): Update.
7853         (ia64_breakpoint_from_pc): Update.
7854         * target.h (make_scoped_restore_show_memory_breakpoints): Rename
7855         from make_show_memory_breakpoints_cleanup.
7856
7857 2017-09-11  Tom Tromey  <tom@tromey.com>
7858
7859         * d-namespace.c (d_lookup_symbol): Use std::string.
7860         (find_symbol_in_baseclass): Likewise.
7861
7862 2017-09-11  Tom Tromey  <tom@tromey.com>
7863
7864         * ctf.c (ctf_start): Use std::string.
7865
7866 2017-09-11  Tom Tromey  <tom@tromey.com>
7867
7868         * ada-lang.c (is_known_support_routine): Update.
7869         (ada_unhandled_exception_name_addr_from_raise): Update.
7870         * guile/scm-frame.c (gdbscm_frame_name): Update.
7871         * python/py-frame.c (frapy_name): Update.
7872         (frapy_function): Update.
7873         * stack.h (find_frame_funname): Update.
7874         * stack.c (find_frame_funname): Return unique_xmalloc_ptr.
7875         (print_frame): Update.
7876
7877 2017-09-11  Tom Tromey  <tom@tromey.com>
7878
7879         * findcmd.c (put_bits): Take a gdb::byte_vector.
7880         (parse_find_args): Return gdb::byte_vector.  "args" now const.
7881         Remove "pattern_bufp" and "pattern_lenp" parameters.  Remove
7882         cleanups.
7883         (find_command): Update.
7884
7885 2017-09-11  Tom Tromey  <tom@tromey.com>
7886
7887         * cli/cli-script.c (class scoped_restore_hook_in): New.
7888         (clear_hook_in_cleanup): Remove.
7889         (execute_cmd_pre_hook, execute_cmd_post_hook): Use
7890         scoped_restore_hook_in.
7891
7892 2017-09-11  Tom Tromey  <tom@tromey.com>
7893
7894         * cli/cli-script.c (restore_interp): Remove.
7895         (read_command_lines): Use scoped_restore_interp.
7896         * interps.c (scoped_restore_interp::set_temp): Rename from
7897         interp_set_temp.
7898         * interps.h (class scoped_restore_interp): New.
7899         (interp_set_temp): Remove.
7900
7901 2017-09-11  Tom Tromey  <tom@tromey.com>
7902
7903         * mi/mi-cmd-catch.c (mi_cmd_catch_assert)
7904         (mi_cmd_catch_exception, mi_catch_load_unload): Update.
7905         * mi/mi-cmd-break.c (setup_breakpoint_reporting): Return a
7906         scoped_restore.
7907         (mi_cmd_break_insert_1): Update.
7908         * mi/mi-cmd-break.h (setup_breakpoint_reporting): Return a
7909         scoped_restore.
7910
7911 2017-09-11  Tom Tromey  <tom@tromey.com>
7912
7913         * demangle.c (demangle_command): Update.
7914         * breakpoint.c (disable_command): Update.
7915         (enable_command): Update.
7916         (find_location_by_number): Make "number" const.  Use
7917         get_number_trailer.
7918         * cli/cli-utils.c (extract_arg): Return std::string.
7919         * probe.c (parse_probe_linespec): Update.  Change types.
7920         (collect_probes): Take string arguments.
7921         (parse_probe_linespec): Likewise.
7922         (info_probes_for_ops): Update.
7923         (enable_probes_command): Update.
7924         (disable_probes_command): Update.
7925         * break-catch-sig.c (catch_signal_split_args): Update.
7926         * mi/mi-parse.c (mi_parse): Update.
7927
7928 2017-09-11  Tom Tromey  <tom@tromey.com>
7929
7930         * language.h (language_enum): Make argument const.
7931         * language.c (language_enum): Make argument const.
7932
7933 2017-09-11  Tom Tromey  <tom@tromey.com>
7934
7935         * common/common-utils.h (skip_to_space): Remove macro, redeclare
7936         as function.
7937         (skip_to_space): Rename from skip_to_space_const.
7938         * common/common-utils.c (skip_to_space): New function.
7939         (skip_to_space): Rename from skip_to_space_const.
7940         * cli/cli-utils.h (get_number): Rename from get_number_const.
7941         (extract_arg): Rename from extract_arg_const.
7942         * cli/cli-utils.c (get_number): Rename from get_number_const.
7943         (extract_arg): Rename from extract_arg_const.
7944         (number_or_range_parser::get_number): Use ::get_number.
7945         * aarch64-linux-tdep.c, ada-lang.c, arm-linux-tdep.c, ax-gdb.c,
7946         break-catch-throw.c, breakpoint.c, cli/cli-cmds.c, cli/cli-dump.c,
7947         cli/cli-script.c, cli/cli-setshow.c, compile/compile.c,
7948         completer.c, demangle.c, disasm.c, findcmd.c, linespec.c,
7949         linux-tdep.c, linux-thread-db.c, location.c, mi/mi-parse.c,
7950         minsyms.c, nat/linux-procfs.c, printcmd.c, probe.c,
7951         python/py-breakpoint.c, record.c, rust-exp.y, serial.c, stack.c,
7952         stap-probe.c, tid-parse.c, tracepoint.c: Update all callers.
7953
7954 2017-09-11  Tom Tromey  <tom@tromey.com>
7955
7956         * python/python.c (do_start_initialization): Use
7957         py-event-types.def to initialize types.
7958         Define all object type structures.
7959         * python/python-internal.h: Don't declare event initialization
7960         functions.
7961         * python/py-threadevent.c (thread_event_object_type): Don't
7962         define.
7963         * python/py-stopevent.c (stop_event_object_type): Don't define.
7964         * python/py-signalevent.c (signal_event_object_type): Don't
7965         declare or define.
7966         * python/py-newobjfileevent.c (new_objfile_event_object_type)
7967         (clear_objfiles_event_object_type): Don't declare or define.
7968         * python/py-infevents.c (inferior_call_pre_event_object_type)
7969         (inferior_call_post_event_object_type)
7970         (register_changed_event_object_type)
7971         (memory_changed_event_object_type): Don't declare or define.
7972         * python/py-inferior.c (new_thread_event_object_type)
7973         (new_inferior_event_object_type)
7974         (inferior_deleted_event_object_type): Don't declare or define.
7975         * python/py-exitedevent.c (exited_event_object_type): Don't
7976         declare or define.
7977         * python/py-evts.c (gdbpy_initialize_py_events): Use
7978         py-all-events.def.
7979         * python/py-events.h (thread_event_object_type): Don't declare.
7980         (events_object): Use py-all-events.def.
7981         * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove.  Use
7982         py-event-types.def.
7983         * python/py-event-types.def: New file.
7984         * python/py-continueevent.c (create_continue_event_object): Don't
7985         declare or define.
7986         * python/py-bpevent.c (breakpoint_event_object_type): Don't
7987         declare or define.
7988         * python/py-all-events.def: New file.
7989
7990 2017-09-11  Tom Tromey  <tom@tromey.com>
7991
7992         * python/py-threadevent.c (create_thread_event_object): Return
7993         gdbpy_ref.
7994         * python/py-stopevent.h (create_stop_event_object)
7995         (create_breakpoint_event_object, create_signal_event_object):
7996         Update.
7997         * python/py-stopevent.c (create_stop_event_object): Return
7998         gdbpy_ref.
7999         (emit_stop_event): Update.
8000         * python/py-signalevent.c (create_signal_event_object): Return
8001         gdbpy_ref.
8002         * python/py-infevents.c (create_inferior_call_event_object):
8003         Update.
8004         * python/py-event.h (create_event_object)
8005         (create_thread_event_object): Update.
8006         * python/py-event.c (create_event_object): Return gdbpy_ref.
8007         * python/py-continueevent.c: Return gdbpy_ref.
8008         * python/py-bpevent.c (create_breakpoint_event_object): Return
8009         gdbpy_ref.
8010
8011 2017-09-11  Tom Tromey  <tom@tromey.com>
8012
8013         PR python/15622:
8014         * NEWS: Add entry.
8015         * python/python.c (do_start_initialization): Initialize new event
8016         types.
8017         * python/python-internal.h (gdbpy_initialize_new_inferior_event)
8018         (gdbpy_initialize_inferior_deleted_event)
8019         (gdbpy_initialize_new_thread_event): Declare.
8020         * python/py-threadevent.c (create_thread_event_object): Add option
8021         "thread" parameter.
8022         * python/py-inferior.c (new_thread_event_object_type)
8023         (new_inferior_event_object_type)
8024         (inferior_deleted_event_object_type): Declare.
8025         (python_new_inferior, python_inferior_deleted): New functions.
8026         (add_thread_object): Emit new_thread event.
8027         (gdbpy_initialize_inferior): Attach new functions to corresponding
8028         observers.
8029         (new_thread, new_inferior, inferior_deleted): Define new event
8030         types.
8031         * python/py-evts.c (gdbpy_initialize_py_events): Add new
8032         registries.
8033         * python/py-events.h (events_object) <new_inferior,
8034         inferior_deleted, new_thread>: New fields.
8035         * python/py-event.h (create_thread_event_breakpoint): Add optional
8036         "thread" parameter.
8037
8038 2017-09-10  Andrew Burgess  <andrew.burgess@embecosm.com>
8039
8040         * utils.c (abort_with_message): Don't compare gdb_stderr to NULL,
8041         check current_ui instead.
8042         (internal_vproblem): Likewise.
8043
8044 2017-09-09  Simon Marchi  <simon.marchi@ericsson.com>
8045
8046         * thread.c (print_thread_info_1): Remove unnecessary calls to
8047         uiout->is_mi_like_p.
8048
8049 2017-09-09  Tom Tromey  <tom@tromey.com>
8050
8051         * namespace.h (add_using_directive): Update.
8052         * namespace.c (add_using_directive): Change type of excludes to
8053         std::vector.
8054         * dwarf2read.c (read_import_statement): Use std::vector.
8055         (read_namespace): Update.
8056         * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
8057
8058 2017-09-09  Tom Tromey  <tom@tromey.com>
8059
8060         * linespec.c (create_sals_line_offset): Use gdb::def_vector.
8061
8062 2017-09-09  Tom Tromey  <tom@tromey.com>
8063
8064         * p-valprint.c (pascal_object_print_value): Use gdb::byte_vector.
8065
8066 2017-09-09  Tom Tromey  <tom@tromey.com>
8067
8068         * stack.c (func_command): Use gdb::def_vector.
8069
8070 2017-09-09  Tom Tromey  <tom@tromey.com>
8071
8072         * mi/mi-cmd-var.c (mi_cmd_var_list_children): Use gdb::optional,
8073         ui_out_emit_list, ui_out_emit_tuple.
8074         (mi_cmd_var_update): Likewise.
8075
8076 2017-09-09  Tom Tromey  <tom@tromey.com>
8077
8078         * mi/mi-interp.c (mi_user_selected_context_changed): Use
8079         ui_out_redirect_pop.
8080         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
8081         ui_out_redirect_pop.
8082         * utils.c (do_ui_out_redirect_pop)
8083         (make_cleanup_ui_out_redirect_pop): Remove.
8084         * top.c (execute_command_to_string): Use ui_out_redirect_pop.
8085         * utils.h (make_cleanup_ui_out_redirect_pop): Remove.
8086         * ui-out.h (ui_out_redirect_pop): New class.
8087
8088 2017-09-09  Tom Tromey  <tom@tromey.com>
8089
8090         * mi/mi-main.c (output_cores): Use ui_out_emit_list.
8091         (list_available_thread_groups, mi_cmd_list_thread_groups)
8092         (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory)
8093         (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected):
8094         Likewise.
8095
8096 2017-09-09  Tom Tromey  <tom@tromey.com>
8097
8098         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use
8099         ui_out_emit_tuple.
8100
8101 2017-09-09  Tom Tromey  <tom@tromey.com>
8102
8103         * target.c (flash_erase_command): Use ui_out_emit_tuple.
8104         * stack.c (print_frame): Use ui_out_emit_tuple.
8105         * spu-tdep.c (info_spu_event_command): Use ui_out_emit_tuple.
8106         (info_spu_mailbox_command, info_spu_dma_command)
8107         (info_spu_proxydma_command): Likewise.
8108         * mi/mi-main.c (mi_cmd_trace_frame_collected): Use
8109         ui_out_emit_tuple, gdb::byte_vector, bin2hex.
8110         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
8111         ui_out_emit_tuple.
8112         * breakpoint.c (print_it_watchpoint): Use ui_out_emit_tuple.
8113
8114 2017-09-09  Tom Tromey  <tom@tromey.com>
8115
8116         * ui-out.h (make_cleanup_ui_out_table_begin_end): Remove.
8117         (class ui_out_emit_table): Update comment.
8118         * ui-out.c (do_cleanup_table_end)
8119         (make_cleanup_ui_out_table_begin_end): Remove.
8120         * spu-tdep.c (info_spu_mailbox_list): Use ui_out_emit_table.
8121         (info_spu_dma_cmdlist): Likewise.
8122         * probe.c (info_probes_for_ops): Use ui_out_emit_table.
8123         * darwin-nat-info.c (darwin_debug_regions_recurse): Use
8124         ui_out_emit_table.
8125
8126 2017-09-09  Tom Tromey  <tom@tromey.com>
8127
8128         * thread.c (print_thread_info_1): Use ui_out_emit_table,
8129         ui_out_emit_list, gdb::optional.
8130
8131 2017-09-09  John Baldwin  <jhb@FreeBSD.org>
8132
8133         * aarch64-linux-nat.c: Remove _initialize_aarch64_linux_nat
8134         prototype.
8135         * aarch64-linux-tdep.c: Remove _initialize_aarch64_linux_tdep
8136         prototype.
8137         * aarch64-newlib-tdep.c: Remove _initialize_aarch64_newlib_tdep
8138         prototype.
8139         * aarch64-tdep.c: Remove _initialize_aarch64_tdep prototype.
8140         * ada-exp.y: Remove _initialize_ada_exp prototype.
8141         * ada-lang.c: Remove _initialize_ada_language prototype.
8142         * ada-tasks.c: Remove _initialize_tasks prototype.
8143         * addrmap.c: Remove _initialize_addrmap prototype.
8144         * agent.c: Remove _initialize_agent prototype.
8145         * aix-thread.c: Remove _initialize_aix_thread prototype.
8146         * alpha-bsd-nat.c: Remove _initialize_alphabsd_nat prototype.
8147         * alpha-linux-nat.c: Remove _initialize_alpha_linux_nat prototype.
8148         * alpha-linux-tdep.c: Remove _initialize_alpha_linux_tdep
8149         prototype.
8150         * alpha-nbsd-tdep.c: Remove _initialize_alphanbsd_tdep prototype.
8151         * alpha-obsd-tdep.c: Remove _initialize_alphaobsd_tdep prototype.
8152         * alpha-tdep.c: Remove _initialize_alpha_tdep prototype.
8153         * amd64-darwin-tdep.c: Remove _initialize_amd64_darwin_tdep
8154         prototype.
8155         * amd64-dicos-tdep.c: Remove _initialize_amd64_dicos_tdep
8156         prototype.
8157         * amd64-fbsd-nat.c: Remove _initialize_amd64fbsd_nat prototype.
8158         * amd64-fbsd-tdep.c: Remove _initialize_amd64fbsd_tdep prototype.
8159         * amd64-linux-nat.c: Remove _initialize_amd64_linux_nat prototype.
8160         * amd64-linux-tdep.c: Remove _initialize_amd64_linux_tdep
8161         prototype.
8162         * amd64-nbsd-nat.c: Remove _initialize_amd64nbsd_nat prototype.
8163         * amd64-nbsd-tdep.c: Remove _initialize_amd64nbsd_tdep prototype.
8164         * amd64-obsd-nat.c: Remove _initialize_amd64obsd_nat prototype.
8165         * amd64-obsd-tdep.c: Remove _initialize_amd64obsd_tdep prototype.
8166         * amd64-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
8167         * amd64-tdep.c: Remove _initialize_amd64_tdep prototype.
8168         * amd64-windows-nat.c: Remove _initialize_amd64_windows_nat
8169         prototype.
8170         * amd64-windows-tdep.c: Remove _initialize_amd64_windows_tdep
8171         prototype.
8172         * annotate.c: Remove _initialize_annotate prototype.
8173         * arc-newlib-tdep.c: Remove _initialize_arc_newlib_tdep prototype.
8174         * arc-tdep.c: Remove _initialize_arc_tdep prototype.
8175         * arch-utils.c: Remove _initialize_gdbarch_utils prototype.
8176         * arm-linux-nat.c: Remove _initialize_arm_linux_nat prototype.
8177         * arm-linux-tdep.c: Remove _initialize_arm_linux_tdep prototype.
8178         * arm-nbsd-tdep.c: Remove _initialize_arm_netbsd_tdep prototype.
8179         * arm-obsd-tdep.c: Remove _initialize_armobsd_tdep prototype.
8180         * arm-symbian-tdep.c: Remove _initialize_arm_symbian_tdep
8181         prototype.
8182         * arm-tdep.c: Remove _initialize_arm_tdep prototype.
8183         * arm-wince-tdep.c: Remove _initialize_arm_wince_tdep prototype.
8184         * auto-load.c: Remove _initialize_auto_load prototype.
8185         * auxv.c: Remove _initialize_auxv prototype.
8186         * avr-tdep.c: Remove _initialize_avr_tdep prototype.
8187         * ax-gdb.c: Remove _initialize_ax_gdb prototype.
8188         * bfin-linux-tdep.c: Remove _initialize_bfin_linux_tdep prototype.
8189         * bfin-tdep.c: Remove _initialize_bfin_tdep prototype.
8190         * break-catch-sig.c: Remove _initialize_break_catch_sig prototype.
8191         * break-catch-syscall.c: Remove _initialize_break_catch_syscall
8192         prototype.
8193         * break-catch-throw.c: Remove _initialize_break_catch_throw
8194         prototype.
8195         * breakpoint.c: Remove _initialize_breakpoint prototype.
8196         * bsd-uthread.c: Remove _initialize_bsd_uthread prototype.
8197         * btrace.c: Remove _initialize_btrace prototype.
8198         * charset.c: Remove _initialize_charset prototype.
8199         * cli/cli-cmds.c: Remove _initialize_cli_cmds prototype.
8200         * cli/cli-dump.c: Remove _initialize_cli_dump prototype.
8201         * cli/cli-interp.c: Remove _initialize_cli_interp prototype.
8202         * cli/cli-logging.c: Remove _initialize_cli_logging prototype.
8203         * cli/cli-script.c: Remove _initialize_cli_script prototype.
8204         * coff-pe-read.c: Remove _initialize_coff_pe_read prototype.
8205         * coffread.c: Remove _initialize_coffread prototype.
8206         * compile/compile.c: Remove _initialize_compile prototype.
8207         * complaints.c: Remove _initialize_complaints prototype.
8208         * completer.c: Remove _initialize_completer prototype.
8209         * copying.awk: Remove _initialize_copying prototype.
8210         * copying.c: Regenerate.
8211         * core-regset.c: Remove _initialize_core_regset prototype.
8212         * corefile.c: Remove _initialize_core prototype.
8213         * corelow.c: Remove _initialize_corelow prototype.
8214         * cp-abi.c: Remove _initialize_cp_abi prototype.
8215         * cp-namespace.c: Remove _initialize_cp_namespace prototype.
8216         * cp-support.c: Remove _initialize_cp_support prototype.
8217         * cp-valprint.c: Remove _initialize_cp_valprint prototype.
8218         * cris-linux-tdep.c: Remove _initialize_cris_linux_tdep prototype.
8219         * cris-tdep.c: Remove _initialize_cris_tdep prototype.
8220         * ctf.c: Remove _initialize_ctf prototype.
8221         * d-lang.c: Remove _initialize_d_language prototype.
8222         * darwin-nat-info.c: Remove _initialize_darwin_info_commands
8223         prototype.
8224         * darwin-nat.c: Remove _initialize_darwin_inferior prototype.
8225         * dbxread.c: Remove _initialize_dbxread prototype.
8226         * dcache.c: Remove _initialize_dcache prototype.
8227         * demangle.c: Remove _initialize_demangler prototype.
8228         * disasm-selftests.c: Remove _initialize_disasm_selftests
8229         prototype.
8230         * disasm.c: Remove _initialize_disasm prototype.
8231         * dtrace-probe.c: Remove _initialize_dtrace_probe prototype.
8232         * dummy-frame.c: Remove _initialize_dummy_frame prototype.
8233         * dwarf2-frame-tailcall.c: Remove _initialize_tailcall_frame
8234         prototype.
8235         * dwarf2-frame.c: Remove _initialize_dwarf2_frame prototype.
8236         * dwarf2expr.c: Remove _initialize_dwarf2expr prototype.
8237         * dwarf2loc.c: Remove _initialize_dwarf2loc prototype.
8238         * dwarf2read.c: Remove _initialize_dwarf2_read prototype.
8239         * elfread.c: Remove _initialize_elfread prototype.
8240         * exec.c: Remove _initialize_exec prototype.
8241         * extension.c: Remove _initialize_extension prototype.
8242         * f-lang.c: Remove _initialize_f_language prototype.
8243         * f-valprint.c: Remove _initialize_f_valprint prototype.
8244         * fbsd-nat.c: Remove _initialize_fbsd_nat prototype.
8245         * fbsd-tdep.c: Remove _initialize_fbsd_tdep prototype.
8246         * filesystem.c: Remove _initialize_filesystem prototype.
8247         * findcmd.c: Remove _initialize_mem_search prototype.
8248         * fork-child.c: Remove _initialize_fork_child prototype.
8249         * frame-base.c: Remove _initialize_frame_base prototype.
8250         * frame-unwind.c: Remove _initialize_frame_unwind prototype.
8251         * frame.c: Remove _initialize_frame prototype.
8252         * frv-linux-tdep.c: Remove _initialize_frv_linux_tdep prototype.
8253         * frv-tdep.c: Remove _initialize_frv_tdep prototype.
8254         * ft32-tdep.c: Remove _initialize_ft32_tdep prototype.
8255         * gcore.c: Remove _initialize_gcore prototype.
8256         * gdb_bfd.c: Remove _initialize_gdb_bfd prototype.
8257         * gdbarch.c: Regenerate.
8258         * gdbarch.sh: Remove _initialize_gdbarch prototype.
8259         * gdbtypes.c: Remove _initialize_gdbtypes prototype.
8260         * gnu-nat.c: Remove _initialize_gnu_nat prototype.
8261         * gnu-v2-abi.c: Remove _initialize_gnu_v2_abi prototype.
8262         * gnu-v3-abi.c: Remove _initialize_gnu_v3_abi prototype.
8263         * go-lang.c: Remove _initialize_go_language prototype.
8264         * go32-nat.c: Remove _initialize_go32_nat prototype.
8265         * guile/guile.c: Remove _initialize_guile prototype.
8266         * h8300-tdep.c: Remove _initialize_h8300_tdep prototype.
8267         * hppa-linux-nat.c: Remove _initialize_hppa_linux_nat prototype.
8268         * hppa-linux-tdep.c: Remove _initialize_hppa_linux_tdep prototype.
8269         * hppa-nbsd-nat.c: Remove _initialize_hppanbsd_nat prototype.
8270         * hppa-nbsd-tdep.c: Remove _initialize_hppanbsd_tdep prototype.
8271         * hppa-obsd-nat.c: Remove _initialize_hppaobsd_nat prototype.
8272         * hppa-obsd-tdep.c: Remove _initialize_hppaobsd_tdep prototype.
8273         * hppa-tdep.c: Remove _initialize_hppa_tdep prototype.
8274         * i386-bsd-nat.c: Remove _initialize_i386bsd_nat prototype.
8275         * i386-cygwin-tdep.c: Remove _initialize_i386_cygwin_tdep
8276         prototype.
8277         * i386-darwin-tdep.c: Remove _initialize_i386_darwin_tdep
8278         prototype.
8279         * i386-dicos-tdep.c: Remove _initialize_i386_dicos_tdep prototype.
8280         * i386-fbsd-nat.c: Remove _initialize_i386fbsd_nat prototype.
8281         * i386-fbsd-tdep.c: Remove _initialize_i386fbsd_tdep prototype.
8282         * i386-gnu-nat.c: Remove _initialize_i386gnu_nat prototype.
8283         * i386-gnu-tdep.c: Remove _initialize_i386gnu_tdep prototype.
8284         * i386-linux-nat.c: Remove _initialize_i386_linux_nat prototype.
8285         * i386-linux-tdep.c: Remove _initialize_i386_linux_tdep prototype.
8286         * i386-nbsd-nat.c: Remove _initialize_i386nbsd_nat prototype.
8287         * i386-nbsd-tdep.c: Remove _initialize_i386nbsd_tdep prototype.
8288         * i386-nto-tdep.c: Remove _initialize_i386nto_tdep prototype.
8289         * i386-obsd-nat.c: Remove _initialize_i386obsd_nat prototype.
8290         * i386-obsd-tdep.c: Remove _initialize_i386obsd_tdep prototype.
8291         * i386-sol2-nat.c: Remove _initialize_amd64_sol2_nat prototype.
8292         * i386-sol2-tdep.c: Remove _initialize_amd64_sol2_tdep prototype.
8293         * i386-tdep.c: Remove _initialize_i386_tdep prototype.
8294         * i386-windows-nat.c: Remove _initialize_i386_windows_nat
8295         prototype.
8296         * ia64-libunwind-tdep.c: Remove _initialize_libunwind_frame
8297         prototype.
8298         * ia64-linux-nat.c: Remove _initialize_ia64_linux_nat prototype.
8299         * ia64-linux-tdep.c: Remove _initialize_ia64_linux_tdep prototype.
8300         * ia64-tdep.c: Remove _initialize_ia64_tdep prototype.
8301         * ia64-vms-tdep.c: Remove _initialize_ia64_vms_tdep prototype.
8302         * infcall.c: Remove _initialize_infcall prototype.
8303         * infcmd.c: Remove _initialize_infcmd prototype.
8304         * inferior.c: Remove _initialize_inferiors prototype.
8305         * inflow.c: Remove _initialize_inflow prototype.
8306         * infrun.c: Remove _initialize_infrun prototype.
8307         * interps.c: Remove _initialize_interpreter prototype.
8308         * iq2000-tdep.c: Remove _initialize_iq2000_tdep prototype.
8309         * jit.c: Remove _initialize_jit prototype.
8310         * language.c: Remove _initialize_language prototype.
8311         * linux-fork.c: Remove _initialize_linux_fork prototype.
8312         * linux-nat.c: Remove _initialize_linux_nat prototype.
8313         * linux-tdep.c: Remove _initialize_linux_tdep prototype.
8314         * linux-thread-db.c: Remove _initialize_thread_db prototype.
8315         * lm32-tdep.c: Remove _initialize_lm32_tdep prototype.
8316         * m2-lang.c: Remove _initialize_m2_language prototype.
8317         * m32c-tdep.c: Remove _initialize_m32c_tdep prototype.
8318         * m32r-linux-nat.c: Remove _initialize_m32r_linux_nat prototype.
8319         * m32r-linux-tdep.c: Remove _initialize_m32r_linux_tdep prototype.
8320         * m32r-tdep.c: Remove _initialize_m32r_tdep prototype.
8321         * m68hc11-tdep.c: Remove _initialize_m68hc11_tdep prototype.
8322         * m68k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8323         * m68k-bsd-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8324         * m68k-linux-nat.c: Remove _initialize_m68k_linux_tdep prototype.
8325         * m68k-linux-tdep.c: Remove _initialize_m68k_linux_tdep prototype.
8326         * m68k-tdep.c: Remove _initialize_m68k_tdep prototype.
8327         * m88k-bsd-nat.c: Remove _initialize_m68kbsd_nat prototype.
8328         * m88k-tdep.c: Remove _initialize_m68kbsd_tdep prototype.
8329         * machoread.c: Remove _initialize_machoread prototype.
8330         * macrocmd.c: Remove _initialize_macrocmd prototype.
8331         * macroscope.c: Remove _initialize_macroscope prototype.
8332         * maint.c: Remove _initialize_maint_cmds prototype.
8333         * mdebugread.c: Remove _initialize_mdebugread prototype.
8334         * memattr.c: Remove _initialize_mem prototype.
8335         * mep-tdep.c: Remove _initialize_mep_tdep prototype.
8336         * mi/mi-cmd-env.c: Remove _initialize_mi_cmd_env prototype.
8337         * mi/mi-cmds.c: Remove _initialize_mi_cmds prototype.
8338         * mi/mi-interp.c: Remove _initialize_mi_interp prototype.
8339         * mi/mi-main.c: Remove _initialize_mi_main prototype.
8340         * microblaze-linux-tdep.c: Remove
8341         _initialize_microblaze_linux_tdep prototype.
8342         * microblaze-tdep.c: Remove _initialize_microblaze_tdep prototype.
8343         * mips-fbsd-nat.c: Remove _initialize_mips_fbsd_nat prototype.
8344         * mips-fbsd-tdep.c: Remove _initialize_mips_fbsd_tdep prototype.
8345         * mips-linux-nat.c: Remove _initialize_mips_linux_nat prototype.
8346         * mips-linux-tdep.c: Remove _initialize_mips_linux_tdep prototype.
8347         * mips-nbsd-nat.c: Remove _initialize_mipsnbsd_nat prototype.
8348         * mips-nbsd-tdep.c: Remove _initialize_mipsnbsd_tdep prototype.
8349         * mips-sde-tdep.c: Remove _initialize_mips_sde_tdep prototype.
8350         * mips-tdep.c: Remove _initialize_mips_tdep prototype.
8351         * mips64-obsd-nat.c: Remove _initialize_mips64obsd_nat prototype.
8352         * mips64-obsd-tdep.c: Remove _initialize_mips64obsd_tdep
8353         prototype.
8354         * mipsread.c: Remove _initialize_mipsread prototype.
8355         * mn10300-linux-tdep.c: Remove _initialize_mn10300_linux_tdep
8356         prototype.
8357         * mn10300-tdep.c: Remove _initialize_mn10300_tdep prototype.
8358         * moxie-tdep.c: Remove _initialize_moxie_tdep prototype.
8359         * msp430-tdep.c: Remove _initialize_msp430_tdep prototype.
8360         * mt-tdep.c: Remove _initialize_mt_tdep prototype.
8361         * nds32-tdep.c: Remove _initialize_nds32_tdep prototype.
8362         * nios2-linux-tdep.c: Remove _initialize_nios2_linux_tdep
8363         prototype.
8364         * nios2-tdep.c: Remove _initialize_nios2_tdep prototype.
8365         * nto-procfs.c: Remove _initialize_procfs prototype.
8366         * nto-tdep.c: Remove _initialize_nto_tdep prototype.
8367         * objc-lang.c: Remove _initialize_objc_language prototype.
8368         * objfiles.c: Remove _initialize_objfiles prototype.
8369         * observer.c: Remove observer_test_first_notification_function,
8370         observer_test_second_notification_function,
8371         observer_test_third_notification_function, and
8372         _initialize_observer prototypes.
8373         * opencl-lang.c: Remove _initialize_opencl_language prototypes.
8374         * osabi.c: Remove _initialize_gdb_osabi prototype.
8375         * osdata.c: Remove _initialize_osdata prototype.
8376         * p-valprint.c: Remove _initialize_pascal_valprint prototype.
8377         * parse.c: Remove _initialize_parse prototype.
8378         * ppc-fbsd-nat.c: Remove _initialize_ppcfbsd_nat prototype.
8379         * ppc-fbsd-tdep.c: Remove _initialize_ppcfbsd_tdep prototype.
8380         * ppc-linux-nat.c: Remove _initialize_ppc_linux_nat prototype.
8381         * ppc-linux-tdep.c: Remove _initialize_ppc_linux_tdep prototype.
8382         * ppc-nbsd-nat.c: Remove _initialize_ppcnbsd_nat prototype.
8383         * ppc-nbsd-tdep.c: Remove _initialize_ppcnbsd_tdep prototype.
8384         * ppc-obsd-nat.c: Remove _initialize_ppcobsd_nat prototype.
8385         * ppc-obsd-tdep.c: Remove _initialize_ppcobsd_tdep prototype.
8386         * printcmd.c: Remove _initialize_printcmd prototype.
8387         * probe.c: Remove _initialize_probe prototype.
8388         * proc-api.c: Remove _initialize_proc_api prototype.
8389         * proc-events.c: Remove _initialize_proc_events prototype.
8390         * proc-service.c: Remove _initialize_proc_service prototype.
8391         * procfs.c: Remove _initialize_procfs prototype.
8392         * psymtab.c: Remove _initialize_psymtab prototype.
8393         * python/python.c: Remove _initialize_python prototype.
8394         * ravenscar-thread.c: Remove _initialize_ravenscar prototype.
8395         * record-btrace.c: Remove _initialize_record_btrace prototype.
8396         * record-full.c: Remove _initialize_record_full prototype.
8397         * record.c: Remove _initialize_record prototype.
8398         * regcache.c: Remove _initialize_regcache prototype.
8399         * reggroups.c: Remove _initialize_reggroup prototype.
8400         * remote-notif.c: Remove _initialize_notif prototype.
8401         * remote-sim.c: Remove _initialize_remote_sim prototype.
8402         * remote.c: Remove _initialize_remote prototype.
8403         * reverse.c: Remove _initialize_reverse prototype.
8404         * rl78-tdep.c: Remove _initialize_rl78_tdep prototype.
8405         * rs6000-aix-tdep.c: Remove _initialize_rs6000_aix_tdep prototype.
8406         * rs6000-lynx178-tdep.c: Remove _initialize_rs6000_lynx178_tdep
8407         prototype.
8408         * rs6000-nat.c: Remove _initialize_rs6000_nat prototype.
8409         * rs6000-tdep.c: Remove _initialize_rs6000_tdep prototype.
8410         * rust-exp.y: Remove _initialize_rust_exp prototype.
8411         * rx-tdep.c: Remove _initialize_rx_tdep prototype.
8412         * s390-linux-nat.c: Remove _initialize_s390_nat prototype.
8413         * s390-linux-tdep.c: Remove _initialize_s390_tdep prototype.
8414         * score-tdep.c: Remove _initialize_score_tdep prototype.
8415         * selftest-arch.c: Remove _initialize_selftests_foreach_arch
8416         prototype.
8417         * ser-go32.c: Remove _initialize_ser_dos prototype.
8418         * ser-mingw.c: Remove _initialize_ser_windows prototype.
8419         * ser-pipe.c: Remove _initialize_ser_pipe prototype.
8420         * ser-tcp.c: Remove _initialize_ser_tcp prototype.
8421         * ser-unix.c: Remove _initialize_ser_hardwire prototype.
8422         * serial.c: Remove _initialize_serial prototype.
8423         * sh-linux-tdep.c: Remove _initialize_sh_linux_tdep prototype.
8424         * sh-nbsd-nat.c: Remove _initialize_shnbsd_nat prototype.
8425         * sh-nbsd-tdep.c: Remove _initialize_shnbsd_tdep prototype.
8426         * sh-tdep.c: Remove _initialize_sh_tdep prototype.
8427         * skip.c: Remove _initialize_step_skip prototype.
8428         * sol-thread.c: Remove _initialize_sol_thread prototype.
8429         * solib-aix.c: Remove _initialize_solib_aix prototype.
8430         * solib-darwin.c: Remove _initialize_darwin_solib prototype.
8431         * solib-dsbt.c: Remove _initialize_dsbt_solib prototype.
8432         * solib-frv.c: Remove _initialize_frv_solib prototype.
8433         * solib-spu.c: Remove _initialize_spu_solib prototype.
8434         * solib-svr4.c: Remove _initialize_svr4_solib prototype.
8435         * solib-target.c: Remove _initialize_solib_target prototype.
8436         * solib.c: Remove _initialize_solib prototype.
8437         * source.c: Remove _initialize_source prototype.
8438         * sparc-linux-nat.c: Remove _initialize_sparc_linux_nat prototype.
8439         * sparc-linux-tdep.c: Remove _initialize_sparc_linux_tdep
8440         prototype.
8441         * sparc-nat.c: Remove _initialize_sparc_nat prototype.
8442         * sparc-nbsd-nat.c: Remove _initialize_sparcnbsd_nat prototype.
8443         * sparc-nbsd-tdep.c: Remove _initialize_sparcnbsd_tdep prototype.
8444         * sparc-obsd-tdep.c: Remove _initialize_sparc32obsd_tdep
8445         prototype.
8446         * sparc-sol2-nat.c: Remove _initialize_sparc_sol2_nat prototype.
8447         * sparc-sol2-tdep.c: Remove _initialize_sparc_sol2_tdep prototype.
8448         * sparc-tdep.c: Remove _initialize_sparc_tdep prototype.
8449         * sparc64-fbsd-nat.c: Remove _initialize_sparc64fbsd_nat
8450         prototype.
8451         * sparc64-fbsd-tdep.c: Remove _initialize_sparc64fbsd_tdep
8452         prototype.
8453         * sparc64-linux-nat.c: Remove _initialize_sparc64_linux_nat
8454         prototype.
8455         * sparc64-linux-tdep.c: Remove _initialize_sparc64_linux_tdep
8456         prototype.
8457         * sparc64-nat.c: Remove _initialize_sparc64_nat prototype.
8458         * sparc64-nbsd-nat.c: Remove _initialize_sparc64nbsd_nat
8459         prototype.
8460         * sparc64-nbsd-tdep.c: Remove _initialize_sparc64nbsd_tdep
8461         prototype.
8462         * sparc64-obsd-nat.c: Remove _initialize_sparc64obsd_nat
8463         prototype.
8464         * sparc64-obsd-tdep.c: Remove _initialize_sparc64obsd_tdep
8465         prototype.
8466         * sparc64-sol2-tdep.c: Remove _initialize_sparc64_sol2_tdep
8467         prototype.
8468         * spu-linux-nat.c: Remove _initialize_spu_nat prototype.
8469         * spu-multiarch.c: Remove _initialize_spu_multiarch prototype.
8470         * spu-tdep.c: Remove _initialize_spu_tdep prototype.
8471         * stabsread.c: Remove _initialize_stabsread prototype.
8472         * stack.c: Remove _initialize_stack prototype.
8473         * stap-probe.c: Remove _initialize_stap_probe prototype.
8474         * std-regs.c: Remove _initialize_frame_reg prototype.
8475         * symfile-debug.c: Remove _initialize_symfile_debug prototype.
8476         * symfile-mem.c: Remove _initialize_symfile_mem prototype.
8477         * symfile.c: Remove _initialize_symfile prototype.
8478         * symmisc.c: Remove _initialize_symmisc prototype.
8479         * symtab.c: Remove _initialize_symtab prototype.
8480         * target-dcache.c: Remove _initialize_target_dcache prototype.
8481         * target-descriptions.c: Remove _initialize_target_descriptions
8482         prototype.
8483         * thread.c: Remove _initialize_thread prototype.
8484         * tic6x-linux-tdep.c: Remove _initialize_tic6x_linux_tdep
8485         prototype.
8486         * tic6x-tdep.c: Remove _initialize_tic6x_tdep prototype.
8487         * tilegx-linux-nat.c: Remove _initialize_tile_linux_nat prototype.
8488         * tilegx-linux-tdep.c: Remove _initialize_tilegx_linux_tdep
8489         prototype.
8490         * tilegx-tdep.c: Remove _initialize_tilegx_tdep prototype.
8491         * tracefile-tfile.c: Remove _initialize_tracefile_tfile prototype.
8492         * tracefile.c: Remove _initialize_tracefile prototype.
8493         * tracepoint.c: Remove _initialize_tracepoint prototype.
8494         * tui/tui-hooks.c: Remove _initialize_tui_hooks prototype.
8495         * tui/tui-interp.c: Remove _initialize_tui_interp prototype.
8496         * tui/tui-layout.c: Remove _initialize_tui_layout prototype.
8497         * tui/tui-regs.c: Remove _initialize_tui_regs prototype.
8498         * tui/tui-stack.c: Remove _initialize_tui_stack prototype.
8499         * tui/tui-win.c: Remove _initialize_tui_win prototype.
8500         * tui/tui.c: Remove _initialize_tui prototype.
8501         * typeprint.c: Remove _initialize_typeprint prototype.
8502         * user-regs.c: Remove _initialize_user_regs prototype.
8503         * utils.c: Remove _initialize_utils prototype.
8504         * v850-tdep.c: Remove _initialize_v850_tdep prototype.
8505         * valarith.c: Remove _initialize_valarith prototype.
8506         * valops.c: Remove _initialize_valops prototype.
8507         * valprint.c: Remove _initialize_valprint prototype.
8508         * value.c: Remove _initialize_values prototype.
8509         * varobj.c: Remove _initialize_varobj prototype.
8510         * vax-bsd-nat.c: Remove _initialize_vaxbsd_nat prototype.
8511         * vax-nbsd-tdep.c: Remove _initialize_vaxnbsd_tdep prototype.
8512         * vax-tdep.c: Remove _initialize_vax_tdep prototype.
8513         * windows-nat.c: Remove _initialize_windows_nat,
8514         _initialize_check_for_gdb_ini, and _initialize_loadable
8515         prototypes.
8516         * windows-tdep.c: Remove _initialize_windows_tdep prototype.
8517         * xcoffread.c: Remove _initialize_xcoffread prototype.
8518         * xml-support.c: Remove _initialize_xml_support prototype.
8519         * xstormy16-tdep.c: Remove _initialize_xstormy16_tdep prototype.
8520         * xtensa-linux-nat.c: Remove _initialize_xtensa_linux_nat
8521         prototype.
8522         * xtensa-linux-tdep.c: Remove _initialize_xtensa_linux_tdep
8523         prototype.
8524         * xtensa-tdep.c: Remove _initialize_xtensa_tdep prototype.
8525
8526 2017-09-08  Keith Seitz  <keiths@redhat.com>
8527
8528         * dwarf2read.c (struct field_info) <fnfields>: Remove unused
8529         field.
8530
8531 2017-09-08  Christoph Weinmann  <christoph.t.weinmann@intel.com>
8532
8533         * f-valprint.c (f_val_print): Remove check for one byte
8534         sized integers. Remove printing of character type.
8535
8536 2017-09-08  Frank Penczek  <frank.penczek@intel.com>
8537             Christoph Weinmann  <christoph.t.weinmann@intel.com>
8538             Bernhard Heckel  <bernhard.heckel@intel.com>
8539
8540         * f-typeprint.c (f_type_print_base): Use fprintfi_filtered
8541         to maintain proper indentation when printing pointers/refs.
8542
8543 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8544
8545         GDB 8.0.1 released.
8546
8547 2017-09-07  Joel Brobecker  <brobecker@adacore.com>
8548
8549         * NEWS (Changes in GDB 7.11): Remove entry for QStartupWithShell.
8550
8551 2017-09-05  Tom Tromey  <tom@tromey.com>
8552
8553         * parse.c (funcall_chain): Now a std::vector.
8554         (start_arglist, end_arglist): Simplify.
8555         (free_funcalls): Remove.
8556         (parse_exp_in_context_1): Remove cleanup.
8557
8558 2017-09-05  Tom Tromey  <tom@tromey.com>
8559
8560         * go-exp.y (go_parse): Don't create a cleanup.
8561
8562 2017-09-05  Tom Tromey  <tom@tromey.com>
8563
8564         * d-exp.y (PrimaryExpression): Use std::string.
8565         (d_parse): Don't create a cleanup.
8566
8567 2017-09-05  Tom Tromey  <tom@tromey.com>
8568
8569         * utils.c (do_clear_parser_state): Remove.
8570         (make_cleanup_clear_parser_state): Remove.
8571         * p-exp.y (pascal_parse): Use scoped_restore.
8572         * m2-exp.y (m2_parse): Use scoped_restore.
8573         * f-exp.y (f_parse): Use scoped_restore.
8574         * d-exp.y (d_parse): Use scoped_restore.
8575         * c-exp.y (c_parse): Use scoped_restore.
8576         * ada-exp.y (ada_parse): Use scoped_restore.
8577         * utils.h (make_cleanup_clear_parser_state): Remove.
8578
8579 2017-09-06  Keith Seitz  <keiths@redhat.com>
8580
8581         * dwarf2read.c (dw2_linkage_name_attr): New function.
8582         (dw2_linkage_name): New function.
8583         (dwarf2_compute_name, dwarf2_physname, read_call_site_scope)
8584         (guess_full_die_structure_name, dwarf2_name): Use dw2_linkage_name.
8585         (anonymous_struct_prefix, dwarf2_name): Use dw2_linkage_name_attr.
8586
8587 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8588
8589         * config/djgpp/djconfig.sh: Correct shell portability issue.
8590
8591 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8592
8593         * configure.nat: Define HAVE_NATIVE_GCORE_HOST on NetBSD.
8594
8595 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8596
8597         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
8598         * NEWS: Mention new FreeBSD/mips native configuration.
8599         * configure.host: Add aarch64*-*-freebsd*.
8600         * configure.nat: Likewise.
8601         * aarch64-fbsd-nat.c: New file.
8602
8603 2017-09-06  John Baldwin  <jhb@FreeBSD.org>
8604
8605         * Makefile.in (ALL_64_TARGET_OBS): Add aarch64-fbsd-tdep.o.
8606         (ALLDEPFILES): Add aarch64-fbsd-tdep.c.
8607         * NEWS: Mention new FreeBSD/aarch64 target.
8608         * configure.tgt: Add aarch64*-*-freebsd*.
8609         * aarch64-fbsd-tdep.c: New file.
8610         * aarch64-fbsd-tdep.h: New file.
8611
8612 2017-09-06  Kamil Rytarowski  <n54@gmx.com>
8613
8614         * MAINTAINERS (Write After Approval): Add Kamil Rytarowski.
8615
8616 2017-09-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
8617
8618         * parse.c (find_minsym_type_and_address): Don't relocate addresses
8619         of TLS symbols.
8620
8621 2017-09-05  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
8622
8623         * objfiles.c (get_objfile_bfd_data): Remove useless obstack_init
8624         call.
8625
8626 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8627
8628         * infrun.c (follow_exec): Call add_thread after
8629         target_find_description.
8630
8631 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8632
8633         * infrun.c (handle_inferior_event_1): When exec'ing, read
8634         stop_pc after follow_exec.
8635
8636 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8637
8638         * remote.c (process_g_packet): Update error message.
8639
8640 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8641
8642         * configure.tgt (gdb_target_obs): Add i386.o for x86_64-*
8643         targets.
8644
8645 2017-09-05  Pedro Alves  <palves@redhat.com>
8646
8647         * eval.c (eval_call, evaluate_funcall): New functions, factored
8648         out from ...
8649         (evaluate_subexp_standard): ... this.
8650
8651 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8652
8653         * amd64-tdep.c (amd64_target_description): Create target
8654         descriptions.
8655         (_initialize_amd64_tdep): Don't call functions
8656         initialize_tdesc_amd64_*.  Add self tests.
8657         * arch/amd64.c (amd64_create_target_description): Add parameter
8658         is_linux.  Call set_tdesc_osabi if is_linux is true.
8659         * arch/amd64.h (amd64_create_target_description): Update the
8660         declaration.
8661         * arch/i386.c (i386_create_target_description): Add parameter
8662         is_linux.  Call set_tdesc_osabi if is_linux is true.
8663         * arch/i386.h (i386_create_target_description): Update
8664         declaration.
8665         * configure.tgt: Add i386.o to gdb_target_obs.
8666         * features/Makefile (XMLTOC): Remove i386/*.xml.
8667         * features/i386/amd64-avx-avx512.c: Remove.
8668         * features/i386/amd64-avx-mpx-avx512-pku.c: Remove.
8669         * features/i386/amd64-avx-mpx.c: Remove.
8670         * features/i386/amd64-avx.c: Remove.
8671         * features/i386/amd64-mpx.c: Remove.
8672         * features/i386/amd64.c: Remove.
8673         * features/i386/i386-avx-avx512.c: Remove.
8674         * features/i386/i386-avx-mpx-avx512-pku.c: Remove.
8675         * features/i386/i386-avx-mpx.c: Remove.
8676         * features/i386/i386-avx.c: Remove.
8677         * features/i386/i386-mmx.c: Remove.
8678         * features/i386/i386-mpx.c: Remove.
8679         * features/i386/i386.c: Remove.
8680         * i386-tdep.c: Don't include features/i386/i386*.c., include
8681         target-descriptions.h and arch/i386.h.
8682         (i386_target_description): Create target descriptions.
8683         (i386_gdbarch_init): Don't call initialize_tdesc_i386_*
8684         functions.  Do self tests.
8685
8686 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8687
8688         * features/Makefile (XMLTOC): Remove i386/amd64XXX-linux.xml.
8689         * features/i386/amd64-avx-avx512-linux.c: Removed.
8690         * features/i386/amd64-avx-linux.c: Removed.
8691         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Removed.
8692         * features/i386/amd64-avx-mpx-linux.c: Removed.
8693         * features/i386/amd64-linux.c: Removed.
8694         * features/i386/amd64-mpx-linux.c: Removed.
8695         * features/i386/x32-avx-avx512-linux.c: Removed.
8696         * features/i386/x32-avx-linux.c: Removed.
8697         * features/i386/x32-linux.c: Removed.
8698
8699 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8700
8701         * amd64-linux-tdep.c: Include arch/amd64.h.  Don't include
8702         features/i386/*.c.
8703         (amd64_linux_read_description): Call
8704         amd64_create_target_description.
8705         * arch/amd64.c: New file.
8706         * arch/amd64.h: New file.
8707         * configure.tgt (x86_64-*-linux*): Append amd64.o.
8708         * Makefile.in (ALL_64_TARGET_OBS): Append amd64.o.
8709
8710 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8711
8712         * amd64-linux-tdep.c: Don't include amd64-XXX-linux and
8713         x32-XXX-linux.c.  Include 64bit-XX.c and x32-XX.c.
8714         (amd64_linux_read_description): Create target descriptions.
8715         (_initialize_amd64_linux_tdep): Don't call initialize_tdesc_XXX
8716         functions.  Add unit tests.
8717         * features/Makefile (FEATURE_XMLFILES): Append 64bit-XXX.xml and
8718         x32-core.xml.
8719         * features/i386/64bit-avx.c: Generated.
8720         * features/i386/64bit-avx512.c: Generated.
8721         * features/i386/64bit-core.c: Generated.
8722         * features/i386/64bit-linux.c: Generated.
8723         * features/i386/64bit-mpx.c: Generated.
8724         * features/i386/64bit-pkeys.c: Generated.
8725         * features/i386/64bit-segments.c: Generated.
8726         * features/i386/64bit-sse.c: Generated.
8727         * features/i386/x32-core.c: Generated.
8728         * target-descriptions.c (maint_print_c_tdesc_cmd): Print feature
8729         c files for amd64-linux and x32-linux.
8730
8731 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8732
8733         * amd64-linux-tdep.c (amd64_linux_read_description): New
8734         function.
8735         (amd64_linux_core_read_description): Call
8736         amd64_linux_read_description.
8737         (amd64_linux_init_abi): Likewise.
8738         (amd64_x32_linux_init_abi): Likewise.
8739         * amd64-linux-tdep.h (amd64_linux_read_description): Declare.
8740         * x86-linux-nat.c (x86_linux_read_description): Call
8741         amd64_linux_read_description.
8742
8743 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8744
8745         * amd64-linux-tdep.c (amd64_linux_core_read_description): Update
8746         comments.
8747
8748 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8749
8750         * features/Makefile (XMLTOC): Remove i386/i386-XX-linux.xml.
8751         * features/i386/i386-avx-avx512-linux.c: Remove.
8752         * features/i386/i386-avx-linux.c: Remove.
8753         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Remove.
8754         * features/i386/i386-avx-mpx-linux.c: Remove.
8755         * features/i386/i386-linux.c: Remove.
8756         * features/i386/i386-mmx-linux.c: Remove.
8757         * features/i386/i386-mpx-linux.c: Remove.
8758
8759 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8760
8761         * Makefile.in (ALL_TARGET_OBS): Add i386.o.
8762         (SFILES): Add arch/i386.c.
8763         (HFILES_NO_SRCDIR): Add arch/i386.h.
8764         * arch/i386.c: New file.
8765         * arch/i386.h: New file.
8766         * arch/tdesc.h (allocate_target_description): Declare.
8767         (set_tdesc_architecture): Declare.
8768         (set_tdesc_osabi): Declare.
8769         * configure.tgt (i[34567]86-*-linux*): Add i386.o.
8770         * i386-linux-tdep.c: Don't include ../features/i386/32bit-XXX.c.
8771         include arch/i386.h.
8772         (i386_linux_read_description): Remove code and call
8773         i386_create_target_description.
8774         (set_tdesc_architecture): New function.
8775         (set_tdesc_osabi): New function.
8776         * target-descriptions.h (allocate_target_description): Remove.
8777
8778 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8779
8780         * arch/tdesc.h (tdesc_create_feature): Add an argument xml.
8781         * target-descriptions.c (tdesc_create_feature): Likewise, and
8782         adjust code.
8783         * features/i386/32bit-avx.c: Re-generated.
8784         * features/i386/32bit-avx512.c: Re-generated.
8785         * features/i386/32bit-core.c: Re-generated.
8786         * features/i386/32bit-linux.c: Re-generated.
8787         * features/i386/32bit-mpx.c: Re-generated.
8788         * features/i386/32bit-pkeys.c: Re-generated.
8789         * features/i386/32bit-sse.c: Re-generated.
8790
8791 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8792
8793         * regformats/regdef.h (struct reg): Override operator == and !=.
8794
8795 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8796
8797         * arch/tdesc.h: New file.
8798         * regformats/regdat.sh: Generate code using tdesc_create_reg.
8799         * target-descriptions.c: Update comments.
8800         * target-descriptions.h: Include "arch/tdesc.h".  Remove the
8801         declarations.
8802         * features/i386/32bit-avx.c: Re-generated.
8803         * features/i386/32bit-avx512.c: Re-generated.
8804         * features/i386/32bit-core.c: Re-generated.
8805         * features/i386/32bit-linux.c: Re-generated.
8806         * features/i386/32bit-mpx.c: Re-generated.
8807         * features/i386/32bit-pkeys.c: Re-generated.
8808         * features/i386/32bit-sse.c: Re-generated.
8809
8810 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8811
8812         * regformats/regdat.sh: Update generated code.
8813
8814 2017-09-05  Yao Qi  <yao.qi@linaro.org>
8815
8816         * regformats/regdat.sh: Adjust code order.
8817
8818 2017-09-05  Simon Marchi  <simon.marchi@ericsson.com>
8819
8820         * expprint.c (dump_subexp_body_standard): Use constant format
8821         string in fprintf_filtered call.
8822
8823 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8824
8825         * configure.nat: Add "x86-nat.o x86-dregs.o" for NetBSD/amd64 and
8826         NetBSD/i386.
8827         * x86-bsd-nat.c [!DBREG_DRX && __NetBSD__]: Define DBREG_DRX.
8828
8829 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8830
8831         * bsd-kvm.o: Make <sys/user.h> conditional on HAVE_SYS_USER_H.
8832
8833 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8834
8835         * bsd-kvm.o: Define _KMEMUSER.
8836         * configure.ac: Define _KMEMUSER when checking for "struct lwp".
8837         * configure: Regenerate.
8838
8839 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8840
8841         * amd64-fbsd-nat.c: Add include of "x86-xstate.h".
8842         * i386-fbsd-nat.c: Likewise.
8843
8844 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8845
8846         * unittests/array-view-selftests.c: Add include of <array>.
8847
8848 2017-09-04  John Baldwin  <jhb@FreeBSD.org>
8849
8850         * spu-tdep.c (flush_ea_cache): Add missing argument to
8851         call_function_by_hand.
8852
8853 2017-09-04  Pedro Alves  <palves@redhat.com>
8854
8855         * NEWS (Safer support for debugging with no debug info): New.
8856
8857 2017-09-04  Pedro Alves  <palves@redhat.com>
8858
8859         * c-exp.y (function_method, function_method_void): Add current
8860         instance flags to TYPE_INSTANCE.
8861         * dwarf2read.c (check_modifier): New.
8862         (compute_delayed_physnames): Assert that only C++ adds delayed
8863         physnames.  Mark fn_fields as const/volatile depending on
8864         physname.
8865         * eval.c (make_params): New type_instance_flags parameter.  Use
8866         it as the new type's instance flags.
8867         (evaluate_subexp_standard) <TYPE_INSTANCE>: Extract the instance
8868         flags element and pass it to make_params.
8869         * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: Handle
8870         instance flags element.
8871         (dump_subexp_body_standard) <TYPE_INSTANCE>: Likewise.
8872         * gdbtypes.h: Include "enum-flags.h".
8873         (type_instance_flags): New enum-flags type.
8874         (TYPE_CONST, TYPE_VOLATILE, TYPE_RESTRICT, TYPE_ATOMIC)
8875         (TYPE_CODE_SPACE, TYPE_DATA_SPACE): Return boolean.
8876         * parse.c (operator_length_standard) <TYPE_INSTANCE>: Adjust.
8877         (follow_type_instance_flags): New function.
8878         (operator_check_standard) <TYPE_INSTANCE>: Adjust.
8879         * parser-defs.h (follow_type_instance_flags): Declare.
8880         * valops.c (value_struct_elt_for_reference): const/volatile must
8881         match too.
8882
8883 2017-09-04  Pedro Alves  <palves@redhat.com>
8884
8885         * cp-namespace.c (cp_search_static_and_baseclasses): Handle
8886         function/method scopes; lookup the nested name as a function local
8887         static variable.
8888
8889 2017-09-04  Pedro Alves  <palves@redhat.com>
8890
8891         (%type <voidval>): Add function_method.
8892         * c-exp.y (exp): New production for calls with no arguments.
8893         (function_method, function_method_void_or_typelist): New
8894         productions.
8895         (exp): New production for "method()::static_var".
8896         * eval.c (evaluate_subexp_standard): Handle OP_FUNC_STATIC_VAR.
8897         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8898         Handle OP_FUNC_STATIC_VAR.
8899         * parse.c (operator_length_standard):
8900         Handle OP_FUNC_STATIC_VAR.
8901
8902 2017-09-04  Pedro Alves  <palves@redhat.com>
8903
8904         * eval.c (evaluate_subexp_standard): Remove UNOP_MEMVAL_TLS
8905         handling.
8906         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8907         Ditto.
8908         * parse.c (operator_length_standard, operator_check_standard):
8909         Ditto.
8910         * std-operator.def (UNOP_MEMVAL_TLS): Delete.
8911
8912 2017-09-04  Pedro Alves  <palves@redhat.com>
8913
8914         * ax-gdb.c: Include "typeprint.h".
8915         (gen_expr_for_cast): New function.
8916         (gen_expr) <OP_CAST, OP_CAST_TYPE>: Use it.
8917         <OP_VAR_VALUE, OP_MSYM_VAR_VALUE>: Error out if the variable's
8918         type is unknown.
8919         * dwarf2read.c (new_symbol_full): Fallback to int instead of
8920         nodebug_data_symbol.
8921         * eval.c: Include "typeprint.h".
8922         (evaluate_subexp_standard) <OP_VAR_VALUE, OP_VAR_MSYM_VALUE>:
8923         Error out if symbol has unknown type.
8924         <UNOP_CAST, UNOP_CAST_TYPE>: Common bits factored out to
8925         evaluate_subexp_for_cast.
8926         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof): Handle
8927         OP_VAR_MSYM_VALUE.
8928         (evaluate_subexp_for_cast): New function.
8929         * gdbtypes.c (init_nodebug_var_type): New function.
8930         (objfile_type): Use it to initialize types of variables with no
8931         debug info.
8932         * typeprint.c (error_unknown_type): New.
8933         * typeprint.h (error_unknown_type): New declaration.
8934         * compile/compile-c-types.c (convert_type_basic): Handle
8935         TYPE_CODE_ERROR; warn and fallback to int for variables with
8936         unknown type.
8937
8938 2017-09-04  Pedro Alves  <palves@redhat.com>
8939
8940         * eval.c (evaluate_var_value): New function, factored out from ...
8941         (evaluate_subexp_standard): ... here.
8942
8943 2017-09-04  Pedro Alves  <palves@redhat.com>
8944
8945         * eval.c (evaluate_subexp_standard) <UNOP_COMPLEMENT, UNOP_ADDR>:
8946         Remove useless assignments to 'op'.
8947
8948 2017-09-04  Pedro Alves  <palves@redhat.com>
8949
8950         * eval.c (eval_skip_value): New function.
8951         (evaluate_subexp_standard): Use it.
8952
8953 2017-09-04  Pedro Alves  <palves@redhat.com>
8954
8955         * eval.c (evaluate_subexp_standard): <OP_FUNCALL>: Extract
8956         function name from symbol/minsym and pass it to
8957         error_call_unknown_return_type.
8958
8959 2017-09-04  Pedro Alves  <palves@redhat.com>
8960
8961         * ada-lang.c (resolve_subexp): Handle OP_VAR_MSYM_VALUE.
8962         * ax-gdb.c (gen_msym_var_ref): New function.
8963         (gen_expr): Handle OP_VAR_MSYM_VALUE.
8964         * eval.c (evaluate_var_msym_value): New function.
8965         * eval.c (evaluate_subexp_standard): Handle OP_VAR_MSYM_VALUE.
8966         <OP_FUNCALL>: Extract function name from symbol/minsym and pass it
8967         to call_function_by_hand.
8968         * expprint.c (print_subexp_standard, dump_subexp_body_standard):
8969         Handle OP_VAR_MSYM_VALUE.
8970         (union exp_element) <msymbol>: New field.
8971         * minsyms.h (struct type): Forward declare.
8972         (find_minsym_type_and_address): Declare.
8973         * parse.c (write_exp_elt_msym): New function.
8974         (write_exp_msymbol): Delete, refactored as ...
8975         (find_minsym_type_and_address): ... this new function.
8976         (write_exp_msymbol): Reimplement using OP_VAR_MSYM_VALUE.
8977         (operator_length_standard, operator_check_standard): Handle
8978         OP_VAR_MSYM_VALUE.
8979         * std-operator.def (OP_VAR_MSYM_VALUE): New.
8980
8981 2017-09-04  Pedro Alves  <palves@redhat.com>
8982
8983         * ada-lang.c (ada_evaluate_subexp) <TYPE_CODE_FUNC>: Don't handle
8984         TYPE_GNU_IFUNC specially here.  Throw error if return type is
8985         unknown.
8986         * ada-typeprint.c (print_func_type): Handle functions with unknown
8987         return type.
8988         * c-typeprint.c (c_type_print_base): Handle functions and methods
8989         with unknown return type.
8990         * compile/compile-c-symbols.c (convert_symbol_bmsym)
8991         <mst_text_gnu_ifunc>: Use nodebug_text_gnu_ifunc_symbol.
8992         * compile/compile-c-types.c: Include "objfiles.h".
8993         (convert_func): For functions with unknown return type, warn and
8994         default to int.
8995         * compile/compile-object-run.c (compile_object_run): Adjust call
8996         to call_function_by_hand_dummy.
8997         * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust call to
8998         call_function_by_hand.
8999         * eval.c (evaluate_subexp_standard): Adjust calls to
9000         call_function_by_hand.  Handle functions and methods with unknown
9001         return type.  Pass expect_type to call_function_by_hand.
9002         * f-typeprint.c (f_type_print_base): Handle functions with unknown
9003         return type.
9004         * gcore.c (call_target_sbrk): Adjust call to
9005         call_function_by_hand.
9006         * gdbtypes.c (objfile_type): Leave nodebug text symbol with NULL
9007         return type instead of int.  Make nodebug_text_gnu_ifunc_symbol be
9008         an integer address type instead of nodebug.
9009         * guile/scm-value.c (gdbscm_value_call): Adjust call to
9010         call_function_by_hand.
9011         * infcall.c (error_call_unknown_return_type): New function.
9012         (call_function_by_hand): New "default_return_type" parameter.
9013         Pass it down.
9014         (call_function_by_hand_dummy): New "default_return_type"
9015         parameter.  Use it instead of defaulting to int.  If there's no
9016         default and the return type is unknown, throw an error.  If
9017         there's a default return type, and the called function has no
9018         debug info, then assume the function is prototyped.
9019         * infcall.h (call_function_by_hand, call_function_by_hand_dummy):
9020         New "default_return_type" parameter.
9021         (error_call_unknown_return_type): New declaration.
9022         * linux-fork.c (call_lseek): Cast return type of lseek.
9023         (inferior_call_waitpid, checkpoint_command): Adjust calls to
9024         call_function_by_hand.
9025         * linux-tdep.c (linux_infcall_mmap, linux_infcall_munmap): Adjust
9026         calls to call_function_by_hand.
9027         * m2-typeprint.c (m2_procedure): Handle functions with unknown
9028         return type.
9029         * objc-lang.c (lookup_objc_class, lookup_child_selector)
9030         (value_nsstring, print_object_command): Adjust calls to
9031         call_function_by_hand.
9032         * p-typeprint.c (pascal_type_print_varspec_prefix): Handle
9033         functions with unknown return type.
9034         (pascal_type_print_func_varspec_suffix): New function.
9035         (pascal_type_print_varspec_suffix) <TYPE_CODE_FUNC,
9036         TYPE_CODE_METHOD>: Use it.
9037         * python/py-value.c (valpy_call): Adjust call to
9038         call_function_by_hand.
9039         * rust-lang.c (rust_evaluate_funcall): Adjust call to
9040         call_function_by_hand.
9041         * valarith.c (value_x_binop, value_x_unop): Adjust calls to
9042         call_function_by_hand.
9043         * valops.c (value_allocate_space_in_inferior): Adjust call to
9044         call_function_by_hand.
9045         * typeprint.c (type_print_unknown_return_type): New function.
9046         * typeprint.h (type_print_unknown_return_type): New declaration.
9047
9048 2017-09-04  Pedro Alves  <palves@redhat.com>
9049
9050         * gdbtypes.c (lookup_function_type_with_arguments): Mark function
9051         types with more than one parameter as prototyped.
9052
9053 2017-09-04  Pedro Alves  <palves@redhat.com>
9054
9055         * cli/cli-cmds.c (print_disassembly, disassemble_current_function)
9056         (disassemble_command): Use gdb_disassembly_flags instead of bare
9057         int.
9058         * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
9059         (dump_insns, do_mixed_source_and_assembly_deprecated)
9060         (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
9061         Use gdb_disassembly_flags instead of bare int.
9062         * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
9063         (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
9064         (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
9065         (DISASSEMBLY_SPECULATIVE): No longer macros.  Instead they're...
9066         (enum gdb_disassembly_flag): ... values of this new enumeration.
9067         (gdb_disassembly_flags): Define.
9068         (gdb_disassembly)
9069         (gdb_pretty_print_disassembler::pretty_print_insn): Use it.
9070         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
9071         gdb_disassembly_flags instead of bare int.
9072         * record-btrace.c (btrace_insn_history)
9073         (record_btrace_insn_history, record_btrace_insn_history_range)
9074         (record_btrace_insn_history_from): Use gdb_disassembly_flags
9075         instead of bare int.
9076         * record.c (get_insn_history_modifiers, cmd_record_insn_history):
9077         Use gdb_disassembly_flags instead of bare int.
9078         * target-debug.h (target_debug_print_gdb_disassembly_flags):
9079         Define.
9080         * target-delegates.c: Regenerate.
9081         * target.c (target_insn_history, target_insn_history_from)
9082         (target_insn_history_range): Use gdb_disassembly_flags instead of
9083         bare int.
9084         * target.h: Include "disasm.h".
9085         (struct target_ops) <to_insn_history, to_insn_history_from,
9086         to_insn_history_range>: Use gdb_disassembly_flags instead of bare
9087         int.
9088         (target_insn_history, target_insn_history_from)
9089         (target_insn_history_range): Use gdb_disassembly_flags instead of
9090         bare int.
9091
9092 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9093
9094         * cli/cli-script.c (build_command_line): For if/while commands,
9095         check whether args is empty.
9096
9097 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9098
9099         * cli/cli-script.h (enum misc_command_type): Move from defs.h.
9100         (enum command_control_type): Likewise.
9101         (struct command_line): Likewise.
9102         (free_command_lines): Likewise.
9103         (struct command_lines_deleter): Likewise.
9104         (command_line_up): Likewise.
9105         (read_command_lines): Likewise.
9106         (read_command_lines_1): Likewise.
9107         * defs.h (enum misc_command_type): Move to cli/cli-script.h.
9108         (enum command_control_type): Likewise.
9109         (struct command_line): Likewise.
9110         (free_command_lines): Likewise.
9111         (struct command_lines_deleter): Likewise.
9112         (command_line_up): Likewise.
9113         (read_command_lines): Likewise.
9114         (read_command_lines_1): Likewise.
9115         * breakpoint.h: Include cli/cli-script.h.
9116         * extension-priv.h: Likewise.
9117         * gdbcmd.h: Likewise.
9118
9119 2017-09-04  Pedro Alves  <palves@redhat.com>
9120
9121         * ada-lang.c (is_known_support_routine): Move sal declaration to
9122         where it is initialized.
9123         * breakpoint.c (create_internal_breakpoint, init_catchpoint)
9124         (parse_breakpoint_sals, decode_static_tracepoint_spec)
9125         (clear_command, update_static_tracepoint): Remove init_sal
9126         references.  Move declarations closer to initializations.
9127         * cli/cli-cmds.c (list_command): Move sal declarations closer to
9128         initializations.
9129         * elfread.c (elf_gnu_ifunc_resolver_stop): Remove init_sal
9130         references.  Move sal declarations closer to initializations.
9131         * frame.c (find_frame_sal): Return a symtab_and_line via function
9132         return instead of output parameter.  Remove init_sal references.
9133         * frame.h (find_frame_sal): Return a symtab_and_line via function
9134         return instead of output parameter.
9135         * guile/scm-frame.c (gdbscm_frame_sal): Adjust.
9136         * guile/scm-symtab.c (stscm_make_sal_smob): Use in-place new
9137         instead of memset.
9138         (gdbscm_find_pc_line): Remove init_sal reference.
9139         * infcall.c (call_function_by_hand_dummy): Remove init_sal
9140         references.  Move declarations closer to initializations.
9141         * infcmd.c (set_step_frame): Update.  Move declarations closer to
9142         initializations.
9143         (finish_backward): Remove init_sal references.  Move declarations
9144         closer to initializations.
9145         * infrun.c (process_event_stop_test, handle_step_into_function)
9146         (insert_hp_step_resume_breakpoint_at_frame)
9147         (insert_step_resume_breakpoint_at_caller): Likewise.
9148         * linespec.c (create_sals_line_offset, decode_digits_ordinary)
9149         (symbol_to_sal): Likewise.
9150         * probe.c (parse_probes_in_pspace): Remove init_sal reference.
9151         * python/py-frame.c (frapy_find_sal): Move sal declaration closer
9152         to its initialization.
9153         * reverse.c (save_bookmark_command): Use new/delete.  Remove
9154         init_sal references.  Move declarations closer to initializations.
9155         * source.c (get_current_source_symtab_and_line): Remove brace
9156         initialization.
9157         (set_current_source_symtab_and_line): Now takes the sal by const
9158         reference.  Remove brace initialization.
9159         (line_info): Remove init_sal reference.
9160         * source.h (set_current_source_symtab_and_line): Now takes a
9161         symtab_and_line via const reference.
9162         * stack.c (set_current_sal_from_frame): Adjust.
9163         (print_frame_info): Adjust.
9164         (get_last_displayed_sal): Return the sal via function return
9165         instead of via output parameter.  Simplify.
9166         (frame_info): Adjust.
9167         * stack.h (get_last_displayed_sal): Return the sal via function
9168         return instead of via output parameter.
9169         * symtab.c (init_sal): Delete.
9170         (find_pc_sect_line): Remove init_sal references.  Move
9171         declarations closer to initializations.
9172         (find_function_start_sal): Remove init_sal references.  Move
9173         declarations closer to initializations.
9174         * symtab.h (struct symtab_and_line): In-class initialize all
9175         fields.
9176         * tracepoint.c (set_traceframe_context)
9177         (print_one_static_tracepoint_marker): Remove init_sal references.
9178         Move declarations closer to initializations.
9179         * tui/tui-disasm.c (tui_show_disassem_and_update_source): Adjust.
9180         * tui/tui-stack.c (tui_show_frame_info): Adjust.  Move
9181         declarations closer to initializations.
9182         * tui/tui-winsource.c (tui_update_source_window_as_is): Remove
9183         init_sal references.  Adjust.
9184
9185 2017-09-04  Pedro Alves  <palves@redhat.com>
9186
9187         * ax-gdb.c (agent_command_1): Use range-for.
9188         * break-catch-throw.c (re_set_exception_catchpoint): Update.
9189         * breakpoint.c: Include "common/array-view.h".
9190         (init_breakpoint_sal, create_breakpoint_sal): Change sals
9191         parameter from struct symtabs_and_lines to
9192         array_view<symtab_and_line>.  Adjust.  Use range-for.  Update.
9193         (breakpoint_sals_to_pc): Change sals parameter from struct
9194         symtabs_and_lines to std::vector reference.
9195         (check_fast_tracepoint_sals): Change sals parameter from struct
9196         symtabs_and_lines to std::array_view.  Use range-for.
9197         (decode_static_tracepoint_spec): Return a std::vector instead of
9198         symtabs_and_lines.  Update.
9199         (create_breakpoint): Update.
9200         (break_range_command, until_break_command, clear_command): Update.
9201         (base_breakpoint_decode_location, bkpt_decode_location)
9202         (bkpt_probe_create_sals_from_location)
9203         (bkpt_probe_decode_location, tracepoint_decode_location)
9204         (tracepoint_probe_decode_location)
9205         (strace_marker_create_sals_from_location): Return a std::vector
9206         instead of symtabs_and_lines.
9207         (strace_marker_create_breakpoints_sal): Update.
9208         (strace_marker_decode_location): Return a std::vector instead of
9209         symtabs_and_lines.  Update.
9210         (update_breakpoint_locations): Change struct symtabs_and_lines
9211         parameters to gdb::array_view.  Adjust.
9212         (location_to_sals): Return a std::vector instead of
9213         symtabs_and_lines.  Update.
9214         (breakpoint_re_set_default): Use std::vector instead of struct
9215         symtabs_and_lines.
9216         (decode_location_default): Return a std::vector instead of
9217         symtabs_and_lines.  Update.
9218         * breakpoint.h: Include "common/array-view.h".
9219         (struct breakpoint_ops) <decode_location>: Now returns a
9220         std::vector instead of returning a symtabs_and_lines via output
9221         parameter.
9222         (update_breakpoint_locations): Change sals parameters to use
9223         gdb::array_view.
9224         * cli/cli-cmds.c (edit_command, list_command): Update to use
9225         std::vector and gdb::array_view.
9226         (ambiguous_line_spec): Adjust to use gdb::array_view and
9227         range-for.
9228         (compare_symtabs): Rename to ...
9229         (cmp_symtabs): ... this.  Change parameters to symtab_and_line
9230         const reference and adjust.
9231         (filter_sals): Rewrite using std::vector and standard algorithms.
9232         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Simplify.
9233         (jump_command): Update to use std::vector.
9234         * linespec.c (struct linespec_state) <canonical_names>: Update
9235         comment.
9236         (add_sal_to_sals_basic): Delete.
9237         (add_sal_to_sals, filter_results, convert_results_to_lsals)
9238         (decode_line_2, create_sals_line_offset)
9239         (convert_address_location_to_sals, convert_linespec_to_sals)
9240         (convert_explicit_location_to_sals, parse_linespec)
9241         (event_location_to_sals, decode_line_full, decode_line_1)
9242         (decode_line_with_current_source)
9243         (decode_line_with_last_displayed, decode_objc)
9244         (decode_digits_list_mode, decode_digits_ordinary, minsym_found)
9245         (linespec_result::~linespec_result): Adjust to use std::vector
9246         instead of symtabs_and_lines.
9247         * linespec.h (linespec_sals::sals): Now a std::vector.
9248         (struct linespec_result): Use std::vector, bool, and in-class
9249         initialization.
9250         (decode_line_1, decode_line_with_current_source)
9251         (decode_line_with_last_displayed): Return std::vector.
9252         * macrocmd.c (info_macros_command): Use std::vector.
9253         * mi/mi-main.c (mi_cmd_trace_find): Use std::vector.
9254         * probe.c (parse_probes_in_pspace, parse_probes): Adjust to use
9255         std::vector.
9256         * probe.h (parse_probes): Return a std::vector.
9257         * python/python.c (gdbpy_decode_line): Use std::vector and
9258         gdb::array_view.
9259         * source.c (select_source_symtab, line_info): Use std::vector.
9260         * stack.c (func_command): Use std::vector.
9261         * symtab.h (struct symtabs_and_lines): Delete.
9262         * tracepoint.c (tfind_line_command, scope_info): Use std::vector.
9263
9264 2017-09-04  Pedro Alves  <palves@redhat.com>
9265
9266         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
9267         unittests/array-view-selftests.c.
9268         (SUBDIR_UNITTESTS_OBS): Add array-view-selftests.o.
9269         * common/array-view.h: New file.
9270         * unittests/array-view-selftests.c: New file.
9271
9272 2017-09-04  Pedro Alves  <palves@redhat.com>
9273
9274         * cli/cli-cmds.c (edit_command): Pass message to
9275         ambiguous_line_spec.
9276         (list_command): Pass message to ambiguous_line_spec.  Say
9277         "first"/"last" instead of "start" and "end" to be consistent with
9278         the manual.
9279         (ambiguous_line_spec): Add 'format' and vararg parameters.  Use
9280         them to print formatted message.
9281
9282 2017-09-04  Pedro Alves  <palves@redhat.com>
9283
9284         * btrace.c (ftrace_add_pt): Pass btrace_insn to
9285         ftrace_update_insns by reference instead of pointer.
9286
9287 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9288
9289         * i386-go32-tdep.c: Include x86-xstate.h.
9290         (i386_go32_init_abi): Call i386_target_description.
9291         * i386-tdep.c (i386_target_description): Return tdesc_i386_mmx
9292         if xcr0 is X86_XSTATE_X87_MASK.
9293         * i386-tdep.h (tdesc_i386): Remove the declaration.
9294         (tdesc_i386_mmx): Likewise.
9295
9296 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9297
9298         * i386-fbsd-tdep.c (i386fbsd_core_read_xcr0): Return
9299         X86_XSTATE_SSE_MASK instead of 0.
9300
9301 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9302
9303         * amd64-fbsd-nat.c (amd64fbsd_read_description): Call
9304         i386_target_description.
9305         * i386-fbsd-nat.c (i386fbsd_read_description): Call
9306         i386_target_description.
9307         * i386-tdep.c (i386_gdbarch_init): Likewise.
9308
9309 2017-09-04  Yao Qi  <yao.qi@linaro.org>
9310
9311         * amd64-darwin-tdep.c: Include "x86-xstate.h".
9312         (x86_darwin_init_abi_64): Call amd64_target_description.
9313         * amd64-dicos-tdep.c: Likewise.
9314         * amd64-fbsd-nat.c: Likewise.
9315         * amd64-fbsd-tdep.c: Likewise.
9316         * amd64-nbsd-tdep.c: Likewise.
9317         * amd64-obsd-tdep.c: Likewise.
9318         * amd64-sol2-tdep.c: Likewise.
9319         * amd64-windows-tdep.c: Likewise.
9320         * amd64-tdep.h (tdesc_amd64): Remove the declaration.
9321
9322 2017-09-04  Simon Marchi  <simon.marchi@ericsson.com>
9323
9324         * btrace.h (btrace_insn_s, DEF_VEC_O (btrace_insn_s)): Remove.
9325         (btrace_function) <insn>: Change type to use std::vector.
9326         * btrace.c (ftrace_debug, ftrace_call_num_insn,
9327         ftrace_find_call, ftrace_new_gap, ftrace_update_function,
9328         ftrace_update_insns, ftrace_compute_global_level_offset,
9329         btrace_stitch_bts, btrace_clear, btrace_insn_get,
9330         btrace_insn_end, btrace_insn_next, btrace_insn_prev): Adjust to
9331         change to std::vector.
9332         (ftrace_update_insns): Adjust to change to std::vector, change
9333         type of INSN parameter.
9334         (btrace_compute_ftrace_bts): Adjust call to ftrace_update_insns.
9335         * record-btrace.c (btrace_call_history_insn_range,
9336         btrace_compute_src_line_range,
9337         record_btrace_frame_prev_register): Adjust to change to
9338         std::vector.
9339         * python/py-record-btrace.c (recpy_bt_func_instructions): Adjust
9340         to change to std::vector.
9341
9342 2017-09-03  Tom Tromey  <tom@tromey.com>
9343
9344         * corefile.c (reopen_exec_file): Use std::string.
9345
9346 2017-09-03  Tom Tromey  <tom@tromey.com>
9347
9348         * compile/compile.c (compile_register_name_mangled): Return
9349         std::string.
9350         * compile/compile-loc2c.c (pushf_register_address): Update.
9351         (pushf_register): Update.
9352         * compile/compile-c-types.c (convert_array): Update.
9353         * compile/compile-c-symbols.c (generate_vla_size): Update.
9354         (error_symbol_once): Use a gdb::unique_xmalloc_ptr.
9355         (symbol_substitution_name): Return a gdb::unique_xmalloc_ptr.
9356         (convert_one_symbol): Update.
9357         (generate_c_for_for_one_variable): Update.
9358         * compile/compile-c-support.c (c_get_range_decl_name): Return a
9359         std::string.
9360         (generate_register_struct): Update.
9361         * compile/compile-internal.h (c_get_range_decl_name): Return a
9362         std::string.
9363         (compile_register_name_mangled): Return std::string.
9364
9365 2017-09-03  Tom Tromey  <tom@tromey.com>
9366
9367         * utils.c (perror_string): Return a std::string.
9368         (throw_perror_with_name, perror_warning_with_name): Update.
9369
9370 2017-09-03  Tom Tromey  <tom@tromey.com>
9371
9372         * demangle.c (demangle_command): Use std::string,
9373         unique_xmalloc_ptr.
9374
9375 2017-09-03  Tom Tromey  <tom@tromey.com>
9376
9377         * cli/cli-setshow.c (do_set_command): Use std::string.
9378
9379 2017-09-03  Tom Tromey  <tom@tromey.com>
9380
9381         * cli/cli-cmds.c (cd_command): Use gdb::unique_xmalloc_ptr.
9382
9383 2017-09-03  Tom Tromey  <tom@tromey.com>
9384
9385         * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
9386
9387 2017-09-03  Tom Tromey  <tom@tromey.com>
9388
9389         * mi/mi-cmd-env.c (env_execute_cli_command): Use
9390         gdb::unique_xmalloc_ptr.
9391
9392 2017-09-03  Tom Tromey  <tom@tromey.com>
9393
9394         * thread.c (print_thread_info_1): Use string_printf.
9395         (thread_apply_command, thread_apply_all_command): Use
9396         std::string.
9397
9398 2017-09-03  Tom Tromey  <tom@tromey.com>
9399
9400         * valprint.c (val_print_string): Update.
9401         * gdbcore.h (memory_error_message): Return std::string.
9402         * corefile.c (memory_error_message): Return std::string.
9403         (memory_error): Update.
9404         * breakpoint.c (insert_bp_location): Update.
9405
9406 2017-09-03  Simon Marchi  <simon.marchi@ericsson.com>
9407
9408         * target/waitstatus.h (target_waitstatus_to_string): Change
9409         return type to std::string.
9410         * target/waitstatus.c (target_waitstatus_to_string): Return
9411         std::string.
9412         * target.h (target_waitstatus_to_string): Remove declaration.
9413         * infrun.c (resume, clear_proceed_status_thread,
9414         print_target_wait_results, do_target_wait, save_waitstatus,
9415         stop_all_threads): Adjust.
9416         * record-btrace.c (record_btrace_wait): Adjust.
9417         * target-debug.h
9418         (target_debug_print_struct_target_waitstatus_p): Adjust.
9419
9420 2017-09-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
9421
9422         PR gdb/22046
9423         * nat/linux-procfs.c (parse_proc_status_state): Fix PROC_STATE_STOPPED
9424         detection.
9425
9426 2017-08-31  Sergio Durigan Junior  <sergiodj@redhat.com>
9427
9428         * NEWS (Changes since GDB 8.0): Add entry mentioning new support
9429         for setting/unsetting environment variables on the remote target.
9430         (New remote packets): Add entries for QEnvironmentHexEncoded,
9431         QEnvironmentUnset and QEnvironmentReset.
9432         * common/environ.c (gdb_environ::operator=): Extend method to
9433         handle m_user_set_env_list and m_user_unset_env_list.
9434         (gdb_environ::clear): Likewise.
9435         (match_var_in_string): Change type of first parameter from 'char
9436         *' to 'const char *'.
9437         (gdb_environ::set): Extend method to handle
9438         m_user_set_env_list and m_user_unset_env_list.
9439         (gdb_environ::unset): Likewise.
9440         (gdb_environ::clear_user_set_env): New method.
9441         (gdb_environ::user_set_envp): Likewise.
9442         (gdb_environ::user_unset_envp): Likewise.
9443         * common/environ.h (gdb_environ): Handle m_user_set_env_list and
9444         m_user_unset_env_list on move constructor/assignment.
9445         (unset): Add new default parameter 'update_unset_list = true'.
9446         (clear_user_set_env): New method.
9447         (user_set_envp): Likewise.
9448         (user_unset_envp): Likewise.
9449         (m_user_set_env_list): New std::set.
9450         (m_user_unset_env_list): Likewise.
9451         * common/rsp-low.c (hex2str): New function.
9452         (bin2hex): New overload for bin2hex function.
9453         * common/rsp-low.c (hex2str): New prototype.
9454         (str2hex): New overload prototype.
9455         * remote.c: Include "environ.h". Add QEnvironmentHexEncoded,
9456         QEnvironmentUnset and QEnvironmentReset.
9457         (remote_protocol_features): Add QEnvironmentHexEncoded,
9458         QEnvironmentUnset and QEnvironmentReset packets.
9459         (send_environment_packet): New function.
9460         (extended_remote_environment_support): Likewise.
9461         (extended_remote_create_inferior): Call
9462         extended_remote_environment_support.
9463         (_initialize_remote): Add QEnvironmentHexEncoded,
9464         QEnvironmentUnset and QEnvironmentReset packet configs.
9465         * unittests/environ-selftests.c (gdb_selftest_env_var):
9466         New variable.
9467         (test_vector_initialization): New function.
9468         (test_init_from_host_environ): Likewise.
9469         (test_reinit_from_host_environ): Likewise.
9470         (test_set_A_unset_B_unset_A_cannot_find_A_can_find_B):
9471         Likewise.
9472         (test_unset_set_empty_vector): Likewise.
9473         (test_vector_clear): Likewise.
9474         (test_std_move): Likewise.
9475         (test_move_constructor):
9476         (test_self_move): Likewise.
9477         (test_set_unset_reset): Likewise.
9478         (run_tests): Rewrite in terms of the functions above.
9479
9480 2017-08-31  Weimin Pan  <weimin.pan@oracle.com>
9481
9482         * sparc64-tdep.c (adi_stat_t): Fix comment formatting.
9483         (adi_available): Use a temp variable of type CORE_ADDR as argument
9484         3 when calling target_auxv_search.
9485         (adi_normalize_address): Use masks and xor operators to calculate
9486         normalized address.
9487         (adi_read_versions, adi_write_versions, adi_print_versions)
9488         (do_examine, do_assign): Use paddress.
9489
9490 2017-08-29  John Baldwin  <jhb@FreeBSD.org>
9491
9492         * mips-fbsd-nat.c (getfpregs_supplies): Return true for FIR.
9493         * mips-fbsd-tdep.c (mips_fbsd_supply_fpregs): Split supply of FSR
9494         out of loop and add supply of FIR.
9495         (mips_fbsd_collect_fpregs): Split collect of FSR out of loop and
9496         add collect of FIR.
9497
9498 2017-08-28  Simon Marchi  <simon.marchi@ericsson.com>
9499
9500         PR gdb/21827
9501         * cli/cli-script.c (define_command): Don't convert command name
9502         to lower case.
9503
9504 2017-08-25  Joel Brobecker  <brobecker@adacore.com>
9505
9506         * ada-lang.c (ada_lookup_struct_elt_type): Remove parameter "dispp".
9507         Update all callers accordingly. Remove all code blocks handling
9508         the case where DISPP is not NULL.
9509
9510 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9511
9512         PR symtab/22003
9513         * dwarf2read.c (dwarf2_const_value_attr, dump_die_shallow)
9514         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
9515         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_implicit_const.
9516
9517 2017-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
9518
9519         * dwarf2read.c (build_type_psymtabs_reader): New prototype.
9520         (process_psymtab_comp_unit): Accept IS_DEBUG_TYPES.
9521         (read_comp_units_from_section): New parameter abbrev_section, use
9522         read_and_check_comp_unit_head, allocate signatured_type if needed.
9523         (create_all_comp_units): Update read_comp_units_from_section caller.
9524
9525 2017-08-23  Pedro Alves  <palves@redhat.com>
9526
9527         PR remote/21852
9528         * remote.c (add_current_inferior_and_thread): Set inferior_ptid
9529         to null_ptid and switch to thread without reading the registers
9530         after adding the inferior.
9531
9532 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9533
9534         * NEWS (Changes since GDB 8.0): Add set compile-gcc and show
9535         compile-gcc.
9536         * compile/compile.c (compile_gcc, show_compile_gcc): New.
9537         (compile_to_object): Implement compile_gcc.
9538         (_initialize_compile): Install "set compile-gcc".  Initialize
9539         compile_gcc.
9540
9541 2017-08-23  Jan Kratochvil  <jan.kratochvil@redhat.com>
9542
9543         * compile/compile.c (compile_to_object): Conditionally call
9544         set_verbose.  Conditionally call compile or compile_v0.
9545
9546 2017-08-07  Weimin Pan  <weimin.pan@oracle.com>
9547
9548         * sparc64-tdep.h: (adi_normalize_address): New export.
9549         * sparc-nat.h: (open_adi_tag_fd): New export.
9550         * sparc64-linux-nat.c: (open_adi_tag_fd): New function.
9551         * sparc64-linux-tdep.c:
9552         (SEGV_ACCADI, SEGV_ADIDERR, SEGV_ADIPERR) New defines.
9553         (sparc64_linux_handle_segmentation_fault): New function.
9554         (sparc64_linux_init_abi): Register
9555         sparc64_linux_handle_segmentation_fault
9556         * sparc64-tdep.c: Include cli-utils.h,gdbcmd.h,auxv.h.
9557         (sparc64_addr_bits_remove): New function.
9558         (sparc64_init_abi): Register sparc64_addr_bits_remove.
9559         (MAX_PROC_NAME_SIZE): New macro.
9560         (AT_ADI_BLKSZ, AT_ADI_NBITS, AT_ADI_UEONADI) New defines.
9561         (sparc64adilist): New variable.
9562         (adi_proc_list): New variable.
9563         (find_adi_info): New function.
9564         (add_adi_info): New function.
9565         (get_adi_info_proc): New function.
9566         (get_adi_info): New function.
9567         (info_adi_command): New function.
9568         (read_maps_entry): New function.
9569         (adi_available): New function.
9570         (adi_normalize_address): New function.
9571         (adi_align_address): New function.
9572         (adi_convert_byte_count): New function.
9573         (adi_tag_fd): New function.
9574         (adi_is_addr_mapped): New function.
9575         (adi_read_versions): New function.
9576         (adi_write_versions): New function.
9577         (adi_print_versions): New function.
9578         (do_examine): New function.
9579         (do_assign): New function.
9580         (adi_examine_command): New function.
9581         (adi_assign_command): New function.
9582         (_initialize_sparc64_adi_tdep): New function.
9583
9584 2017-08-22  Simon Marchi  <simon.marchi@ericsson.com>
9585
9586         * breakpoint.c (breakpoints_info): Rename to ...
9587         (info_breakpoints_command): ... this.
9588         (watchpoints_info): Rename to ...
9589         (info_watchpoints_command): ... this.
9590         (tracepoints_info): Rename to ...
9591         (info_tracepoints_command): ... this.
9592         (_initialize_breakpoint): Adjust.
9593         * dcache.c (dcache_info): Rename to ...
9594         (info_display_command): ... this.
9595         (_initialize_dcache): Adjust.
9596         * frame.h (args_info): Rename to ...
9597         (info_args_command): ... this.
9598         (locals_info): Rename to ...
9599         (info_locals_command): ... this.
9600         * infcmd.c (nofp_registers_info): Rename to ...
9601         (info_registers_command): ... this.
9602         (float_info): Rename to ...
9603         (info_float_command): ... this.
9604         (program_info): Rename to ...
9605         (info_program_command): ... this.
9606         (all_registers_info): Rename to ...
9607         (info_all_registers_command): ... this.
9608         (vector_info): Rename to ...
9609         (info_vector_command): ... this.
9610         (float_info): Rename to ...
9611         (info_float_command): ... this.
9612         (_initialize_infcmd): Adjust.
9613         * inferior.h (term_info): Rename to ...
9614         (info_terminal_command): ... this.
9615         * inflow.c (term_info): Rename to ...
9616         (info_terminal_command): ... this.
9617         (_initialize_inflow): Adjust.
9618         * infrun.c (signals_info): Rename to ...
9619         (info_signals_command): ... this.
9620         (_initialize_infrun): Adjust.
9621         * objc-lang.c (classes_info): Rename to ...
9622         (info_classes_command): ... this.
9623         (selectors_info): Rename to ...
9624         (info_selectors_command): ... this.
9625         (_initialize_objc_language): Adjust.
9626         * printcmd.c (sym_info): Rename to ...
9627         (info_symbol_command): ... this.
9628         (address_info): Rename to ...
9629         (info_address_command): ... this.
9630         (display_info): Rename to ...
9631         (info_display_command): ... this.
9632         (_initialize_printcmd): Adjust.
9633         * reverse.c (bookmarks_info): Rename to ...
9634         (info_breakpoints_command): ... this.
9635         (_initialize_reverse): Adjust.
9636         * ser-go32.c (dos_info): Rename to ...
9637         (info_serial_command): ... this.
9638         (_initialize_ser_dos): Adjust.
9639         * skip.c (skip_info): Rename to ...
9640         (info_skip_command): ... this.
9641         (_initialize_step_skip): Adjust.
9642         * source.c (line_info): Rename to ...
9643         (info_line_command): ... this.
9644         (source_info): Rename to ...
9645         (info_source_command)
9646         * stack.c (frame_info): Rename to ...
9647         (info_frame_command): ... this.
9648         (locals_info): Rename to ...
9649         (info_locals_command): ... this.
9650         (args_info): Rename to ...
9651         (info_args_command): ... this.
9652         (_initialize_stack): Adjust.
9653         * symtab.c (sources_info): Rename to ...
9654         (info_sources_command): ... this.
9655         (variables_info): Rename to ...
9656         (info_variables_command): ... this.
9657         (functions_info): Rename to ...
9658         (info_functions_command): ... this.
9659         (types_info): Rename to ...
9660         (info_types_command): ... this.
9661         (_initialize_symtab): Adjust.
9662         * target.c (target_info): Rename to ...
9663         (info_target_command): ... this.
9664         (initialize_targets): Adjust.
9665         * tracepoint.c (tvariables_info): Rename to ...
9666         (info_tvariables_command): ... this.
9667         (scope_info): Rename to ...
9668         (info_scope_command): ... this.
9669         (trace_dump_actions): Adjust.
9670         (_initialize_tracepoint): Adjust.
9671
9672 2017-08-22  Tom Tromey  <tom@tromey.com>
9673
9674         * breakpoint.h (install_breakpoint): Update.
9675         * breakpoint.c (add_solib_catchpoint): Update.
9676         (install_breakpoint): Change argument to a std::unique_ptr.
9677         (create_fork_vfork_event_catchpoint): Use std::unique_ptr.
9678         (create_breakpoint_sal, create_breakpoint): Update.
9679         (watch_command_1, catch_exec_command_1)
9680         (strace_marker_create_breakpoints_sal): Use std::unique_ptr.
9681         (add_to_breakpoint_chain): Change argument to a std::unique_ptr.
9682         Return the breakpoint.
9683         (set_raw_breakpoint_without_location, set_raw_breakpoint)
9684         (new_single_step_breakpoint): Update.
9685         * break-catch-throw.c (handle_gnu_v3_exceptions): Use
9686         std::unique_ptr.
9687         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9688         std::unique_ptr.
9689         * break-catch-sig.c (create_signal_catchpoint): Use
9690         std::unique_ptr.
9691         * ada-lang.c (create_ada_exception_catchpoint): Use
9692         std::unique_ptr.
9693
9694 2017-08-22  Tom Tromey  <tom@tromey.com>
9695
9696         * breakpoint.c (add_solib_catchpoint): Use std::unique_ptr.
9697
9698 2017-08-22  Tom Tromey  <tom@tromey.com>
9699
9700         * psymtab.c (psymtab_search_name): Return a unique_xmalloc_ptr.
9701         (lookup_partial_symbol): Update.
9702
9703 2017-08-22  Tom Tromey  <tom@tromey.com>
9704
9705         * source.h (rewrite_source_path): Return a unique_xmalloc_ptr.
9706         * source.c (rewrite_source_path): Return a unique_xmalloc_ptr.
9707         (find_and_open_source, symtab_to_fullname): Update.
9708         * psymtab.c (psymtab_to_fullname): Update.
9709
9710 2017-08-22  Tom Tromey  <tom@tromey.com>
9711
9712         * exec.c (exec_file_attach): Update.
9713         * linux-thread-db.c (try_thread_db_load): Update.
9714         * guile/scm-safe-call.c (gdbscm_safe_source_script): Update.
9715         * utils.c (gdb_realpath): Change return type.
9716         (gdb_realpath_keepfile): Update.
9717         (gdb_realpath_check_trailer, gdb_realpath_tests): New functions.
9718         (_initialize_utils): Register the new self test.
9719         * source.c (openp): Update.
9720         (find_and_open_source): Update.
9721         * nto-tdep.c (nto_find_and_open_solib): Update.
9722         * main.c (set_gdb_data_directory): Update.
9723         (captured_main_1): Update.
9724         * dwarf2read.c (dwarf2_get_dwz_file): Update
9725         (dw2_map_symbol_filenames): Update.
9726         * auto-load.c (auto_load_safe_path_vec_update): Update.
9727         (filename_is_in_auto_load_safe_path_vec): Change type of
9728         "filename_realp".
9729         (auto_load_objfile_script): Update.
9730         (file_is_auto_load_safe): Update.  Use std::string.
9731         * utils.h (gdb_realpath): Return a gdb::unique_xmalloc_ptr.
9732
9733 2017-08-22  Tom Tromey  <tom@tromey.com>
9734
9735         * utils.c (gdb_realpath_keepfile): Return a
9736         gdb::unique_xmalloc_ptr.
9737         * exec.c (exec_file_attach): Update.
9738         * utils.h (gdb_realpath_keepfile): Return a
9739         gdb::unique_xmalloc_ptr.
9740
9741 2017-08-22  Tom Tromey  <tom@tromey.com>
9742
9743         * compile/compile.c (compile_file_command): Use
9744         gdb::unique_xmalloc_ptr, std::string.
9745         * utils.c (gdb_abspath): Change return type.
9746         * source.c (openp): Update.
9747         * objfiles.c (allocate_objfile): Update.
9748         * main.c (set_gdb_data_directory): Update.
9749         * utils.h (gdb_abspath): Return a gdb::unique_xmalloc_ptr.
9750
9751 2017-08-22  Zhouyi Zhou  <zhouzhouyi@gmail.com>
9752
9753         * cli-cmds.c (list_commands): List actual code around more than
9754         one location.
9755
9756 2017-08-21  John Baldwin  <jhb@FreeBSD.org>
9757
9758         * fbsd-nat.c (fbsd_add_threads): Use array type for `lwps'.
9759
9760 2017-08-21  Pedro Alves  <palves@redhat.com>
9761
9762         PR gdb/19487
9763         * c-exp.y (variable production): Handle function aliases.
9764         * minsyms.c (msymbol_is_text): New function.
9765         * minsyms.h (msymbol_is_text): Declare.
9766         * symtab.c (find_function_alias_target): New function.
9767         * symtab.h (find_function_alias_target): Declare.
9768
9769 2017-08-21  Pedro Alves  <palves@redhat.com>
9770
9771         * eval.c (evaluate_subexp_standard) <OP_TYPE>: Don't dig past
9772         typedefs.
9773         * typeprint.c (whatis_exp): If handling "whatis", and expression
9774         is OP_TYPE, strip one typedef level.  Otherwise don't strip
9775         typedefs here.
9776         * valops.c (value_cast): Save "to" type before resolving
9777         stubs/typedefs.  Use that type as resulting value's type.
9778
9779 2017-08-18  Tom Tromey  <tom@tromey.com>
9780             Pedro Alves  <palves@redhat.com>
9781
9782         * spu-multiarch.c (parse_spufs_run): Use scoped_restore.
9783         * sol-thread.c (sol_thread_resume, sol_thread_wait)
9784         (sol_thread_xfer_partial, rw_common): Use scoped_restore.
9785         * procfs.c (procfs_do_thread_registers): Use scoped_restore.
9786         * proc-service.c (ps_xfer_memory): Use scoped_restore.
9787         * linux-tdep.c (linux_corefile_thread): Remove a cleanup.
9788         (linux_get_siginfo_data): Add "thread" argument.  Use
9789         scoped_restore.
9790         * linux-nat.c (linux_child_follow_fork)
9791         (check_stopped_by_watchpoint): Use scoped_restore.
9792         * infrun.c (displaced_step_prepare_throw, write_memory_ptid)
9793         (THREAD_STOPPED_BY, handle_signal_stop): Use scoped_restore.
9794         (restore_inferior_ptid, save_inferior_ptid): Remove.
9795         * btrace.c (btrace_fetch): Use scoped_restore.
9796         * bsd-uthread.c (bsd_uthread_fetch_registers)
9797         (bsd_uthread_store_registers): Use scoped_restore.
9798         * breakpoint.c (reattach_breakpoints, detach_breakpoints): Use
9799         scoped_restore.
9800         * aix-thread.c (aix_thread_resume, aix_thread_wait)
9801         (aix_thread_xfer_partial): Use scoped_restore.
9802         * inferior.h (save_inferior_ptid): Remove.
9803
9804 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9805
9806         PR tdep/21818
9807         * arm-tdep.c (gdb_print_insn_arm): Mark
9808         USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL.
9809
9810 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9811
9812         * NEWS: Mention GDBserver's new option "--selftest".
9813         * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c.
9814         * selftest.c: Move it to common/selftest.c.
9815         * selftest.h: Move it to common/selftest.h.
9816         * selftest-arch.c (reset): New function.
9817         (tests_with_arch): Call reset.
9818
9819 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9820
9821         * selftest.c (run_tests): Don't call QUIT.  Call debug_printf
9822         instead of exception_fprintf and printf_filtered.
9823
9824 2017-08-18  Yao Qi  <yao.qi@linaro.org>
9825
9826         * selftest.c (register_self_test): Rename it to
9827         selftests::register_test.
9828         (run_self_tests): selftest::run_tests.
9829         * selftest.h: Update declarations.
9830         * selftest-arch.c (register_self_test_foreach_arch): Rename it to
9831         selftests::register_test_foreach_arch.
9832         * selftest-arch.h: Update declaration.
9833         * aarch64-tdep.c: Update.
9834         * arm-tdep.c: Likewise.
9835         * disasm-selftests.c: Likewise.
9836         * dwarf2loc.c: Likewise.
9837         * dwarf2-frame.c: Likewise.
9838         * findvar.c: Likewise.
9839         * gdbarch-selftests.c: Likewise.
9840         * maint.c (maintenance_selftest): Likewise.
9841         * regcache.c: Likewise.
9842         * rust-exp.y: Likewise.
9843         * selftest-arch.c: Likewise.
9844         * unittests/environ-selftests.c: Likewise.
9845         * unittests/function-view-selftests.c: Likewise.
9846         * unittests/offset-type-selftests.c: Likewise.
9847         * unittests/optional-selftests.c: Likewise.
9848         * unittests/scoped_restore-selftests.c: Likewise.
9849         * utils-selftests.c: Likewise.
9850
9851 2017-08-17  Pedro Alves  <palves@redhat.com>
9852
9853         * cli/cli-cmds.c (source_command): Delete 'old_source_verbose'
9854         local.
9855
9856 2017-08-17  Pedro Alves  <palves@redhat.com>
9857
9858         * dwarf2read.c (struct dwarf2_cu) <line_header_die_owner>: New
9859         field.
9860         (reset_die_in_process): Delete, replaced by ...
9861         (process_die_scope): ... this new class.  Make it responsible for
9862         freeing cu->line_header too.
9863         (process_die): Use process_die_scope.
9864         (handle_DW_AT_stmt_list): Record the line header's owner CU/DIE in
9865         cu->line_header_die_owner.  Don't release the line header if it's
9866         owned by the CU.
9867         (setup_type_unit_groups): Make the CU/DIE own the line header.
9868         Don't release the line header here.
9869
9870 2017-08-17  Alex Lindsay  <alexlindsay239@gmail.com>  (tiny change)
9871
9872         * elfread.c (elf_read_minimal_symbols): xfree synthsyms.
9873
9874 2017-08-17  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9875
9876         * NEWS: Mention new shortcuts for nexti and stepi in TUI
9877         Single-Key mode
9878
9879 2017-08-16  Ruslan Kabatsayev  <b7.10110111@gmail.com>
9880
9881         * tui/tui.c (tui_commands): Add "nexti" and "stepi" to the Single-Key
9882         mode command list.
9883
9884 2017-08-15  Stafford Horne  <shorne@gmail.com>
9885
9886         * MAINTAINERS (Write After Approval): Add Stafford Horne.
9887
9888 2017-08-15  Stafford Horne  <shorne@gmail.com>
9889
9890         * xtensa-tdep.c (xtensa_init_reggroups): Use xstrdup for cpname.
9891
9892 2017-08-15  Sergio Durigan Junior  <sergiodj@redhat.com>
9893
9894         PR gdb/21954
9895         * infcmd.c (unset_environment_command): Use the 'clear' method on
9896         the environment instead of resetting it.
9897
9898 2017-08-15  John Baldwin  <jhb@FreeBSD.org>
9899
9900         * fbsd-nat.c (fbsd_convert_siginfo): Fix compile on big-endian
9901         platforms.
9902
9903 2017-08-14  Tom Tromey  <tom@tromey.com>
9904
9905         * valprint.c (print_octal_chars): Use HOST_CHAR_BIT.
9906         (print_binary_chars): Likewise.
9907         (BITS_IN_BYTES): Remove.
9908
9909 2017-08-14  Tom Tromey  <tom@tromey.com>
9910
9911         PR gdb/21675
9912         * valprint.c (LOW_ZERO): Change value to 034.
9913         (print_octal_chars): Add static_asserts for octal constants.
9914         * printcmd.c (print_scalar_formatted): Add 'd' case.
9915
9916 2017-08-11  Tom Tromey  <tom@tromey.com>
9917
9918         * symfile.c (add_symbol_file_command): Use std::vector.
9919
9920 2017-08-14  Tom Tromey  <tom@tromey.com>
9921
9922         * break-catch-throw.c (handle_gnu_v3_exceptions): Use std::move.
9923         * break-catch-syscall.c (create_syscall_event_catchpoint): Use
9924         std::move.
9925         * break-catch-sig.c (create_signal_catchpoint): Use std::move.
9926
9927 2017-08-11  Pedro Alves  <palves@redhat.com>
9928
9929         * infrun.c (process_event_stop_test): Adjust
9930         function_name_is_marked_for_skip call.
9931         * skip.c: Include <list>.
9932         (skiplist_entry): Make it a class with private fields, and
9933         getters/setters.
9934         (skiplist_entry_chain): Delete.
9935         (skiplist_entries): New.
9936         (skiplist_entry_count): Delete.
9937         (highest_skiplist_entry_num): New.
9938         (ALL_SKIPLIST_ENTRIES, ALL_SKIPLIST_ENTRIES_SAFE): Delete.
9939         (add_skiplist_entry): Delete.
9940         (skiplist_entry::skiplist_entry): New.
9941         (skiplist_entry::add_entry): New.
9942         (skip_file_command, skip_function): Adjust.
9943         (compile_skip_regexp): Delete.
9944         (skip_command): Don't compile regexp here.  Adjust to use
9945         skiplist_entry::add_entry.
9946         (skip_info): Adjust to use range-for and getters.
9947         (skip_enable_command, skip_disable_command): Adjust to use
9948         range-for and setters.
9949         (skip_delete_command): Adjust to use std::list.
9950         (add_skiplist_entry): Delete.
9951         (skip_file_p): Delete, refactored as ...
9952         (skiplist_entry::do_skip_file_p): ... this new method.
9953         (skip_gfile_p): Delete, refactored as ...
9954         (skiplist_entry::do_gskip_file_p): ... this new method.
9955         (skip_function_p, skip_rfunction_p): Delete, refactored as ...
9956         (skiplist_entry::skip_function_p): ... this new method.
9957         (function_name_is_marked_for_skip): Now returns bool, and takes
9958         the function sal by const reference.  Adjust to use range-for and
9959         skiplist_entry methods.
9960         (_initialize_step_skip): Remove references to
9961         skiplist_entry_chain, skiplist_entry_count.
9962         * skip.h (function_name_is_marked_for_skip): Now returns bool, and
9963         takes the function sal by const reference.
9964
9965 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9966
9967         * dwarf2-frame.c (clear_pointer_cleanup): Remove.
9968         (dwarf2_frame_cache): Remove reset_cache_cleanup.
9969         (dwarf2_frame_cache):
9970         * frame-unwind.c (frame_unwind_try_unwinder): Catch
9971         RETURN_MASK_ALL and set *this_case to NULL.
9972         * frame-unwind.h: Update comments.
9973
9974 2017-08-11  Yao Qi  <yao.qi@linaro.org>
9975
9976         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Remove.
9977         (dwarf2_frame_state_copy_regs): Remove.
9978         (dwarf2_frame_state_free_regs): Remove.
9979         (dwarf2_frame_state::~dwarf2_frame_state): Remove.
9980         (dwarf2_restore_rule): Call method .alloc_regs instead of
9981         dwarf2_frame_state_alloc_regs.
9982         (execute_cfa_program): Likewise.  Call dwarf2_frame_state_reg_info
9983         constructor.  Call std::move.
9984         (dwarf2_fetch_cfa_info): Don't call dwarf2_frame_state_copy_regs.
9985         (dwarf2_frame_cache): Likewise.
9986
9987         [GDB_SELF_TEST]: Include selftest.h and
9988         selftest-arch.h.
9989         [GDB_SELF_TEST] (execute_cfa_program_test): New function.
9990         (_initialize_dwarf2_frame) [GDB_SELF_TEST]: Register
9991         execute_cfa_program_test.
9992
9993         * dwarf2-frame.h (dwarf2_frame_state_reg_info): Add ctor, dtor,
9994         copy ctor, assignment operator, move assignment.
9995         <alloc_regs>: New method.
9996         <swap>: New method.
9997         (struct dwarf2_frame_state): Delete dtor.
9998         (dwarf2_frame_state_alloc_regs): Remove declaration.
9999         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): Don't call
10000         dwarf2_frame_state_alloc_regs, use .alloc_regs instead.
10001
10002 2017-08-11  Yao Qi  <yao.qi@linaro.org>
10003
10004         * dwarf2-frame.c (dwarf2_frame_state_free): Remove.
10005         (dwarf2_frame_state::dwarf2_frame_state): New.
10006         (dwarf2_frame_state::~dwarf2_frame_state): New.
10007         (dwarf2_fetch_cfa_info): Update.
10008         (dwarf2_frame_cache): Remove old_chain.  Change 'fs' to an object
10009         rather than a pointer.  Update code.
10010         * dwarf2-frame.h (struct dwarf2_frame_state): Declare ctor and
10011         dtor.
10012         <data_align, code_align, retaddr_column>: Change them to const.
10013         <armcc_cfa_offsets_sf, armcc_cfa_offsets_reversed>: Change them
10014         to bool.
10015
10016 2017-08-11  Yao Qi  <yao.qi@linaro.org>
10017
10018         * dwarf2-frame.h (struct dwarf2_frame_state_reg) <exp_len>: Remove.
10019         <loc.exp>: New field.
10020         * dwarf2-frame.c (execute_cfa_program): Update.
10021         (dwarf2_frame_prev_register): Update.
10022
10023 2017-08-10  Pedro Alves  <palves@redhat.com>
10024
10025         * common/gdb_unique_ptr.h (xfree_deleter<T[]>): Define.
10026
10027 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
10028
10029         * fbsd-nat.c (struct fbsd_fork_info): Remove.
10030         (fbsd_pending_children): Use std::list.
10031         (fbsd_remember_child): Likewise.
10032         (fbsd_is_child_pending): Likewise.
10033         (fbsd_pending_vfork_done): Use std::forward_list.
10034         (fbsd_add_vfork_done): Likewise.
10035         (fbsd_is_vfork_done_pending): Likewise.
10036         (fbsd_next_vfork_done): Likewise.
10037
10038 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
10039
10040         * fbsd-nat.c [HAVE_KINFO_GETVMMAP] (struct free_deleter): New.
10041         (fbsd_find_memory_regions): Use free_deleter with std::unique_ptr.
10042         [!HAVE_KINFO_GETVMMAP] (fbsd_find_memory_regions): Use std::string
10043         for `mapfilename'.
10044         (fbsd_xfer_partial): Use gdb::byte_vector.
10045         (fbsd_add_threads): Use gdb::unique_xmalloc_ptr.
10046
10047 2017-08-09  John Baldwin  <jhb@FreeBSD.org>
10048
10049         * fbsd-nat.c: [!HAVE_KINFO_GETVMMAP]: Include <sys/user.h> and
10050         "filestuff.h".
10051         (fbsd_find_memory_regions): Fix `mapfile' initialization.
10052
10053 2017-08-09  Tom Tromey  <tom@tromey.com>
10054
10055         * skip.c (skiplist_entry): New constructor.
10056         (skiplist_entry::enabled, skiplist_entry::function_is_regexp)
10057         (skiplist_entry::file_is_glob): Now bool.
10058         (skiplist_entry::file, skiplist_entry::function): Now
10059         std::string.
10060         (make_skip_entry): Return a unique_ptr.  Use new.
10061         (free_skiplist_entry, free_skiplist_entry_cleanup)
10062         (make_free_skiplist_entry_cleanup): Remove.
10063         (skip_command, skip_disable_command, add_skiplist_entry)
10064         (skip_form_bytes, compile_skip_regexp, skip_command, skip_info)
10065         (skip_file_p, skip_gfile_p, skip_function_p, skip_rfunction_p)
10066         (function_name_is_marked_for_skip): Update.
10067         (skip_delete_command): Update.  Use delete.
10068
10069 2017-08-09  Jiong Wang  <jiong.wang@arm.com>
10070
10071         * aarch64-linux-tdep.c: Include "auxv.h" and "elf/common.h".
10072         (aarch64_linux_core_read_description): New function.
10073         (aarch64_linux_init_abi): Register gdbarch_core_read_description.
10074
10075 2017-08-09  Pedro Alves  <palves@redhat.com>
10076
10077         * cp-name-parser.y (cp_comp_to_string): Return a
10078         gdb::unique_xmalloc_ptr<char>.
10079         * cp-support.c (replace_typedefs_qualified_name)
10080         (replace_typedefs): Adjust to use gdb::unique_xmalloc_ptr<char>.
10081         (cp_canonicalize_string_full): Use op= instead of explicit
10082         convertion.
10083         (cp_class_name_from_physname, method_name_from_physname)
10084         (cp_func_name, cp_remove_params): Adjust to use
10085         gdb::unique_xmalloc_ptr<char>.
10086         * cp-support.h (cp_comp_to_string): Return a
10087         gdb::unique_xmalloc_ptr<char>.
10088         * python/py-type.c (typy_lookup_type): Adjust to use
10089         gdb::unique_xmalloc_ptr<char>.
10090
10091 2017-08-09  H.J. Lu  <hongjiu.lu@intel.com>
10092
10093         * dwarf2read.c (dwarf2_string_attr): Fix a typo.
10094
10095 2017-08-09  Alex Lindsay  <alexlindsay239@gmail.com>
10096             Yao Qi  <yao.qi@linaro.org>
10097
10098         * cp-support.c (cp_canonicalize_string_full): Use
10099         gdb::unique_xmalloc_ptr<char>.
10100         (cp_canonicalize_string): Likewise.
10101
10102 2017-08-09  Yao Qi  <yao.qi@linaro.org>
10103
10104         * features/Makefile (WHICH): Remove i386/ non-linux stuff.
10105         * regformats/i386/amd64-avx-avx512.dat: Remove.
10106         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Remove.
10107         * regformats/i386/amd64-avx-mpx.dat:Remove.
10108         * regformats/i386/amd64-avx.dat: Remove.
10109         * regformats/i386/amd64-mpx.dat: Remove.
10110         * regformats/i386/i386-avx-avx512.dat: Remove.
10111         * regformats/i386/i386-avx-mpx-avx512-pku.dat: Remove.
10112         * regformats/i386/i386-avx-mpx.dat: Remove.
10113         * regformats/i386/i386-mmx.dat: Remove.
10114         * regformats/i386/i386-mpx.dat: Remove.
10115
10116 2017-08-09  Yao Qi  <yao.qi@linaro.org>
10117
10118         * amd64-tdep.h (tdesc_x32): Remove the declaration.
10119         * amd64-tdep.c: Don't include features/i386/x32*.c.
10120         (_initialize_amd64_tdep): Don't call initialize_tdesc_x32*
10121         functions.
10122         * features/Makefile (WHICH): Remove i386/x32, i386/x32-avx,
10123         and i386/x32-avx-avx512.
10124         (XMLTOC): Remove i386/x32-avx.xml, i386/x32-avx-avx512.xml,
10125         and i386/x32.xml.
10126         * features/i386/x32-avx-avx512.c: Removed.
10127         * features/i386/x32-avx-avx512.xml: Removed.
10128         * features/i386/x32-avx.c: Removed.
10129         * features/i386/x32-avx.xml: Removed.
10130         * features/i386/x32.c: Removed.
10131         * features/i386/x32.xml: Removed.
10132         * regformats/i386/x32-avx-avx512.dat: Removed.
10133         * regformats/i386/x32-avx.dat: Removed.
10134         * regformats/i386/x32.dat: Removed.
10135
10136 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
10137
10138         PR breakpoints/21886
10139         * mem-break.c (default_memory_insert_breakpoint): Use
10140         `->placed_address' rather than `->reqstd_address' for the
10141         breakpoint location.
10142
10143 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
10144
10145         * arch-utils.c (default_print_insn): Remove arch/mach/endian
10146         assertions.
10147
10148 2017-08-07  Maciej W. Rozycki  <macro@imgtec.com>
10149
10150         * gdbarch.sh (gdbarch_info): Replace the `tdep_info' member with
10151         a union of `tdep_info', `tdesc_data' and `id'.
10152         * aarch64-tdep.c (aarch64_gdbarch_init): Use `info.tdesc_data'
10153         rather than `info.tdep_info'.
10154         * amd64-linux-tdep.c (amd64_linux_init_abi): Likewise.
10155         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
10156         * i386-tdep.c (i386_gdbarch_init): Likewise.
10157         * mips-linux-tdep.c (mips_linux_init_abi): Likewise.
10158         * mips-tdep.c (mips_gdbarch_init): Likewise.
10159         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
10160         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
10161         * ppc-linux-tdep.c (ppu2spu_sniffer): Use `info.id' rather than
10162         `info.tdep_info'.
10163         (ppc_linux_init_abi): Use `info.tdesc_data' rather than
10164         `info.tdep_info'.
10165         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
10166         * spu-multiarch.c (spu_gdbarch): Use `info.id' rather than
10167         `info.tdep_info'.
10168         * spu-tdep.c (spu_gdbarch_init): Likewise.
10169         * gdbarch.h: Regenerate.
10170
10171 2017-08-07  Leszek Swirski  <leszeks@google.com>
10172
10173         PR symtab/20899
10174         * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt.
10175
10176 2017-08-07  Simon Marchi  <simon.marchi@ericsson.com>
10177
10178         * remote-sim.c (gdbsim_load): Remove char **argv local variable.
10179         (gdbsim_open): Rename gdb_argv args object to argv.
10180
10181 2017-08-05  Tom Tromey  <tom@tromey.com>
10182
10183         * compile/compile-object-load.c (compile_object_load): Use
10184         gdb::unique_xmalloc_ptr.
10185         * cli/cli-dump.c (scan_filename): Rename from
10186         scan_filename_with_cleanup.  Change return type.
10187         (scan_expression): Rename from scan_expression_with_cleanup.
10188         Change return type.
10189         (dump_memory_to_file, dump_value_to_file, restore_command):
10190         Use gdb::unique_xmalloc_ptr.  Update.
10191         * cli/cli-cmds.c (find_and_open_script): Use
10192         gdb::unique_xmalloc_ptr.
10193         * tracefile-tfile.c (tfile_open): Use gdb::unique_xmalloc_ptr.
10194         * symmisc.c (maintenance_print_symbols)
10195         (maintenance_print_msymbols): Use gdb::unique_xmalloc_ptr.
10196         * symfile.c (symfile_bfd_open, generic_load)
10197         (add_symbol_file_command, remove_symbol_file_command): Use
10198         gdb::unique_xmalloc_ptr.
10199         * source.c (openp): Use gdb::unique_xmalloc_ptr.
10200         * psymtab.c (maintenance_print_psymbols): Use
10201         gdb::unique_xmalloc_ptr.
10202         * corelow.c (core_open): Use gdb::unique_xmalloc_ptr.
10203         * breakpoint.c (save_breakpoints): Use gdb::unique_xmalloc_ptr.
10204         * solib.c (solib_map_sections): Use gdb::unique_xmalloc_ptr.
10205         (reload_shared_libraries_1): Likewise.
10206
10207 2017-08-05  Tom Tromey  <tom@tromey.com>
10208
10209         * rust-exp.y (rust_op_ptr, set_field): Remove typedefs.
10210         (rust_op_vector, rust_set_vector): New typedefs.
10211         (current_parser): New global.
10212         (work_obstack): Change to pointer type.  Update all users.
10213         (rust_ast, pstate): Remove globals.
10214         (struct rust_parser): New.
10215         (%union) <params, field_inits>: Change type.
10216         (start, tuple_expr, unit_expr, struct_expr_list, literal)
10217         (field_expr, expr_list, maybe_expr_list, type_list): Update.
10218         (ast_call_ish, ast_path, ast_function_type, ast_tuple_type)
10219         (convert_params_to_types, convert_params_to_expression): Change
10220         type of "params".
10221         (ast_string): Change type of "fields".
10222         (rust_parse): Make a rust_parser.  Remove cleanups.
10223         (rust_lex_tests): Make and install an auto_obstack.
10224
10225 2017-08-04  Yao Qi  <yao.qi@linaro.org>
10226
10227         * configure.srv (ipa_x32_linux_regobj): New.
10228         * linux-amd64-ipa.c (get_ipa_tdesc): Use X86_TDESC_AVX_AVX512
10229         instead of X86_TDESC_AVX512.
10230         (initialize_low_tracepoint): Call
10231         init_registers_x32_avx_avx512_linux.
10232
10233 2017-08-04  Yao Qi  <yao.qi@linaro.org>
10234
10235         * utils.h (gdb_argv): Add namespace std for nullptr_t.
10236
10237 2017-08-03  Ruslan Kabatsayev  <b7.10110111@gmail.com>
10238
10239         * MAINTAINERS (Write After Approval): Add Ruslan Kabatsayev.
10240
10241 2017-08-03  Tom Tromey  <tom@tromey.com>
10242
10243         * utils.c (make_cleanup_freeargv, do_freeargv, gdb_buildargv):
10244         Remove.
10245         * utils.h (make_cleanup_freeargv, gdb_buildargv): Remove.
10246
10247 2017-08-03  Tom Tromey  <tom@tromey.com>
10248
10249         * python/py-param.c (compute_enum_values): Use gdb_argv.
10250
10251 2017-08-03  Tom Tromey  <tom@tromey.com>
10252
10253         * utils.h (struct gdb_argv_deleter): New.
10254         (gdb_argv): New class.
10255         * utils.c (gdb_argv::reset): New method.
10256         * tracepoint.c (delete_trace_variable_command): Use gdb_argv.
10257         * tracefile.c (tsave_command): Use gdb_argv.
10258         * top.c (new_ui_command): Use gdb_argv.
10259         * symmisc.c (maintenance_print_symbols)
10260         (maintenance_print_msymbols, maintenance_expand_symtabs): Use gdb_argv.
10261         * symfile.c (symbol_file_command, generic_load)
10262         (remove_symbol_file_command): Use gdb_argv.
10263         * stack.c (backtrace_command): Use gdb_argv.
10264         * source.c (add_path, show_substitute_path_command)
10265         (unset_substitute_path_command, set_substitute_path_command):
10266         Use gdb_argv.
10267         * skip.c (skip_command): Use gdb_argv.  Use gdb_buildargv.
10268         * ser-mingw.c (pipe_windows_open): Use gdb_argv.
10269         * remote.c (extended_remote_run, remote_put_command)
10270         (remote_get_command, remote_delete_command): Use gdb_argv.
10271         * remote-sim.c (gdbsim_load, gdbsim_create_inferior)
10272         (gdbsim_open): Use gdb_argv.
10273         * python/py-cmd.c (gdbpy_string_to_argv): Use gdb_argv.
10274         * psymtab.c (maintenance_print_psymbols): Use gdb_argv.
10275         * procfs.c (procfs_info_proc): Use gdb_argv.
10276         * interps.c (interpreter_exec_cmd): Use gdb_argv.
10277         * infrun.c (handle_command): Use gdb_argv.
10278         * inferior.c (add_inferior_command, clone_inferior_command):
10279         Use gdb_argv.
10280         * guile/scm-string.c (gdbscm_string_to_argv): Use gdb_argv.
10281         * exec.c (exec_file_command): Use gdb_argv.
10282         * cli/cli-cmds.c (alias_command): Use gdb_argv.
10283         * compile/compile.c (build_argc_argv): Use gdb_argv.
10284
10285 2017-08-03  Tom Tromey  <tom@tromey.com>
10286
10287         * python/python.c (gdbpy_decode_line): Use unique_xmalloc_ptr.
10288
10289 2017-08-03  Tom Tromey  <tom@tromey.com>
10290
10291         * python/python.c (compute_python_string): Return std::string.
10292         (gdbpy_eval_from_control_command): Update.
10293         (do_start_initialization): Use std::string.
10294         * python/py-varobj.c (py_varobj_iter_next): Use string_printf, not
10295         xstrprintf.
10296         * python/py-breakpoint.c (local_setattro): Use string_printf, not
10297         xstrprintf.
10298
10299 2017-08-03  Tom Tromey  <tom@tromey.com>
10300
10301         * top.h (do_restore_instream_cleanup): Remove.
10302         * top.c (do_restore_instream_cleanup): Remove.
10303         (read_command_file): Use scoped_restore.
10304         * cli/cli-script.c (execute_user_command): Use scoped_restore.
10305
10306 2017-08-03  Tom Tromey  <tom@tromey.com>
10307
10308         * cli/cli-script.c (execute_user_command)
10309         (execute_control_command): Use scoped_restore.
10310
10311 2017-08-03  Tom Tromey  <tom@tromey.com>
10312
10313         * cli/cli-script.c (do_restore_user_call_depth): Remove.
10314         (execute_user_command): Remove user_call_depth; use
10315         user_args_stack's size instead.
10316
10317 2017-08-03  Tom Tromey  <tom@tromey.com>
10318
10319         * top.h (in_user_command): Remove.
10320         * top.c (in_user_command): Remove.
10321         * cli/cli-script.c (do_restore_user_call_depth)
10322         (execute_user_command): Update.
10323
10324 2017-08-03  Tom Tromey  <tom@tromey.com>
10325
10326         * valops.c (search_struct_method): Use gdb::byte_vector.
10327         * valarith.c (value_concat): Use std::vector.
10328         * target.c (memory_xfer_partial): Use gdb::byte_vector.
10329         (simple_search_memory): Likewise.
10330         * printcmd.c (find_string_backward): Use gdb::byte_vector.
10331         * mi/mi-main.c (mi_cmd_data_write_memory): Use gdb::byte_vector.
10332         * gcore.c (gcore_copy_callback): Use gdb::byte_vector.
10333         * elfread.c (elf_rel_plt_read): Use std::string.
10334         * cp-valprint.c (cp_print_value): Use gdb::byte_vector.
10335         * cli/cli-dump.c (restore_section_callback): Use
10336         gdb::byte_vector.
10337
10338 2017-08-03  Tom Tromey  <tom@tromey.com>
10339
10340         * jit.c (jit_reader_load_command): Use unique_xmalloc_ptr.
10341
10342 2017-08-03  Tom Tromey  <tom@tromey.com>
10343
10344         * tui/tui-regs.c (tui_restore_gdbout): Remove.
10345         (tui_register_format): Use scoped_restore.
10346
10347 2017-08-03  Tom Tromey  <tom@tromey.com>
10348
10349         * reverse.c (exec_direction_default): Remove.
10350         (exec_reverse_once): Use scoped_restore.
10351         * remote.c (restore_remote_timeout): Remove.
10352         (remote_flash_erase, remote_flash_write, remote_flash_done)
10353         (readchar, remote_serial_write): Use scoped_restore.
10354         * cli/cli-script.c (struct source_cleanup_lines_args)
10355         (source_cleanup_lines): Remove.
10356         (script_from_file): Use scoped_restore.
10357         * cli/cli-cmds.c (source_verbose_cleanup): Remove.
10358         (source_command): Use scoped_restore.
10359
10360 2017-08-03  Tom Tromey  <tom@tromey.com>
10361
10362         * utils.h (make_cleanup_free_so): Remove.
10363         * utils.c (do_free_so, make_cleanup_free_so): Remove.
10364         * solist.h (struct so_deleter): New.
10365         (so_list_up): New typedef.
10366         * solib-svr4.c (svr4_read_so_list): Use so_list_up.
10367
10368 2017-08-03  Tom Tromey  <tom@tromey.com>
10369
10370         * utils.h (make_cleanup_restore_current_language): Remove.
10371         * utils.c (do_restore_current_language)
10372         (make_cleanup_restore_current_language): Remove.
10373         * parse.c (parse_exp_in_context_1)
10374         (parse_expression_with_language): Use
10375         scoped_restore_current_language.
10376         * mi/mi-main.c (mi_cmd_execute): Use
10377         scoped_restore_current_language.
10378         * language.h (scoped_restore_current_language): New class.
10379
10380 2017-08-03  Tom Tromey  <tom@tromey.com>
10381
10382         * compile/compile.c (cleanup_unlink_file): Remove.
10383         (compile_to_object): Use gdb::unlinker.
10384         (eval_compile_command): Likewise.
10385
10386 2017-08-03  Tom Tromey  <tom@tromey.com>
10387
10388         * utils.h (make_cleanup_fclose): Remove.
10389         * utils.c (do_fclose_cleanup, make_cleanup_fclose): Remove.
10390
10391 2017-08-03  Tom Tromey  <tom@tromey.com>
10392
10393         * top.c (open_terminal_stream): Return gdb_file_up.
10394         (new_ui_command): Update.
10395
10396 2017-08-03  Tom Tromey  <tom@tromey.com>
10397
10398         * source.c (print_source_lines_base, forward_search_command)
10399         (reverse_search_command): Use gdb_file_up.
10400
10401 2017-08-03  Tom Tromey  <tom@tromey.com>
10402
10403         * fbsd-nat.c (fbsd_find_memory_regions): Update.
10404
10405 2017-08-03  Tom Tromey  <tom@tromey.com>
10406
10407         * cli/cli-cmds.c (find_and_open_script): Change return type.
10408         Remove "streamp" and "full_path" parameters.
10409         (source_script_with_search): Update.
10410         * auto-load.c (source_script_file): Update.
10411         * cli/cli-cmds.h (find_and_open_script): Change type.
10412         (open_script): New struct.
10413
10414 2017-08-03  Tom Tromey  <tom@tromey.com>
10415
10416         * xml-support.c (xml_fetch_content_from_file): Update.
10417         * ui-file.c (stdio_file::open): Update.
10418         * tracefile-tfile.c (tfile_start): Update.
10419         * remote.c (remote_file_put, remote_file_get): Update.
10420         * nat/linux-procfs.c (linux_proc_get_int)
10421         (linux_proc_pid_get_state, linux_proc_tid_get_name): Update.
10422         * nat/linux-osdata.c (linux_common_core_of_thread): Update.
10423         (command_from_pid, commandline_from_pid, linux_xfer_osdata_cpus)
10424         (print_sockets, linux_xfer_osdata_shm, linux_xfer_osdata_sem)
10425         (linux_xfer_osdata_msg, linux_xfer_osdata_modules): Update.
10426         * nat/linux-btrace.c (linux_determine_kernel_start): Update.
10427         * linux-nat.c (linux_proc_pending_signals): Update.
10428         * dwarf2read.c (write_psymtabs_to_index): Use gdb_file_up.
10429         (file_closer): Remove.
10430         * compile/compile.c (compile_to_object): Update.
10431         * common/filestuff.h (struct gdb_file_deleter): New.
10432         (gdb_file_up): New typedef.
10433         (gdb_fopen_cloexec): Change return type.
10434         * common/filestuff.c (gdb_fopen_cloexec): Return gdb_file_up.
10435         * cli/cli-dump.c (fopen_with_cleanup): Remove.
10436         (dump_binary_file, restore_binary_file): Update.
10437         * auto-load.c (auto_load_objfile_script_1): Update.
10438
10439 2017-08-03  Tom Tromey  <tom@tromey.com>
10440
10441         * tracepoint.c (tvariables_info_1): Use ui_out_emit_table.
10442         (info_static_tracepoint_markers_command): Likewise.
10443         * solib.c (info_sharedlibrary_command): Use ui_out_emit_table.
10444         * skip.c (skip_info): Use ui_out_emit_table.
10445         * progspace.c (print_program_space): Use ui_out_emit_table.
10446         * osdata.c (info_osdata): Use ui_out_emit_table.
10447         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions): Use
10448         ui_out_emit_table.
10449         * linux-thread-db.c (info_auto_load_libthread_db): Use
10450         ui_out_emit_table.
10451         * inferior.c (print_inferior): Use ui_out_emit_table.
10452         * gdb_bfd.c (maintenance_info_bfds): Use ui_out_emit_table.
10453         * breakpoint.c (breakpoint_1): Use ui_out_emit_table.
10454         * auto-load.c (auto_load_info_scripts): Use ui_out_emit_table.
10455         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_table.
10456         * ui-out.h (class ui_out_emit_table): New.
10457
10458 2017-08-02  Maciej W. Rozycki  <macro@imgtec.com>
10459
10460         * mips-tdep.c (mips_fpu_type_str): New function.
10461         (mips_dump_tdep): Call it.
10462
10463 2017-08-01  Maciej W. Rozycki  <macro@imgtec.com>
10464
10465         * mips-tdep.c (mips_gdbarch_init): Use MIPS_FPU_TYPE to access
10466         `->mips_fpu_type'.
10467
10468 2017-07-31  Xavier Roirand  <roirand@adacore.com>
10469
10470         * solib-darwin.c (DYLD_VERSION_MAX): Increase value.
10471
10472 2017-07-27  Xavier Roirand  <roirand@adacore.com>
10473
10474         * MAINTAINERS (Write After Approval): Add Xavier Roirand.
10475
10476 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10477
10478         * cli/cli-cmds.c (maintenancechecklist): New variable.
10479         * gdbcmd.h (maintenancechecklist): Declare it.
10480         * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]:
10481         Call i386_linux_read_description with different masks.
10482         * maint.c (maintenance_check_command): New function.
10483         (_initialize_maint_cmds): Call add_prefix_cmd.
10484         * target-descriptions.c (tdesc_reg): override operator != and ==.
10485         (tdesc_type): Likewise.
10486         (tdesc_feature): Likewise.
10487         (target_desc): Likewise.
10488         [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function.
10489         (maintenance_check_xml_descriptions): New function.
10490         (_initialize_target_descriptions) Add command "xml-descriptions".
10491         * target-descriptions.h (selftests::record_xml_tdesc): Declare.
10492
10493 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10494
10495         * i386-linux-tdep.c: Don't include features/i386/i386-*linux.c.
10496         Include features/i386/32bit-*.c.
10497         (i386_linux_read_description): Generate target description if it
10498         doesn't exist.
10499         (_initialize_i386_linux_tdep): Don't call _initialize_tdesc_i386
10500         functions.
10501         * features/i386/32bit-linux.c: Re-generated.
10502         * features/i386/32bit-sse.c: Likewise.
10503         * target-descriptions.c (print_c_feature::visit): Print code to
10504         set register number if needed.
10505         (print_c_feature) <m_next_regnum>: New field.
10506
10507 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10508
10509         * features/Makefile (CFILES): Rename with TDESC_CFILES.
10510         (FEATURE_XMLFILES): New.
10511         (FEATURE_CFILES): New.
10512         New rules.
10513         (clean-cfiles): Remove generated c files.
10514         * features/i386/32bit-avx.c: Generated.
10515         * features/i386/32bit-avx512.c: Generated.
10516         * features/i386/32bit-core.c: Generated.
10517         * features/i386/32bit-linux.c: Generated.
10518         * features/i386/32bit-mpx.c: Generated.
10519         * features/i386/32bit-pkeys.c: Generated.
10520         * features/i386/32bit-sse.c: Generated.
10521         * target-descriptions.c: Include algorithm.
10522         (tdesc_element_visitor): Add method visit_end.
10523         (print_c_tdesc): Implement visit_end.
10524         (print_c_tdesc:: m_filename_after_features): Move it to
10525         protected.
10526         (print_c_feature): New class.
10527         (maint_print_c_tdesc_cmd): Use print_c_feature if XML file
10528         name starts with "i386/32bit-".
10529
10530 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10531
10532         * target-descriptions.c (tdesc_element_visitor): New class.
10533         (tdesc_element): New class.
10534         (tdesc_reg): Inherit from tdesc_element.
10535         (tdesc_reg::accept): New function.
10536         (tdesc_type): Inherit from tdesc_element.
10537         (tdesc_type::accept): New function.
10538         (tdesc_feature): Inherit from tdesc_element.
10539         (tdesc_feature::accept): New function.
10540         (target_desc): Inherit from tdesc_element.
10541         (target_desc::target_desc): New.
10542         (target_desc::~target_desc): New.
10543         (target_desc::accept): New.
10544         (allocate_target_description): Use new.
10545         (free_target_description): Use delete.
10546         (print_c_tdesc): New class.
10547         (maint_print_c_tdesc_cmd): Adjust.
10548
10549         * features/aarch64.c: Re-generated.
10550         * features/arc-arcompact.c: Re-generated.
10551         * features/arc-v2.c: Re-generated.
10552         * features/arm/arm-with-iwmmxt.c: Re-generated.
10553         * features/arm/arm-with-m.c: Re-generated.
10554         * features/arm/arm-with-m-fpa-layout.c: Re-generated.
10555         * features/arm/arm-with-m-vfp-d16.c: Re-generated.
10556         * features/arm/arm-with-neon.c: Re-generated.
10557         * features/arm/arm-with-vfpv2.c: Re-generated.
10558         * features/arm/arm-with-vfpv3.c: Re-generated.
10559         * features/i386/amd64-avx-avx512.c: Re-generated.
10560         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
10561         * features/i386/amd64-avx.c: Re-generated.
10562         * features/i386/amd64-avx-linux.c: Re-generated.
10563         * features/i386/amd64-avx-mpx-avx512-pku.c: Re-generated.
10564         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
10565         * features/i386/amd64-avx-mpx.c: Re-generated.
10566         * features/i386/amd64-avx-mpx-linux.c: Re-generated.
10567         * features/i386/amd64.c: Re-generated.
10568         * features/i386/amd64-linux.c: Re-generated.
10569         * features/i386/amd64-mpx.c: Re-generated.
10570         * features/i386/amd64-mpx-linux.c: Re-generated.
10571         * features/i386/i386-avx-avx512.c: Re-generated.
10572         * features/i386/i386-avx-avx512-linux.c: Re-generated.
10573         * features/i386/i386-avx.c: Re-generated.
10574         * features/i386/i386-avx-linux.c: Re-generated.
10575         * features/i386/i386-avx-mpx-avx512-pku.c: Re-generated.
10576         * features/i386/i386-avx-mpx-avx512-pku-linux.c: Re-generated.
10577         * features/i386/i386-avx-mpx.c: Re-generated.
10578         * features/i386/i386-avx-mpx-linux.c: Re-generated.
10579         * features/i386/i386.c: Re-generated.
10580         * features/i386/i386-linux.c: Re-generated.
10581         * features/i386/i386-mmx.c: Re-generated.
10582         * features/i386/i386-mmx-linux.c: Re-generated.
10583         * features/i386/i386-mpx.c: Re-generated.
10584         * features/i386/i386-mpx-linux.c: Re-generated.
10585         * features/i386/x32-avx-avx512.c: Re-generated.
10586         * features/i386/x32-avx-avx512-linux.c: Re-generated.
10587         * features/i386/x32-avx.c: Re-generated.
10588         * features/i386/x32-avx-linux.c: Re-generated.
10589         * features/i386/x32.c: Re-generated.
10590         * features/i386/x32-linux.c: Re-generated.
10591         * features/microblaze.c: Re-generated.
10592         * features/microblaze-with-stack-protect.c: Re-generated.
10593         * features/mips64-dsp-linux.c: Re-generated.
10594         * features/mips64-linux.c: Re-generated.
10595         * features/mips-dsp-linux.c: Re-generated.
10596         * features/mips-linux.c: Re-generated.
10597         * features/nds32.c: Re-generated.
10598         * features/nios2.c: Re-generated.
10599         * features/nios2-linux.c: Re-generated.
10600         * features/rs6000/powerpc-32.c: Re-generated.
10601         * features/rs6000/powerpc-32l.c: Re-generated.
10602         * features/rs6000/powerpc-403.c: Re-generated.
10603         * features/rs6000/powerpc-403gc.c : Re-generated.
10604         * features/rs6000/powerpc-405.c: Re-generated.
10605         * features/rs6000/powerpc-505.c: Re-generated.
10606         * features/rs6000/powerpc-601.c: Re-generated.
10607         * features/rs6000/powerpc-602.c: Re-generated.
10608         * features/rs6000/powerpc-603.c: Re-generated.
10609         * features/rs6000/powerpc-604.c: Re-generated.
10610         * features/rs6000/powerpc-64.c: Re-generated.
10611         * features/rs6000/powerpc-64l.c: Re-generated.
10612         * features/rs6000/powerpc-7400.c: Re-generated.
10613         * features/rs6000/powerpc-750.c: Re-generated.
10614         * features/rs6000/powerpc-860.c: Re-generated.
10615         * features/rs6000/powerpc-altivec32.c: Re-generated.
10616         * features/rs6000/powerpc-altivec32l.c: Re-generated.
10617         * features/rs6000/powerpc-altivec64.c: Re-generated.
10618         * features/rs6000/powerpc-altivec64l.c: Re-generated.
10619         * features/rs6000/powerpc-cell32l.c: Re-generated.
10620         * features/rs6000/powerpc-cell64l.c: Re-generated.
10621         * features/rs6000/powerpc-e500.c: Re-generated.
10622         * features/rs6000/powerpc-e500l.c: Re-generated.
10623         * features/rs6000/powerpc-isa205-32l.c: Re-generated.
10624         * features/rs6000/powerpc-isa205-64l.c: Re-generated.
10625         * features/rs6000/powerpc-isa205-altivec32l.c: Re-generated.
10626         * features/rs6000/powerpc-isa205-altivec64l.c: Re-generated.
10627         * features/rs6000/powerpc-isa205-vsx32l.c: Re-generated.
10628         * features/rs6000/powerpc-isa205-vsx64l.c: Re-generated.
10629         * features/rs6000/powerpc-vsx32.c: Re-generated.
10630         * features/rs6000/powerpc-vsx32l.c: Re-generated.
10631         * features/rs6000/powerpc-vsx64.c: Re-generated.
10632         * features/rs6000/powerpc-vsx64l.c: Re-generated.
10633         * features/rs6000/rs6000.c: Re-generated.
10634         * features/s390-linux32.c: Re-generated.
10635         * features/s390-linux32v1.c: Re-generated.
10636         * features/s390-linux32v2.c: Re-generated.
10637         * features/s390-linux64.c: Re-generated.
10638         * features/s390-linux64v1.c: Re-generated.
10639         * features/s390-linux64v2.c: Re-generated.
10640         * features/s390-te-linux64.c: Re-generated.
10641         * features/s390-tevx-linux64.c: Re-generated.
10642         * features/s390-vx-linux64.c: Re-generated.
10643         * features/s390x-linux64.c: Re-generated.
10644         * features/s390x-linux64v1.c: Re-generated.
10645         * features/s390x-linux64v2.c: Re-generated.
10646         * features/s390x-te-linux64.c: Re-generated.
10647         * features/s390x-tevx-linux64.c: Re-generated.
10648         * features/s390x-vx-linux64.c: Re-generated.
10649         * features/sparc/sparc32-solaris.c: Re-generated.
10650         * features/sparc/sparc64-solaris.c: Re-generated.
10651         * features/tic6x-c62x.c: Re-generated.
10652         * features/tic6x-c62x-linux.c: Re-generated.
10653         * features/tic6x-c64x.c: Re-generated.
10654         * features/tic6x-c64x-linux.c: Re-generated.
10655         * features/tic6x-c64xp.c: Re-generated.
10656         * features/tic6x-c64xp-linux.c: Re-generated.
10657
10658 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10659
10660         * i386-linux-tdep.c (i386_linux_read_description): New function.
10661         (i386_linux_core_read_description): Call
10662         i386_linux_read_description.
10663         * i386-linux-tdep.h (i386_linux_read_description): Declare.
10664         (tdesc_i386_linux, tdesc_i386_mmx_linux): Remove declarations.
10665         (tdesc_i386_avx_linux, tdesc_i386_mpx_linux): Likewise
10666         (tdesc_i386_avx_mpx_linux, tdesc_i386_avx_avx512_linux): Likewise.
10667         (tdesc_i386_avx_mpx_avx512_pku_linux): Likewise.
10668         * x86-linux-nat.c (x86_linux_read_description): Call
10669         i386_linux_read_description.
10670
10671 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10672
10673         * NEWS: Mention it.
10674         * features/Makefile (%.c: %.xml): Pass the xml file name to
10675         command "maint print c-tdesc".
10676         * target-descriptions.c (maint_print_c_tdesc_cmd): Get file
10677         name from 'arg'.
10678
10679 2017-07-26  Yao Qi  <yao.qi@linaro.org>
10680
10681         * target-descriptions.c (target_desc): Add ctor and dtor.  Do
10682         in-class initialization.
10683         (tdesc_create_feature): Call new instead of XCNEW.
10684         (free_target_description): Ue delete.
10685
10686 2017-07-25  John Baldwin  <jhb@FreeBSD.org>
10687
10688         * configure.nat: Add "-lkvm" for NetBSD/sparc64 and fix typo.
10689
10690 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10691
10692         * amd64-tdep.c (amd64_init_abi): Make argument default_tdesc
10693         constant.
10694         (amd64_x32_init_abi): Likewise.
10695         * amd64-tdep.h (amd64_init_abi): Update declaration.
10696         (amd64_x32_init_abi): Likewise.
10697
10698 2017-07-25  Yao Qi  <yao.qi@linaro.org>
10699
10700         PR tdep/21717
10701         * arm-linux-nat.c (arm_linux_fetch_inferior_registers): Update
10702         condition for FPSCR.
10703         (arm_linux_store_inferior_registers): Likewise.
10704
10705 2017-07-22  Tom Tromey  <tom@tromey.com>
10706
10707         * break-catch-syscall.c (struct catch_syscall_inferior_data)
10708         <syscalls_counts>: Now a std::vector.
10709         (get_catch_syscall_inferior_data): Use "new".
10710         (catch_syscall_inferior_data_cleanup): Use "delete".
10711         (insert_catch_syscall, remove_catch_syscall)
10712         (clear_syscall_counts): Update.
10713
10714 2017-07-22  Tom Tromey  <tom@tromey.com>
10715
10716         * break-catch-syscall.c (syscall_catchpoint)
10717         <syscalls_to_be_caught>: Now a std::vector<int>
10718         (~syscall_catchpoint): Remove.
10719         (insert_catch_syscall, remove_catch_syscall)
10720         (breakpoint_hit_catch_syscall, print_one_catch_syscall)
10721         (print_mention_catch_syscall, print_recreate_catch_syscall):
10722         Update.
10723         (create_syscall_event_catchpoint): Change type of "filter"
10724         parameter.
10725         (catch_syscall_split_args): Return a std::vector.
10726         (catch_syscall_command_1, catching_syscall_number_1): Update.
10727
10728 2017-07-22  Tom Tromey  <tom@tromey.com>
10729
10730         * break-catch-throw.c (struct exception_catchpoint)
10731         <exception_rx>: Now a std::string.
10732         (~exception_catchpoint): Remove.
10733         (print_one_detail_exception_catchpoint): Update.
10734         (handle_gnu_v3_exceptions): Change type of except_rx.
10735         (extract_exception_regexp): Return a std::string.
10736         (catch_exception_command_1): Update.
10737
10738 2017-07-22  Tom Tromey  <tom@tromey.com>
10739
10740         * break-catch-sig.c (gdb_signal_type): Remove typedef.
10741         (struct signal_catchpoint) <signals_to_be_caught>: Now a
10742         std::vector.
10743         <catch_all>: Now a bool.
10744         (~signal_catchpoint): Remove.
10745         (signal_catchpoint_insert_location)
10746         (signal_catchpoint_remove_location)
10747         (signal_catchpoint_breakpoint_hit, signal_catchpoint_print_one)
10748         (signal_catchpoint_print_mention)
10749         (signal_catchpoint_print_recreate)
10750         (signal_catchpoint_explains_signal): Update.
10751         (create_signal_catchpoint): Change type of "filter" and
10752         "catch_all".
10753         (catch_signal_split_args): Return a std::vector.  Change type of
10754         "catch_all".
10755         (catch_signal_command): Update.
10756
10757 2017-07-20  Pedro Alves  <palves@redhat.com>
10758
10759         * ada-lang.c (ada_language_defn): Make extern.
10760         (_initialize_ada_language): Remove add_language call.
10761         * c-lang.c (c_language_defn, cplus_language_defn)
10762         (asm_language_defn, minimal_language_defn): Make extern.
10763         (_initialize_c_language): Delete.
10764         * completer.c (compare_cstrings): Delete, moved to utils.h.
10765         * d-lang.c (d_language_defn): Make extern.
10766         (_initialize_d_language): Remove add_language calls.
10767         * defs.h (enum language): Add comment.
10768         * f-lang.c (f_language_defn): Make extern.
10769         (_initialize_f_language): Remove add_language call.
10770         * go-lang.c (go_language_defn): Make extern.
10771         (_initialize_go_language): Remove add_language call.
10772         * language.c: Include <algorithm>.
10773         (languages): Redefine as const array.
10774         (languages_size, languages_allocsize, DEFAULT_ALLOCSIZE): Delete.
10775         (set_language_command): Handle "local".  Use for-range loop.
10776         (set_language): Remove loop.
10777         (language_enum): Rewrite.
10778         (language_def, language_str): Remove loops.
10779         (add_language): Delete.
10780         (add_set_language_command): New, based on add_languages.
10781         (skip_language_trampoline): Adjust.
10782         (local_language_defn): Delete.
10783         (language_gdbarch_post_init): Adjust.
10784         (_initialize_language): Remove add_language calls.  Call
10785         add_set_language_command.
10786         * language.h (add_language): Delete.
10787         (auto_language_defn)
10788         (unknown_language_defn, minimal_language_defn, ada_language_defn)
10789         (asm_language_defn, c_language_defn, cplus_language_defn)
10790         (d_language_defn, f_language_defn, go_language_defn)
10791         (m2_language_defn, objc_language_defn, opencl_language_defn)
10792         (pascal_language_defn, rust_language_defn): Declare.
10793         * m2-lang.c (m2_language_defn): Make extern.
10794         (_initialize_m2_language): Remove add_language call.
10795         * objc-lang.c (objc_language_defn): Make extern.
10796         (_initialize_objc_language): Remove add_language call.
10797         * opencl-lang.c (opencl_language_defn): Make extern.
10798         (_initialize_opencl_language): Remove add_language call.
10799         * p-lang.c (pascal_language_defn): Make extern.
10800         (_initialize_pascal_language): Delete.
10801         * rust-lang.c (rust_language_defn): Make extern.
10802         (_initialize_rust_language): Delete.
10803         * utils.h (compare_cstrings): New static inline function.
10804
10805 2017-07-20  Pedro Alves  <palves@redhat.com>
10806
10807         * ada-lang.c (ada_to_fixed_type_1): Adjust.
10808         (get_var_value): Constify parameters.
10809         (get_int_var_value): Change prototype.
10810         (to_fixed_range_type): Adjust.
10811         * ada-lang.h (get_int_var_value): Change prototype.
10812
10813 2017-07-20  Pedro Alves  <palves@redhat.com>
10814
10815         * dwarf2read.c (dw2_lookup_symbol): Use
10816         SYMBOL_MATCHES_SEARCH_NAME.
10817         * psymtab.c (psym_lookup_symbol): Use SYMBOL_MATCHES_SEARCH_NAME.
10818
10819 2017-07-20  Pedro Alves  <palves@redhat.com>
10820
10821         * block.c (block_iter_name_step, block_iter_name_first)
10822         (block_iter_name_next): Delete.
10823         (block_lookup_symbol_primary): Adjust to use
10824         dict_iter_match_first/dict_iter_match_next.
10825         * block.h (block_iter_name_first, block_iter_name_next): Delete
10826         declarations.
10827         (ALL_BLOCK_SYMBOLS_WITH_NAME): Adjust to use
10828         dict_iter_match_first/dict_iter_match_next.
10829
10830 2017-07-20  Pedro Alves  <palves@redhat.com>
10831
10832         * cp-support.c (cp_find_first_component_aux): Add missing case for
10833         end of string.
10834
10835 2017-07-18  David Blaikie  <dblaikie@gmail.com>
10836
10837         * dwarf2read.c (create_cus_hash_table): Re-add lost initialization
10838         of dwo_cu's dwo_file.
10839
10840 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10841
10842         * remote.c (store_registers_using_G): Remove one line comment.
10843
10844 2017-07-18  Yao Qi  <yao.qi@linaro.org>
10845
10846         * regcache.c (regcache_cpy): Simplify it.
10847         (regcache::cpy_no_passthrough): Remove it.
10848         * regcache.h (cpy_no_passthrough): Remove it.
10849         (regcache_dup, regcache_cpy): Update comments.
10850
10851 2017-07-18  Pedro Alves  <palves@redhat.com>
10852
10853         * remote-sim.c (sim_command_completer): Adjust to work with a
10854         completion_tracker instead of a VEC.
10855
10856 2017-07-17  Pedro Alves  <palves@redhat.com>
10857
10858         * completer.c (complete_source_filenames): New function.
10859         (complete_address_and_linespec_locations): New function.
10860         (location_completer): Use complete_address_and_linespec_locations.
10861         (completion_tracker::build_completion_result): Honor the tracker's
10862         request to suppress append.
10863         * completer.h (completion_tracker::suppress_append_ws)
10864         (completion_tracker::set_suppress_append_ws): New methods.
10865         (completion_tracker::m_suppress_append_ws): New field.
10866         (complete_source_filenames): New declaration.
10867         * linespec.c (linespec_complete_what): New.
10868         (struct ls_parser) <complete_what, completion_word,
10869         completion_quote_char, completion_quote_end, completion_tracker>:
10870         New fields.
10871         (string_find_incomplete_keyword_at_end): New.
10872         (linespec_lexer_lex_string): Record quote char.  If in completion
10873         mode, don't throw.
10874         (linespec_lexer_consume_token): Advance the completion word point.
10875         (linespec_lexer_peek_token): Save/restore completion info.
10876         (save_stream_and_consume_token): New.
10877         (set_completion_after_number): New.
10878         (linespec_parse_basic): Set what to complete next depending on
10879         token.  Handle function and label completions specially.
10880         (parse_linespec): Disable objc shortcut in completion mode.  Set
10881         what to complete next depending on token type.  Skip keyword if in
10882         completion mode.
10883         (complete_linespec_component, linespec_complete): New.
10884         * linespec.h (linespec_complete): Declare.
10885
10886 2017-07-17  Pedro Alves  <palves@redhat.com>
10887
10888         * linespec.c (linespec_lexer_lex_string, find_toplevel_char):
10889         Handle 'operator<' / 'operator<<'.
10890
10891 2017-07-17  Pedro Alves  <palves@redhat.com>
10892
10893         * completer.c (collect_explicit_location_matches): Handle
10894         MATCH_LABEL.
10895         (convert_explicit_location_to_linespec): New, factored out from
10896         ...
10897         (convert_explicit_location_to_sals): ... this.
10898         (complete_label): New.
10899         (linespec_complete_label, find_label_symbols_in_block): New.
10900         (find_label_symbols): Add completion_mode parameter and adjust to
10901         call find_label_symbols_in_block.
10902         * linespec.h (linespec_complete_label): Declare.
10903
10904 2017-07-17  Pedro Alves  <palves@redhat.com>
10905
10906         * ada-lang.c (ada_collect_symbol_completion_matches): Add
10907         complete_symbol_mode parameter.
10908         * cli/cli-cmds.c (complete_command): Get the completion result out
10909         of the handle_brkchars tracker if used a custom word point.
10910         * completer.c: Include "linespec.h".
10911         (enum explicit_location_match_type) <MATCH_LINE>: New enumerator.
10912         (advance_to_expression_complete_word_point): New.
10913         (completion_tracker::completes_to_completion_word): New.
10914         (complete_files_symbols): Pass down
10915         complete_symbol_mode::EXPRESSION.
10916         (explicit_options, probe_options): New.
10917         (collect_explicit_location_matches): Complete on the
10918         explictit_loc->foo instead of word.  Use
10919         linespec_complete_function.  Handle MATCH_LINE.  Handle offering
10920         keyword and options completions.
10921         (backup_text_ptr): Delete.
10922         (skip_keyword): New.
10923         (complete_explicit_location): Remove 'word' parameter.  Add
10924         language, quoted_arg_start and quoted_arg_end parameters.
10925         Rewrite, parsing left to right.
10926         (location_completer): Rewrite.
10927         (location_completer_handle_brkchars): New function.
10928         (symbol_completer): Pass down complete_symbol_mode::EXPRESSION.
10929         (enum complete_line_internal_reason): Adjust comments.
10930         (completion_tracker::discard_completions): New.
10931         (completer_handle_brkchars_func_for_completer): Handle
10932         location_completer.
10933         (gdb_custom_word_point_brkchars)
10934         (gdb_org_rl_basic_quote_characters): New.
10935         (gdb_completion_word_break_characters_throw)
10936         (completion_find_completion_word): Handle trackers that use a
10937         custom word point.
10938         (completion_tracker::advance_custom_word_point_by): New.
10939         (completion_tracker::build_completion_result): Don't rely on
10940         readline appending the quote char.
10941         (gdb_rl_attempted_completion_function_throw): Handle trackers that
10942         use a custom word point.
10943         (gdb_rl_attempted_completion_function): Restore
10944         rl_basic_quote_characters.
10945         * completer.h (class completion_tracker): Extend intro comment.
10946         (completion_tracker::set_quote_char)
10947         (completion_tracker::quote_char)
10948         (completion_tracker::set_use_custom_word_point)
10949         (completion_tracker::use_custom_word_point)
10950         (completion_tracker::custom_word_point)
10951         (completion_tracker::set_custom_word_point)
10952         (completion_tracker::advance_custom_word_point_by)
10953         (completion_tracker::completes_to_completion_word)
10954         (completion_tracker::discard_completions): New methods.
10955         (completion_tracker::m_quote_char)
10956         (completion_tracker::m_use_custom_word_point)
10957         (completion_tracker::m_custom_word_point): New fields.
10958         (advance_to_expression_complete_word_point): Declare.
10959         * f-lang.c (f_collect_symbol_completion_matches): Add
10960         complete_symbol_mode parameter.
10961         * language.h (struct language_defn)
10962         <la_collect_symbol_completion_matches>: Add complete_symbol_mode
10963         parameter.
10964         * linespec.c (linespec_keywords): Add NULL terminator.  Make extern.
10965         (linespec_complete_function): New function.
10966         (linespec_lexer_lex_keyword): Adjust.
10967         * linespec.h (linespec_keywords, linespec_complete_function): New
10968         declarations.
10969         * location.c (find_end_quote): New function.
10970         (explicit_location_lex_one): Add explicit_completion_info
10971         parameter.  Save quoting info.  Don't throw if being called for
10972         completion.  Don't handle Ada operators here.
10973         (is_cp_operator, skip_op_false_positives, first_of)
10974         (explicit_location_lex_one_function): New function.
10975         (string_to_explicit_location): Replace 'dont_throw' parameter with
10976         an explicit_completion_info pointer parameter.  Handle it.  Don't
10977         use explicit_location_lex_one to lex function names.  Use
10978         explicit_location_lex_one_function instead.
10979         * location.h (struct explicit_completion_info): New.
10980         (string_to_explicit_location): Replace 'dont_throw' parameter with
10981         an explicit_completion_info pointer parameter.
10982         * symtab.c (default_collect_symbol_completion_matches_break_on):
10983         Add complete_symbol_mode parameter.  Handle LINESPEC mode.
10984         (default_collect_symbol_completion_matches)
10985         (collect_symbol_completion_matches): Add complete_symbol_mode
10986         parameter.
10987         (collect_symbol_completion_matches_type): Pass down
10988         complete_symbol_mode::EXPRESSION.
10989         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10990         parameter.  Handle LINESPEC mode.
10991         * symtab.h (complete_symbol_mode): New.
10992         (default_collect_symbol_completion_matches_break_on)
10993         (default_collect_symbol_completion_matches)
10994         (collect_symbol_completion_matches)
10995         (collect_file_symbol_completion_matches): Add complete_symbol_mode
10996         parameter.
10997
10998 2017-07-17  Pedro Alves  <palves@redhat.com>
10999
11000         * utils.c (enum class strncmp_iw_mode): New.
11001         (strcmp_iw): Rename to ...
11002         (strncmp_iw_with_mode): ... this.  Add string2_len and mode
11003         parameters.  Handle them.
11004         (strncmp_iw): New.
11005         (strcmp_iw): Reimplement as wrapper around strncmp_iw_with_mode.
11006         * utils.h (strncmp_iw): Declare.
11007         (strcmp_iw): Move describing comments here.
11008
11009 2017-07-17  Pedro Alves  <palves@redhat.com>
11010
11011         * c-exp.y (operator_stoken): Use CP_OPERATOR_LEN and
11012         CP_OPERATOR_STR.
11013         * c-typeprint.c (is_type_conversion_operator): Use
11014         CP_OPERATOR_STR.
11015         * cp-support.c (LENGTH_OF_OPERATOR): Delete.
11016         (cp_find_first_component_aux): Use CP_OPERATOR_STR and
11017         CP_OPERATOR_LEN.
11018         * cp-support.h (CP_OPERATOR_STR, CP_OPERATOR_LEN): New.
11019         * gnu-v2-abi.c (gnuv2_is_operator_name): Use CP_OPERATOR_STR.
11020         * gnu-v3-abi.c (gnuv3_is_operator_name): Use CP_OPERATOR_STR.
11021         * linespec.c (linespec_lexer_lex_string): Use CP_OPERATOR_LEN and
11022         CP_OPERATOR_STR.
11023         * location.c: Include "cp-support.h".
11024         (explicit_location_lex_one): Use CP_OPERATOR_LEN and
11025         CP_OPERATOR_STR.
11026         * symtab.c (operator_chars): Use CP_OPERATOR_STR and
11027         CP_OPERATOR_LEN.
11028
11029 2017-07-17  Pedro Alves  <palves@redhat.com>
11030
11031         * cli/cli-cmds.c (complete_command): Use a completion tracker
11032         along with completion_find_completion_word for handle_brkchars
11033         phase.
11034         * completer.c (RL_QF_SINGLE_QUOTE, RL_QF_DOUBLE_QUOTE)
11035         (RL_QF_BACKSLASH, RL_QF_OTHER_QUOTE): New.
11036         (struct gdb_rl_completion_word_info): New.
11037         (gdb_rl_find_completion_word): New.
11038         (completion_find_completion_word): New.
11039         * completer.h (completion_find_completion_word): Declare.
11040
11041 2017-07-17  Pedro Alves  <palves@redhat.com>
11042
11043         * ada-lang.c (symbol_completion_match): Adjust comments.
11044         (symbol_completion_add): Replace vector parameter with
11045         completion_tracker parameter.  Use it.
11046         (ada_make_symbol_completion_list): Rename to...
11047         (ada_collect_symbol_completion_matches): ... this.  Add
11048         completion_tracker parameter and use it.
11049         (ada_language_defn): Adjust.
11050         * break-catch-syscall.c (catch_syscall_completer): Adjust
11051         prototype and work with completion_tracker instead of VEC.
11052         * breakpoint.c (condition_completer): Adjust prototype and work
11053         with completion_tracker instead of VEC.
11054         * c-lang.c (c_language_defn, cplus_language_defn)
11055         (asm_language_defn, minimal_language_defn): Adjust to renames.
11056         * cli/cli-cmds.c (complete_command): Rework using
11057         completion_tracker.  Catch exceptions when completing.
11058         * cli/cli-decode.c (integer_unlimited_completer)
11059         (complete_on_cmdlist, complete_on_enum): Adjust prototype and work
11060         with completion_tracker instead of VEC.
11061         * command.h (struct completion_tracker): Forward declare.
11062         (completer_ftype, completer_handle_brkchars_ftype): Change
11063         types.
11064         (complete_on_cmdlist, complete_on_enum): Adjust.
11065         * completer.c: Include <algorithm>.
11066         (struct gdb_completer_state): New.
11067         (current_completion): New global.
11068         (readline_line_completion_function): Delete.
11069         (noop_completer, filename_completer)
11070         (filename_completer_handle_brkchars, complete_files_symbols)
11071         (linespec_location_completer): Adjust to work with a
11072         completion_tracker instead of a VEC.
11073         (string_or_empty): New.
11074         (collect_explicit_location_matches): Adjust to work with a
11075         completion_tracker instead of a VEC.
11076         (explicit_location_completer): Rename to ...
11077         (complete_explicit_location): ... this and adjust to work with a
11078         completion_tracker instead of a VEC.
11079         (location_completer): Adjust to work with a completion_tracker
11080         instead of a VEC.
11081         (add_struct_fields): Adjust to work with a completion_list instead
11082         of VEC.
11083         (expression_completer): Rename to ...
11084         (complete_expression): ... this and adjust to work with a
11085         completion_tracker instead of a VEC.  Use complete_files_symbols.
11086         (expression_completer): Reimplement on top of complete_expression.
11087         (symbol_completer): Adjust to work with a completion_tracker
11088         instead of a VEC.
11089         (enum complete_line_internal_reason): Add describing comments.
11090         (complete_line_internal_normal_command): Adjust to work with a
11091         completion_tracker instead of a VEC.
11092         (complete_line_internal): Rename to ...
11093         (complete_line_internal_1): ... this and adjust to work with a
11094         completion_tracker instead of a VEC.  Assert TEXT is NULL in the
11095         handle_brkchars phase.
11096         (new_completion_tracker): Delete.
11097         (complete_line_internal): Reimplement as TRY/CATCH wrapper around
11098         complete_line_internal_1.
11099         (free_completion_tracker): Delete.
11100         (INITIAL_COMPLETION_HTAB_SIZE): New.
11101         (completion_tracker::completion_tracker)
11102         (completion_tracker::~completion_tracker): New.
11103         (maybe_add_completion): Delete.
11104         (completion_tracker::maybe_add_completion)
11105         (completion_tracker::add_completion)
11106         (completion_tracker::add_completions): New.
11107         (throw_max_completions_reached_error): Delete.
11108         (complete_line): Adjust to work with a completion_tracker instead
11109         of a VEC.  Don't create a completion_tracker_t or check for max
11110         completions here.
11111         (command_completer, command_completer_handle_brkchars)
11112         (signal_completer, reg_or_group_completer_1)
11113         (reg_or_group_completer, default_completer_handle_brkchars):
11114         Adjust to work with a completion_tracker.
11115         (gdb_completion_word_break_characters_throw): New.
11116         (gdb_completion_word_break_characters): Reimplement.
11117         (line_completion_function): Delete.
11118         (completion_tracker::recompute_lowest_common_denominator)
11119         (expand_preserving_ws)
11120         (completion_tracker::build_completion_result)
11121         (completion_result::completion_result)
11122         (completion_result::completion_result)
11123         (completion_result::~completion_result)
11124         (completion_result::completion_result)
11125         (completion_result::release_match_list, compare_cstrings)
11126         (completion_result::sort_match_list)
11127         (completion_result::reset_match_list)
11128         (gdb_rl_attempted_completion_function_throw)
11129         (gdb_rl_attempted_completion_function): New.
11130         * completer.h (completion_list, struct completion_result)
11131         (class completion_tracker): New.
11132         (complete_line): Add completion_tracker parameter.
11133         (readline_line_completion_function): Delete.
11134         (gdb_rl_attempted_completion_function): New.
11135         (noop_completer, filename_completer, expression_completer)
11136         (location_completer, symbol_completer, command_completer)
11137         (signal_completer, reg_or_group_completer): Update prototypes.
11138         (completion_tracker_t, new_completion_tracker)
11139         (make_cleanup_free_completion_tracker): Delete.
11140         (enum maybe_add_completion_enum): Delete.
11141         (maybe_add_completion): Delete.
11142         (throw_max_completions_reached_error): Delete.
11143         * corefile.c (complete_set_gnutarget): Adjust to work with a
11144         completion_tracker instead of a VEC.
11145         * cp-abi.c (cp_abi_completer): Adjust to work with a
11146         completion_tracker instead of a VEC.
11147         * d-lang.c (d_language_defn): Adjust.
11148         * disasm.c (disassembler_options_completer): Adjust to work with a
11149         completion_tracker instead of a VEC.
11150         * f-lang.c (f_make_symbol_completion_list): Rename to ...
11151         (f_collect_symbol_completion_matches): ... this.  Adjust to work
11152         with a completion_tracker instead of a VEC.
11153         (f_language_defn): Adjust.
11154         * go-lang.c (go_language_defn): Adjust.
11155         * guile/scm-cmd.c (cmdscm_add_completion, cmdscm_completer):
11156         Adjust to work with a completion_tracker instead of a VEC.
11157         * infrun.c (handle_completer): Likewise.
11158         * interps.c (interpreter_completer): Likewise.
11159         * interps.h (interpreter_completer): Likewise.
11160         * language.c (unknown_language_defn, auto_language_defn)
11161         (local_language_defn): Adjust.
11162         * language.h (language_defn::la_make_symbol_completion_list):
11163         Rename to ...
11164         (language_defn::la_collect_symbol_completion_matches): ... this
11165         and adjust to work with a completion_tracker instead of a VEC.
11166         * m2-lang.c (m2_language_defn): Adjust.
11167         * objc-lang.c (objc_language_defn): Adjust.
11168         * opencl-lang.c (opencl_language_defn): Adjust.
11169         * p-lang.c (pascal_language_defn): Adjust.
11170         * python/py-cmd.c (cmdpy_completer_helper): Handle NULL word.
11171         (cmdpy_completer_handle_brkchars, cmdpy_completer): Adjust to work
11172         with a completion_tracker.
11173         * rust-lang.c (rust_language_defn): Adjust.
11174         * symtab.c (free_completion_list, do_free_completion_list)
11175         (return_val, completion_tracker): Delete.
11176         (completion_list_add_name, completion_list_add_symbol)
11177         (completion_list_add_msymbol, completion_list_objc_symbol)
11178         (completion_list_add_fields, add_symtab_completions): Add
11179         completion_tracker parameter and use it.
11180         (default_make_symbol_completion_list_break_on_1): Rename to...
11181         (default_collect_symbol_completion_matches_break_on): ... this.
11182         Add completion_tracker parameter and use it instead of allocating
11183         a completion tracker here.
11184         (default_make_symbol_completion_list_break_on): Delete old
11185         implementation.
11186         (default_make_symbol_completion_list): Delete.
11187         (default_collect_symbol_completion_matches): New.
11188         (make_symbol_completion_list): Delete.
11189         (collect_symbol_completion_matches): New.
11190         (make_symbol_completion_type): Rename to ...
11191         (collect_symbol_completion_matches_type): ... this.  Add
11192         completion_tracker parameter and use it instead of VEC.
11193         (make_file_symbol_completion_list_1): Rename to...
11194         (collect_file_symbol_completion_matches): ... this.  Add
11195         completion_tracker parameter and use it instead of VEC.
11196         (make_file_symbol_completion_list): Delete.
11197         (add_filename_to_list): Use completion_list instead of a VEC.
11198         (add_partial_filename_data::list): Now a completion_list.
11199         (make_source_files_completion_list): Work with a completion_list
11200         instead of a VEC.
11201         * symtab.h: Include "completer.h".
11202         (default_make_symbol_completion_list_break_on)
11203         (default_make_symbol_completion_list, make_symbol_completion_list)
11204         (make_symbol_completion_type, make_file_symbol_completion_list)
11205         (make_source_files_completion_list): Delete.
11206         (default_collect_symbol_completion_matches_break_on)
11207         (default_collect_symbol_completion_matches)
11208         (collect_symbol_completion_matches)
11209         (collect_symbol_completion_matches_type)
11210         (collect_file_symbol_completion_matches)
11211         (make_source_files_completion_list): New.
11212         * top.c (init_main): Don't install a rl_completion_entry_function
11213         hook.  Install a rl_attempted_completion_function hook instead.
11214         * tui/tui-layout.c (layout_completer): Adjust to work with a
11215         completion_tracker.
11216         * tui/tui-regs.c (tui_reggroup_completer):
11217         * tui/tui-win.c (window_name_completer, focus_completer)
11218         (winheight_completer): Adjust to work with a completion_tracker.
11219         * value.c: Include "completer.h".
11220         (complete_internalvar): Adjust to work with a completion_tracker.
11221         * value.h (complete_internalvar): Likewise.
11222
11223 2017-07-17  Pedro Alves  <palves@redhat.com>
11224
11225         * cli/cli-decode.c (set_cmd_completer_handle_brkchars): Adjust to
11226         renames.
11227         * cli/cli-decode.h (struct cmd_list_element) <completer>: Move
11228         comments to completer_ftype's declaration.
11229         <completer_handle_brkchars>: Change type to
11230         completer_handle_brkchars_ftype.
11231         * command.h (completer_ftype): Add describing comment and give
11232         names to parameters.
11233         (completer_ftype_void): Rename to ...
11234         (completer_handle_brkchars_ftype) ... this.  Add describing comment.
11235         (set_cmd_completer_handle_brkchars): Adjust.
11236         * completer.c (filename_completer_handle_brkchars): New function.
11237         (complete_line_internal_normal_command): New function, factored
11238         out from ...
11239         (complete_line_internal): ... here.
11240         (command_completer_handle_brkchars)
11241         (default_completer_handle_brkchars)
11242         (completer_handle_brkchars_func_for_completer): New functions.
11243         * completer.h (set_gdb_completion_word_break_characters): Delete
11244         declaration.
11245         (completer_handle_brkchars_func_for_completer): New declaration.
11246         * python/py-cmd.c (cmdpy_completer_handle_brkchars): Adjust to use
11247         completer_handle_brkchars_func_for_completer.
11248
11249 2017-07-17  Pedro Alves  <palves@redhat.com>
11250
11251         * completer.c (symbol_completer): New function, based on
11252         make_symbol_completion_list_fn.
11253         * completer.h (symbol_completer): New declaration.
11254         * guile/scm-cmd.c (cmdscm_completers): Adjust.
11255         * python/py-cmd.c (completers): Adjust.
11256         * symtab.c (make_symbol_completion_list_fn): Delete.
11257         * symtab.h (make_symbol_completion_list_fn): Delete.
11258         * cli/cli-decode.c (add_cmd): Adjust.
11259
11260 2017-07-17  Pedro Alves  <palves@redhat.com>
11261
11262         * Makefile.in (COMMON_OBS): Add filename-seen-cache.o.
11263         * dwarf2read.c: Include "filename-seen-cache.h".
11264         * dwarf2read.c (dwarf2_per_objfile) <filenames_cache>: New field.
11265         (dw2_map_symbol_filenames): Build and use a filenames_seen_cache.
11266         * filename-seen-cache.c: New file.
11267         * filename-seen-cache.h: New file.
11268         * symtab.c: Include "filename-seen-cache.h".
11269         (struct filename_seen_cache, INITIAL_FILENAME_SEEN_CACHE_SIZE)
11270         (create_filename_seen_cache, clear_filename_seen_cache)
11271         (delete_filename_seen_cache, filename_seen): Delete, parts moved
11272         to filename-seen-cache.h/filename-seen-cache.c.
11273         (output_source_filename, sources_info)
11274         (maybe_add_partial_symtab_filename)
11275         (make_source_files_completion_list): Adjust to use
11276         filename_seen_cache.
11277
11278 2017-07-17  Pedro Alves  <palves@redhat.com>
11279
11280         * dwarf2read.c (dwarf2_per_objfile): In-class initialize all
11281         fields.
11282         (dwarf2_per_objfile::dwarf2_per_objfile(objfile*, const
11283         dwarf2_debug_sections*)): New.
11284         (dwarf2_per_objfile::dwarf2_per_objfile(const
11285         dwarf2_per_objfile&)): Declare as deleted.
11286         (dwarf2_per_objfile::operator=): Declare as deleted.
11287         (dwarf2_per_objfile::dwarf2_per_objfile)
11288         (dwarf2_per_objfile::~dwarf2_per_objfile)
11289         (dwarf2_per_objfile::free_cached_comp_units): New.
11290         (dwarf2_has_info): dwarf2_per_objfile initialization code moved to
11291         ctor.  Call dwarf2_per_objfile's ctor manually.
11292         (dwarf2_locate_sections): Deleted/refactored as ...
11293         (dwarf2_per_objfile::locate_sections): ... this new method.
11294         (free_cached_comp_units): Defer to
11295         dwarf2_per_objfile::free_cached_comp_units.
11296         (dwarf2_free_objfile): Call dwarf2_per_objfile's dtor manually.
11297
11298 2017-07-14  Tom Tromey  <tom@tromey.com>
11299
11300         PR rust/21764:
11301         * rust-exp.y (convert_ast_to_expression): Add "want_type"
11302         parameter.
11303         <UNOP_SIZEOF>: Split into separate case.
11304         <UNOP_VAR_VALUE>: Handle want_type.  Add error case.
11305
11306 2017-07-14  Tom Tromey  <tom@tromey.com>
11307
11308         PR rust/21763:
11309         * symtab.c (symbol_matches_domain): Add language_rust to special
11310         case.
11311         * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't
11312         treat LOC_TYPEDEF symbols as variables.
11313
11314 2017-07-14  Pedro Alves  <palves@redhat.com>
11315
11316         * symtab.c (make_file_symbol_completion_list_1): Iterate over
11317         symtabs matching all symtabs with SRCFILE as file name instead of
11318         only considering the first hit, with lookup_symtab.
11319
11320 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11321
11322         * ax-gdb.c (gen_aggregate_elt_ref): Remove operand_name and
11323         operator_name parameters.
11324         (gen_expr): Update function call.
11325
11326 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11327
11328         * dwarf2loc.h (dwarf2_compile_expr_to_ax): Remove gdbarch
11329         parameter.
11330         * symtab.h (struct symbol_computed_ops::tracepoint_var_ref):
11331         Likewise.
11332         * dwarf2loc.c (dwarf2_compile_expr_to_ax): Remove gdbarch
11333         parameter, use agent_expr::gdbarch instead, update function
11334         calls.
11335         (locexpr_tracepoint_var_ref): Likewise.
11336         (loclist_tracepoint_var_ref): Likewise.
11337         * ax-gdb.c (gen_trace_static_fields): Likewise.
11338         (gen_traced_pop): Likewise.
11339         (gen_frame_args_address): Likewise.
11340         (gen_frame_locals_address): Likewise.
11341         (gen_var_ref): Likewise.
11342         (gen_struct_ref_recursive): Likewise.
11343         (gen_static_field): Likewise.
11344         (gen_maybe_namespace_elt): Likewise.
11345         (gen_expr): Likewise.
11346         (gen_trace_for_var): Likewise.
11347         (gen_trace_for_expr): Likewise.
11348         (gen_trace_for_return_address): Likewise.
11349
11350 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11351
11352         * ax-gdb.c (gen_deref, gen_address_of): Remove unused ax
11353         parameter.
11354         (gen_struct_ref, gen_expr, gen_expr_binop_rest): Update call.
11355
11356 2017-07-14  Simon Marchi  <simon.marchi@ericsson.com>
11357
11358         * ax-gdb.c (gen_usual_unary): Remove exp parameter, get gdbarch
11359         from ax, update calls.
11360         (gen_usual_arithmetic): Likewise.
11361         (gen_integral_promotions): Likewise.
11362         (gen_bitfield_ref): Likewise.
11363         (gen_primitive_field): Likewise.
11364         (gen_struct_ref_recursive): Likewise.
11365         (gen_struct_ref): Likewise.
11366         (gen_maybe_namespace_elt): Likewise.
11367         (gen_struct_elt_for_reference): Likewise.
11368         (gen_namespace_elt): Likewise.
11369         (gen_aggregate_elt_ref): Likewise.
11370         (gen_expr): Get gdbarch from ax, update calls.
11371         (gen_expr_binop_rest): Likewise.
11372
11373 2017-07-13  Pedro Alves  <palves@redhat.com>
11374
11375         * amd64-darwin-tdep.c (x86_darwin_init_abi_64): Pass tdesc_amd64
11376         as default tdesc.
11377         * amd64-dicos-tdep.c (amd64_dicos_init_abi):
11378         * amd64-fbsd-tdep.c (amd64fbsd_init_abi):
11379         * amd64-linux-tdep.c (amd64_linux_init_abi): Pass
11380         tdesc_amd64_linux as default tdesc.  Get final tdesc from the
11381         tdep.
11382         (amd64_x32_linux_init_abi): Pass tdesc_x32_linux as default tdesc.
11383         Get final tdesc from the tdep.
11384         * amd64-nbsd-tdep.c (amd64nbsd_init_abi): Pass tdesc_amd64 as
11385         default tdesc.
11386         * amd64-obsd-tdep.c (amd64obsd_init_abi): Likewise.
11387         * amd64-sol2-tdep.c (amd64_sol2_init_abi): Likewise.
11388         * amd64-tdep.c (amd64_init_abi): Add 'default_tdesc' parameter.
11389         Use it as default tdesc.
11390         (amd64_x32_init_abi): Add 'default_tdesc' parameter, and pass it
11391         down to amd_init_abi.  No longer handle fallback tdesc here.
11392         * amd64-tdep.h (tdesc_x32): Declare.
11393         (amd64_init_abi, amd64_x32_init_abi): Add 'default_tdesc'
11394         parameter.
11395         * amd64-windows-tdep.c (amd64_windows_init_abi): Pass tdesc_amd64
11396         as default tdesc.
11397
11398 2017-07-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11399
11400         * s390-linux-tdep.c (s390_process_record): Add support for
11401         instructions new in arch12.
11402
11403 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11404
11405         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use
11406         PT_GETFSBASE and PT_GETGSBASE.
11407         (amd64bsd_store_inferior_registers): Use PT_SETFSBASE and
11408         PT_SETGSBASE.
11409
11410 2017-07-11  John Baldwin  <jhb@FreeBSD.org>
11411
11412         * features/Makefile (amd64.dat, amd64-avx.dat, amd64-mpx.dat)
11413         (amd64-avx-mpx.dat, amd64-avx-avx512.dat)
11414         (amd64-avx-mpx-avx512-pku.dat): Add i386/64bit-segments.xml in
11415         those rules.
11416         * features/i386/amd64-avx-avx512.xml: Add 64bit-segments.xml.
11417         * features/i386/amd64-avx-mpx-avx512-pku.xml: Add 64bit-segments.xml.
11418         * features/i386/amd64-avx-mpx.xml: Add 64bit-segments.xml.
11419         * features/i386/amd64-avx.xml: Add 64bit-segments.xml.
11420         * features/i386/amd64-mpx.xml: Add 64bit-segments.xml.
11421         * features/i386/amd64.xml: Add 64bit-segments.xml.
11422         * features/i386/amd64-avx-avx512.c: Regenerated.
11423         * features/i386/amd64-avx-mpx-avx512-pku.c: Regenerated.
11424         * features/i386/amd64-avx-mpx.c: Regenerated.
11425         * features/i386/amd64-avx.c: Regenerated.
11426         * features/i386/amd64-mpx.c: Regenerated.
11427         * features/i386/amd64.c: Regenerated.
11428         * regformats/i386/amd64-avx-avx512.dat: Regenerated.
11429         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11430         * regformats/i386/amd64-avx-mpx.dat: Regenerated.
11431         * regformats/i386/amd64-avx.dat: Regenerated.
11432         * regformats/i386/amd64-mpx.dat: Regenerated.
11433         * regformats/i386/amd64.dat: Regenerated.
11434
11435 2017-07-10  Yao Qi  <yao.qi@linaro.org>
11436
11437         * features/i386/amd64-avx-avx512-linux.c: Re-generated.
11438         * features/i386/amd64-avx-mpx-avx512-pku-linux.c: Re-generated.
11439
11440 2017-07-10  Anton Kolesov  <Anton.Kolesov@synopsys.com>
11441
11442         * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add setenv and
11443         unsetenv.
11444         * gnulib/aclocal.m4: Regenerate.
11445         * gnulib/config.in: Regenerate.
11446         * gnulib/configure: Regenerate.
11447         * gnulib/import/Makefile.am: Regenerate.
11448         * gnulib/import/Makefile.in: Regenerate.
11449         * gnulib/import/m4/gnulib-cache.m4: Regenerate.
11450         * gnulib/import/m4/gnulib-comp.m4: Regenerate.
11451         * gnulib/import/m4/environ.m4: New file.
11452         * gnulib/import/m4/setenv.m4: New file.
11453         * gnulib/import/setenv.c: New file.
11454         * gnulib/import/unsetenv.c: New file.
11455
11456 2017-07-09  Simon Marchi  <simon.marchi@ericsson.com>
11457
11458         * compile/compile-loc2c.c (do_compile_dwarf_expr_to_c): Read
11459         address when op is DW_OP_addr.
11460
11461 2017-07-09  Tom Tromey  <tom@tromey.com>
11462
11463         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Reverse size
11464         check and apply to outer type.
11465
11466 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11467
11468         * fbsd-tdep.c (LWPINFO_OFFSET, LWPINFO_PL_FLAGS)
11469         (LWPINFO64_PL_SIGINFO, LWPINFO32_PL_SIGINFO, PL_FLAG_SI)
11470         (SIZE64_SIGINFO_T, SIZE32_SIGINFO_T, fbsd_core_xfer_siginfo): New.
11471         (fbsd_init_abi): Install gdbarch "core_xfer_siginfo" method.
11472
11473 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11474
11475         * fbsd-tdep.c (fbsd_core_thread_name): Use thread_section_name.
11476
11477 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11478
11479         * corelow.c (get_core_siginfo): Remove.
11480         (core_xfer_partial): Use the gdbarch "core_xfer_siginfo" method
11481         instead of get_core_siginfo.
11482         * gdbarch.sh (core_xfer_siginfo): New gdbarch callback.
11483         * gdbarch.h: Re-generate.
11484         * gdbarch.c: Re-generate.
11485         * linux-tdep.c (linux_core_xfer_siginfo): New.
11486         (linux_init_abi): Install gdbarch "core_xfer_siginfo" method.
11487
11488 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11489
11490         * corelow.c (thread_section_name): Move to ...
11491         * gdbcore.h (thread_section_name): ... here.
11492
11493 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11494
11495         * fbsd-nat.c [PT_LWPINFO && __LP64__] (union sigval32)
11496         (struct siginfo32): New.
11497         [PT_LWPINFO] (fbsd_siginfo_size, fbsd_convert_siginfo): New.
11498         (fbsd_xfer_partial) [PT_LWPINFO]: Handle TARGET_OBJECT_SIGNAL_INFO
11499         via ptrace(PT_LWPINFO).
11500
11501 2017-07-07  John Baldwin  <jhb@FreeBSD.org>
11502
11503         * fbsd-tdep.c (fbsd_gdbarch_data_handle, struct fbsd_gdbarch_data)
11504         (init_fbsd_gdbarch_data, get_fbsd_gdbarch_data)
11505         (fbsd_get_siginfo_type): New.
11506         (fbsd_init_abi): Install gdbarch "get_siginfo_type" method.
11507         (_initialize_fbsd_tdep): New.
11508
11509 2017-07-06  David Blaikie  <dblaikie@gmail.com>
11510
11511         * dwarf2read.c (struct dwo_file): Use a htab of dwo_unit* (rather than
11512         a singular dwo_unit*) to support multiple CUs in the same way that
11513         multiple TUs are supported.
11514         (create_cus_hash_table): Replace create_dwo_cu with a function for
11515         parsing multiple CUs from a DWO file.
11516         (open_and_init_dwo_file): Use create_cus_hash_table rather than
11517         create_dwo_cu.
11518         (lookup_dwo_cutu): Lookup CU in the hash table in the dwo_file with
11519         htab_find, rather than comparing the signature to a singleton CU in
11520         the dwo_file.
11521
11522 2017-07-06  Pedro Alves  <palves@redhat.com>
11523
11524         * python/py-unwind.c (pyuw_dealloc_cache): Fix for loop condition.
11525
11526 2017-07-04  Pedro Alves  <palves@redhat.com>
11527
11528         * gdbtypes.c (recursive_dump_type): Don't reference TYPE_STATIC.
11529         * gdbtypes.h (TYPE_STATIC): Delete.
11530         (struct fn_field) <is_public, is_abstract, is_static, is_final,
11531         is_synchronized, is_native>: Delete.
11532         <dummy>: Bump.
11533         (TYPE_FN_FIELD_PUBLIC, TYPE_FN_FIELD_STATIC, TYPE_FN_FIELD_FINAL)
11534         (TYPE_FN_FIELD_SYNCHRONIZED, TYPE_FN_FIELD_NATIVE)
11535         (TYPE_FN_FIELD_ABSTRACT): Delete.
11536
11537 2017-07-03  Simon Marchi  <simon.marchi@ericsson.com>
11538
11539         * buffer.h (buffer_finish): Fix spelling mistakes.
11540
11541 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
11542
11543         * .dir-locals.el: Automatically switch to C-style comments in
11544         versions of Emacs that support the feature.
11545
11546 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11547             Pedro Alves  <palves@redhat.com>
11548
11549         PR cli/21688
11550         * cli/cli-script.c (command_name_equals_not_inline): Remove function.
11551         (process_next_line): New variable 'inline_cmd'.
11552         Adjust 'if' clauses for "python", "compile" and "guile" to use
11553         'command_name_equals' and check for '!inline_cmd'.
11554
11555 2017-06-30  Sergio Durigan Junior  <sergiodj@redhat.com>
11556
11557         PR cli/21688
11558         * cli/cli-script.c (command_name_equals_not_inline): New function.
11559         (process_next_line): Adjust 'if' clauses for "python", "compile"
11560         and "guile" to use command_name_equals_not_inline.
11561
11562 2017-06-29  Pedro Alves  <palves@redhat.com>
11563
11564         * completer.c (expression_completer): Call
11565         linespec_location_completer instead of location_completer.
11566
11567 2017-06-29  Pedro Alves  <palves@redhat.com>
11568
11569         * completer.c (expression_completer): Remove code that recomputes
11570         'text' from 'word'.
11571
11572 2017-06-29  Yao Qi  <yao.qi@linaro.org>
11573
11574         * regformats/regdat.sh: Generate code with
11575         "ifndef IN_PROCESS_AGENT".
11576
11577 2017-06-28  Pedro Alves  <palves@redhat.com>
11578
11579         * command.h: Include "common/scoped_restore.h".
11580
11581 2017-06-28  Yao Qi  <yao.qi@linaro.org>
11582
11583         * mi/mi-cmd-break.c (mi_argv_to_format): Use obstack_grow_str
11584         instead of obstack_grow.
11585
11586 2017-06-28  Doug Gilmore  <Doug.Gilmore@imgtec.com>
11587
11588         PR gdb/21337
11589         * symfile.c (reread_symbols): Call objfiles_changed just before
11590         read_symbols.
11591
11592 2017-06-27  Pedro Alves  <palves@redhat.com>
11593
11594         * symtab.c (COMPLETION_LIST_ADD_SYMBOL)
11595         (MCOMPLETION_LIST_ADD_SYMBOL): Delete macros, replace with ...
11596         (completion_list_add_symbol, completion_list_add_msymbol):
11597         ... these new functions.
11598         (add_symtab_completions)
11599         (default_make_symbol_completion_list_break_on_1): Adjust.
11600
11601 2017-06-27  Pedro Alves  <palves@redhat.com>
11602
11603         * objfiles.c (get_objfile_bfd_data): Call bfd_alloc instead of
11604         bfd_zalloc.  Call objfile_per_bfd_storage's ctor.
11605         (free_objfile_per_bfd_storage): Call objfile_per_bfd_storage's
11606         dtor.
11607         * objfiles.h (objfile_per_bfd_storage): Add ctor.  Make
11608         'storage_obstack' field an auto_obstack.  In-class initialize all
11609         non-bitfield fields.  Make minsyms_read bool.
11610         * symfile.c (read_symbols): Adjust.
11611
11612 2017-06-27  Alan Hayward  <alan.hayward@arm.com>
11613
11614         * remote-sim.c (gdbsim_fetch_register): Use byte_vector.
11615         (gdbsim_store_register): Likewise.
11616
11617 2017-06-27  Pedro Alves  <palves@redhat.com>
11618
11619         * c-exp.y (name_obstack): Now an auto_obstack.
11620         (yylex): Use auto_obstack::clear.
11621         (c_parse): Use auto_obstack::clear instead of reinitializing and
11622         freeing the obstack.
11623         * c-lang.c (evaluate_subexp_c): Use auto_obstack.
11624         * d-exp.y (name_obstack): Now an auto_obstack.
11625         (yylex): Use auto_obstack::clear.
11626         (d_parse): Use auto_obstack::clear instead of reinitializing and
11627         freeing the obstack.
11628         * dwarf2loc.c (fetch_const_value_from_synthetic_pointer): Use
11629         auto_obstack.
11630         * dwarf2read.c (create_addrmap_from_index)
11631         (dwarf2_build_psymtabs_hard)
11632         (update_enumeration_type_from_children): Likewise.
11633         * gdb_obstack.h (auto_obstack): New type.
11634         * go-exp.y (name_obstack): Now an auto_obstack.
11635         (build_packaged_name): Use auto_obstack::clear.
11636         (go_parse): Use auto_obstack::clear instead of reinitializing and
11637         freeing the obstack.
11638         * linux-tdep.c (linux_make_mappings_corefile_notes): Use
11639         auto_obstack.
11640         * printcmd.c (printf_wide_c_string, ui_printf): Use auto_obstack.
11641         * rust-exp.y (work_obstack): Now an auto_obstack.
11642         (rust_parse, rust_lex_tests): Use auto_obstack::clear instead of
11643         reinitializing and freeing the obstack.
11644         * utils.c (do_obstack_free, make_cleanup_obstack_free): Delete.
11645         (host_char_to_target): Use auto_obstack.
11646         * utils.h (make_cleanup_obstack_free): Delete declaration.
11647         * valprint.c (generic_emit_char, generic_printstr): Use
11648         auto_obstack.
11649
11650 2017-06-27  Simon Marchi  <simon.marchi@ericsson.com>
11651
11652         * darwin-nat.c (darwin_check_new_threads): Don't handle dummy
11653         thread.
11654         (darwin_init_thread_list): Don't update dummy thread.
11655         (darwin_create_inferior, darwin_attach): Don't add a dummy thread.
11656
11657 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11658
11659         * record-full.c (netorder16): Remove.
11660
11661 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11662
11663         * common/diagnostics.h: Define macros for GCC.
11664         (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): New macro.
11665         * common/vec.h: Include diagnostics.h.
11666         (DIAGNOSTIC_IGNORE_UNUSED_VEC_FUNCTION): New macro.
11667         (DEF_VEC_I, DEF_VEC_P, DEF_VEC_O): Ignore -Wunused-function
11668         warning.
11669
11670 2017-06-26  Simon Marchi  <simon.marchi@ericsson.com>
11671
11672         * common/diagnostics.h (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER):
11673         New macro.
11674         * ada-lex.l: Ignore deprecated register warnings.
11675
11676 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11677
11678         * main.c (get_init_files): Replace "SYSTEM_GDBINIT +
11679         datadir_len" with "&SYSTEM_GDBINIT[datadir_len]".
11680
11681 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11682
11683         * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
11684         its own line.
11685
11686 2017-06-25  Simon Marchi  <simon.marchi@ericsson.com>
11687
11688         * nat/x86-dregs.c (x86_show_dr): Print registers one per line.
11689
11690 2017-06-23  Alan Hayward  <alan.hayward@arm.com>
11691
11692         * xtensa-tdep.c (XTENSA_MAX_REGISTER_SIZE): Add.
11693         (xtensa_register_write_masked): Use XTENSA_MAX_REGISTER_SIZE.
11694         (xtensa_register_read_masked): Likewise.
11695
11696 2017-06-22  Sergio Durigan Junior  <sergiodj@redhat.com>
11697
11698         * common/environ.c (gdb_environ::unset): Update comment.
11699
11700 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11701
11702         * python/py-unwind.c (pyuw_sniffer): Allocate space for
11703         registers.
11704
11705 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11706
11707         * record-full.c (record_full_exec_insn): Use byte_vector.
11708
11709 2017-06-22  Yao Qi  <yao.qi@linaro.org>
11710
11711         * regformats/i386/amd64-avx-mpx-avx512-pku-linux.dat: Regenerated.
11712         * regformats/i386/amd64-avx-mpx-avx512-pku.dat: Regenerated.
11713
11714 2017-06-22  Alan Hayward  <alan.hayward@arm.com>
11715
11716         * remote.c (cached_reg): Move from here...
11717         * regcache.h (cached_reg): ...to here.
11718         * python/py-unwind.c (struct reg_info): Remove.
11719         (cached_frame_info): Use cached_reg_t.
11720         (pyuw_prev_register): Likewise.
11721         (pyuw_sniffer): Use cached_reg_t and allocate registers.
11722         (pyuw_dealloc_cache): Free all registers.
11723
11724 2017-06-22  Pedro Alves  <palves@redhat.com>
11725             Simon Marchi  <simon.marchi@ericsson.com>
11726
11727         * unittests/environ-selftests.c (run_tests): Ignore -Wself-move
11728         warning.
11729         * common/diagnostics.h: New file.
11730
11731 2017-06-22  Pedro Alves  <palves@redhat.com>
11732
11733         * common/agent.h: Add include guards.
11734
11735 2017-06-21  Simon Marchi  <simon.marchi@ericsson.com>
11736
11737         * target.h (struct target_ops) <to_xfer_partial>: Update doc to
11738         talk about addressable units instead of bytes.
11739
11740 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11741
11742         * common/environ.c (gdb_environ::unset): Use '::iterator' instead
11743         of '::const_iterator'.
11744
11745 2017-06-20  Sergio Durigan Junior  <sergiodj@redhat.com>
11746
11747         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
11748         'unittests/environ-selftests.c'.
11749         (SUBDIR_UNITTESTS_OBS): Add 'environ-selftests.o'.
11750         * charset.c (find_charset_names): Declare object 'iconv_env'.
11751         Update code to use 'iconv_env' object.  Remove call to
11752         'free_environ'.
11753         * common/environ.c: Include <utility>.
11754         (make_environ): Delete function.
11755         (free_environ): Delete function.
11756         (gdb_environ::clear): New function.
11757         (gdb_environ::operator=): New function.
11758         (gdb_environ::get): Likewise.
11759         (environ_vector): Delete function.
11760         (set_in_environ): Delete function.
11761         (gdb_environ::set): New function.
11762         (unset_in_environ): Delete function.
11763         (gdb_environ::unset): New function.
11764         (gdb_environ::envp): Likewise.
11765         * common/environ.h: Include <vector>.
11766         (struct gdb_environ): Delete; transform into...
11767         (class gdb_environ): ... this class.
11768         (free_environ): Delete prototype.
11769         (init_environ, get_in_environ, set_in_environ, unset_in_environ,
11770         environ_vector): Likewise.
11771         * infcmd.c (run_command_1): Update code to call
11772         'envp' from 'gdb_environ' class.
11773         (environment_info): Update code to call methods from 'gdb_environ'
11774         class.
11775         (unset_environment_command): Likewise.
11776         (path_info): Likewise.
11777         (path_command): Likewise.
11778         * inferior.c (inferior::~inferior): Delete call to 'free_environ'.
11779         (inferior::inferior): Initialize 'environment' using the host's
11780         information.
11781         * inferior.h: Remove forward declaration of 'struct gdb_environ'.
11782         Include "environ.h".
11783         (class inferior) <environment>: Change type from 'struct
11784         gdb_environ' to 'gdb_environ'.
11785         * mi/mi-cmd-env.c (mi_cmd_env_path): Update code to call
11786         methods from 'gdb_environ' class.
11787         * solib.c (solib_find_1): Likewise
11788         * unittests/environ-selftests.c: New file.
11789
11790 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11791
11792         * features/i386/i386-linux.xml: Exchange the order of including
11793         32bit-linux.xml and 32bit-sse.xml.
11794         * features/i386/i386-linux.c: Regenerated.
11795
11796 2017-06-20  Yao Qi  <yao.qi@linaro.org>
11797
11798         * target-descriptions.c (tdesc_reg): Add ctor, dtor.
11799         Delete copy ctor and assignment operator.
11800         (tdesc_type): Likewise.
11801         (tdesc_feature): Likewise.
11802         (tdesc_free_reg): Remove.
11803         (tdesc_create_reg): Use new.
11804         (tdesc_free_type): Remove.
11805         (tdesc_create_vector): Use new.
11806         (tdesc_create_union): Likewise.
11807         (tdesc_create_flags): Likewise.
11808         (tdesc_create_enum): Likewise.
11809         (tdesc_free_feature): Delete.
11810         (free_target_description): Use delete.
11811
11812 2017-06-19  John Baldwin  <jhb@FreeBSD.org>
11813
11814         * mips-tdep.c (print_gp_register_row): Don't error for unavailable
11815         registers.
11816
11817 2017-06-19  Pedro Alves  <palves@redhat.com>
11818
11819         * dwarf2read.c (write_psymtabs_to_index): Construct file_closer
11820         after gdb::unlinker.
11821
11822 2017-06-19  Sergio Durigan Junior  <sergiodj@redhat.com>
11823
11824         * mi/mi-cm-env.c (_initialize_mi_cmd_env): Use getenv instead of
11825         gdb_environ to access an environment variable.
11826
11827 2017-06-18  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
11828
11829         * nat/linux-ptrace.c (linux_fork_to_function): Add cast to
11830         gdb_byte*.
11831
11832 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11833
11834         * nat/fork-inferior.h (trace_start_error): Add ATTRIBUTE_PRINTF.
11835
11836 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11837
11838         * configure: Re-generate.
11839         * warning.m4 (build_warnings): Add -Wno-mismatched-tags.
11840
11841 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11842
11843         * configure: Re-generate.
11844         * warning.m4: Pass -Werror to compiler when checking for
11845         supported warning flags.
11846
11847 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
11848
11849         * Makefile.in (COMPILE.pre): Add "-x c++".
11850
11851 2017-06-16  Alan Hayward  <alan.hayward@arm.com>
11852             Pedro Alves  <palves@redhat.com>
11853             Yao Qi  <yao.qi@linaro.org>
11854
11855         * defs.h (RequireLongest): New.
11856         (extract_integer): Declare function template.
11857         (extract_signed_integer): Remove the declaration, but define it
11858         static inline.
11859         (extract_unsigned_integer): Likewise.
11860         (store_integer): Declare function template.
11861         (store_signed_integer): Remove the declaration, but define it
11862         static inline.
11863         (store_unsigned_integer): Likewise.
11864         * findvar.c (extract_integer): New function template.
11865         (extract_signed_integer): Remove.
11866         (extract_unsigned_integer): Remove.
11867         (extract_integer<LONGEST>, extract_integer<ULONGEST>): Explicit
11868         instantiations.
11869         (store_integer): New function template.
11870         (store_signed_integer): Remove.
11871         (store_unsigned_integer): Remove.
11872         (store_integer): Explicit instantiations.
11873         * regcache.c (regcache_raw_read_signed): Update.
11874         (regcache::raw_read): New function.
11875         (regcache::raw_read_signed): Remove.
11876         (regcache::raw_read_unsigned): Remove.
11877         (regcache_raw_read_unsigned): Update.
11878         (regcache_raw_write_unsigned): Update.
11879         (regcache::raw_write_signed): Remove.
11880         (regcache::raw_write): New function.
11881         (regcache_cooked_read_signed): Update.
11882         (regcache::raw_write_unsigned): Remove.
11883         (regcache::cooked_read_signed): Remove.
11884         (regcache_cooked_read_unsigned): Update.
11885         (regcache::cooked_read_unsigned): Remove.
11886         (regcache_cooked_write_signed): Update.
11887         (regcache_cooked_write_unsigned): Update.
11888         * regcache.h (regcache) <raw_read_signed>: Remove.
11889         <raw_write_signed, raw_read_unsigned, raw_write_unsigned>: Remove.
11890         <raw_read, raw_write>: New.
11891         <cooked_read_signed, cooked_write_signed>: Remove.
11892         <cooked_write_unsigned, cooked_read_unsigned>: Remove.
11893         <cooked_read, cooked_write>: New.
11894         * sh64-tdep.c (sh64_pseudo_register_read): Update.
11895         (sh64_pseudo_register_write): Update.
11896
11897 2017-06-16  Anton Kolesov  <anton.kolesov@synopsys.com>
11898
11899         * arc-tdep.c (arc_disassembler_options): New variable.
11900         (arc_gdbarch_init): Set and use it. Use arc_delayed_print_insn instead
11901         of default_print_insn.
11902         (arc_delayed_print_insn): Set info->section when needed,
11903         use default_print_insn to retrieve a disassembler.
11904
11905 2017-06-14  Sergio Durigan Junior  <sergiodj@redhat.com>
11906
11907         PR gdb/21574
11908         * infcmd.c (_initialize_infcmd): Expand "help run" documentation
11909         to mention $SHELL and startup-with-shell.
11910
11911 2017-06-14  Max Filippov  <jcmvbkbc@gmail.com>
11912
11913         * MAINTAINERS: Move Maxim Grigoriev to the Past Maintainers.
11914
11915 2017-06-14  Yao Qi  <yao.qi@linaro.org>
11916
11917         * aarch64-tdep.c (aarch64_gdb_print_insn): Call
11918         default_print_insn instead of print_insn_aarch64.
11919         * arm-tdep.c (gdb_print_insn_arm): Call
11920         default_print_insn instead of print_insn_big_arm
11921         and print_insn_little_arm.
11922         * i386-tdep.c (i386_print_insn): Call default_print_insn
11923         instead of print_insn_i386.
11924         * ia64-tdep.c (ia64_print_insn): Call
11925         default_print_insn instead of print_insn_ia64.
11926         * mips-tdep.c (gdb_print_insn_mips): Call
11927         default_print_insn instead of print_insn_big_mips
11928         and print_insn_little_mips.
11929         * spu-tdep.c (gdb_print_insn_spu): Call default_print_insn
11930         instead of print_insn_spu.
11931
11932 2017-06-14  Pedro Alves  <palves@redhat.com>
11933
11934         * ada-lang.c: Include "common/byte-vector.h".
11935         (ada_value_primitive_packed_val): Use gdb::byte_vector.
11936         * charset.c (wchar_iterator::iterate): Resize the vector instead
11937         of reserving it.
11938         * common/byte-vector.h: Include "common/def-vector.h".
11939         (wchar_iterator::m_out): Now a gdb::def_vector<gdb_wchar_t>.
11940         * cli/cli-dump.c: Include "common/byte-vector.h".
11941         (dump_memory_to_file, restore_binary_file): Use gdb::byte_vector.
11942         * common/byte-vector.h: New file.
11943         * common/def-vector.h: New file.
11944         * common/default-init-alloc.h: New file.
11945         * dwarf2loc.c: Include "common/byte-vector.h".
11946         (rw_pieced_value): Use gdb::byte_vector, and resize the vector
11947         instead of reserving it.
11948         * dwarf2read.c: Include "common/byte-vector.h".
11949         (data_buf::m_vec): Now a gdb::byte_vector.
11950         * gdb_regex.c: Include "common/def-vector.h".
11951         (compiled_regex::compiled_regex): Use gdb::def_vector<char>.
11952         * mi/mi-main.c: Include "common/byte-vector.h".
11953         (mi_cmd_data_read_memory): Use gdb::byte_vector.
11954         * printcmd.c: Include "common/byte-vector.h".
11955         (print_scalar_formatted): Use gdb::byte_vector.
11956         * valprint.c: Include "common/byte-vector.h".
11957         (maybe_negate_by_bytes, print_decimal_chars): Use
11958         gdb::byte_vector.
11959
11960 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11961
11962         * darwin-nat.c: Include "nat/fork-inferior.h".
11963
11964 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11965
11966         * configure.nat: Factor out Darwin bits that are not
11967         architecture-specific.  Add fork-inferior.o.
11968
11969 2017-06-13  Simon Marchi  <simon.marchi@ericsson.com>
11970
11971         * configure.nat: Factor out AIX bits that are not
11972         architecture-specific.  Add fork-inferior.o.
11973
11974 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11975
11976         * dwarf2loc.c (rw_pieced_value): New.  Merge logic from...
11977         (read_pieced_value, write_pieced_value): ...here.  Reduce to
11978         wrappers that just call rw_pieced_value.
11979
11980 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11981
11982         * dwarf2loc.c (write_pieced_value): When writing the data for a
11983         memory piece, use write_memory_with_notification instead of
11984         write_memory.
11985
11986 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11987
11988         * valops.c (read_value_memory): Change embedded_offset to
11989         represent a bit offset instead of a byte offset.
11990         * value.h (read_value_memory): Adjust comment.
11991
11992 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11993
11994         * dwarf2loc.c (read_pieced_value): Remove unnecessary variables
11995         dest_offset_bits and source_offset_bits.
11996         (write_pieced_value): Likewise.
11997
11998 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
11999
12000         * dwarf2loc.c (read_pieced_value): Respect the piece offset, as
12001         given by DW_OP_bit_piece.
12002         (write_pieced_value): Likewise.
12003
12004 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12005
12006         * dwarf2loc.c (read_pieced_value): Move the buffer allocation and
12007         some other preparations to the places where sufficient information
12008         is available.
12009         (write_pieced_value): Likewise.
12010
12011 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12012
12013         * dwarf2loc.c (bits_to_bytes): New function.
12014         (read_pieced_value): Fix offset calculations for register pieces
12015         on big-endian targets.
12016         (write_pieced_value): Likewise.
12017
12018 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12019
12020         * dwarf2loc.c (read_pieced_value): Remove buffer_size variable.
12021         (write_pieced_value): Likewise.
12022
12023 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12024
12025         * dwarf2loc.c (write_pieced_value): When writing to a bit-field,
12026         transfer the source value's least significant bits, instead of its
12027         lowest-addressed ones.  Rename type_len to max_offset.
12028         (read_pieced_value): Mirror above changes to write_pieced_value as
12029         applicable.
12030
12031 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12032
12033         * dwarf2loc.c (write_pieced_value): In DWARF_VALUE_MEMORY,
12034         truncate full bytes from dest_offset_bits before using it as an
12035         offset into the buffer.
12036
12037 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12038
12039         * dwarf2loc.c (write_pieced_value): Include transfer size in
12040         byte-wise check.
12041
12042 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12043
12044         * dwarf2loc.c (write_pieced_value): Fix copy/paste error in the
12045         calculation of this_size.
12046
12047 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12048
12049         * dwarf2loc.c (read_pieced_value): Respect parent value's offset
12050         when targeting a bit-field.
12051         (write_pieced_value): Likewise.
12052
12053 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12054
12055         * dwarf2loc.c (struct piece_closure) <addr_size>: Remove field.
12056         (allocate_piece_closure): Drop addr_size parameter.
12057         (dwarf2_evaluate_loc_desc_full): Adjust call to
12058         allocate_piece_closure.
12059
12060 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12061
12062         PR gdb/21226
12063         * dwarf2loc.c (read_pieced_value): Anchor stack value pieces at
12064         the LSB end, independent of endianness.
12065
12066 2017-06-13  Andreas Arnez  <arnez@linux.vnet.ibm.com>
12067
12068         * dwarf2loc.c (write_pieced_value): Fix order of calculations for
12069         size capping.
12070
12071 2017-06-13  Yao Qi  <yao.qi@linaro.org>
12072
12073         * mips-linux-nat.c: Move include features/mips*-linux.c to
12074         mips-linux-tdep.c.
12075         (_initialize_mips_linux_nat): Move initialize_tdesc_mips* calls
12076         to mips-linux-tdep.c.
12077         * mips-linux-tdep.c: Include features/mips*-linux.c
12078         (_initialize_mips_linux_tdep): Call initialize_tdesc_mips*
12079         functions.
12080         * mips-linux-tdep.h (tdesc_mips_linux): Declare.
12081         (tdesc_mips_dsp_linux, tdesc_mips64_linux): Declare.
12082         (tdesc_mips64_dsp_linux): Declare.
12083
12084 2017-06-12  Tom Tromey  <tom@tromey.com>
12085
12086         * valprint.h (val_print_type_code_int): Remove.
12087         * valprint.c (generic_val_print_int): Always call
12088         val_print_scalar_formatted.
12089         (val_print_type_code_int): Remove.
12090         * printcmd.c (print_scalar_formatted): Handle options->format==0.
12091         * f-valprint.c (f_val_print): Use val_print_scalar_formatted.
12092         * c-valprint.c (c_val_print_int): Use val_print_scalar_formatted.
12093         * ada-valprint.c (ada_val_print_num): Use
12094         val_print_scalar_formatted.
12095
12096 2017-06-12  Tom Tromey  <tom@tromey.com>
12097
12098         * printcmd.c (print_scalar_formatted): Unify the two switches.
12099         Don't convert scalars to LONGEST.
12100
12101 2017-06-12  Tom Tromey  <tom@tromey.com>
12102
12103         PR exp/16225:
12104         * valprint.h (print_decimal_chars): Update.
12105         * valprint.c (maybe_negate_by_bytes): New function.
12106         (print_decimal_chars): Add "is_signed" argument.
12107         * printcmd.c (print_scalar_formatted): Update.
12108
12109 2017-06-12  Tom Tromey  <tom@tromey.com>
12110
12111         PR exp/16225:
12112         * valprint.h (print_binary_chars, print_hex_chars): Update.
12113         * valprint.c (val_print_type_code_int): Update.
12114         (print_binary_chars): Add "zero_pad" argument.
12115         (emit_octal_digit): New function.
12116         (print_octal_chars): Don't zero-pad.
12117         (print_decimal_chars): Likewise.
12118         (print_hex_chars): Add "zero_pad" argument.
12119         * sh64-tdep.c (sh64_do_fp_register): Update.
12120         * regcache.c (regcache::dump): Update.
12121         * printcmd.c (print_scalar_formatted): Update.
12122         * infcmd.c (default_print_one_register_info): Update.
12123
12124 2017-06-12  Pedro Alves  <palves@redhat.com>
12125             Alan Hayward  <alan.hayward@arm.com>
12126
12127         * mips-tdep.c (MAX_MIPS_ABI_REGSIZE): New.
12128         (mips_eabi_push_dummy_call): Rename local 'regsize' to
12129         'abi_regsize'.  Rename local array 'valbuf' to 'ref_valbuf', and
12130         use MAX_MIPS_ABI_REGSIZE instead of MAX_REGISTER_SIZE to size it.
12131         Assert that abi_regsize bytes fit in 'ref_valbuf'.
12132
12133 2017-06-12  Pedro Alves  <palves@redhat.com>
12134
12135         * dwarf2read.c (mapped_symtab::data): Now a vector of
12136         symtab_index_entry instead of vector of
12137         std::unique_ptr<symtab_index_entry>.  All users adjusted to check
12138         whether an element's name is NULL instead of checking whether the
12139         element itself is NULL.
12140         (find_slot): Change return type.  Adjust.
12141         (hash_expand, , add_index_entry, uniquify_cu_indices)
12142         (write_hash_table): Adjust.
12143
12144 2017-06-12  Pedro Alves  <palves@redhat.com>
12145
12146         * dwarf2read.c (recursively_count_psymbols): New function.
12147         (write_psymtabs_to_index): Call it to compute number of psyms and
12148         pass estimate size of psyms_seen to unordered_set's ctor.
12149
12150 2017-06-12  Pedro Alves  <palves@redhat.com>
12151
12152         * dwarf2read.c (write_hash_table): Check if key already exists
12153         before emplacing.
12154
12155 2017-06-12  Pedro Alves  <palves@redhat.com>
12156
12157         * dwarf2read.c (data_buf::append_space): Rename to...
12158         (data_buf::grow): ... this, and make private.  Adjust all callers.
12159         (data_buf::append_uint): New method.
12160         (add_address_entry, write_one_signatured_type)
12161         (write_psymtabs_to_index): Use it.
12162
12163 2017-06-12  Pedro Alves  <palves@redhat.com>
12164
12165         * dwarf2read.c (file_write(FILE *, const void *, size_t)): Delete.
12166         (file_write (FILE *, const std::vector<Elem>&)): Delete.
12167         (data_buf::file_write): Call ::fwrite directly.
12168
12169 2017-06-12  Pedro Alves  <palves@redhat.com>
12170
12171         * dwarf2read.c (uniquify_cu_indices): Use std::unique and
12172         std::vector::erase.
12173
12174 2017-06-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
12175
12176         Code cleanup: C++ify .gdb_index producer.
12177         * dwarf2read.c: Include <unordered_set> and <unordered_map>.
12178         (MAYBE_SWAP) [WORDS_BIGENDIAN]: Cast to offset_type.
12179         (struct strtab_entry, hash_strtab_entry, eq_strtab_entry)
12180         (create_strtab, add_string): Remove.
12181         (file_write, data_buf): New.
12182         (struct symtab_index_entry): Use std::vector for cu_indices.
12183         (struct mapped_symtab): Use std::vector for data.
12184         (hash_symtab_entry, eq_symtab_entry, delete_symtab_entry)
12185         (create_symbol_hash_table, create_mapped_symtab, cleanup_mapped_symtab):
12186         Remove.
12187         (find_slot): Change return type.  Update it to the new data structures.
12188         (hash_expand, add_index_entry): Update it to the new data structures.
12189         (offset_type_compare): Remove.
12190         (uniquify_cu_indices): Update it to the new data structures.
12191         (c_str_view, c_str_view_hasher, vector_hasher): New.
12192         (add_indices_to_cpool): Remove.
12193         (write_hash_table): Update it to the new data structures.
12194         (struct psymtab_cu_index_map, hash_psymtab_cu_index)
12195         (eq_psymtab_cu_index): Remove.
12196         (psym_index_map): New typedef.
12197         (struct addrmap_index_data): Change addr_obstack pointer to data_buf
12198         reference and std::unordered_map for cu_index_htab.
12199         (add_address_entry, add_address_entry_worker, write_address_map)
12200         (write_psymbols): Update it to the new data structures.
12201         (write_obstack): Remove.
12202         (struct signatured_type_index_data): Change types_list to a data_buf
12203         reference and psyms_seen to a std::unordered_set reference.
12204         (write_one_signatured_type, recursively_write_psymbols)
12205         (write_psymtabs_to_index): Update it to the new data structures.
12206
12207 2017-06-11  Simon Marchi  <simon.marchi@ericsson.com>
12208
12209         * NEWS (Changes since GDB 8.0): Announce {set,show} debug
12210         separate-debug-file commands.
12211         * symfile.h (separate_debug_file_debug): New global.
12212         * symfile.c (separate_debug_file_debug): New global.
12213         (separate_debug_file_exists, find_separate_debug_file): Add
12214         debug output.
12215         (_initialize_symfile): Add "set debug separate-debug-file"
12216         command.
12217         * build-id.c (build_id_to_debug_bfd,
12218         find_separate_debug_file_by_buildid): Add debug output.
12219
12220 2017-06-10  Simon Marchi  <simon.marchi@polymtl.ca>
12221
12222         * gdbarch.sh (displaced_step_free_closure): Remove.
12223         * gdbarch.h, gdbarch.c: Re-generate.
12224         * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't set
12225         displaced_step_free_closure.
12226         * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
12227         * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
12228         * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
12229         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
12230         * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
12231         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12232         * arch-utils.h (simple_displaced_step_free_closure): Remove.
12233         * arch-utils.c (simple_displaced_step_free_closure): Remove.
12234         * infrun.c (displaced_step_clear): Call xfree instead of
12235         gdbarch_displaced_step_free_closure.
12236
12237 2017-06-08  Sergio Durigan Junior  <sergiodj@redhat.com>
12238
12239         * common/common-utils.c (stringify_argv): Check for "arg[0] !=
12240         NULL".
12241
12242 2017-06-08 Alan Hayward  <alan.hayward@arm.com>
12243
12244         * mn10300-tdep.c (MN10300_MAX_REGISTER_SIZE): Add.
12245         (mn10300_extract_return_value): Use MN10300_MAX_REGISTER_SIZE.
12246         (mn10300_push_dummy_call): Likewise.
12247
12248 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
12249
12250         * mi/mi-main.c (register_changed_p): Use value_contents_eq.
12251
12252 2017-06-08  Alan Hayward  <alan.hayward@arm.com>
12253
12254         * mi/mi-main.c (register_changed_p): Use cooked_read_value.
12255
12256 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12257
12258         * NEWS (Changes since GDB 8.0): Announce that GDBserver is now
12259         able to start inferiors using a shell.
12260         (New remote packets): Announce new packet "QStartupWithShell".
12261         * remote.c: Add PACKET_QStartupWithShell.
12262         (extended_remote_create_inferior): Handle new
12263         PACKET_QStartupWithShell.
12264         (remote_protocol_features) <QStartupWithShell>: New entry for
12265         PACKET_QStartupWithShell.
12266         (_initialize_remote): Call "add_packet_config_cmd" for
12267         QStartupShell.
12268
12269 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12270             Pedro Alves  <palves@redhat.com>
12271
12272         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-inferior.h"
12273         and "nat/fork-inferior.h".
12274         * common/common-inferior.h: New file, with contents from
12275         "gdb/inferior.h".
12276         * commom/common-utils.c: Include "common-utils.h".
12277         (stringify_argv): New function.
12278         * common/common-utils.h (stringify_argv): New prototype.
12279         * configure.nat: Add "fork-inferior.o" as a dependency for
12280         "*linux*", "fbsd*" and "nbsd*" hosts.
12281         * corefile.c (get_exec_file): Update comment.
12282         * darwin-nat.c (darwin_ptrace_him): Call "gdb_startup_inferior"
12283         instead of "startup_inferior".
12284         (darwin_create_inferior): Call "add_thread_silent" after
12285         "fork_inferior".
12286         * fork-child.c: Cleanup unnecessary includes.
12287         (SHELL_FILE): Move to "common/common-fork-child.c".
12288         (environ): Likewise.
12289         (exec_wrapper): Initialize.
12290         (get_exec_wrapper): New function.
12291         (breakup_args): Move to "common/common-fork-child.c"; rename to
12292         "breakup_args_for_exec".
12293         (escape_bang_in_quoted_argument): Move to
12294         "common/common-fork-child.c".
12295         (saved_ui): New variable.
12296         (prefork_hook): New function.
12297         (postfork_hook): Likewise.
12298         (postfork_child_hook): Likewise.
12299         (gdb_startup_inferior): Likewise.
12300         (fork_inferior): Move to "common/common-fork-child.c".  Update
12301         function to support gdbserver.
12302         (startup_inferior): Likewise.
12303         * gdbcore.h (get_exec_file): Remove declaration.
12304         * gnu-nat.c (gnu_create_inferior): Call "gdb_startup_inferior"
12305         instead of "startup_inferior".  Call "add_thread_silent" after
12306         "fork_inferior".
12307         * inf-ptrace.c: Include "nat/fork-inferior.h" and "utils.h".
12308         (inf_ptrace_create_inferior): Call "gdb_startup_inferior"
12309         instead of "startup_inferior".  Call "add_thread_silent" after
12310         "fork_inferior".
12311         * inferior.h: Include "common-inferior.h".
12312         (trace_start_error): Move to "common/common-utils.h".
12313         (trace_start_error_with_name): Likewise.
12314         (fork_inferior): Move prototype to "nat/fork-inferior.h".
12315         (startup_inferior): Likewise.
12316         (gdb_startup_inferior): New prototype.
12317         * nat/fork-inferior.c: New file, with contents from "fork-child.c".
12318         * nat/fork-inferior.h: New file.
12319         * procfs.c (procfs_init_inferior): Call "gdb_startup_inferior"
12320         instead of "startup_inferior".  Call "add_thread_silent" after
12321         "fork_inferior".
12322         * target.h (target_terminal_init): Move prototype to
12323         "target/target.h".
12324         (target_terminal_inferior): Likewise.
12325         (target_terminal_ours): Likewise.
12326         * target/target.h (target_terminal_init): New prototype, moved
12327         from "target.h".
12328         (target_terminal_inferior): Likewise.
12329         (target_terminal_ours): Likewise.
12330         * utils.c (gdb_flush_out_err): New function.
12331
12332 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12333
12334         * Makefile.in (HFILES_NO_SRCDIR): Add "common/common-gdbthread.h".
12335         * common/common-gdbthread.h: New file, with parts from
12336         "gdb/gdbthread.h".
12337         * gdbthread.h: Include "common-gdbthread.h".
12338         (switch_to_thread): Moved to "common/common-gdbthread.h".
12339
12340 2017-06-07  Sergio Durigan Junior  <sergiodj@redhat.com>
12341
12342         * Makefile.in (SFILES): Add "common/job-control.c".
12343         (HFILES_NO_SRCDIR): Add "common/job-control.h".
12344         (COMMON_OBS): Add "job-control.o".
12345         * common/job-control.c: New file, with contents from
12346         "gdb/inflow.c".
12347         * common/job-control.h: New file, with contents from "terminal.h".
12348         * fork-child.c: Include "job-control.h".
12349         * inflow.c: Include "job-control.h".
12350         (gdb_setpgid): Move to "common/common-inflow.c".
12351         (_initialize_inflow): Move setting of "job_control" to
12352         "handle_job_control".
12353         * terminal.h (job_control): Moved to "common/common-terminal.h".
12354         (gdb_setpgid): Likewise.
12355         * top.c: Include "job_control.h".
12356         * utils.c: Likewise.
12357         (job_control): Moved to "job-control.c".
12358
12359 2017-06-07  Pedro Alves  <palves@redhat.com>
12360
12361         * Makefile.in (SFILES): Add gdb_regex.c.
12362         (COMMON_OBS): Add gdb_regex.o.
12363         * ada-lang.c (ada_add_standard_exceptions)
12364         (ada_add_exceptions_from_frame, name_matches_regex)
12365         (ada_add_global_exceptions, ada_exceptions_list_1): Change regex
12366         parameter type to compiled_regex.  Adjust.
12367         (ada_exceptions_list): Use compiled_regex.
12368         * break-catch-throw.c (exception_catchpoint::pattern): Now a
12369         std::unique_ptr<compiled_regex>.
12370         (exception_catchpoint::~exception_catchpoint): Remove regfree
12371         call.
12372         (check_status_exception_catchpoint): Adjust to use compiled_regex.
12373         (handle_gnu_v3_exceptions): Adjust to use compiled_regex.
12374         * breakpoint.c (solib_catchpoint::compiled): Now a
12375         std::unique_ptr<compiled_regex>.
12376         (solib_catchpoint::~solib_catchpoint): Remove regfree call.
12377         (check_status_catch_solib): Adjust to use compiled_regex.
12378         (add_solib_catchpoint): Adjust to use compiled_regex.
12379         * cli/cli-cmds.c (apropos_command): Use compiled_regex.
12380         * cli/cli-decode.c (apropos_cmd): Change regex parameter to
12381         compiled_regex reference.  Adjust to use it.
12382         * cli/cli-decode.h: Remove struct re_pattern_buffer forward
12383         declaration.  Include "gdb_regex.h".
12384         (apropos_cmd): Change regex parameter to compiled_regex reference.
12385         * gdb_regex.c: New file.
12386         * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Delete
12387         declarations.
12388         (class compiled_regex): New.
12389         * linux-tdep.c: Include "common/gdb_optional.h".
12390         (struct mapping_regexes): New, factored out from
12391         mapping_is_anonymous_p, and adjusted to use compiled_regex.
12392         (mapping_is_anonymous_p): Use mapping_regexes wrapped in a
12393         gdb::optional and remove cleanups.  Adjust to compiled_regex.
12394         * probe.c: Include "common/gdb_optional.h".
12395         (collect_probes): Use compiled_regex and gdb::optional and remove
12396         cleanups.
12397         * skip.c: Include "common/gdb_optional.h".
12398         (skiplist_entry::compiled_function_regexp): Now a
12399         gdb::optional<compiled_regex>.
12400         (skiplist_entry::compiled_function_regexp_is_valid): Delete field.
12401         (free_skiplist_entry): Remove regfree call.
12402         (compile_skip_regexp, skip_rfunction_p): Adjust to use
12403         compiled_regex and gdb::optional.
12404         * symtab.c: Include "common/gdb_optional.h".
12405         (search_symbols): Use compiled_regex and gdb::optional.
12406         * utils.c (do_regfree_cleanup, make_regfree_cleanup)
12407         (get_regcomp_error, compile_rx_or_error): Delete.  Some bits moved
12408         to gdb_regex.c.
12409
12410 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12411
12412         * regcache.c (regcache::save): Avoid buffer use.
12413         (regcache::dump): Likewise.
12414
12415 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12416
12417         * sh-tdep.c (sh_pseudo_register_read): Remove
12418         MAX_REGISTER_SIZE.
12419         (sh_pseudo_register_write): Likewise.
12420         * sh64-tdep.c (sh64_pseudo_register_read): Likewise.
12421         (sh64_pseudo_register_write): Likewise
12422
12423 2017-06-07  Alan Hayward  <alan.hayward@arm.com>
12424
12425         * aarch64-tdep.c (aarch64_store_return_value): Use
12426         V_REGISTER_SIZE.
12427         (aarch64_pseudo_read_value): Likewise.
12428         (aarch64_pseudo_write): Likewise.
12429
12430 2017-06-06  Yao Qi  <yao.qi@linaro.org>
12431
12432         * regformats/regdef.h (set_register_cache): Remove the
12433         declaration.
12434
12435 2017-06-06 Alan Hayward  <alan.hayward@arm.com>
12436
12437         * frame.c (frame_unwind_register_signed): Use
12438         frame_unwind_register_value.
12439
12440 2017-06-06  Pedro Alves  <palves@redhat.com>
12441
12442         PR breakpoints/21553
12443         * breakpoint.c (create_breakpoints_sal_default)
12444         (init_breakpoint_sal, create_breakpoint_sal): Use
12445         gdb::unique_xmalloc_ptr for string parameters.
12446         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12447         parameters.  Replace cleanups with gdb::unique_xmalloc_ptr.
12448         (base_breakpoint_create_breakpoints_sal)
12449         (bkpt_create_breakpoints_sal, tracepoint_create_breakpoints_sal)
12450         (strace_marker_create_breakpoints_sal)
12451         (create_breakpoints_sal_default): Use gdb::unique_xmalloc_ptr for
12452         string parameters.
12453         * breakpoint.h (breakpoint_ops::create_breakpoints_sal): Use
12454         gdb::unique_xmalloc_ptr for string parameters.
12455         (create_breakpoint): Constify 'extra_string' and 'cond_string'
12456         parameters.
12457
12458 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12459
12460         * alpha-tdep.c (alpha_register_to_value): Use
12461         get_frame_register_value.
12462         (alpha_value_to_register): Use ALPHA_REGISTER_SIZE.
12463
12464 2017-06-06  Alan Hayward  <alan.hayward@arm.com>
12465
12466         * ia64-tdep.c (IA64_MAX_FP_REGISTER_SIZE) Add.
12467         (ia64_register_to_value): Use IA64_MAX_FP_REGISTER_SIZE.
12468         (ia64_value_to_register): Likewise.
12469         (ia64_extract_return_value): Likewise.
12470         (ia64_store_return_value): Likewise.
12471         (ia64_push_dummy_call): Likewise.
12472
12473 2017-06-04  Joel Brobecker  <brobecker@adacore.com>
12474
12475         GDB 8.0 released.
12476
12477 2017-06-03  Simon Marchi  <simon.marchi@ericsson.com>
12478
12479         * x86-linux-nat.c (struct arch_lwp_info): Remove.
12480
12481 2017-06-03  Simon Marchi  <simon.marchi@polymtl.ca>
12482
12483         * linux-nat.c (linux_nat_post_attach_wait): Remove FIRST
12484         parameter.
12485         (linux_nat_attach): Adjust call to linux_nat_post_attach_wait.
12486
12487 2017-06-02  Simon Marchi  <simon.marchi@ericsson.com>
12488
12489         * event-loop.c (poll_timers): Unallocate timer using delete
12490         instead of xfree.
12491
12492 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12493
12494         * breakpoint.h (struct breakpoint_ops) <dtor>: Remove.
12495         (struct breakpoint) <~breakpoint>: New.
12496         (struct watchpoint): Inherit from breakpoint.
12497         <~watchpoint>: New.
12498         <base>: Remove.
12499         (struct tracepoint): Inherit from breakpoint.
12500         <base>: Remove.
12501         * breakpoint.c (longjmp_breakpoint_ops): Remove.
12502         (struct longjmp_breakpoint): Inherit from breakpoint.
12503         <~longjmp_breakpoint>: New.
12504         <base>: Remove.
12505         (new_breakpoint_from_type): Remove casts.
12506         (watchpoint_in_thread_scope): Remove reference to base field.
12507         (watchpoint_del_at_next_stop): Likewise.
12508         (update_watchpoint): Likewise.
12509         (watchpoint_check): Likewise.
12510         (bpstat_check_watchpoint): Likewise.
12511         (set_longjmp_breakpoint): Likewise.
12512         (struct fork_catchpoint): Inherit from breakpoint.
12513         <base>: Remove.
12514         (struct solib_catchpoint): Inherit from breakpoint.
12515         <~solib_catchpoint>: New.
12516         <base>: Remove.
12517         (dtor_catch_solib): Change to ...
12518         (solib_catchpoint::~solib_catchpoint): ... this.
12519         (breakpoint_hit_catch_solib): Remove reference to base field.
12520         (add_solib_catchpoint): Likewise.
12521         (create_fork_vfork_event_catchpoint): Likewise.
12522         (struct exec_catchpoint): Inherit from breakpoint.
12523         <~exec_catchpoint>: New.
12524         <base>: Remove.
12525         (dtor_catch_exec): Change to ...
12526         (exec_catchpoint::~exec_catchpoint): ... this.
12527         (dtor_watchpoint): Change to ...
12528         (watchpoint::~watchpoint): ... this.
12529         (watch_command_1): Remove reference to base field.
12530         (catch_exec_command_1): Likewise.
12531         (base_breakpoint_dtor): Change to ...
12532         (breakpoint::~breakpoint): ... this.
12533         (base_breakpoint_ops): Remove dtor field value.
12534         (longjmp_bkpt_dtor): Change to ...
12535         (longjmp_breakpoint::~longjmp_breakpoint): ... this.
12536         (strace_marker_create_breakpoints_sal): Remove reference to base
12537         field.
12538         (delete_breakpoint): Don't manually call breakpoint destructor.
12539         (create_tracepoint_from_upload): Remove reference to base field.
12540         (trace_pass_set_count): Likewise.
12541         (initialize_breakpoint_ops): Don't initialize
12542         momentary_breakpoint_ops, don't set dtors.
12543         * ada-lang.c (struct ada_catchpoint): Inherit from breakpoint.
12544         <~ada_catchpoint>: New.
12545         <base>: Remove.
12546         (create_excep_cond_exprs): Remove reference to base field.
12547         (dtor_exception): Change to ...
12548         (ada_catchpoint::~ada_catchpoint): ... this.
12549         (dtor_catch_exception): Remove.
12550         (dtor_catch_exception_unhandled): Remove.
12551         (dtor_catch_assert): Remove.
12552         (create_ada_exception_catchpoint): Remove reference to base
12553         field.
12554         (initialize_ada_catchpoint_ops): Don't set dtors.
12555         * break-catch-sig.c (struct signal_catchpoint): Inherit from
12556         breakpoint.
12557         <~signal_catchpoint>: New.
12558         <base>: Remove.
12559         (signal_catchpoint_dtor): Change to ...
12560         (signal_catchpoint::~signal_catchpoint): ... this.
12561         (create_signal_catchpoint): Remove reference to base field.
12562         (initialize_signal_catchpoint_ops): Don't set dtor.
12563         * break-catch-syscall.c (struct syscall_catchpoint): Inherit
12564         from breakpoint.
12565         <~syscall_catchpoint>: New.
12566         <base>: Remove.
12567         (dtor_catch_syscall): Change to ...
12568         (syscall_catchpoint::~syscall_catchpoint): ... this.
12569         (create_syscall_event_catchpoint): Remove reference to base
12570         field.
12571         (initialize_syscall_catchpoint_ops): Don't set dtor.
12572         * break-catch-throw.c (struct exception_catchpoint): Inherit
12573         from breakpoint.
12574         <~exception_catchpoint>: New.
12575         <base>: Remove.
12576         (dtor_exception_catchpoint): Change to ...
12577         (exception_catchpoint::~exception_catchpoint): ... this.
12578         (handle_gnu_v3_exceptions): Remove reference to base field.
12579         (initialize_throw_catchpoint_ops): Don't set dtor.
12580         * ctf.c (ctf_get_traceframe_address): Remove reference to base
12581         field.
12582         * remote.c (remote_get_tracepoint_status): Likewise.
12583         * tracefile-tfile.c (tfile_get_traceframe_address): Likewise.
12584         * tracefile.c (tracefile_fetch_registers): Likewise.
12585         * tracepoint.c (actions_command): Likewise.
12586         (validate_actionline): Likewise.
12587         (tfind_1): Likewise.
12588         (get_traceframe_location): Likewise.
12589         (find_matching_tracepoint_location): Likewise.
12590         (parse_tracepoint_status): Likewise.
12591         * mi/mi-cmd-break.c (mi_cmd_break_passcount): Likewise.
12592
12593 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12594
12595         * breakpoint.c (struct longjmp_breakpoint): New struct.
12596         (is_tracepoint_type): Change return type to bool.
12597         (is_longjmp_type): New function.
12598         (new_breakpoint_from_type): Handle longjmp kinds of breakpoints.
12599         (set_raw_breakpoint_without_location): Use
12600         new_breakpoint_from_type.
12601         (set_raw_breakpoint): Likewise.
12602
12603 2017-06-02  Simon Marchi  <simon.marchi@polymtl.ca>
12604
12605         * breakpoint.c (new_breakpoint_from_type): New function.
12606         (create_breakpoint_sal): Use new_breakpoint_from_type and
12607         unique_ptr.
12608         (create_breakpoint): Likewise.
12609
12610 2017-05-31  Simon Marchi  <simon.marchi@ericsson.com>
12611
12612         * memattr.c (mem_info_command): Rename to ...
12613         (info_mem_command): ... this.
12614         (mem_enable_command): Rename to ...
12615         (enable_mem_command): ... this.
12616         (mem_disable_command): Rename to ...
12617         (disable_mem_command): ... this.
12618         (mem_delete_command): Rename to ...
12619         (delete_mem_command): ... this.
12620         (_initialize_mem): Adjust function names.
12621
12622 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12623
12624         * btrace.c (handle_pt_insn_events): New.
12625         (ftrace_add_pt): Call handle_pt_insn_events.  Rename ERRCODE into
12626         STATUS.  Split into this and ...
12627         (handle_pt_insn_event_flags): ... this.
12628
12629 2017-05-31  Markus Metzger  <markus.t.metzger@intel.com>
12630
12631         * configure.ac: Check for pt_insn_event, struct pt_insn.enabled,
12632         and struct pt_insn.resynced.
12633         * configure: Regenerated.
12634         * config.in: Regenerated.
12635
12636 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12637
12638         * btrace.c (ftrace_find_call_by_number): New function.
12639         (ftrace_new_function): Store objects, not pointers.
12640         (ftrace_find_call_by_number, ftrace_new_return, ftrace_new_switch,
12641         ftrace_new_gap, ftrace_update_function,
12642         ftrace_compute_global_level_offset, btrace_stich_bts, btrace_clear,
12643         btrace_insn_get, btrace_insn_get_error, btrace_insn_end,
12644         btrace_insn_next, btrace_insn_prev, ptrace_find_insn_by_number,
12645         btrace_ends_with_single_insn, btrace_call_get): Account for
12646         btrace_thread_info::functions now storing objects.
12647         * btrace.h (struct btrace_thread_info): Add constructor.
12648         (struct btrace_thread_info) <functions>: Make std::vector.
12649         (struct btrace_thread_info) <prev, next, up, insn, errcode, flags):
12650         Initialize with default values.
12651         * record-btrace.c (record_btrace_frame_sniffer): Account for
12652         btrace_thread_info::functions now storing objects.
12653
12654 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12655
12656         * btrace.c: Remove typedef bfun_s.
12657         (ftrace_new_gap): Directly add gaps to the list of gaps.
12658         (btrace_bridge_gaps, btrace_compute_ftrace_bts, pt_btrace_insn_flags,
12659         ftrace_add_pt, btrace_compute_ftrace_pt, btrace_compute_ftrace_1,
12660         btrace_finalize_ftrace, btrace_compute_ftrace): Use std::vector
12661         instead of gdb VEC.
12662
12663 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12664
12665         * btrace.c (ftrace_fixup_caller, ftrace_new_return, ftrace_connect_bfun,
12666         ftrace_bridge_gap): Replace references to btrace_thread_info::segment
12667         with btrace_thread_info::next_segment and
12668         btrace_thread_info::prev_segment.
12669         * btrace.h: Remove struct btrace_func_link.
12670         (struct btrace_function): Replace pair of function segment pointers
12671         with pair of indices.
12672         * python/py-record-btrace.c (btpy_call_prev_sibling,
12673         btpy_call_next_sibling): Replace references to
12674         btrace_thread_info::segment with btrace_thread_info::next_segment and
12675         btrace_thread_info::prev_segment.
12676         * record-btrace.c (record_btrace_frame_this_id): Use
12677         btrace_find_call_by_number.
12678
12679 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12680
12681         * btrace.c (ftrace_new_function, ftrace_fixup_level,
12682         ftrace_connect_bfun, ftrace_bridge_gap, btrace_bridge_gaps,
12683         btrace_insn_next, btrace_insn_prev): Remove references to
12684         btrace_thread_info::flow.
12685         * btrace.h (struct btrace_function): Remove FLOW.
12686
12687 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12688
12689         * btrace.c (ftrace_find_call_by_number): New function.
12690         (ftrace_update_caller, ftrace_new_call, ftrace_new_tailcall,
12691         ftrace_get_caller, ftrace_find_call, ftrace_new_return,
12692         ftrace_match_backtrace, ftrace_connect_bfun, ftrace_connect_backtrace,
12693         ftrace_bridge_gap, btrace_bridge_gaps): Use btrace_function::up as an
12694         index.
12695         * btrace.h (struct btrace_function): Turn UP into an index.
12696         * python/py-record-btrace.c (btpy_call_up): Use btrace_function::up
12697         as an index.
12698         * record-btrace.c (record_btrace_frame_unwind_stop_reason,
12699         record_btrace_frame_prev_register, record_btrace_frame_sniffer,
12700         record_btrace_tailcall_frame_sniffe): Use btrace_find_call_by_number.
12701
12702 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12703
12704         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12705         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12706         ftrace_update_function, ftrace_compute_global_level_offset,
12707         btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt,
12708         btrace_stitch_bts, btrace_fetch, btrace_clear, btrace_insn_number,
12709         btrace_insn_end, btrace_is_empty): Remove references to
12710         btrace_thread_info::begin and btrace_thread_info::end.
12711         * btrace.h (struct btrace_thread_info): Remove BEGIN and END.
12712         (struct btrace_thread_info) <functions>: Adjust comment.
12713         * record-btrace.c (record_btrace_start_replaying): Remove reference to
12714         btrace_thread_info::begin.
12715
12716 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12717
12718         * btrace.c (ftrace_new_function, ftrace_new_call, ftrace_new_tailcall,
12719         ftrace_new_return, ftrace_new_switch, ftrace_new_gap,
12720         ftrace_update_function): Remove arguments that implicitly were always
12721         BTINFO->END.
12722         (btrace_compute_ftrace_bts, ftrace_add_pt, btrace_compute_ftrace_pt):
12723         Don't pass BTINFO->END.
12724
12725 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12726
12727         * btrace.c: (btrace_insn_get, btrace_insn_get_error, btrace_insn_number,
12728         btrace_insn_begin, btrace_insn_end, btrace_insn_next, btrace_insn_prev,
12729         btrace_find_insn_by_number): Replace function segment pointer with
12730         index.
12731         (btrace_insn_cmp): Simplify.
12732         * btrace.h: (struct btrace_insn_iterator) Rename index to
12733         insn_index.  Replace function segment pointer with index into function
12734         segment vector.
12735         * record-btrace.c (record_btrace_call_history): Replace function
12736         segment pointer use with index.
12737         (record_btrace_frame_sniffer): Retrieve function call segment through
12738         vector.
12739         (record_btrace_set_replay): Remove defunc't safety check.
12740
12741 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12742
12743         * btrace.c (btrace_ends_with_single_insn): New function.
12744         (btrace_call_get, btrace_call_number, btrace_call_begin,
12745         btrace_call_end, btrace_call_next, btrace_call_prev,
12746         btrace_find_call_by_number): Use index into call segment vector
12747         instead of pointer.
12748         (btrace_call_cmp): Simplify.
12749         * btrace.h (struct btrace_call_iterator): Replace function call segment
12750         pointer with index into vector.
12751         * record-btrace.c (record_btrace_call_history): Use index instead of
12752         pointer.
12753
12754 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12755
12756         * btrace.c (btrace_insn_begin, btrace_insn_end,
12757         btrace_find_insn_by_number): Add btinfo to iterator.
12758         * btrace.h (struct btrace_insn_iterator): Add btinfo.
12759
12760 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12761
12762         * btrace.c (ftrace_new_function): Add btrace_thread_info to arguments
12763         and save pointers directly.
12764         (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return,
12765         ftrace_new_switch, ftrace_new_gap, ftrace_update_function,
12766         ftrace_add_pt): Add btrace_thread_info to arguments.  Adjust for
12767         changed signature of functions.
12768         (btrace_compute_ftrace_pt): Adjust for changed signature of functions.
12769         (btrace_fetch): Remove code that adds btrace_function pointers to
12770         vector of btrace_functions.
12771         (btrace_clear): Simplify freeing vector of btrace_functions.
12772
12773 2017-05-30  Tim Wiederhake  <tim.wiederhake@intel.com>
12774
12775         * btrace.c (btrace_fetch, btrace_clear, btrace_find_insn_by_number):
12776         Replace VEC_* with std::vector functions.
12777         * btrace.h: Add include: vector. Remove typedef for DEF_VEC_P.
12778         (struct btrace_thread_info)<functions>: Change type to std::vector.
12779
12780 2017-05-30  Simon Marchi  <simon.marchi@ericsson.com>
12781
12782         * NEWS (Changes in GDB 8.0): Remove extra empty line.  Move
12783         "Removed targets and native configurations" up.  Merge duplicate
12784         "New commands" sub-sections.  Add "New options" sub-sections.
12785
12786 2017-05-26  Alan Hayward  <alan.hayward@arm.com>
12787
12788         * defs.h (copy_integer_to_size): New declaration.
12789         * findvar.c (copy_integer_to_size): New function.
12790         (do_cint_test): New selftest function.
12791         (copy_integer_to_size_test): Likewise.
12792         (_initialize_findvar): Likewise.
12793         * mips-fbsd-tdep.c (mips_fbsd_supply_reg): Use raw_supply_integer.
12794         (mips_fbsd_collect_reg): Use raw_collect_integer.
12795         * mips-linux-tdep.c (supply_32bit_reg): Use raw_supply_integer.
12796         (mips64_fill_gregset): Use raw_collect_integer
12797         (mips64_fill_fpregset): Use raw_supply_integer.
12798         * regcache.c (regcache::raw_supply_integer): New function.
12799         (regcache::raw_collect_integer): Likewise.
12800         * regcache.h: (regcache::raw_supply_integer): New declaration.
12801         (regcache::raw_collect_integer): Likewise.
12802
12803 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12804
12805         * Makefile.in (SFILES): Add gdbarch-selftests.c.
12806         (COMMON_OBS): Add gdbarch-selftests.o.
12807         * frame.c [GDB_SELF_TESTS] (create_new_frame): New function.
12808         * frame.h [GDB_SELF_TESTS] (create_new_frame): Declare.
12809         * gdbarch-selftests.c: New file.
12810         * regcache.h (regcache) <~regcache>: Mark it virtual if
12811         GDB_SELF_TEST.
12812         <raw_write>: Likewise.
12813
12814 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12815
12816         * regcache.c (current_regcache): Change it to
12817         regcache::current_regcache.
12818         (regcache_observer_target_changed): Update.
12819         (regcache_thread_ptid_changed): Make it a regcache static
12820         method.
12821         (regcache_thread_ptid_changed): Update.
12822         (class regcache_access): New.
12823         (current_regcache_test): Update.
12824         (_initialize_regcache): Update.
12825         * regcache.h: Include forward_list.
12826         (regcache): Declare regcache_thread_ptid_changed and declare
12827         registers_changed_ptid as friend.
12828
12829 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12830
12831         * i387-tdep.c (i387_register_to_value): Use register_size
12832         instead of TYPE_LENGTH.
12833         * m68k-tdep.c (m68k_register_to_value): Likewise.
12834
12835 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12836
12837         * i387-tdep.c (i387_convert_register_p): Return false if type
12838         code isn't TYPE_CODE_FLT.
12839
12840 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12841
12842         * alpha-tdep.c (alpha_convert_register_p): Return true if type
12843         length is 4.
12844         (alpha_register_to_value): Remove type length check.
12845         (alpha_value_to_register): Likewise.
12846
12847 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12848
12849         * ia64-tdep.c (ia64_convert_register_p): Check type's code is
12850         TYPE_CODE_FLT.
12851
12852 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12853
12854         * m68k-tdep.c (m68k_convert_register_p): Check type's code is
12855         TYPE_CODE_FLT or not.
12856
12857 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12858
12859         * alpha-tdep.c (alpha_gdbarch_init): Use XCNEW instead of XNEW.
12860         * avr-tdep.c (avr_gdbarch_init): Likewise.
12861         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12862         * cris-tdep.c (cris_gdbarch_init): Likewise.
12863         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12864         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12865         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12866         * m68hc11-tdep.c (m68hc11_gdbarch_init): Likewise.
12867         * mep-tdep.c (mep_gdbarch_init): Likewise.
12868         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12869         * mips-tdep.c (mips_gdbarch_init): Likewise.
12870         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12871         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12872         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12873         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12874         * v850-tdep.c (v850_gdbarch_init): Likewise.
12875
12876 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12877
12878         * selftest-arch.c (tests_with_arch): Call registers_changed
12879         and reinit_frame_cache.
12880         * selftest.c (run_self_tests): Likewise.
12881
12882 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12883
12884         * rs6000-tdep.c (gdb_print_insn_powerpc): Remove.
12885         (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn.
12886
12887 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12888
12889         * rl78-tdep.c (rl78_gdbarch_init): Don't call
12890         set_gdbarch_print_insn.
12891
12892 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12893
12894         * h8300-tdep.c (h8300_gdbarch_init): Don't call
12895         set_gdbarch_print_insn.
12896
12897 2017-05-24  Yao Qi  <yao.qi@linaro.org>
12898
12899         * alpha-tdep.c (alpha_gdbarch_init): Don't call
12900         set_gdbarch_print_insn.
12901         * arc-tdep.c (arc_gdbarch_init): Likewise.
12902         * arch-utils.c: include dis-asm.h.
12903         (default_print_insn): New function.
12904         * arch-utils.h (default_print_insn): Declare.
12905         * avr-tdep.c (avr_gdbarch_init): Don't call set_gdbarch_print_insn.
12906         * bfin-tdep.c (bfin_gdbarch_init): Likewise.
12907         * cris-tdep.c (cris_delayed_get_disassembler): Remove.
12908         (cris_gdbarch_init): Don't call set_gdbarch_print_insn.
12909         * frv-tdep.c (frv_gdbarch_init): Likewise.
12910         * ft32-tdep.c (ft32_gdbarch_init): Likewise.
12911         * gdbarch.sh (print_insn): Use default_print_insn.
12912         * gdbarch.c: Regenerated.
12913         * hppa-tdep.c (hppa_gdbarch_init): Likewise.
12914         * iq2000-tdep.c (iq2000_gdbarch_init): Likewise.
12915         * lm32-tdep.c (lm32_gdbarch_init): Likewise.
12916         * m32c-tdep.c (m32c_gdbarch_init): Likewise.
12917         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
12918         * m68hc11-tdep.c (gdb_print_insn_m68hc11): Remove.
12919         (m68hc11_gdbarch_init): Don't call set_gdbarch_print_insn.
12920         * m68k-tdep.c (m68k_gdbarch_init): Likewise.
12921         * m88k-tdep.c (m88k_gdbarch_init): Likewise.
12922         * microblaze-tdep.c (microblaze_gdbarch_init): Likewise.
12923         * mn10300-tdep.c (mn10300_gdbarch_init): Likewise.
12924         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
12925         * msp430-tdep.c (msp430_gdbarch_init): Likewise.
12926         * mt-tdep.c (mt_gdbarch_init): Likewise.
12927         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
12928         * nios2-tdep.c (nios2_print_insn): Remove.
12929         (nios2_gdbarch_init): Don't call set_gdbarch_print_insn.
12930         * rx-tdep.c (rx_gdbarch_init): Likewise.
12931         * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
12932         * score-tdep.c (score_print_insn): Remove.
12933         (score_gdbarch_init): Don't call set_gdbarch_print_insn.
12934         * sh-tdep.c (sh_gdbarch_init): Likewise.
12935         * sh64-tdep.c (sh64_gdbarch_init): Likewise.
12936         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
12937         * tic6x-tdep.c (tic6x_print_insn): Remove.
12938         (tic6x_gdbarch_init): Don't call set_gdbarch_print_insn.
12939         * tilegx-tdep.c (tilegx_gdbarch_init): Likewise.
12940         * v850-tdep.c (v850_gdbarch_init): Likewise.
12941         * vax-tdep.c (vax_gdbarch_init): Likewise.
12942         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
12943         * xtensa-tdep.c (xtensa_gdbarch_init): Likewise.
12944
12945 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12946
12947         * mips-fbsd-tdep.c (MIPS_PC_REGNUM): Remove.
12948         (MIPS_FP0_REGNUM): Remove.
12949         (MIPS_FSR_REGNUM): Remove.
12950         (mips_fbsd_supply_fpregs): Use mips_regnum.
12951         (mips_fbsd_supply_gregs): Likewise.
12952         (mips_fbsd_collect_fpregs): Likewise.
12953         (mips_fbsd_collect_gregs): Likewise.
12954
12955 2017-05-23  John Baldwin  <jhb@FreeBSD.org>
12956
12957         * mips-fbsd-nat.c (getregs_supplies): Fix upper bound comparison.
12958         (getpfpregs_supplies): New function.
12959         (mips_fbsd_fetch_inferior_registers): Remove early exit and use
12960         getfpregs_supplies.
12961         (mips_fbsd_store_inferior_registers): Likewise.
12962
12963 2017-05-22  Pedro Alves <palves@redhat.com>
12964
12965         * MAINTAINERS (Host/Native): Add John Baldwin as FreeBSD
12966         maintainer.
12967
12968 2017-05-22  Alan Hayward  <alan.hayward@arm.com>
12969
12970         * ppc-linux-nat.c (fetch_register): Use PPC_MAX_REGISTER_SIZE.
12971         (store_register): Likewise.
12972         * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise.
12973         (get_decimal_float_return_value): Likewise.
12974         (do_ppc_sysv_return_value): Likewise.
12975         (ppc64_sysv_abi_push_integer): Likewise.
12976         (ppc64_sysv_abi_push_freg): Likewise.
12977         (ppc64_sysv_abi_return_value_base): Likewise.
12978         (ppc64_sysv_abi_return_value): Likewise.
12979         * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise.
12980         * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise.
12981         * rs6000-nat.c: Likewise.
12982         * rs6000-tdep.c (rs6000_register_to_value): Likewise.
12983         (rs6000_value_to_register): Likewise.
12984         * ppc-tdep.h (PPC_MAX_REGISTER_SIZE): Add.
12985
12986 2017-05-21  Tom Tromey  <tom@tromey.com>
12987
12988         PR rust/21466:
12989         * rust-lang.c (rust_print_type) <TYPE_CODE_ARRAY>: Print unsized
12990         arrays as "[T]", not "[T; ]".
12991
12992 2017-05-19  Tom Tromey  <tom@tromey.com>
12993
12994         PR rust/21484:
12995         * rust-lang.c (exp_descriptor_rust): New function.
12996         (rust_language_defn): Use it.
12997         * p-lang.c (pascal_language_defn): Update.
12998         * opencl-lang.c (opencl_language_defn): Update.
12999         * objc-lang.c (objc_language_defn): Update.
13000         * m2-lang.c (m2_language_defn): Update.
13001         * language.h (struct language_defn)
13002         <la_watch_location_expression>: New member.
13003         * language.c (unknown_language_defn, auto_language_defn)
13004         (local_language_defn): Update.
13005         * go-lang.c (go_language_defn): Update.
13006         * f-lang.c (f_language_defn): Update.
13007         * d-lang.c (d_language_defn): Update.
13008         * c-lang.h (c_watch_location_expression): Declare.
13009         * c-lang.c (c_watch_location_expression): New function.
13010         (c_language_defn, cplus_language_defn, asm_language_defn)
13011         (minimal_language_defn): Use it.
13012         * breakpoint.c (watch_command_1): Call
13013         la_watch_location_expression.
13014         * ada-lang.c (ada_language_defn): Update.
13015
13016 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13017
13018         PR tui/21482
13019         * gdb_curses.h (NOMACROS): Define.
13020         (NCURSES_NOMACROS): Define.
13021
13022 2017-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13023
13024         PR tui/21482
13025         * tui/tui-windata.c (tui_erase_data_content): Cast last mvwaddstr
13026         arg to char *.
13027         * tui/tui-wingeneral.c (box_win): Likewise.
13028         * tui/tui-winsource.c (tui_erase_source_content): Likewise.
13029         (tui_show_source_line): Likewise.
13030         (tui_show_exec_info_content): Likewise.
13031
13032 2017-05-19  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>
13033
13034         * sparc-tdep.c (sparc_structure_return_p)
13035         (sparc_arg_on_registers_p): New functions.
13036         (sparc32_store_arguments): Use them.
13037         * sparc64-tdep.c (sparc64_16_byte_align_p)
13038         (sparc64_store_floating_fields, sparc64_extract_floating_fields):
13039         Handle TYPE_CODE_ARRAY.
13040
13041 2017-05-17  Yao Qi  <yao.qi@linaro.org>
13042
13043         * cli/cli-decode.c (add_alias_cmd): New function.
13044         * command.h (add_alias_cmd): Declare.
13045         * infcmd.c (_initialize_infcmd): Don't call add_com_alias,
13046         instead call add_alias_cmd.
13047
13048 2017-05-17  Pedro Alves  <palves@redhat.com>
13049
13050         * Makefile.in (nat_extra_makefile_frag): Rename to ...
13051         (nat_makefile_frag): ... this.  All references updated.
13052         * configure.ac: Likewise.
13053         * configure.nat: Likewise.  Enhance comments.
13054         * configure: Regenerate.
13055
13056 2017-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13057
13058         * procfs.c (procfs_create_inferior): Change prototype to match
13059         definition.
13060
13061 2017-05-13  Eli Zaretskii  <eliz@gnu.org>
13062
13063         * tui/tui.c (tui_enable): Cast "unknown" to 'char *' to avoid a
13064         C++ compiler warning.
13065
13066 2017-05-12  Tom Tromey  <tom@tromey.com>
13067
13068         PR rust/21483:
13069         * rust-lang.c (rust_evaluate_subexp) <STRUCTOP_STRUCT>: Don't
13070         recurse, just call value_struct_elt directly.
13071
13072 2017-05-12  Tom Tromey  <tom@tromey.com>
13073
13074         * rust-lang.c (rust_dump_subexp_body) <STRUCTOP_ANONYMOUS,
13075         OP_RUST_ARRAY>: Fix.
13076
13077 2017-05-12  Tom Tromey  <tom@tromey.com>
13078
13079         * rust-lang.c (rust_print_subexp): Replace "return" with "break".
13080
13081 2017-05-09  Yao Qi  <yao.qi@linaro.org>
13082
13083         * regcache.c: Include <forward_list>.
13084         (struct regcache_list): Remove.
13085         (current_regcache): Update.
13086         (get_thread_arch_aspace_regcache): Update for std::forward_list.
13087         (regcache_thread_ptid_changed): Likewise.
13088         (registers_changed_ptid): Likewise.
13089         (current_regcache_size): Likewise.
13090
13091 2017-05-09  Yao Qi  <yao.qi@linaro.org>
13092
13093         * regcache.c [GDB_SELF_TEST]: Include selftest.h.
13094         (current_regcache_size): New function.
13095         (current_regcache_test): New function.
13096         (_initialize_regcache) [GDB_SELF_TEST]: Register the unit test.
13097
13098 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
13099
13100         * mips-tdep.c (mips_o32_return_value): Remove unused buffer.
13101         (print_gp_register_row): Use get_frame_register_value.
13102
13103 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
13104
13105         * mips-linux-tdep.c (mips_supply_gregset): Use raw_supply_zeroed.
13106         (mips_supply_fpregset): Likewise.
13107         (mips64_supply_gregset): Likewise.
13108
13109 2017-05-08  Alan Hayward  <alan.hayward@arm.com>
13110
13111         * mn10300-linux-tdep.c (am33_supply_gregset_method): Use 
13112         regcache->raw_supply_zeroed.
13113
13114 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
13115
13116         * configure.nat: Rearrange 'case' statements to match
13117         host before cpu.
13118
13119 2017-05-06  Sergio Durigan Junior  <sergiodj@redhat.com>
13120
13121         * Makefile.in: Remove "@host_makefile_frag@".  Add variables
13122         NAT_FILE, NATDEPFILES, NAT_CDEPS, LOADLIBES, MH_CFLAGS, XM_CLIBS,
13123         NAT_GENERATED_FILES, HAVE_NATIVE_GCORE_HOST.  Add
13124         "@nat_extra_makefile_frag@".
13125         (Makefile): Remove dependency on "@frags@".
13126         ($(GNULIB_BUILDDIR)/Makefile): Likewise.
13127         (data-directory/Makefile): Likewise.
13128         * config/aarch64/linux.mh: Deleted; moved contents to
13129         "gdb/configure.nat".
13130         * config/alpha/alpha-linux.mh: Likewise.
13131         * config/alpha/nbsd.mh: Likewise.
13132         * config/arm/linux.mh: Likewise.
13133         * config/arm/nbsdelf.mh: Likewise.
13134         * config/i386/cygwin.mh: Likewise.
13135         * config/i386/cygwin64.mh: Likewise.
13136         * config/i386/darwin.mh: Likewise.
13137         * config/i386/fbsd.mh: Likewise.
13138         * config/i386/fbsd64.mh: Likewise.
13139         * config/i386/go32.mh: Likewise.
13140         * config/i386/i386gnu.mh: Likewise.
13141         * config/i386/i386sol2.mh: Likewise.
13142         * config/i386/linux.mh: Likewise.
13143         * config/i386/linux64.mh: Likewise.
13144         * config/i386/mingw.mh: Likewise.
13145         * config/i386/mingw64.mh: Likewise.
13146         * config/i386/nbsd64.mh: Likewise.
13147         * config/i386/nbsdelf.mh: Likewise.
13148         * config/i386/nto.mh: Likewise.
13149         * config/i386/obsd.mh: Likewise.
13150         * config/i386/obsd64.mh: Likewise.
13151         * config/i386/sol2-64.mh: Likewise.
13152         * config/ia64/linux.mh: Likewise.
13153         * config/m32r/linux.mh: Likewise.
13154         * config/m68k/linux.mh: Likewise.
13155         * config/m68k/nbsdelf.mh: Likewise.
13156         * config/m68k/obsd.mh: Likewise.
13157         * config/m88k/obsd.mh: Likewise.
13158         * config/mips/fbsd.mh: Likewise.
13159         * config/mips/linux.mh: Likewise.
13160         * config/mips/nbsd.mh: Likewise.
13161         * config/mips/obsd64.mh: Likewise.
13162         * config/pa/linux.mh: Likewise.
13163         * config/pa/nbsd.mh: Likewise.
13164         * config/pa/obsd.mh: Likewise.
13165         * config/powerpc/aix.mh: Likewise.
13166         * config/powerpc/fbsd.mh: Likewise.
13167         * config/powerpc/linux.mh: Likewise.
13168         * config/powerpc/nbsd.mh: Likewise.
13169         * config/powerpc/obsd.mh: Likewise.
13170         * config/powerpc/ppc64-linux.mh: Likewise.
13171         * config/powerpc/spu-linux.mh: Likewise.
13172         * config/s390/linux.mh: Likewise.
13173         * config/sh/nbsd.mh: Likewise.
13174         * config/sparc/fbsd.mh: Likewise.
13175         * config/sparc/linux.mh: Likewise.
13176         * config/sparc/linux64.mh: Likewise.
13177         * config/sparc/nbsd64.mh: Likewise.
13178         * config/sparc/nbsdelf.mh: Likewise.
13179         * config/sparc/obsd64.mh: Likewise.
13180         * config/sparc/sol2.mh: Likewise.
13181         * config/tilegx/linux.mh: Likewise.
13182         * config/vax/nbsdelf.mh: Likewise.
13183         * config/vax/obsd.mh: Likewise.
13184         * config/xtensa/linux.mh: Likewise.
13185         * config/i386/i386gnu.mn: New file, with excerpts from
13186         "config/i386/i386gnu.mh".
13187         * configure: Regenerate.
13188         * configure.ac: Rewrite code to use "gdb/configure.nat" instead of
13189         *.mh files under "gdb/config".
13190         * configure.nat: New file, with contents from the
13191         "gdb/config/*/*.mh" files.
13192
13193 2017-05-05  Tim Wiederhake  <tim.wiederhake@intel.com>
13194
13195         * btrace.c (btrace_clear): Free insn vector.
13196
13197 2017-05-05  Pedro Alves  <palves@redhat.com>
13198
13199         * warning.m4 (build_warnings): Add -Wno-error=maybe-uninitialized.
13200         * configure: Regenerate.
13201
13202 2017-05-04  Pedro Alves  <palves@redhat.com>
13203
13204         * Makefile.in (SFILES): Add progspace-and-thread.c.
13205         (HFILES_NO_SRCDIR): Add progspace-and-thread.h.
13206         (COMMON_OBS): Add progspace-and-thread.o.
13207         * breakpoint.c: Include "progspace-and-thread.h".
13208         (update_inserted_breakpoint_locations)
13209         (insert_breakpoint_locations, create_longjmp_master_breakpoint):
13210         Use scoped_restore_current_pspace_and_thread.
13211         (create_std_terminate_master_breakpoint): Use
13212         scoped_restore_current_program_space.
13213         (remove_breakpoint): Use scoped_restore_current_pspace_and_thread.
13214         (print_breakpoint_location): Use
13215         scoped_restore_current_program_space.
13216         (bp_loc_is_permanent): Use
13217         scoped_restore_current_pspace_and_thread.
13218         (resolve_sal_pc): Use scoped_restore_current_pspace_and_thread.
13219         (download_tracepoint_locations): Use
13220         scoped_restore_current_pspace_and_thread.
13221         (breakpoint_re_set): Use scoped_restore_current_pspace_and_thread.
13222         * exec.c (exec_close_1): Use scoped_restore_current_program_space.
13223         (enum step_over_calls_kind): Moved from inferior.h.
13224         (class scoped_restore_current_thread): New class.
13225         * gdbthread.h (make_cleanup_restore_current_thread): Delete
13226         declaration.
13227         (scoped_restore_current_thread): New class.
13228         * infcmd.c: Include "common/gdb_optional.h".
13229         (continue_1, proceed_after_attach): Use
13230         scoped_restore_current_thread.
13231         (notice_new_inferior): Use scoped_restore_current_thread.
13232         * inferior.c: Include "progspace-and-thread.h".
13233         (restore_inferior, save_current_inferior): Delete.
13234         (add_inferior_command, clone_inferior_command): Use
13235         scoped_restore_current_pspace_and_thread.
13236         * inferior.h (scoped_restore_current_inferior): New class.
13237         * infrun.c: Include "progspace-and-thread.h" and
13238         "common/gdb_optional.h".
13239         (follow_fork_inferior): Use
13240         scoped_restore_current_pspace_and_thread.
13241         (scoped_restore_exited_inferior): New class.
13242         (handle_vfork_child_exec_or_exit): Use
13243         scoped_restore_exited_inferior,
13244         scoped_restore_current_pspace_and_thread,
13245         scoped_restore_current_thread and scoped_restore.
13246         (fetch_inferior_event): Use scoped_restore_current_thread.
13247         * linespec.c (decode_line_full, decode_line_1): Use
13248         scoped_restore_current_program_space.
13249         * mi/mi-main.c: Include "progspace-and-thread.h".
13250         (exec_continue): Use scoped_restore_current_thread.
13251         (mi_cmd_exec_run): Use scoped_restore_current_pspace_and_thread.
13252         (mi_cmd_trace_frame_collected): Use scoped_restore_current_thread.
13253         * proc-service.c (ps_pglobal_lookup): Use
13254         scoped_restore_current_program_space.
13255         * progspace-and-thread.c: New file.
13256         * progspace-and-thread.h: New file.
13257         * progspace.c (release_program_space, clone_program_space): Use
13258         scoped_restore_current_program_space.
13259         (restore_program_space, save_current_program_space)
13260         (save_current_space_and_thread): Delete.
13261         (switch_to_program_space_and_thread): Moved to
13262         progspace-and-thread.c.
13263         * progspace.h (save_current_program_space)
13264         (save_current_space_and_thread): Delete declarations.
13265         (scoped_restore_current_program_space): New class.
13266         * remote.c (remote_btrace_maybe_reopen): Use
13267         scoped_restore_current_thread.
13268         * symtab.c: Include "progspace-and-thread.h".
13269         (skip_prologue_sal): Use scoped_restore_current_pspace_and_thread.
13270         * thread.c (print_thread_info_1): Use
13271         scoped_restore_current_thread.
13272         (struct current_thread_cleanup): Delete.
13273         (do_restore_current_thread_cleanup)
13274         (restore_current_thread_cleanup_dtor): Rename/convert both to ...
13275         (scoped_restore_current_thread::~scoped_restore_current_thread):
13276         ... this new dtor.
13277         (make_cleanup_restore_current_thread): Rename/convert to ...
13278         (scoped_restore_current_thread::scoped_restore_current_thread):
13279         ... this new ctor.
13280         (thread_apply_all_command): Use scoped_restore_current_thread.
13281         (thread_apply_command): Use scoped_restore_current_thread.
13282         * tracepoint.c (tdump_command): Use scoped_restore_current_thread.
13283         * varobj.c (value_of_root_1): Use scoped_restore_current_thread.
13284
13285 2017-05-04  Pedro Alves  <palves@redhat.com>
13286
13287         * thread.c (make_cleanup_restore_current_thread): Move
13288         find_thread_ptid call before the is_stopped call.  Assert that the
13289         thread is found.  Replace is_stopped call by checking the thread's
13290         state directly.  Remove unnecessary NULL-thread check.
13291
13292 2017-05-04  Pedro Alves  <palves@redhat.com>
13293
13294         * corelow.c (thread_section_name): New class.
13295         (get_core_register_section, get_core_siginfo): Use it.
13296
13297 2017-05-04  Andreas Arnez  <arnez@linux.vnet.ibm.com>
13298
13299         * corelow.c (sniff_core_bfd): Remove extra semicolon.
13300         (get_core_register_section): Remove xfree of NULL pointer.
13301
13302 2017-05-03  Alan Hayward  <alan.hayward@arm.com>
13303
13304         * frv-linux-tdep.c (frv_linux_supply_gregset): Use raw_supply_zeroed.
13305         * regcache.c (regcache::raw_supply_zeroed): New function.
13306         * regcache.h (regcache::raw_supply_zeroed): New declaration.
13307
13308 2017-05-03  Simon Marchi  <simon.marchi@ericsson.com>
13309
13310         * gdbarch.sh: Remove commented out definition of
13311         TARGET_CHAR_BIT.
13312         * gdbarch.h: Re-generate.
13313
13314 2017-05-03  Sergio Durigan Junior  <sergiodj@redhat.com>
13315
13316         * configure: Regenerate.
13317
13318 2017-05-02  Simon Marchi  <simon.marchi@ericsson.com>
13319
13320         * solib-target.c (solib_target_relocate_section_addresses):
13321         Remove num_section_bases, num_bases, segment_bases variables.
13322
13323 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13324
13325         * common/gdb_vecs.h (DEF_VEC_I (CORE_ADDR)): Remove.
13326
13327 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13328
13329         * solib-target.c: Include <vector>
13330         (struct lm_info_target) <~lm_info_target>: Remove.
13331         <segment_bases, section_bases>: Change type to
13332         std::vector<CORE_ADDR>.
13333         (library_list_start_segment, library_list_start_section,
13334         library_list_end_library,
13335         solib_target_relocate_section_addresses): Adjust.
13336
13337 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13338
13339         * gdbarch.sh (software_single_step): Change return type to
13340         std::vector<CORE_ADDR>.
13341         * gdbarch.c, gdbarch.h: Re-generate.
13342         * arch/arm-get-next-pcs.c (thumb_deal_with_atomic_sequence_raw):
13343         Adjust.
13344         (arm_deal_with_atomic_sequence_raw): Adjust.
13345         (thumb_get_next_pcs_raw): Adjust.
13346         (arm_get_next_pcs_raw): Adjust.
13347         (arm_get_next_pcs): Adjust.
13348         * arch/arm-get-next-pcs.h (arm_get_next_pcs): Adjust.
13349         * aarch64-tdep.c (aarch64_software_single_step): Adjust.
13350         * alpha-tdep.c (alpha_deal_with_atomic_sequence): Adjust.
13351         (alpha_software_single_step): Adjust.
13352         * alpha-tdep.h (alpha_software_single_step): Adjust.
13353         * arm-linux-tdep.c (arm_linux_software_single_step): Adjust.
13354         * arm-tdep.c (arm_software_single_step): Adjust.
13355         (arm_breakpoint_kind_from_current_state): Adjust.
13356         * arm-tdep.h (arm_software_single_step): Adjust.
13357         * breakpoint.c (insert_single_step_breakpoint): Adjust.
13358         * cris-tdep.c (cris_software_single_step): Adjust.
13359         * mips-tdep.c (mips_deal_with_atomic_sequence): Adjust.
13360         (micromips_deal_with_atomic_sequence): Adjust.
13361         (deal_with_atomic_sequence): Adjust.
13362         (mips_software_single_step): Adjust.
13363         * mips-tdep.h (mips_software_single_step): Adjust.
13364         * moxie-tdep.c (moxie_software_single_step): Adjust.
13365         * nios2-tdep.c (nios2_software_single_step): Adjust.
13366         * ppc-tdep.h (ppc_deal_with_atomic_sequence): Adjust.
13367         * rs6000-aix-tdep.c (rs6000_software_single_step): Adjust.
13368         * rs6000-tdep.c (ppc_deal_with_atomic_sequence): Adjust.
13369         * s390-linux-tdep.c (s390_software_single_step): Adjust.
13370         * sparc-tdep.c (sparc_software_single_step): Adjust.
13371         * spu-tdep.c (spu_software_single_step): Adjust.
13372         * tic6x-tdep.c (tic6x_software_single_step): Adjust.
13373
13374 2017-05-02  Simon Marchi  <simon.marchi@polymtl.ca>
13375
13376         * gdbarch.sh: Use semi-colon as field separator instead of colon.
13377         * gdbarch.h: Re-generate.
13378
13379 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13380
13381         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-instruction.o.
13382         (SUBDIR_PYTHON_SRCS): Add py-instruction.c.
13383         * python/py-instruction.c, python/py-instruction.h: New file.
13384         * python/py-record.c: Add py-instruction.h include.
13385         (gdbpy_initialize_record): Make gdb.Instruction a super class of
13386         gdb.RecordInstruction.
13387         * python/python-internal.h: Add gdbpy_initialize_instruction
13388         declaration.
13389         * python/python.c (do_start_initialization): Add
13390         gdbpy_initialize_instruction.
13391
13392 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13393
13394         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_CALL, btpy_call_type):
13395         Remove.
13396         (btrace_func_from_recpy_func): New function.
13397         (btpy_call_new, btpy_number, btpy_hash, btpy_richcompare): Remove.
13398         (btpy_call_level, btpy_call_symbol, btpy_call_instructions,
13399         btpy_call_up, btpy_call_prev_sibling, btpy_call_next_sibling): Rename to ...
13400         (recpy_bt_func_level, recpy_bt_func_symbol, recpy_bt_func_instructions,
13401         recpy_bt_func_up, recpy_bt_func_prev, recpy_bt_func_next): This.
13402         Also, use new helper functions.
13403         (btpy_list_item): Use new helper functions.
13404         (recpy_bt_function_call_history): Use new type name.
13405         (btpy_call_getset): Remove.
13406         (gdbpy_initialize_btrace): Remove code to initialize
13407         gdb.BtraceFunctionCall.
13408         * python/py-record-btrace.h (recpy_bt_func_number, recpy_btb_func_level,
13409         recpy_btb_func_symbol, recpy_bt_func_instructions, recpy_bt_func_up,
13410         recpy_bt_func_prev, recpy_bt_func_next): New export.
13411         * python/py-record.c (recpy_func_type): New static object.
13412         (recpy_func_new, recpy_func_level, recpy_func_symbol,
13413         recpy_func_instructions, recpy_func_up, recpy_func_prev,
13414         recpy_func_next): New function.
13415         (recpy_element_hash, recpy_element_richcompare): Updated comment.
13416         (recpy_func_getset): New static object.
13417         (gdbpy_initialize_record): Add code to initialize gdb.RecordInstruction.
13418         * python/py-record.h (recpy_func_type, recpy_func_new): New export.
13419
13420 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13421
13422         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN): Remove.
13423         (btpy_object, btpy_insn_type, btpy_new): Remove.
13424         (btpy_list_object): Use gdb.RecordInstruction type instead of
13425         gdb.BtraceInstruction type.
13426         (btrace_insn_from_recpy_insn): New function.
13427         (btpy_insn_or_gap_new): Adjust comment. Use recpy_insn_new instead of
13428         btpy_new.
13429         (btpy_call_new, btpy_list_item): Do not use btpy_new anymore.
13430         (btpy_number, btpy_hash, btpy_call_level, btpy_call_symbol,
13431         btpy_call_instructions, btpy_call_up, btpy_call_prev_sibling,
13432         btpy_call_next_sibling, btpy_richcompare): Use recpy_element_object
13433         instead of btpy_object.
13434         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13435         btpy_insn_data, btpy_insn_decode): Rename to ...
13436         (recpy_bt_insn_sal, recpy_bt_insn_pc, recpy_bt_insn_size,
13437         recpy_bt_insn_is_speculative, recpy_bt_insn_data,
13438         recpy_bt_insn_decode): This.  Also, use new helper functions.
13439         (btpy_list_position, recpy_bt_goto): Use recpy_element_object and
13440         recpy_insn_type.
13441         (btpy_insn_getset): Remove.
13442         (gdbpy_initialize_btrace): Remove code to initialize
13443         gdb.BtraceInstruction.  Use recpy_element_object.
13444         * python/py-record-btrace.h (recpy_bt_insn_number, recpy_bt_insn_sal,
13445         recpy_bt_insn_pc, recpy_bt_insn_data, recpy_bt_insn_decoded,
13446         recpy_bt_insn_size, recpy_bt_insn_is_speculative): New export.
13447         * python/py-record.c (recpy_insn_type): New static object.
13448         (recpy_insn_new, recpy_insn_sal, recpy_insn_pc, recpy_insn_data,
13449         recpy_insn_decoded, recpy_insn_size, recpy_insn_is_speculative,
13450         recpy_element_number, recpy_element_hash, recpy_element_richcompare):
13451         New function.
13452         (recpy_insn_getset): New static object.
13453         (gdbpy_initialize_record): Initialize gdb.RecordInstruction.
13454         * python/py-record.h (recpy_element_object): New typedef.
13455         (recpy_insn_type, recpy_insn_new): New export.
13456
13457 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13458
13459         * py-record-btrace.c (btpy_insn_new): Removed.
13460         (btpy_insn_or_gap_new): New function.
13461         (btpy_insn_error): Removed.
13462         (btpy_insn_sal, btpy_insn_pc, btpy_insn_size, btpy_insn_is_speculative,
13463         btpy_insn_data, btpy_insn_decode): Remove code path for gaps.
13464         (recpy_bt_replay_position, recpy_bt_begin, recpy_bt_end): Call
13465         btpy_insn_or_gap_new instead of btpy_insn_new.
13466         (btpy_insn_getset): Remove btpy_insn_error.
13467         * py-record.c (recpy_gap_type): New static object.
13468         (recpy_gap_object): New typedef.
13469         (recpy_gap_new, recpy_gap_number, recpy_gap_reason_code,
13470         recpy_gap_reason_string): New function.
13471         (recpy_gap_getset): New static object.
13472         (gdbpy_initialize_record): Initialize gdb.RecordGap type.
13473         * py-record.h (recpy_gap_new): New export.
13474
13475 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13476
13477         * python/py-record.c (recpy_ptid): Remove.
13478         (recpy_record_getset): Remove recpy_ptid.
13479
13480 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13481
13482         * btrace.c (btrace_fetch): Set inferior_ptid.
13483         * python/py-record-btrace.c: Add "py-record.h" include.
13484         (recpy_bt_format, recpy_bt_replay_position, recpy_bt_begin,
13485         recpy_bt_end, recpy_bt_instruction_history,
13486         recpy_bt_function_call_history, recpy_bt_goto): Use ptid stored
13487         in gdb.Record object instead of current ptid.
13488         * python/py-record.c: Include new "py-record.h" file.
13489         (recpy_record_object): Moved to py-record.h.
13490         * python/py-record.h: New file.
13491
13492 2017-05-01  Tim Wiederhake  <tim.wiederhake@intel.com>
13493
13494         * python/py-record-btrace.c (BTPY_REQUIRE_VALID_INSN,
13495         BTPY_REQUIRE_VALID_CALL, recpy_bt_function_call_history): Fix
13496         indentation.
13497
13498 2017-05-01  Joel Brobecker  <brobecker@adacore.com>
13499
13500         * MAINTAINERS: Move Daniel Jacobowitz and Mark Kettenis to
13501         the past maintainers section.
13502
13503 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13504
13505         * infcmd.c (get_return_value): Use regcache ctor, and remove
13506         cleanup.
13507
13508 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13509             Pedro Alves  <palves@redhat.com>
13510
13511         * regcache.c (regcache::regcache): New tag dispatch ctor.
13512         (do_cooked_read): Moved above.
13513         (regcache_dup): Use the tag dispatch ctor..
13514         * regcache.h (regcache): Declare ctor, delete copy ctor and
13515         assignment operator, remove friend regcache_dup.
13516
13517 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13518
13519         * regcache.c (regcache_dup): Assert !src->m_readonly_p and
13520         call method save instead of regcache_cpy.
13521         * regcache.h (struct regcache): Make regcache_dup a friend.
13522
13523 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13524
13525         * regcache.c (struct regcache): Move to regcache.h
13526         (regcache::arch): New method.
13527         (regcache_get_ptid): Update.
13528         (get_regcache_arch): Call arch method.
13529         (get_regcache_aspace): Call method aspace.
13530         (register_buffer): Change it to method.
13531         (regcache_save): Change it to regcache::save.
13532         (regcache_restore): Likewise.
13533         (regcache_cpy_no_passthrough): Remove the declaration.
13534         (regcache_cpy): Call methods restore and cpy_no_passthrough.
13535         (regcache_cpy_no_passthrough): Change it to method
13536         cpy_no_passthrough.
13537         (regcache_register_status): Change it to method
13538         get_register_status.
13539         (regcache_invalidate): Change it to method invalidate.
13540         (regcache_thread_ptid_changed): Use methods ptid and set_ptid.
13541         (regcache_raw_update): Change it to method raw_update.
13542         (regcache_raw_read): Likewise.
13543         (regcache_raw_read_signed): Likewise.
13544         (regcache_raw_read_unsigned): Likewise.
13545         (regcache_raw_write_signed): Likewise.
13546         (regcache_raw_write_unsigned): Likewise.
13547         (regcache_cooked_read): Likewise.
13548         (regcache_cooked_read_value): Likewise.
13549         (regcache_cooked_read_signed): Likewise.
13550         (regcache_cooked_read_unsigned): Likewise.
13551         (regcache_cooked_write_signed): Likewise.
13552         (regcache_cooked_write_unsigned): Likewise.
13553         (regcache_raw_set_cached_value): Likewise.
13554         (regcache_raw_write): Likewise.
13555         (regcache_cooked_write): Likewise.
13556         (regcache_xfer_part): Likewise.
13557         (regcache_raw_read_part): Likewise.
13558         (regcache_raw_write_part): Likewise.
13559         (regcache_cooked_read_part): Likewise.
13560         (regcache_cooked_write_part): Likewise.
13561         (regcache_raw_supply): Likewise.
13562         (regcache_raw_collect): Likewise.
13563         (regcache_transfer_regset): Likewise.
13564         (regcache_supply_regset): Likewise.
13565         (regcache_collect_regset): Likewise.
13566         (regcache_debug_print_register): Likewise.
13567         (enum regcache_dump_what): Move it to regcache.h.
13568         (regcache_dump): Change it to method dump.
13569         * regcache.h (enum regcache_dump_what): New.
13570         (class regcache): New.
13571         * target.c (target_fetch_registers): Call method
13572         debug_print_register.
13573         (target_store_registers): Likewise.
13574
13575 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13576
13577         * windows-nat.c (struct lm_info_windows): Initialize field.
13578         (windows_make_so): Allocate lm_info_windows with new.
13579         (windows_free_so): Free lm_info_windows with delete.
13580
13581 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13582
13583         * solib-darwin.c (struct lm_info_darwin): Initialize field.
13584         (darwin_current_sos): Allocate lm_info_darwin with new, remove
13585         cleanup.
13586         (darwin_free_so): Free lm_info_darwin with delete.
13587
13588 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13589
13590         * solib-svr4.h (struct lm_info_svr4): Initialize fields.
13591         <l_addr_p>: Change type to bool.
13592         * solib-svr4.c (lm_info_read): Allocate lm_info_svr4 with new.
13593         (svr4_free_so): Free lm_info_svr4 with delete.
13594         (svr4_copy_library_list): Replace memcpy with call to copy
13595         constructor.
13596         (library_list_start_library, svr4_default_sos): Allocate
13597         lm_info_svr4 with new.
13598
13599 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13600
13601         * solib-target.c (struct lm_info_target): Add destructor,
13602         initialize fields.
13603         <name>: Change type to std::string.
13604         (library_list_start_library): Allocate lm_info_target with new.
13605         (solib_target_free_library_list): Free lm_info_target with
13606         delete.
13607         (solib_target_current_sos): Adapt to std::string.
13608         (solib_target_free_so): Free lm_info_target with delete.
13609
13610 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13611
13612         * solib-frv.c (struct lm_info_frv): Add destructor, initialize
13613         fields.
13614         (frv_current_sos): Allocate lm_info_frv with new.
13615         (frv_relocate_main_executable): Free lm_info_frv with delete,
13616         allocate with new.
13617         (frv_clear_solib, frv_free_so): Free lm_info_frv with delete.
13618
13619 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13620
13621         * solib-frv.c (struct lm_info_frv): Fix indentation.
13622
13623 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13624
13625         * solib-dsbt.c (struct lm_info_dsbt): Add destructor, initialize
13626         map field.
13627         (dsbt_current_sos): Allocate lm_info_dsbt with new.
13628         (dsbt_relocate_main_executable): Free lm_info_dsbt with delete
13629         and allocate with new.
13630         (dsbt_clear_solib, dsbt_free_so): Free lm_info_dsbt with delete.
13631
13632 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13633
13634         * solib-aix.c (struct lm_info_aix): Initialize fields in-class.
13635         <filename, member_name>: Change type to std::string.
13636         (solib_aix_new_lm_info, solib_aix_xfree_lm_info): Remove.
13637         (library_list_start_library): Allocate lm_info_aix with new.
13638         (solib_aix_free_library_list, solib_aix_free_so): Free with delete.
13639         (solib_aix_current_sos): Adapt to std::string, copy lm_info_aix
13640         with copy constructor.
13641
13642 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13643
13644         * solist.h (struct lm_info): Remove.
13645         (struct lm_info_base): New class.
13646         (struct so_list) <lm_info>: Change type to lm_info_base *.
13647         * nto-tdep.c (struct lm_info): Remove.
13648         (lm_addr): Adjust.
13649         * solib-aix.c (struct lm_info): Rename to ...
13650         (struct lm_info_aix): ... this.  Extend lm_info_base.
13651         (lm_info_p): Rename to ...
13652         (lm_info_aix_p): ... this, and adjust.
13653         (solib_aix_new_lm_info, solib_aix_xfree_lm_info,
13654         solib_aix_parse_libraries, library_list_start_library,
13655         solib_aix_free_library_list, solib_aix_parse_libraries,
13656         solib_aix_get_library_list,
13657         solib_aix_relocate_section_addresses, solib_aix_free_so,
13658         solib_aix_get_section_offsets,
13659         solib_aix_solib_create_inferior_hook, solib_aix_current_sos):
13660         Adjust.
13661         (struct solib_aix_inferior_data) <library_list>: Adjust.
13662         * solib-darwin.c (struct lm_info): Rename to ...
13663         (struct lm_info_darwin): ... this.  Extend lm_info_base.
13664         (darwin_current_sos, darwin_relocate_section_addresses): Adjust.
13665         * solib-dsbt.c (struct lm_info): Rename to ...
13666         (struct lm_info_dsbt): ... this.  Extend lm_info_base.
13667         (struct dsbt_info) <main_executable_lm_info): Adjust.
13668         (dsbt_current_sos, dsbt_relocate_main_executable, dsbt_free_so,
13669         dsbt_relocate_section_addresses): Adjust.
13670         * solib-frv.c (struct lm_info): Rename to ...
13671         (struct lm_info_frv): ... this.  Extend lm_info_base.
13672         (main_executable_lm_info): Adjust.
13673         (frv_current_sos, frv_relocate_main_executable, frv_free_so,
13674         frv_relocate_section_addresses, frv_fdpic_find_global_pointer,
13675         find_canonical_descriptor_in_load_object,
13676         frv_fdpic_find_canonical_descriptor): Adjust.
13677         * solib-svr4.c (struct lm_info): Move to solib-svr4.h, renamed
13678         to lm_info_svr4.
13679         (lm_info_read, lm_addr_check, svr4_keep_data_in_core,
13680         svr4_clear_so, svr4_copy_library_list,
13681         library_list_start_library, svr4_default_sos, svr4_read_so_list,
13682         svr4_current_sos, svr4_fetch_objfile_link_map,
13683         solist_update_incremental): Adjust.
13684         * solib-svr4.h (struct lm_info_svr4): Move here from
13685         solib-svr4.c.
13686         * solib-target.c (struct lm_info): Rename to ...
13687         (struct lm_info_target): ... this.  Extend lm_info_base.
13688         (lm_info_p): Rename to ...
13689         (lm_info_target_p): ... this.
13690         (solib_target_parse_libraries, library_list_start_segment,
13691         library_list_start_section, library_list_start_library,
13692         library_list_end_library, solib_target_free_library_list,
13693         solib_target_current_sos, solib_target_free_so,
13694         solib_target_relocate_section_addresses): Adjust.
13695         * windows-nat.c (struct lm_info): Rename to ...
13696         (struct lm_info_windows): ... this.  Extend lm_info_base.
13697         (windows_make_so, handle_load_dll, handle_unload_dll,
13698         windows_xfer_shared_libraries): Adjust.
13699
13700 2017-04-28  Simon Marchi  <simon.marchi@ericsson.com>
13701
13702         * solib-darwin.c (struct darwin_so_list): Remove.
13703         (darwin_current_sos): Allocate an so_list object instead of a
13704         darwin_so_list, separately allocate an lm_info object.
13705         (darwin_free_so): Free lm_info.
13706
13707 2017-04-28  John Baldwin  <jhb@FreeBSD.org>
13708
13709         * mips-tdep.c (print_gp_register_row): Replace printf_filtered
13710         with fprintf_filtered.
13711
13712 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13713
13714         * regcache.c (regcache::regcache): New function.
13715         (regcache::~regcache): New function.
13716         (regcache_xmalloc_1): Remove.
13717         (regcache_xmalloc): Call new regcache.
13718         (regcache_xfree): Call delete regcache.
13719         (get_thread_arch_aspace_regcache): Call new regcache.
13720
13721 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13722
13723         * mips-linux-nat.c (mips_linux_new_thread): Use ptid method
13724         lwp instead of ptid_get_lwp.
13725
13726 2017-04-28  Yao Qi  <yao.qi@linaro.org>
13727
13728         * mips-linux-nat.c (mips_linux_new_thread): Get lwpid from
13729         lwp_info instead of getting from inferior_ptid.
13730
13731 2017-04-27  Keith Seitz  <keiths@redhat.com>
13732
13733         * gdbtypes.c (LVALUE_REFERENCE_TO_RVALUE_BINDING_BADNESS)
13734         DIFFERENT_REFERENCE_TYPE_BADNESS): Remove.
13735         (CV_CONVERSION_BADNESS): Define.
13736         (rank_one_type): Remove overly restrictive rvalue reference
13737         rank checks.
13738         Add cv-qualifier checks and subranks for type equality.
13739         * gdbtypes.h (REFERENCE_CONVERSION_RVALUE,
13740         REFERENCE_CONVERSION_CONST_LVALUE, CV_CONVERSION_BADNESS,
13741         CV_CONVERSION_CONST, CV_CONVERSION_VOLATILE): Declare.
13742
13743 2017-04-27  Simon Marchi  <simon.marchi@ericsson.com>
13744
13745         * python/py-inferior.c (inferior_to_inferior_object): Increment reference
13746         count when creating the object.
13747
13748 2017-04-27  Sangamesh Mallayya  <sangamesh.swamy@in.ibm.com>
13749             Ulrich Weigand  <uweigand@de.ibm.com>
13750
13751         * xcoffread.c (read_xcoff_symtab): Read correct function auxiliary
13752         entry if xlc -qfuncsect or gcc -ffunction-sections compiler option
13753         is used in AIX.
13754         (read_xcoff_symtab): Handle C_WEAKEXT storage class.
13755         (process_xcoff_symbol): Likewise.
13756         (scan_xcoff_symtab): Likewise.
13757
13758 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13759
13760         * ia64-tdep.c (examine_prologue): Use get_frame_register_unsigned.
13761         (ia64_sigtramp_frame_prev_register): Use read_memory_unsigned_integer.
13762         (ia64_access_reg): Use get_frame_register_unsigned.
13763         (ia64_access_rse_reg): Likewise.
13764         (ia64_libunwind_frame_prev_register): Likewise.
13765
13766 2017-04-26  Jiong Wang  <jiong.wang@arm.com>
13767
13768         * gdbarch.sh: New gdbarch method execute_dwarf_cfa_vendor_op.
13769         * gdbarch.c: Regenerated.
13770         * gdbarch.h: Regenerated.
13771         * dwarf2-frame.c (dwarf2_frame_state_alloc_regs): Made the
13772         visibility external.
13773         (execute_cfa_program): Call execute_dwarf_cfa_vendor_op for CFI
13774         between DW_CFA_lo_user and DW_CFA_high_user inclusive.
13775         (enum cfa_how_kind): Move to ...
13776         (struct dwarf2_frame_state_reg_info): Likewise.
13777         (struct dwarf2_frame_state): Likewise.
13778         * dwarf2-frame.h: ... here.
13779         (dwarf2_frame_state_alloc_regs): New declaration.
13780         * sparc-tdep.c (sparc_execute_dwarf_cfa_vendor_op): New function.
13781         (sparc32_gdbarch_init): Register execute_dwarf_cfa_vendor_op hook.
13782
13783 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13784
13785         * xtensa-tdep.c (xtensa_pseudo_register_read): Use
13786         regcache_raw_read_unsigned.
13787         (xtensa_pseudo_register_write): Likewise.
13788
13789 2017-04-26  Alan Hayward  <alan.hayward@arm.com>
13790
13791         * nds32-tdep.c (nds32_pseudo_register_read): Abort on errors.
13792         (nds32_pseudo_register_write): Likewise.
13793
13794 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13795
13796         * regcache.c (struct regcache) <readonly_p>: Change its type
13797         to bool.
13798         (regcache_xmalloc_1): Update parameter type and callers update.
13799
13800 2017-04-25  Yao Qi  <yao.qi@linaro.org>
13801
13802         * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
13803         set_gdbarch_wchar_bit.
13804         * arm-tdep.c (arm_gdbarch_init): Likewise.
13805
13806 2017-04-25  Pedro Alves  <palves@redhat.com>
13807
13808         * common/poison.h [!HAVE_IS_TRIVIALLY_COPYABLE] (IsRelocatable)
13809         (BothAreRelocatable, memcopy, memmove): Don't define.
13810         * common/traits.h (__has_feature, HAVE_IS_TRIVIALLY_COPYABLE): New
13811         macros.
13812
13813 2017-04-25  Pedro Alves  <palves@redhat.com>
13814
13815         * common/common-defs.h: Include "common/poison.h".
13816         * common/function-view.h: (Not, Or, Requires): Move to traits.h
13817         and adjust.
13818         * common/poison.h: New file.
13819         * common/traits.h: Include <type_traits>.
13820         (Not, Or, Requires): New, moved from common/function-view.h.
13821
13822 2017-04-25  Pedro Alves  <palves@redhat.com>
13823
13824         * breakpoint.h (struct breakpoint): In-class initialize all
13825         fields.  Make boolean fields "bool".
13826         * breakpoint.c (init_raw_breakpoint_without_location): Remove
13827         memset call and initializations no longer necessary.
13828
13829 2017-04-25  Pedro Alves  <palves@redhat.com>
13830
13831         * btrace.c (pt_btrace_insn_flags): Change parameter type to
13832         reference.
13833         (pt_btrace_insn): New function.
13834         (ftrace_add_pt): Remove memset call and use pt_btrace_insn.
13835
13836 2017-04-25  Pedro Alves  <palves@redhat.com>
13837
13838         * ada-lang.c (ada_catchpoint_location): Now a "class".  Remove
13839         "base" field and inherit from "bp_location" instead.  Add
13840         non-default ctor.
13841         (allocate_location_exception): Use new non-default ctor.
13842         * breakpoint.c (get_first_locp_gte_addr): Remove memset call.
13843         (init_bp_location): Convert to ...
13844         (bp_location::bp_location): ... this new ctor, and remove memset
13845         call.
13846         (base_breakpoint_allocate_location): Use the new non-default ctor.
13847         * breakpoint.h (bp_location): Now a class.  Declare default and
13848         non-default ctors.  In-class initialize all members.
13849         (init_bp_location): Remove declaration.
13850
13851 2017-04-25  Pedro Alves  <palves@redhat.com>
13852
13853         * common/enum-flags.h (enum_flags): Don't implement copy ctor and
13854         assignment operator.
13855
13856 2017-04-24  Yao Qi  <yao.qi@linaro.org>
13857
13858         * doublest.c (convert_doublest_to_floatformat): Call
13859         floatformat_totalsize_bytes.
13860
13861 2017-04-22  Tom Tromey  <tom@tromey.com>
13862
13863         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries): Use
13864         ui_out_emit_list.
13865         * stack.c (print_frame): Use ui_out_emit_list.
13866         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13867         ui_out_emit_list.
13868         * mi/mi-main.c (print_one_inferior)
13869         (mi_cmd_data_list_register_names)
13870         (mi_cmd_data_list_register_values, mi_cmd_list_features)
13871         (mi_cmd_list_target_features, mi_cmd_trace_frame_collected): Use
13872         ui_out_emit_list.
13873         * mi/mi-interp.c (mi_on_normal_stop_1): Use ui_out_emit_list.
13874         (mi_output_solib_attribs): Use ui_out_emit_list,
13875         ui_out_emit_tuple.
13876         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_list.
13877         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
13878         (mi_cmd_stack_list_args, list_args_or_locals): Use
13879         ui_out_emit_list.
13880         * disasm.c (do_assembly_only): Use ui_out_emit_list.
13881         * breakpoint.c (print_solib_event, output_thread_groups): Use
13882         ui_out_emit_list.
13883
13884 2017-04-22  Tom Tromey  <tom@tromey.com>
13885
13886         * mi/mi-main.c (print_variable_or_computed): Use ui_out_emit_tuple.
13887         * mi/mi-cmd-var.c (varobj_update_one): Use ui_out_emit_tuple.
13888         * mi/mi-cmd-stack.c (list_arg_or_local): Use ui_out_emit_tuple.
13889
13890 2017-04-22  Tom Tromey  <tom@tromey.com>
13891
13892         * tracepoint.c (tvariables_info_1)
13893         (print_one_static_tracepoint_marker): Use ui_out_emit_tuple.
13894
13895 2017-04-22  Tom Tromey  <tom@tromey.com>
13896
13897         * stack.c (print_frame_arg): Use ui_out_emit_tuple,
13898         annotate_arg_emitter.
13899         * breakpoint.c (print_mention_watchpoint)
13900         (print_mention_masked_watchpoint): Use ui_out_emit_tuple.
13901         * annotate.h (struct annotate_arg_emitter): New.
13902
13903 2017-04-22  Tom Tromey  <tom@tromey.com>
13904
13905         * record-btrace.c (record_btrace_insn_history)
13906         (record_btrace_insn_history_range, record_btrace_call_history)
13907         (record_btrace_call_history_range): Use ui_out_emit_tuple.
13908         * thread.c (do_captured_list_thread_ids, print_thread_info_1): Use
13909         ui_out_emit_tuple.
13910         * stack.c (print_frame_info): Use ui_out_emit_tuple.
13911         * solib.c (info_sharedlibrary_command): Use ui_out_emit_tuple.
13912         * skip.c (skip_info): Use ui_out_emit_tuple.
13913         * remote.c (show_remote_cmd): Use ui_out_emit_tuple.
13914         * progspace.c (print_program_space): Use ui_out_emit_tuple.
13915         * probe.c (info_probes_for_ops): Use ui_out_emit_tuple.
13916         * osdata.c (info_osdata): Use ui_out_emit_tuple.
13917         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Use
13918         ui_out_emit_tuple.
13919         * mi/mi-main.c (print_one_inferior, list_available_thread_groups)
13920         (output_register, mi_cmd_data_read_memory)
13921         (mi_cmd_data_read_memory_bytes, mi_load_progress)
13922         (mi_cmd_trace_frame_collected): Use ui_out_emit_tuple.
13923         * mi/mi-cmd-var.c (mi_cmd_var_list_children, varobj_update_one):
13924         Use ui_out_emit_tuple.
13925         * mi/mi-cmd-stack.c (mi_cmd_stack_list_args): Use
13926         ui_out_emit_tuple.
13927         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
13928         (mi_cmd_info_gdb_mi_command): Use ui_out_emit_tuple.
13929         * linux-thread-db.c (info_auto_load_libthread_db): Use
13930         ui_out_emit_tuple.
13931         * inferior.c (print_inferior): Use ui_out_emit_tuple.
13932         * gdb_bfd.c (print_one_bfd): Use ui_out_emit_tuple.
13933         * disasm.c (do_mixed_source_and_assembly_deprecated)
13934         (do_mixed_source_and_assembly): Use ui_out_emit_tuple.
13935         * cp-abi.c (list_cp_abis): Use ui_out_emit_tuple.
13936         * cli/cli-setshow.c (cmd_show_list): Use ui_out_emit_tuple.
13937         * breakpoint.c (print_one_breakpoint_location)
13938         (print_one_breakpoint): Use ui_out_emit_tuple.
13939         * auto-load.c (print_script, info_auto_load_cmd): Use
13940         ui_out_emit_tuple.
13941         * ada-tasks.c (print_ada_task_info): Use ui_out_emit_tuple.
13942
13943 2017-04-21  Simon Marchi  <simon.marchi@ericsson.com>
13944
13945         * thread.c (print_thread_info_1): Remove dead code.
13946
13947 2017-04-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
13948
13949         * aarch64-tdep.c (selftests::aarch64_process_record_test): Make it #if
13950         GDB_SELF_TEST.
13951         * arm-tdep.c (selftests::arm_record_test): Likewise.
13952
13953 2017-04-21  Yao Qi  <yao.qi@linaro.org>
13954
13955         * regcache.c (regcache_restore): Remove argument 2.  Replace
13956         argument 3 with regcache.  Get register status from
13957         src->register_status and get register contents from
13958         register_buffer (src, regnum).
13959         (regcache_cpy): Update.
13960
13961 2017-04-19  Pedro Alves  <palves@redhat.com>
13962
13963         * gdbthread.h (thread): Add missing closing parenthesis in
13964         comment.
13965
13966 2017-04-19  Pedro Alves  <palves@redhat.com>
13967
13968         * common/refcounted-object.h: New file.
13969         * gdbthread.h: Include "common/refcounted-object.h".
13970         (thread_info): Inherit from refcounted_object and add comments.
13971         (thread_info::incref, thread_info::decref)
13972         (thread_info::m_refcount): Delete.
13973         (thread_info::deletable): Use the refcounted_object::refcount()
13974         method.
13975         * inferior.c (current_inferior_): Add comment.
13976         (set_current_inferior): Increment/decrement refcounts.
13977         (prune_inferiors, remove_inferior_command): Skip inferiors marked
13978         not-deletable instead of comparing with the current inferior.
13979         (initialize_inferiors): Increment the initial inferior's refcount.
13980         * inferior.h (struct inferior): Forward declare.
13981         Include "common/refcounted-object.h".
13982         (current_inferior, set_current_inferior): Move declaration to
13983         before struct inferior's definition, and fix comment.
13984         (inferior): Inherit from refcounted_object.  Add comments.
13985         * thread.c (switch_to_thread_no_regs): Reference the thread's
13986         inferior pointer directly instead of doing a ptid lookup.
13987         (switch_to_no_thread): New function.
13988         (switch_to_thread(thread_info *)): New function, factored out
13989         from ...
13990         (switch_to_thread(ptid_t)): ... this.
13991         (restore_current_thread): Delete.
13992         (current_thread_cleanup): Remove 'inf_id' and 'was_removable'
13993         fields, and add 'inf' field.
13994         (do_restore_current_thread_cleanup): Check whether old->inf is
13995         alive instead of looking up an inferior by ptid.  Use
13996         switch_to_thread and switch_to_no_thread.
13997         (restore_current_thread_cleanup_dtor): Use old->inf directly
13998         instead of lookup up an inferior by id.  Decref the inferior.
13999         Don't restore 'removable'.
14000         (make_cleanup_restore_current_thread): Same the inferior pointer
14001         in old, instead of the inferior number.  Incref the inferior.
14002         Don't save/clear 'removable'.
14003
14004 2017-04-19  Pedro Alves  <palves@redhat.com>
14005
14006         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14007         unittests/scoped_restore-selftests.c.
14008         (SUBDIR_UNITTESTS_OBS): Add scoped_restore-selftests.o.
14009         * common/scoped_restore.h (scoped_restore_base): Make "class".
14010         (scoped_restore_base::release): New public method.
14011         (scoped_restore_base::scoped_restore_base): New protected ctor.
14012         (scoped_restore_base::m_saved_var): New protected field.
14013         (scoped_restore_tmpl::scoped_restore_tmpl(T*)): Initialize the
14014         scoped_restore_base base class instead of m_saved_var directly.
14015         (scoped_restore_tmpl::scoped_restore_tmpl(T*, T2)): Likewise.
14016         (scoped_restore_tmpl::scoped_restore_tmpl(const
14017         scoped_restore_tmpl<T>&)): Likewise.
14018         (scoped_restore_tmpl::~scoped_restore_tmpl): Use the saved_var
14019         method.
14020         (scoped_restore_tmpl::saved_var): New method.
14021         (scoped_restore_tmpl::m_saved_var): Delete.
14022         * inferior.h (inferior::detaching): Now a bool.
14023         * infrun.c (prepare_for_detach): Use a scoped_restore instead of a
14024         cleanup.
14025         * unittests/scoped_restore-selftests.c: New file.
14026
14027 2017-04-19  Pedro Alves  <palves@redhat.com>
14028
14029         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS):
14030         Re-sort in alphabetic order.
14031
14032 2017-04-18  Pedro Alves  <palves@redhat.com>
14033
14034         * xml-support.c (obstack_xml_printf): Delete.
14035         * xml-support.h (obstack_xml_printf): Delete.
14036
14037 2017-04-18  Pedro Alves  <palves@redhat.com>
14038
14039         * xml-support.c (gdb_xml_parser) <use_dtd, dtd_name, parse,
14040         vdebug, verror, body_text, start_element, end_element, name,
14041         user_data, set_is_xinclude, set_error, expat_parser>: New methods.
14042         <name, user_data, expat_parser, scopes, error, last_line, dtd_name,
14043         is_xinclude>: Make private and add m_ prefix.
14044         (gdb_xml_parser::body_text): New method, based on ...
14045         (gdb_xml_body_text): ... this.  Adjust.
14046         (gdb_xml_parser::vdebug): New method, based on ...
14047         (gdb_xml_debug): ... this.  Adjust.
14048         (gdb_xml_parser::verror): New method, based on ...
14049         (gdb_xml_error): ... this.  Adjust.
14050         (gdb_xml_parser::start_element): New method, based on ...
14051         (gdb_xml_start_element): ... this.  Adjust.
14052         (gdb_xml_start_element_wrapper): Defer to
14053         gdb_xml_parser::start_element and gdb_xml_parser::set_error.
14054         (gdb_xml_parser::end_element): New method, based on ...
14055         (gdb_xml_end_element_wrapper): ... this.  Adjust.
14056         (gdb_xml_parser::~gdb_xml_parser): Adjust.
14057         (gdb_xml_parser::gdb_xml_parser): Adjust to field renames.
14058         (gdb_xml_parser::use_dtd): New method, based on ...
14059         (gdb_xml_use_dtd): ... this.  Adjust.
14060         (gdb_xml_parser::parse): New method, based on ...
14061         (gdb_xml_parse): ... this.  Adjust.
14062         (gdb_xml_parse_quick): Adjust to call the parser's parse method.
14063         (xinclude_start_include): Adjust to call the parser's name method.
14064         (xml_xinclude_default, xml_xinclude_start_doctype)
14065         (xml_xinclude_end_doctype): Adjust to call the parser's user_data
14066         method.
14067         (xml_process_xincludes): Adjust to call parser methods.
14068         * xml-support.h (gdb_xml_use_dtd, gdb_xml_parse): Delete
14069         declarations.
14070
14071 2017-04-18  Pedro Alves  <palves@redhat.com>
14072
14073         * tracefile-tfile.c (tfile_write_tdesc): Adjust to use
14074         gdb::optional<std::string>.
14075         * xml-support.c: Include <string>.
14076         (scope_level::scope_level(scope_level &&))
14077         (scope_level::~scope_level): Delete.
14078         (scope_level::body): Now a std::string.
14079         (gdb_xml_body_text, gdb_xml_end_element): Adjust.
14080         (xinclude_parsing_data::xinclude_parsing_data): Add 'output'
14081         parameter.
14082         (xinclude_parsing_data::~xinclude_parsing_data): Delete.
14083         (xinclude_parsing_data::output): Now a std::string reference.
14084         (xinclude_start_include): Adjust.
14085         (xml_xinclude_default): Adjust.
14086         (xml_process_xincludes): Add 'output' parameter, and return bool.
14087         * xml-support.h (xml_process_xincludes): Add 'output' parameter,
14088         and return bool.
14089         * xml-tdesc.c: Include <unordered_map> and <string>.
14090         (tdesc_xml_cache): Delete.
14091         (tdesc_xml_cache_s): Delete.
14092         (xml_cache): Now an std::unordered_map.
14093         (tdesc_parse_xml): Adjust to use std::string and unordered_map.
14094         (target_fetch_description_xml): Change return type to
14095         gdb::optional<std::string>, and adjust.
14096         * xml-tdesc.h: Include "common/gdb_optional.h" and <string>.
14097         (target_fetch_description_xml): Change return type to
14098         gdb::optional<std::string>.
14099
14100 2017-04-18  Pedro Alves  <palves@redhat.com>
14101
14102         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14103         unittests/optional-selftests.c.
14104         (SUBDIR_UNITTESTS_OBS): Add optional-selftests.o.
14105         * unittests/optional-selftests.c: New file.
14106         * unittests/optional/assignment/1.cc: New file.
14107         * unittests/optional/assignment/2.cc: New file.
14108         * unittests/optional/assignment/3.cc: New file.
14109         * unittests/optional/assignment/4.cc: New file.
14110         * unittests/optional/assignment/5.cc: New file.
14111         * unittests/optional/assignment/6.cc: New file.
14112         * unittests/optional/assignment/7.cc: New file.
14113         * unittests/optional/cons/copy.cc: New file.
14114         * unittests/optional/cons/default.cc: New file.
14115         * unittests/optional/cons/move.cc: New file.
14116         * unittests/optional/cons/value.cc: New file.
14117         * unittests/optional/in_place.cc: New file.
14118         * unittests/optional/observers/1.cc: New file.
14119         * unittests/optional/observers/2.cc: New file.
14120
14121 2017-04-18  Pedro Alves  <palves@redhat.com>
14122
14123         * common/gdb_optional.h: Include common/traits.h.
14124         (in_place_t): New type.
14125         (in_place): New constexpr variable.
14126         (optional::optional): Remove member initialization of
14127         m_instantiated.
14128         (optional::optional(in_place_t...)): New constructor.
14129         (optional::~optional): Use reset.
14130         (optional::optional(const optional&)): New.
14131         (optional::optional(const optional&&)): New.
14132         (optional::optional(T &)): New.
14133         (optional::optional(T &&)): New.
14134         (operator::operator=(const optional &)): New.
14135         (operator::operator=(optional &&)): New.
14136         (operator::operator= (const T &))
14137         (operator::operator= (T &&))
14138         (operator::emplace (Args &&... args)): Return a T&.  Use reset.
14139         (operator::reset): New.
14140         (operator::m_instantiated):: Add in-class initializer.
14141         * common/traits.h: Include <type_traits>.
14142         (struct And): New types.
14143
14144 2017-04-18  Pedro Alves  <palves@redhat.com>
14145
14146         * xml-support.c: Include <vector>.
14147         (scope_level::scope_level(const gdb_xml_element *))
14148         (scope_level::scope_level(scope_level&&)): New.
14149         (scope_level::~scope_level): New.
14150         (scope_level_s): Delete.
14151         (gdb_xml_parser::scopes): Now a std::vector.
14152         (gdb_xml_body_text, gdb_xml_start_element, gdb_xml_end_element):
14153         Use std::vector.
14154         (gdb_xml_parser::~gdb_xml_parser): Remove now unnecessary
14155         scope cleanup code.
14156         (gdb_xml_parser::gdb_xml_parser): Remove explicit initialization
14157         of the scopes member.  Use std::vector::emplace_back.
14158
14159 2017-04-18  Pedro Alves  <palves@redhat.com>
14160
14161         * xml-support.c (gdb_xml_parser): Add ctor/dtor.  Make is_xinclude
14162         a bool.
14163         (gdb_xml_end_element): Change type of first parameter.
14164         (gdb_xml_cleanup): Rename to ...
14165         (gdb_xml_parser::~gdb_xml_parser): ... this.
14166         (gdb_xml_create_parser_and_cleanup): Delete with ...
14167         (gdb_xml_parser::gdb_xml_parser): ... creation parts factored out
14168         to this new ctor.
14169         (gdb_xml_parse_quick): Create a local gdb_xml_parser instead of
14170         using gdb_xml_create_parser_and_cleanup.
14171         (xinclude_parsing_data): Add ctor/dtor.
14172         (xml_xinclude_cleanup): Delete.
14173         (xml_process_xincludes): Create a local xinclude_parsing_data
14174         instead of heap-allocating one.  Create a local gdb_xml_parser
14175         instead of heap-allocating one with
14176         gdb_xml_create_parser_and_cleanup.
14177
14178 2017-04-18  John Baldwin  <jhb@FreeBSD.org>
14179
14180         PR threads/20743
14181         * fbsd-nat.c (resume_one_thread_cb): Remove.
14182         (resume_all_threads_cb): Remove.
14183         (fbsd_resume): Use ALL_NON_EXITED_THREADS instead of
14184         iterate_over_threads.
14185
14186 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
14187
14188         * NEWS: Create a new section for the next release branch.
14189         Rename the section of the current branch, now that it has
14190         been cut.
14191
14192 2017-04-17  Joel Brobecker  <brobecker@adacore.com>
14193
14194         GDB 8.0 branch created (725bf5cf125783c2a7ca4ab63d3768e220bab2db):
14195         * version.in: Bump version to 8.0.50.DATE-git.
14196
14197 2017-04-13  Sergio Durigan Junior  <sergiodj@redhat.com>
14198
14199         PR gdb/21385
14200         * windows-nat.c (windows_create_inferior): Declare 'allargs'
14201         independently of the host, and fix build breakage on Cygwin.
14202
14203 2017-04-13  Pedro Alves  <palves@redhat.com>
14204
14205         * inferior.c (free_inferior): Convert to ...
14206         (inferior::~inferior): ... this dtor.
14207         (inferior::inferior): New ctor, factored out from ...
14208         (add_inferior_silent): ... here.  Allocate the inferior with a new
14209         expression.
14210         (delete_inferior): Call delete instead of free_inferior.
14211         * inferior.h (gdb_environ, continuation): Forward declare.
14212         (inferior): Now a class.  Add in-class initialization to all
14213         members.  Make boolean fields bool, except 'detaching'.
14214         (inferior::inferior): New explicit ctor.
14215         (inferior::~inferior): New.
14216
14217 2017-04-13  Pedro Alves  <palves@redhat.com>
14218
14219         * inferior.c (init_inferior_list): Delete.
14220         * inferior.h (init_inferior_list): Delete.
14221
14222 2017-04-13  Pedro Alves  <palves@redhat.com>
14223
14224         PR threads/13217
14225         * gdb.threads/threadapply.exp (thr_apply_detach): New procedure.
14226         (top level): Call it twice, with different thread sets.
14227
14228 2017-04-13  Pedro Alves  <palves@redhat.com>
14229
14230         * thread.c: Include <algorithm>.
14231         (thread_array_cleanup): Delete.
14232         (scoped_inc_dec_ref): New class.
14233         (live_threads_count): New function.
14234         (set_thread_refcount): Delete.
14235         (tp_array_compar_ascending): Now a bool.
14236         (tp_array_compar): Convert to a std::sort comparison function.
14237         (thread_apply_all_command): Use std::vector and scoped_inc_dec_ref
14238         and live_threads_count.
14239
14240 2017-04-13  Pedro Alves  <palves@redhat.com>
14241
14242         * infrun.c (follow_fork_inferior): Also switch the current
14243         inferior.
14244
14245 2017-04-13  Pedro Alves  <palves@redhat.com>
14246
14247         * breakpoint.c (watch_command_1): Save watchpoint-frame info
14248         before calling create_internal_breakpoint.
14249
14250 2017-04-13  Pedro Alves  <palves@redhat.com>
14251
14252         * fork-child.c (execv_argv): New class.
14253         (breakup_args): Refactored as ...
14254         (execv_argv::init_for_no_shell): .. this method of execv_argv.
14255         Copy arguments to storage and replace separators with NULL
14256         terminators in place.
14257         (escape_bang_in_quoted_argument): Adjust to return bool.
14258         (execv_argv::execv_argv): New ctor.
14259         (execv_argv::init_for_shell): New method, factored out from
14260         fork_inferior.  Don't strdup strings into the vector.
14261         (fork_inferior): Eliminate "shell" local and use execv_argv.  Use
14262         Remove free_vector_argv call.
14263
14264 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14265
14266         * rx-tdep.c (rx_fpsw_type): Check tdep->rx_fpsw_type instead of
14267         tdep->rx_psw_type.
14268
14269 2017-04-13  Yao Qi  <yao.qi@linaro.org>
14270
14271         * rl78-tdep.c (rl78_gdbarch_init): Use XCNEW instead of XNEW.
14272         * rx-tdep.c (rx_gdbarch_init): Likewise.
14273
14274 2017-04-13  Pedro Alves  <palves@redhat.com>
14275
14276         * breakpoint.h (struct breakpoint): Reindent.
14277
14278 2017-04-13  Pedro Alves  <palves@redhat.com>
14279
14280         * breakpoint.c (bp_location): Rename to ...
14281         (bp_locations): ... this.  All references updated.
14282         (bp_location_count): Rename to ...
14283         (bp_locations_count): ... this.  All references updated.
14284         (bp_location_placed_address_before_address_max): Rename to ...
14285         (bp_locations_placed_address_before_address_max): ... this.  All
14286         references updated.
14287         (bp_location_shadow_len_after_address_max): Rename to ...
14288         (bp_locations_shadow_len_after_address_max): ... this.  All
14289         references updated.
14290         (bp_location_compare_addrs): Rename to ...
14291         (bp_locations_compare_addrs): ... this.  All references updated.
14292         (bp_location_compare):Rename to ...
14293         (bp_locations_compare): ... this.  All references updated.
14294         (bp_location_target_extensions_update): Rename to ...
14295         (bp_locations_target_extensions_update): ... this.  All references
14296         updated.
14297
14298 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14299
14300         * Makefile.in (HFILES_NO_SRCDIR): Add "common/gdb_termios.h".
14301         * common/common.m4: Check headers 'termios.h', 'termio.h' and
14302         'sgtty.h'.
14303         * common/gdb_termios.h: New file, with parts of "terminal.h".
14304         * inflow.c: Include "gdb_termios.h".
14305         * ser-unix.c: Include "gdb_termios.h".
14306         * terminal.h: Move terminal-related defines to
14307         "common/gdb_termios.h".
14308
14309 2017-04-12  Tom Tromey  <tom@tromey.com>
14310
14311         * probe.c (parse_probes): Update.
14312         * location.h (delete_event_location): Don't declare.
14313         (event_location_deleter::operator()): Update.
14314         * location.c (event_location_deleter::operator()): Rename from
14315         delete_event_location.
14316         * linespec.h (linespec_result) <location>: Change type to
14317         event_location_up.
14318         * linespec.c (canonicalize_linespec, event_location_to_sals)
14319         (decode_objc): Update.
14320         (linespec_result): Don't call delete_event_location.
14321         * breakpoint.c (create_breakpoints_sal)
14322         (bkpt_probe_create_sals_from_location)
14323         (strace_marker_create_sals_from_location): Update.
14324
14325 2017-04-12  Tom Tromey  <tom@tromey.com>
14326
14327         * linespec.h (struct linespec_result): Add constructor and
14328         destructor.
14329         (init_linespec_result, destroy_linespec_result)
14330         (make_cleanup_destroy_linespec_result): Don't declare.
14331         * linespec.c (init_linespec_result): Remove.
14332         (linespec_result::~linespec_result): Rename from
14333         destroy_linespec_result.  Update.
14334         (cleanup_linespec_result, make_cleanup_destroy_linespec_result):
14335         Remove.
14336         * breakpoint.c (create_breakpoint, break_range_command)
14337         (decode_location_default): Update.
14338         * ax-gdb.c (agent_command_1): Update.
14339
14340 2017-04-12  Tom Tromey  <tom@tromey.com>
14341
14342         * remote.c (remote_download_tracepoint): Update.
14343         * python/py-breakpoint.c (bppy_get_location): Update.
14344         * guile/scm-breakpoint.c (bpscm_print_breakpoint_smob)
14345         (gdbscm_breakpoint_location): Update.
14346         * elfread.c (elf_gnu_ifunc_resolver_return_stop): Update.
14347         * breakpoint.h (struct breakpoint) <location, location_range_end>:
14348         Change type to event_location_up.
14349         * breakpoint.c (create_overlay_event_breakpoint)
14350         (create_longjmp_master_breakpoint)
14351         (create_std_terminate_master_breakpoint)
14352         (create_exception_master_breakpoint)
14353         (breakpoint_event_location_empty_p, print_breakpoint_location)
14354         (print_one_breakpoint_location, create_thread_event_breakpoint)
14355         (init_breakpoint_sal, create_breakpoint)
14356         (print_recreate_ranged_breakpoint, break_range_command)
14357         (init_ada_exception_breakpoint, say_where): Update.
14358         (base_breakpoint_dtor): Don't call delete_event_location.
14359         (bkpt_print_recreate, tracepoint_print_recreate)
14360         (dprintf_print_recreate, update_static_tracepoint)
14361         (breakpoint_re_set_default): Update.
14362
14363 2017-04-12  Tom Tromey  <tom@tromey.com>
14364
14365         * compile/compile-loc2c.c (compute_stack_depth_worker): Change
14366         type of "to_do".  Update.
14367         (compute_stack_depth): Use std::vector.
14368
14369 2017-04-12  Tom Tromey  <tom@tromey.com>
14370
14371         * printcmd.c (find_instruction_backward): Use std::vector.
14372
14373 2017-04-12  Tom Tromey  <tom@tromey.com>
14374
14375         * symfile.c (objfilep): Remove typedef.
14376         (reread_symbols): Use a std::vector.
14377
14378 2017-04-12  Tom Tromey  <tom@tromey.com>
14379
14380         * mi/mi-main.c (exec_direction_forward): Remove.
14381         (exec_reverse_continue, mi_execute_command): Use scoped_restore.
14382         * guile/scm-ports.c (ioscm_with_output_to_port_worker): Use
14383         scoped_restore.
14384         * guile/guile.c (guile_repl_command, guile_command)
14385         (gdbscm_execute_gdb_command): Use scoped_restore.
14386         * go-exp.y (go_parse): Use scoped_restore.
14387         * d-exp.y (d_parse): Use scoped_restore.
14388         * cli/cli-decode.c (cmd_func): Use scoped_restore.
14389         * c-exp.y (c_parse): Use scoped_restore.
14390
14391 2017-04-12  Tom Tromey  <tom@tromey.com>
14392
14393         * mi/mi-parse.h (struct mi_parse): Add constructor, destructor.
14394         (mi_parse): Update return type.
14395         (mi_parse_free): Remove.
14396         * mi/mi-parse.c (mi_parse::mi_parse): New constructor.
14397         (mi_parse::~mi_parse): Rename from mi_parse_free.
14398         (mi_parse_cleanup): Remove.
14399         (mi_parse): Return a unique_ptr.  Use new.
14400         * mi/mi-main.c (mi_execute_command): Update.
14401
14402 2017-04-12  Tom Tromey  <tom@tromey.com>
14403
14404         * location.c (explicit_location_lex_one): Return a
14405         unique_xmalloc_ptr.
14406         (string_to_explicit_location): Update.  Remove cleanups.
14407
14408 2017-04-12  Tom Tromey  <tom@tromey.com>
14409
14410         * gnu-v3-abi.c (value_and_voffset_p): Remove typedef.
14411         (compare_value_and_voffset): Change type.  Update.
14412         (compute_vtable_size): Change type of "offset_vec".
14413         (gnuv3_print_vtable): Use std::vector.  Remove cleanups.
14414         (gnuv3_get_typeid): Remove extraneous declaration.
14415
14416 2017-04-12  Tom Tromey  <tom@tromey.com>
14417
14418         * charset.h (wchar_iterator): Fix comment.
14419
14420 2017-04-12  Tom Tromey  <tom@tromey.com>
14421
14422         * charset.c (iconv_wrapper): New class.
14423         (cleanup_iconv): Remove.
14424         (convert_between_encodings): Use it.
14425
14426 2017-04-12  Tom Tromey  <tom@tromey.com>
14427
14428         * symfile.h (increment_reading_symtab): Update type.
14429         * symfile.c (decrement_reading_symtab): Remove.
14430         (increment_reading_symtab): Return a scoped_restore_tmpl<int>.
14431         * psymtab.c (psymtab_to_symtab): Update.
14432         * dwarf2read.c (dw2_instantiate_symtab): Update.
14433
14434 2017-04-12  Tom Tromey  <tom@tromey.com>
14435
14436         * jit.c (struct jit_reader): Declare separately.  Add constructor
14437         and destructor.  Change type of "handle".
14438         (loaded_jit_reader): Define separately.
14439         (jit_reader_load): Update.  New "new".
14440         (jit_reader_unload_command): Use "delete".
14441         * gdb-dlfcn.h (struct dlclose_deleter): New.
14442         (gdb_dlhandle_up): New typedef.
14443         (gdb_dlopen, gdb_dlsym): Update types.
14444         (gdb_dlclose): Remove.
14445         * gdb-dlfcn.c (gdb_dlopen): Return a gdb_dlhandle_up.
14446         (gdb_dlsym): Change type of "handle".
14447         (make_cleanup_dlclose): Remove.
14448         (dlclose_deleter::operator()): Rename from gdb_dlclose.
14449         * compile/compile-c-support.c (load_libcc): Update.
14450
14451 2017-04-12  Tom Tromey  <tom@tromey.com>
14452
14453         * symtab.h (find_pcs_for_symtab_line): Change return type.
14454         * symtab.c (find_pcs_for_symtab_line): Change return type.
14455         * python/py-linetable.c (build_line_table_tuple_from_pcs): Change
14456         type of "vec".  Update.
14457         (ltpy_get_pcs_for_line): Update.
14458         * linespec.c (decode_digits_ordinary): Update.
14459
14460 2017-04-12  Tom Tromey  <tom@tromey.com>
14461
14462         * tracepoint.c (actions_command): Update.
14463         * python/python.c (python_command, python_interactive_command):
14464         Update.
14465         * mi/mi-cmd-break.c (mi_cmd_break_commands): Update.
14466         * guile/guile.c (guile_command): Update.
14467         * defs.h (read_command_lines, read_command_lines_1): Return
14468         command_line_up.
14469         (command_lines_deleter): New struct.
14470         (command_line_up): New typedef.
14471         * compile/compile.c (compile_code_command)
14472         (compile_print_command): Update.
14473         * cli/cli-script.h (get_command_line, copy_command_lines): Return
14474         command_line_up.
14475         (make_cleanup_free_command_lines): Remove.
14476         * cli/cli-script.c (get_command_line, read_command_lines_1)
14477         (copy_command_lines): Return command_line_up.
14478         (while_command, if_command, read_command_lines, define_command)
14479         (document_command): Update.
14480         (do_free_command_lines_cleanup, make_cleanup_free_command_lines):
14481         Remove.
14482         * breakpoint.h (breakpoint_set_commands): Change type of
14483         "commands".
14484         * breakpoint.c (breakpoint_set_commands): Change type of
14485         "commands".  Update.
14486         (do_map_commands_command, update_dprintf_command_list)
14487         (create_tracepoint_from_upload): Update.
14488
14489 2017-04-12  Tom Tromey  <tom@tromey.com>
14490
14491         * tracepoint.c (scope_info): Update.
14492         * spu-tdep.c (spu_catch_start): Update.
14493         * python/python.c (gdbpy_decode_line): Update.
14494         * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
14495         * python/py-breakpoint.c (bppy_init): Update.
14496         * probe.c (parse_probes): Update.
14497         * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
14498         * location.h (event_location_deleter): New struct.
14499         (event_location_up): New typedef.
14500         (new_linespec_location, new_address_location, new_probe_location)
14501         (new_explicit_location, copy_event_location)
14502         (string_to_event_location, string_to_event_location_basic)
14503         (string_to_explicit_location): Update return type.
14504         (make_cleanup_delete_event_location): Remove.
14505         * location.c (new_linespec_location, new_address_location)
14506         (new_probe_location, new_explicit_location, copy_event_location):
14507         Return event_location_up.
14508         (delete_event_location_cleanup)
14509         (make_cleanup_delete_event_location): Remove.
14510         (string_to_explicit_location, string_to_event_location_basic)
14511         (string_to_event_location): Return event_location_up.
14512         * linespec.c (canonicalize_linespec, event_location_to_sals)
14513         (decode_line_with_current_source)
14514         (decode_line_with_last_displayed, decode_objc): Update.
14515         * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
14516         * completer.c (location_completer): Update.
14517         * cli/cli-cmds.c (edit_command, list_command): Update.
14518         * breakpoint.c (create_overlay_event_breakpoint)
14519         (create_longjmp_master_breakpoint)
14520         (create_std_terminate_master_breakpoint)
14521         (create_exception_master_breakpoint)
14522         (create_thread_event_breakpoint): Update.
14523         (init_breakpoint_sal): Update.  Remove some dead code.
14524         (create_breakpoint_sal): Change type of "location".  Update.
14525         (create_breakpoints_sal, create_breakpoint, break_command_1)
14526         (dprintf_command, break_range_command, until_break_command)
14527         (init_ada_exception_breakpoint)
14528         (strace_marker_create_sals_from_location)
14529         (update_static_tracepoint, trace_command, ftrace_command)
14530         (strace_command, create_tracepoint_from_upload): Update.
14531         * break-catch-throw.c (re_set_exception_catchpoint): Update.
14532         * ax-gdb.c (agent_command_1): Update.
14533
14534 2017-04-12  Pedro Alves  <palves@redhat.com>
14535
14536         * Makefile.in (ALL_TARGET_OBS): Add i386-go32-tdep.o.
14537         * configure.tgt: Handle i[34567]86-*-go32* and
14538         i[34567]86-*-msdosdjgpp*.
14539         * i386-tdep.c (i386_svr4_reg_to_regnum):
14540         Make extern.
14541         (i386_go32_init_abi, i386_coff_osabi_sniffer): Moved to
14542         i386-go32-tdep.c.
14543         (_initialize_i386_tdep): DJGPP bits moved to i386-go32-tdep.c.
14544         * i386-go32-tdep.c: New file.
14545         * i386-tdep.h (tdesc_i386_mmx, i386_svr4_reg_to_regnum): New
14546         declarations.
14547
14548 2017-04-12  Simon Marchi  <simon.marchi@ericsson.com>
14549
14550         * aix-thread.c (pd_status2str): Change return type to const char *.
14551
14552 2017-04-12  Pedro Alves  <palves@redhat.com>
14553
14554         * i386-tdep.c (i386_elf_init_abi, i386_go32_init_abi): Remove
14555         calls to set_gdbarch_gnu_triplet_regexp.
14556
14557 2017-04-12  Pedro Alves  <palves@redhat.com>
14558
14559         PR gdb/21323
14560         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_wchar_t>:
14561         New enum value.
14562         (cplus_language_arch_info): Register cplus_primitive_type_wchar_t.
14563         * gdbtypes.h (struct builtin_type) <builtin_wchar>: New field.
14564         * gdbtypes.c (gdbtypes_post_init): Create the "wchar_t" type.
14565         * gdbarch.sh (wchar_bit, wchar_signed): New per-arch values.
14566         * gdbarch.h, gdbarch.c: Regenerate.
14567         * aarch64-tdep.c (aarch64_gdbarch_init): Override
14568         gdbarch_wchar_bit and gdbarch_wchar_signed.
14569         * alpha-tdep.c (alpha_gdbarch_init): Likewise.
14570         * arm-tdep.c (arm_gdbarch_init): Likewise.
14571         * avr-tdep.c (avr_gdbarch_init): Likewise.
14572         * h8300-tdep.c (h8300_gdbarch_init): Likewise.
14573         * i386-nto-tdep.c (i386nto_init_abi): Likewise.
14574         * i386-tdep.c (i386_go32_init_abi): Likewise.
14575         * m32r-tdep.c (m32r_gdbarch_init): Likewise.
14576         * moxie-tdep.c (moxie_gdbarch_init): Likewise.
14577         * nds32-tdep.c (nds32_gdbarch_init): Likewise.
14578         * rs6000-aix-tdep.c (rs6000_aix_init_osabi): Likewise.
14579         * sh-tdep.c (sh_gdbarch_init): Likewise.
14580         * sparc-tdep.c (sparc32_gdbarch_init): Likewise.
14581         * sparc64-tdep.c (sparc64_init_abi): Likewise.
14582         * windows-tdep.c (windows_init_abi): Likewise.
14583         * xstormy16-tdep.c (xstormy16_gdbarch_init): Likewise.
14584
14585 2017-04-12  Pedro Alves  <palves@redhat.com>
14586
14587         PR c++/21323
14588         * c-lang.c (cplus_primitive_types) <cplus_primitive_type_char16_t,
14589         cplus_primitive_type_char32_t>: New enum values.
14590         (cplus_language_arch_info): Register cplus_primitive_type_char16_t
14591         and cplus_primitive_type_char32_t.
14592         * dwarf2read.c (read_base_type) <DW_ATE_UTF>: If bit size is 16 or
14593         32, use the archtecture's built-in type for char16_t and char32_t,
14594         respectively.  Otherwise, fallback to init_integer_type as before,
14595         but make the type unsigned, and issue a complaint.
14596         * gdbtypes.c (gdbtypes_post_init): Make char16_t and char32_t unsigned.
14597
14598 2017-04-12  Alan Hayward  <alan.hayward@arm.com>
14599
14600         * m32r-tdep.c (M32R_ARG_REGISTER_SIZE): Added.
14601         (m32r_push_dummy_call): Use M32R_ARG_REGISTER_SIZE.
14602
14603 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14604
14605         * windows-nat.c (windows_create_inferior): Declare 'toexec' as
14606         'const char *'.
14607
14608 2017-04-12  Sergio Durigan Junior  <sergiodj@redhat.com>
14609
14610         * common/common-utils.c (free_vector_argv): New function.
14611         * common/common-utils.h: Include <vector>.
14612         (free_vector_argv): New prototype.
14613         * darwin-nat.c (darwin_create_inferior): Rewrite function
14614         prototype in order to constify "exec_file" and accept a
14615         "std::string" for "allargs".
14616         * fork-child.c: Include <vector>.
14617         (breakup_args): Rewrite function, using C++.
14618         (fork_inferior): Rewrite function header, constify "exec_file_arg"
14619         and accept "std::string" for "allargs".  Update the code to
14620         calculate "argv" based on "allargs".  Update calls to "exec_fun"
14621         and "execvp".
14622         * gnu-nat.c (gnu_create_inferior): Rewrite function prototype in
14623         order to constify "exec_file" and accept a "std::string" for
14624         "allargs".
14625         * go32-nat.c (go32_create_inferior): Likewise.
14626         * inf-ptrace.c (inf_ptrace_create_inferior): Likewise.
14627         * infcmd.c (run_command_1): Constify "exec_file".  Use
14628         "std::string" for inferior arguments.
14629         * inferior.h (fork_inferior): Update prototype.
14630         * linux-nat.c (linux_nat_create_inferior): Rewrite function
14631         prototype in order to constify "exec_file" and accept a
14632         "std::string" for "allargs".
14633         * nto-procfs.c (procfs_create_inferior): Likewise.
14634         * procfs.c (procfs_create_inferior): Likewise.
14635         * remote-sim.c (gdbsim_create_inferior): Likewise.
14636         * remote.c (extended_remote_run): Update code to accept
14637         "std::string" as argument.
14638         (extended_remote_create_inferior): Rewrite function prototype in
14639         order to constify "exec_file" and accept a "std::string" for
14640         "allargs".
14641         * rs6000-nat.c (super_create_inferior): Likewise.
14642         (rs6000_create_inferior): Likewise.
14643         * target.h (struct target_ops) <to_create_inferior>: Likewise.
14644         * windows-nat.c (windows_create_inferior): Likewise.
14645
14646 2017-04-11  Pedro Alves  <palves@redhat.com>
14647
14648         * thread.c: Fix whitespace throughout.
14649
14650 2017-04-11  Philipp Rudo  <prudo@linux.vnet.ibm.com>
14651
14652         * linux-nat.c (linux_nat_detach): Remove delete_lwp call.
14653
14654 2017-04-11  Alan Hayward  <alan.hayward@arm.com>
14655
14656         * arm-tdep.c (arm_store_return_value): Use FP_REGISTER_SIZE
14657
14658 2017-04-10  Sergio Durigan Junior  <sergiodj@redhat.com>
14659
14660         PR gdb/21364
14661         * osdata.c (info_osdata): Check if 'type' is an empty string
14662         instead of NULL.
14663
14664 2017-04-10  Pedro Alves  <palves@redhat.com>
14665
14666         * thread.c (add_thread_silent, delete_thread_1, find_thread_ptid)
14667         (ptid_to_global_thread_id, in_thread_list)
14668         (do_captured_list_thread_ids, set_resumed, set_running)
14669         (set_executing, set_stop_requested, finish_thread_state)
14670         (validate_registers_access, can_access_registers_ptid)
14671         (print_thread_info_1, switch_to_thread)
14672         (do_restore_current_thread_cleanup)
14673         (make_cleanup_restore_current_thread, thread_command)
14674         (thread_name_command): Use operator== instead of ptid_equal.
14675
14676 2017-04-10  Pedro Alves  <palves@redhat.com>
14677
14678         * thread.c (struct current_thread_cleanup) <next>: Delete field.
14679         (current_thread_cleanup_chain): Delete.
14680         (restore_current_thread_cleanup_dtor)
14681         (make_cleanup_restore_current_thread): Remove references to
14682         current_thread_cleanup_chain.
14683
14684 2017-04-10  Alan Hayward  <alan.hayward@arm.com>
14685
14686         * msp430-tdep.c (msp430_pseudo_register_read): Never return
14687         REG_UNKNOWN.
14688
14689 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14690
14691         PR gdb/19942
14692         * gdbthread.h (thread_info::deletable): New method.
14693         (thread_info::incref): New method.
14694         (thread_info::decref): New method.
14695         (thread_info::refcount): Move it to private.
14696         * infrun.c (save_stop_context): Call inc_refcount.
14697         (release_stop_context_cleanup): Likewise.
14698         * thread.c (set_thread_exited): New function.
14699         (init_thread_list): Delete "tp" only it is deletable, otherwise
14700         call set_thread_exited.
14701         (delete_thread_1): Call set_thread_exited.
14702         (current_thread_cleanup) <inferior_pid>: Remove.
14703         <thread>: New field.
14704         (restore_current_thread_ptid_changed): Removed.
14705         (do_restore_current_thread_cleanup): Adjust.
14706         (restore_current_thread_cleanup_dtor): Don't call
14707         find_thread_ptid.
14708         (set_thread_refcount): Use dec_refcount.
14709         (make_cleanup_restore_current_thread): Adjust.
14710         (thread_apply_all_command): Call inc_refcount.
14711         (_initialize_thread): Don't call
14712         observer_attach_thread_ptid_changed.
14713
14714 2017-04-10  Yao Qi  <yao.qi@linaro.org>
14715
14716         * thread.c (delete_thread_1): Hoist code on marking thread as
14717         exited.
14718
14719 2017-04-09  Simon Marchi  <simon.marchi@polymtl.ca>
14720
14721         * windows-nat.c (windows_detach): Initialize ptid with
14722         minus_one_ptid.
14723
14724 2017-04-07  Simon Marchi  <simon.marchi@ericsson.com>
14725
14726         * unittests/ptid-selftests.c: Fix erroneous assert messages.
14727
14728 2017-04-07  Alan Hayward  <alan.hayward@arm.com>
14729
14730         * bfin-tdep.c (BFIN_MAX_REGISTER_SIZE): Add.
14731         (bfin_pseudo_register_read): Use BFIN_MAX_REGISTER_SIZE.
14732         (bfin_pseudo_register_write): Likewise
14733
14734 2017-04-06  Simon Marchi  <simon.marchi@ericsson.com>
14735
14736         * common/ptid.h (struct ptid): Change to...
14737         (class ptid_t): ... this.
14738         <ptid_t>: New constructors.
14739         <pid, lwp_p, lwp, tid_p, tid, is_pid, operator==, operator!=,
14740         matches>: New methods.
14741         <make_null, make_minus_one>: New static methods.
14742         <pid>: Rename to...
14743         <m_pid>: ...this.
14744         <lwp>: Rename to...
14745         <m_lwp>: ...this.
14746         <tid>: Rename to...
14747         <m_tid>: ...this.
14748         (ptid_build, ptid_get_pid, ptid_get_lwp, ptid_get_tid, ptid_equal,
14749         ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match): Take ptid arguments
14750         as references, move comment to class ptid_t.
14751         * common/ptid.c (null_ptid, minus_one_ptid): Initialize with
14752         ptid_t static methods.
14753         (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_tid,
14754         ptid_equal, ptid_is_pid, ptid_lwp_p, ptid_tid_p, ptid_match):
14755         Take ptid arguments as references, implement using ptid_t methods.
14756         * unittests/ptid-selftests.c: New file.
14757         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
14758         unittests/ptid-selftests.c.
14759         (SUBDIR_UNITTESTS_OBS): Add unittests/ptid-selftests.o.
14760
14761 2017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14762
14763         * python/python.c (python_run_simple_file): Cast mode literal to
14764         non-const char pointer as expected by PyFile_FromString.
14765
14766 2017-04-05  Simon Marchi  <simon.marchi@ericsson.com>
14767
14768         * common/ptid.c (ptid_lwp_p, ptid_tid_p): Remove comparison with
14769         minus_one_ptid and null_ptid.
14770
14771 2017-04-05  Pedro Alves  <palves@redhat.com>
14772
14773         * warning.m4 (build_warnings): Remove -Wno-write-strings.
14774         * configure: Regenerate.
14775
14776 2017-04-05  Pedro Alves  <palves@redhat.com>
14777
14778         * ada-exp.y (yyerror): Constify.
14779         * ada-lang.c (bound_name, get_selections)
14780         (ada_variant_discrim_type)
14781         (ada_variant_discrim_name, ada_value_struct_elt)
14782         (ada_lookup_struct_elt_type, is_unchecked_variant)
14783         (ada_which_variant_applies, standard_exc, ada_get_next_arg)
14784         (catch_ada_exception_command_split)
14785         (catch_ada_assert_command_split, catch_assert_command)
14786         (ada_op_name): Constify.
14787         * ada-lang.h (ada_yyerror, get_selections)
14788         (ada_variant_discrim_name, ada_value_struct_elt): Constify.
14789         * arc-tdep.c (arc_print_frame_cache): Constify.
14790         * arm-tdep.c (arm_skip_stub): Constify.
14791         * ax-gdb.c (gen_binop, gen_struct_ref_recursive, gen_struct_ref)
14792         (gen_aggregate_elt_ref): Constify.
14793         * bcache.c (print_bcache_statistics): Constify.
14794         * bcache.h (print_bcache_statistics): Constify.
14795         * break-catch-throw.c (catch_exception_command_1):
14796         * breakpoint.c (struct ep_type_description::description):
14797         Constify.
14798         (add_solib_catchpoint): Constify.
14799         (catch_fork_command_1): Add cast.
14800         (add_catch_command): Constify.
14801         * breakpoint.h (add_catch_command, add_solib_catchpoint):
14802         Constify.
14803         * bsd-uthread.c (bsd_uthread_state): Constify.
14804         * buildsym.c (patch_subfile_names): Constify.
14805         * buildsym.h (next_symbol_text_func, patch_subfile_names):
14806         Constify.
14807         * c-exp.y (yyerror): Constify.
14808         (token::oper): Constify.
14809         * c-lang.h (c_yyerror, cp_print_class_member): Constify.
14810         * c-varobj.c (cplus_describe_child): Constify.
14811         * charset.c (find_charset_names): Add cast.
14812         (find_charset_names): Constify array and add const_cast.
14813         * cli/cli-cmds.c (complete_command, cd_command): Constify.
14814         (edit_command): Constify.
14815         * cli/cli-decode.c (lookup_cmd): Constify.
14816         * cli/cli-dump.c (dump_memory_command, dump_value_command):
14817         Constify.
14818         (struct dump_context): Constify.
14819         (add_dump_command, restore_command): Constify.
14820         * cli/cli-script.c (get_command_line): Constify.
14821         * cli/cli-script.h (get_command_line): Constify.
14822         * cli/cli-utils.c (check_for_argument): Constify.
14823         * cli/cli-utils.h (check_for_argument): Constify.
14824         * coff-pe-read.c (struct read_pe_section_data): Constify.
14825         * command.h (lookup_cmd): Constify.
14826         * common/print-utils.c (decimal2str): Constify.
14827         * completer.c (gdb_print_filename): Constify.
14828         * corefile.c (set_gnutarget): Constify.
14829         * cp-name-parser.y (yyerror): Constify.
14830         * cp-valprint.c (cp_print_class_member): Constify.
14831         * cris-tdep.c (cris_register_name, crisv32_register_name):
14832         Constify.
14833         * d-exp.y (yyerror): Constify.
14834         (struct token::oper): Constify.
14835         * d-lang.h (d_yyerror): Constify.
14836         * dbxread.c (struct header_file_location::name): Constify.
14837         (add_old_header_file, add_new_header_file, last_function_name)
14838         (dbx_next_symbol_text, add_bincl_to_list)
14839         (find_corresponding_bincl_psymtab, set_namestring)
14840         (find_stab_function_addr, read_dbx_symtab, start_psymtab)
14841         (dbx_end_psymtab, read_ofile_symtab, process_one_symbol):
14842         * defs.h (command_line_input, print_address_symbolic)
14843         (deprecated_readline_begin_hook): Constify.
14844         * dwarf2read.c (anonymous_struct_prefix, dwarf_bool_name):
14845         Constify.
14846         * event-top.c (handle_line_of_input): Constify and add cast.
14847         * exceptions.c (catch_errors): Constify.
14848         * exceptions.h (catch_errors): Constify.
14849         * expprint.c (print_subexp_standard, op_string, op_name)
14850         (op_name_standard, dump_raw_expression, dump_raw_expression):
14851         * expression.h (op_name, op_string, dump_raw_expression):
14852         Constify.
14853         * f-exp.y (yyerror): Constify.
14854         (struct token::oper): Constify.
14855         (struct f77_boolean_val::name): Constify.
14856         * f-lang.c (f_word_break_characters): Constify.
14857         * f-lang.h (f_yyerror): Constify.
14858         * fork-child.c (fork_inferior): Add cast.
14859         * frv-tdep.c (struct gdbarch_tdep::register_names): Constify.
14860         (new_variant): Constify.
14861         * gdbarch.sh (pstring_ptr, pstring_list): Constify.
14862         * gdbarch.c: Regenerate.
14863         * gdbcore.h (set_gnutarget): Constify.
14864         * go-exp.y (yyerror): Constify.
14865         (token::oper): Constify.
14866         * go-lang.h (go_yyerror): Constify.
14867         * go32-nat.c (go32_sysinfo): Constify.
14868         * guile/scm-breakpoint.c (gdbscm_breakpoint_expression): Constify.
14869         * guile/scm-cmd.c (cmdscm_function): Constify.
14870         * guile/scm-param.c (pascm_param_value): Constify.
14871         * h8300-tdep.c (h8300_register_name, h8300s_register_name)
14872         (h8300sx_register_name): Constify.
14873         * hppa-tdep.c (hppa32_register_name, hppa64_register_name):
14874         Constify.
14875         * ia64-tdep.c (ia64_register_names): Constify.
14876         * infcmd.c (construct_inferior_arguments): Constify.
14877         (path_command, attach_post_wait): Constify.
14878         * language.c (show_range_command, show_case_command)
14879         (unk_lang_error): Constify.
14880         * language.h (language_defn::la_error)
14881         (language_defn::la_name_of_this): Constify.
14882         * linespec.c (decode_line_2): Constify.
14883         * linux-thread-db.c (thread_db_err_str): Constify.
14884         * lm32-tdep.c (lm32_register_name): Constify.
14885         * m2-exp.y (yyerror): Constify.
14886         * m2-lang.h (m2_yyerror): Constify.
14887         * m32r-tdep.c (m32r_register_names): Constify and make static.
14888         * m68hc11-tdep.c (m68hc11_register_names): Constify.
14889         * m88k-tdep.c (m88k_register_name): Constify.
14890         * macroexp.c (appendmem): Constify.
14891         * mdebugread.c (fdr_name, add_data_symbol, parse_type)
14892         (upgrade_type, parse_external, parse_partial_symbols)
14893         (mdebug_next_symbol_text, cross_ref, mylookup_symbol, new_psymtab)
14894         (new_symbol): Constify.
14895         * memattr.c (mem_info_command): Constify.
14896         * mep-tdep.c (register_name_from_keyword): Constify.
14897         * mi/mi-cmd-env.c (mi_cmd_env_path, _initialize_mi_cmd_env):
14898         Constify.
14899         * mi/mi-cmd-stack.c (list_args_or_locals): Constify.
14900         * mi/mi-cmd-var.c (mi_cmd_var_show_attributes): Constify.
14901         * mi/mi-main.c (captured_mi_execute_command): Constify and add
14902         cast.
14903         (mi_execute_async_cli_command): Constify.
14904         * mips-tdep.c (mips_register_name): Constify.
14905         * mn10300-tdep.c (register_name, mn10300_generic_register_name)
14906         (am33_register_name, am33_2_register_name)
14907         * moxie-tdep.c (moxie_register_names): Constify.
14908         * nat/linux-osdata.c (osdata_type): Constify fields.
14909         * nto-tdep.c (nto_parse_redirection): Constify.
14910         * objc-lang.c (lookup_struct_typedef, lookup_objc_class)
14911         (lookup_child_selector): Constify.
14912         (objc_methcall::name): Constify.
14913         * objc-lang.h (lookup_objc_class, lookup_child_selector)
14914         (lookup_struct_typedef): Constify.
14915         * objfiles.c (pc_in_section): Constify.
14916         * objfiles.h (pc_in_section): Constify.
14917         * p-exp.y (struct token::oper): Constify.
14918         (yyerror): Constify.
14919         * p-lang.h (pascal_yyerror): Constify.
14920         * parser-defs.h (op_name_standard): Constify.
14921         (op_print::string): Constify.
14922         (exp_descriptor::op_name): Constify.
14923         * printcmd.c (print_address_symbolic): Constify.
14924         * psymtab.c (print_partial_symbols): Constify.
14925         * python/py-breakpoint.c (stop_func): Constify.
14926         (bppy_get_expression): Constify.
14927         * python/py-cmd.c (cmdpy_completer::name): Constify.
14928         (cmdpy_function): Constify.
14929         * python/py-event.c (evpy_add_attribute)
14930         (gdbpy_initialize_event_generic): Constify.
14931         * python/py-event.h (evpy_add_attribute)
14932         (gdbpy_initialize_event_generic): Constify.
14933         * python/py-evts.c (add_new_registry): Constify.
14934         * python/py-finishbreakpoint.c (outofscope_func): Constify.
14935         * python/py-framefilter.c (get_py_iter_from_func): Constify.
14936         * python/py-inferior.c (get_buffer): Add cast.
14937         * python/py-param.c (parm_constant::name): Constify.
14938         * python/py-unwind.c (fprint_frame_id): Constify.
14939         * python/python.c (gdbpy_parameter_value): Constify.
14940         * remote-fileio.c (remote_fio_func_map): Make 'name' const.
14941         * remote.c (memory_packet_config::name): Constify.
14942         (show_packet_config_cmd, remote_write_bytes)
14943         (remote_buffer_add_string):
14944         * reverse.c (exec_reverse_once): Constify.
14945         * rs6000-tdep.c (variant::name, variant::description): Constify.
14946         * rust-exp.y (rustyyerror): Constify.
14947         * rust-lang.c (rust_op_name): Constify.
14948         * rust-lang.h (rustyyerror): Constify.
14949         * serial.h (serial_ops::name): Constify.
14950         * sh-tdep.c (sh_sh_register_name, sh_sh3_register_name)
14951         (sh_sh3e_register_name, sh_sh2e_register_name)
14952         (sh_sh2a_register_name, sh_sh2a_nofpu_register_name)
14953         (sh_sh_dsp_register_name, sh_sh3_dsp_register_name)
14954         (sh_sh4_register_name, sh_sh4_nofpu_register_name)
14955         (sh_sh4al_dsp_register_name): Constify.
14956         * sh64-tdep.c (sh64_register_name): Constify.
14957         * solib-darwin.c (lookup_symbol_from_bfd): Constify.
14958         * spu-tdep.c (spu_register_name, info_spu_dma_cmdlist): Constify.
14959         * stabsread.c (patch_block_stabs, read_type_number)
14960         (ref_map::stabs, ref_add, process_reference)
14961         (symbol_reference_defined, define_symbol, define_symbol)
14962         (error_type, read_type, read_member_functions, read_cpp_abbrev)
14963         (read_one_struct_field, read_struct_fields, read_baseclasses)
14964         (read_tilde_fields, read_struct_type, read_array_type)
14965         (read_enum_type, read_sun_builtin_type, read_sun_floating_type)
14966         (read_huge_number, read_range_type, read_args, common_block_start)
14967         (find_name_end): Constify.
14968         * stabsread.h (common_block_start, define_symbol)
14969         (process_one_symbol, symbol_reference_defined, ref_add):
14970         * symfile.c (get_section_index, add_symbol_file_command):
14971         * symfile.h (get_section_index): Constify.
14972         * target-descriptions.c (tdesc_type::name): Constify.
14973         (tdesc_free_type): Add cast.
14974         * target.c (find_default_run_target):
14975         (add_deprecated_target_alias, find_default_run_target)
14976         (target_announce_detach): Constify.
14977         (do_option): Constify.
14978         * target.h (add_deprecated_target_alias): Constify.
14979         * thread.c (print_thread_info_1): Constify.
14980         * top.c (deprecated_readline_begin_hook, command_line_input):
14981         Constify.
14982         (init_main): Add casts.
14983         * top.h (handle_line_of_input): Constify.
14984         * tracefile-tfile.c (tfile_write_uploaded_tsv): Constify.
14985         * tracepoint.c (tvariables_info_1, trace_status_mi): Constify.
14986         (tfind_command): Rename to ...
14987         (tfind_command_1): ... this and constify.
14988         (tfind_command): New function.
14989         (tfind_end_command, tfind_start_command): Adjust.
14990         (encode_source_string): Constify.
14991         * tracepoint.h (encode_source_string): Constify.
14992         * tui/tui-data.c (tui_partial_win_by_name): Constify.
14993         * tui/tui-data.h (tui_partial_win_by_name): Constify.
14994         * tui/tui-source.c (tui_set_source_content_nil): Constify.
14995         * tui/tui-source.h (tui_set_source_content_nil): Constify.
14996         * tui/tui-win.c (parse_scrolling_args): Constify.
14997         * tui/tui-windata.c (tui_erase_data_content): Constify.
14998         * tui/tui-windata.h (tui_erase_data_content): Constify.
14999         * tui/tui-winsource.c (tui_erase_source_content): Constify.
15000         * tui/tui.c (tui_enable): Add cast.
15001         * utils.c (defaulted_query): Constify.
15002         (init_page_info): Add cast.
15003         (puts_debug, subset_compare): Constify.
15004         * utils.h (subset_compare): Constify.
15005         * varobj.c (varobj_format_string): Constify.
15006         * varobj.h (varobj_format_string): Constify.
15007         * vax-tdep.c (vax_register_name): Constify.
15008         * windows-nat.c (windows_detach): Constify.
15009         * xcoffread.c (process_linenos, xcoff_next_symbol_text): Constify.
15010         * xml-support.c (gdb_xml_end_element): Constify.
15011         * xml-tdesc.c (tdesc_start_reg): Constify.
15012         * xstormy16-tdep.c (xstormy16_register_name): Constify.
15013         * xtensa-tdep.c (xtensa_find_register_by_name): Constify.
15014         * xtensa-tdep.h (xtensa_register_t::name): Constify.
15015
15016 2017-04-05  Pedro Alves  <palves@redhat.com>
15017
15018         * proc-api.c (struct trans): Constify.
15019         (procfs_note): Constify.
15020         * proc-events.c (struct trans, syscall_table):
15021         * proc-flags.c (struct trans): Constify.
15022         * proc-utils.h (procfs_note): Constify.
15023         * proc-why.c (struct trans): Constify.
15024         * procfs.c (dead_procinfo, find_syscall, proc_warn, proc_error)
15025         (procfs_detach): Constify.
15026         * sol-thread.c (struct string_map): Constify.
15027         (td_err_string, td_state_string): Constify.
15028
15029 2017-04-05  Pedro Alves  <palves@redhat.com>
15030
15031         * proc-api.c (procfs_filename): Don't initialize
15032         procfs_filename.
15033         (prepare_to_trace): Assume procfs_filename is non-NULL.
15034         (_initialize_proc_api): Give procfs_filename a default value here.
15035
15036 2017-04-05  Pedro Alves  <palves@redhat.com>
15037
15038         * break-catch-throw.c (handle_gnu_v3_exceptions): Constify
15039         'cond_string' parameter.
15040         (extract_exception_regexp): Constify 'string' parameter.
15041         (catch_exception_command_1): Constify.
15042         * breakpoint.c (init_catchpoint)
15043         (create_fork_vfork_event_catchpoint): Constify 'cond_string'
15044         parameter.
15045         (ep_parse_optional_if_clause, catch_fork_command_1)
15046         (catch_exec_command_1): Constify.
15047         * breakpoint.h (init_catchpoint): Constify 'cond_string'
15048         parameter.
15049         (ep_parse_optional_if_clause): Constify.
15050         * cli/cli-utils.c (remove_trailing_whitespace)
15051         (check_for_argument): Constify.
15052         * cli/cli-utils.h (remove_trailing_whitespace): Constify and add
15053         non-const overload.
15054         (check_for_argument): Likewise.
15055
15056 2017-04-05  Pedro Alves  <palves@redhat.com>
15057
15058         * event-top.c (command_line_handler): Add cast to execute_command
15059         call.
15060         * record-btrace.c (cmd_record_btrace_bts_start)
15061         (cmd_record_btrace_pt_start, cmd_record_btrace_start)
15062         (cmd_record_btrace_start): Add cast to execute_command call.
15063         * record-full.c (record_full_goto_insn):
15064         * record.c (record_start, record_stop): Add cast to
15065         execute_command_to_string calls.
15066         (cmd_record_start): Add cast to execute_command calls.
15067
15068 2017-04-05  Pedro Alves  <palves@redhat.com>
15069
15070         * python/python-internal.h (gdb_PyArg_ParseTupleAndKeywords): New
15071         static inline function.
15072         * python/py-arch.c (archpy_disassemble): Constify 'keywords'
15073         array and use gdb_PyArg_ParseTupleAndKeywords.
15074         * python/py-cmd.c (cmdpy_init): Likewise.
15075         * python/py-finishbreakpoint.c (bpfinishpy_init): Likewise.
15076         * python/py-inferior.c (infpy_read_memory, infpy_write_memory)
15077         (infpy_search_memory): Likewise.
15078         * python/py-objfile.c (objfpy_add_separate_debug_file)
15079         (gdbpy_lookup_objfile): Likewise.
15080         * python/py-symbol.c (gdbpy_lookup_symbol)
15081         (gdbpy_lookup_global_symbol): Likewise.
15082         * python/py-type.c (gdbpy_lookup_type): Likewise.
15083         * python/py-value.c (valpy_lazy_string, valpy_string): Likewise.
15084         * python/python.c (execute_gdb_command, gdbpy_write, gdbpy_flush):
15085         Likewise.
15086
15087 2017-04-05  Pedro Alves  <palves@redhat.com>
15088
15089         * python/python-internal.h (gdb_PyGetSetDef): New type.
15090         * python/py-block.c (block_object_getset)
15091         (breakpoint_object_getset): Now a gdb_PyGetSetDef array.
15092         * python/py-event.c (event_object_getset)
15093         (finish_breakpoint_object_getset): Likewise.
15094         * python/py-inferior.c (inferior_object_getset): Likewise.
15095         * python/py-infthread.c (thread_object_getset): Likewise.
15096         * python/py-lazy-string.c (lazy_string_object_getset): Likewise.
15097         * python/py-linetable.c (linetable_entry_object_getset): Likewise.
15098         * python/py-objfile.c (objfile_getset): Likewise.
15099         * python/py-progspace.c (pspace_getset): Likewise.
15100         * python/py-record-btrace.c (btpy_insn_getset, btpy_call_getset):
15101         Likewise.
15102         * python/py-record.c (recpy_record_getset): Likewise.
15103         * python/py-symbol.c (symbol_object_getset): Likewise.
15104         * python/py-symtab.c (symtab_object_getset, sal_object_getset):
15105         Likewise.
15106         * python/py-type.c (type_object_getset, field_object_getset):
15107         Likewise.
15108         * python/py-value.c (value_object_getset): Likewise.
15109
15110 2017-04-05  Pedro Alves  <palves@redhat.com>
15111
15112         * python/python-internal.h (gdb_PyObject_CallMethod)
15113         (gdb_PyErr_NewException, gdb_PySys_GetObject, gdb_PySys_SetPath):
15114         New functions.
15115         (GDB_PYSYS_SETPATH_CHAR, PyObject_CallMethod, PyErr_NewException)
15116         (PySys_GetObject, PySys_SetPath): New macros.
15117
15118 2017-04-05  Pedro Alves  <palves@redhat.com>
15119
15120         * mi/mi-cmd-info.c (mi_cmd_info_os): Call info_osdata instead of
15121         info_osdata_command.
15122         * osdata.c (info_osdata_command): Rename to ...
15123         (info_osdata): ... this.  Constify 'type' parameter, and remove
15124         the 'from_tty' parameter.  Accept NULL TYPE.
15125         (info_osdata_command): New function.
15126         * osdata.h (info_osdata_command): Remove declaration.
15127         (info_osdata): New declaration.
15128
15129 2017-04-05  Pedro Alves  <palves@redhat.com>
15130
15131         * mi/mi-cmd-break.c (mi_cmd_break_insert_1, mi_cmd_break_insert)
15132         (mi_cmd_dprintf_insert, mi_cmd_break_passcount)
15133         (mi_cmd_break_watch, mi_cmd_break_commands): Constify 'command'
15134         parameter.
15135         * mi/mi-cmd-catch.c (mi_cmd_catch_assert, mi_cmd_catch_exception)
15136         (mi_cmd_catch_load, mi_cmd_catch_unload): Constify cmd' parameter.
15137         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Constify 'command'
15138         parameter.
15139         * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_cd, mi_cmd_env_path)
15140         (mi_cmd_env_dir, mi_cmd_inferior_tty_set, _cmd_inferior_tty_show)
15141         * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
15142         (mi_cmd_file_list_exec_source_files)
15143         (mi_cmd_file_list_shared_libraries): Constify 'command' parameter.
15144         * mi/mi-cmd-info.c (mi_cmd_info_ada_exceptions)
15145         (mi_cmd_info_gdb_mi_command, mi_cmd_info_os): Constify 'command'
15146         parameter.
15147         * mi/mi-cmd-stack.c (mi_cmd_enable_frame_filters)
15148         (mi_cmd_stack_list_frames, mi_cmd_stack_info_depth)
15149         (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
15150         (mi_cmd_stack_list_variables, mi_cmd_stack_select_frame)
15151         (mi_cmd_stack_info_frame): Constify 'command' parameter.
15152         * mi/mi-cmd-target.c (mi_cmd_target_file_get)
15153         (mi_cmd_target_file_put, mi_cmd_target_file_delete): Constify
15154         'command' parameter.
15155         * mi/mi-cmd-var.c (mi_cmd_var_create, mi_cmd_var_delete)
15156         (mi_cmd_var_set_format, mi_cmd_var_set_visualizer)
15157         (mi_cmd_var_set_frozen, mi_cmd_var_show_format)
15158         (mi_cmd_var_info_num_children, mi_cmd_var_list_children)
15159         (mi_cmd_var_info_type, mi_cmd_var_info_path_expression)
15160         (mi_cmd_var_info_expression, mi_cmd_var_show_attributes)
15161         (mi_cmd_var_evaluate_expression, mi_cmd_var_assign)
15162         (mi_cmd_var_update, mi_cmd_enable_pretty_printing)
15163         (mi_cmd_var_set_update_range): Constify 'command' parameter.
15164         * mi/mi-cmds.h (mi_cmd_argv_ftype): Constify 'command' parameter.
15165         * mi/mi-interp.c (mi_cmd_interpreter_exec): Constify 'command'
15166         parameter.
15167         * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_exec_next)
15168         (mi_cmd_exec_next_instruction, mi_cmd_exec_step)
15169         (mi_cmd_exec_step_instruction, mi_cmd_exec_finish)
15170         (mi_cmd_exec_return ,mi_cmd_exec_jump, mi_cmd_exec_continue)
15171         (mi_cmd_exec_interrupt, mi_cmd_exec_run, mi_cmd_target_detach)
15172         (mi_cmd_target_flash_erase, mi_cmd_thread_select)
15173         (mi_cmd_thread_list_ids, mi_cmd_thread_info)
15174         (mi_cmd_list_thread_groups, mi_cmd_data_list_register_names)
15175         (mi_cmd_data_list_changed_registers)
15176         (mi_cmd_data_write_register_values)
15177         (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
15178         (mi_cmd_data_read_memory_bytes, mi_cmd_data_write_memory)
15179         (mi_cmd_data_write_memory_bytes, mi_cmd_enable_timings)
15180         (mi_cmd_list_features, mi_cmd_list_target_features)
15181         (mi_cmd_add_inferior, mi_cmd_remove_inferior)
15182         (mi_cmd_trace_define_variable, mi_cmd_trace_list_variables)
15183         (mi_cmd_trace_find, mi_cmd_trace_save, mi_cmd_trace_start)
15184         (mi_cmd_trace_status, mi_cmd_trace_stop, mi_cmd_ada_task_info)
15185         (mi_cmd_trace_frame_collected): Constify 'command'
15186         parameter.
15187         * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Constify
15188         'command' parameter.
15189
15190 2017-04-05  Pedro Alves  <palves@redhat.com>
15191
15192         * ada-lang.c (ada_completer_word_break_characters): Now a const
15193         array.
15194         (ada_get_gdb_completer_word_break_characters): Constify.
15195         * completer.c (gdb_completer_command_word_break_characters)
15196         (gdb_completer_file_name_break_characters)
15197         (gdb_completer_quote_characters): Now const arrays.
15198         (get_gdb_completer_quote_characters): Constify.
15199         (set_rl_completer_word_break_characters): New function.
15200         (set_gdb_completion_word_break_characters)
15201         (complete_line_internal): Use it.
15202         * completer.h (get_gdb_completer_quote_characters): Constify.
15203         (set_rl_completer_word_break_characters): Declare.
15204         * f-lang.c (f_word_break_characters): Constify.
15205         * language.c (default_word_break_characters): Constify.
15206         * language.h (language_defn::la_word_break_characters): Constify.
15207         (default_word_break_characters): Constify.
15208         * top.c (init_main): Use set_rl_completer_word_break_characters.
15209
15210 2017-04-05  Pedro Alves  <palves@redhat.com>
15211
15212         * aix-thread.c (aix_thread_pid_to_str)
15213         (aix_thread_extra_thread_info): Constify.
15214         * bsd-kvm.c (bsd_kvm_pid_to_str): Constify.
15215         * bsd-uthread.c (bsd_uthread_extra_thread_info)
15216         (bsd_uthread_pid_to_str): Constify.
15217         * corelow.c (core_pid_to_str): Constify.
15218         * darwin-nat.c (darwin_pid_to_str): Constify.
15219         * fbsd-nat.c (fbsd_pid_to_str): Constify.
15220         * fbsd-tdep.c (fbsd_core_pid_to_str, gdbarch_core_pid_to_str):
15221         Constify.
15222         * gnu-nat.c (gnu_pid_to_str): Constify.
15223         * go32-nat.c (go32_pid_to_str): Constify.
15224         * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Constify.
15225         * inf-ptrace.c (inf_ptrace_pid_to_str): Constify.
15226         * inferior.c (inferior_pid_to_str): Constify.
15227         * linux-nat.c (linux_nat_pid_to_str): Constify.
15228         * linux-tdep.c (linux_core_pid_to_str): Constify.
15229         * linux-thread-db.c (thread_db_pid_to_str)
15230         (thread_db_extra_thread_info): Constify.
15231         * nto-tdep.c (nto_extra_thread_info): Constify.
15232         * nto-tdep.h (nto_extra_thread_info): Constify.
15233         * obsd-nat.c (obsd_pid_to_str): Constify.
15234         * procfs.c (procfs_pid_to_str): Constify.
15235         * ravenscar-thread.c (ravenscar_extra_thread_info)
15236         (ravenscar_pid_to_str): Constify.
15237         * remote-sim.c (gdbsim_pid_to_str): Constify.
15238         * remote.c (remote_threads_extra_info, remote_pid_to_str):
15239         Constify.
15240         * sol-thread.c (solaris_pid_to_str): Constify.
15241         * sol2-tdep.c (sol2_core_pid_to_str): Constify.
15242         * sol2-tdep.h (sol2_core_pid_to_str): Constify.
15243         * target.c (default_pid_to_str, target_pid_to_str)
15244         (normal_pid_to_str, default_pid_to_str): Constify.
15245         * target.h (target_ops::to_pid_to_str)
15246         (target_ops::to_extra_thread_info): Constify.
15247         (target_pid_to_str, normal_pid_to_str): Constify.
15248         * windows-nat.c (windows_pid_to_str): Constify.
15249         * gdbarch.sh (core_pid_to_str): Constify.
15250         * target-delegates.c: Regenerate.
15251         * gdbarch.h, gdbarch.c: Regenerate.
15252
15253 2017-04-05  Pedro Alves  <palves@redhat.com>
15254
15255         * main.c (captured_main_1): Use gdb::unique_xmalloc_ptr to manage
15256         the memory of the temporary warning_pre_print override.
15257         * utils.c (warning_pre_print): Constify.
15258         * utils.h (warning_pre_print): Constify.
15259
15260 2017-04-05  Pedro Alves  <palves@redhat.com>
15261
15262         * cli/cli-cmds.c (shell_escape): Constify 'arg' parameter.
15263         (shell_command): New function.
15264         (make_command): Use std::string.
15265         (init_cli_cmds): Register shell_command instead of shell_escape.
15266
15267 2017-04-05  Pedro Alves  <palves@redhat.com>
15268
15269         * breakpoint.c (dprintf_function, dprintf_channel): Don't initialize.
15270         * tracepoint.c (default_collect): Don't initialize.
15271
15272 2017-04-05  Pedro Alves  <palves@redhat.com>
15273
15274         * macroexp.c (macro_buffer::shared): Now a bool.
15275         (init_buffer): Update.
15276         (init_shared_buffer): Constify 'addr' parameter.
15277         (substitute_args, expand, macro_expand, macro_expand_next): Remove
15278         casts.
15279
15280 2017-04-05  Pedro Alves  <palves@redhat.com>
15281
15282         * arm-tdep.c (show_disassembly_style_sfunc): Constify local.
15283         * disasm.c (set_disassembler_options): Constify local.
15284         * i386-tdep.c (i386_print_insn): Remove cast and FIXME comment.
15285
15286 2017-04-05  Sergio Durigan Junior  <sergiodj@redhat.com>
15287
15288         PR gdb/21352
15289         * tracefile.c (tsave_command): Fix argument parsing for '-r'
15290         option.
15291
15292 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15293
15294         * frame.c (frame_unwind_register_unsigned): Call
15295         frame_unwind_register_value.
15296
15297 2017-04-05  Yao Qi  <yao.qi@linaro.org>
15298
15299         * gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
15300         Use gdb_test_multiple, and don't match anchor.
15301
15302 2017-04-05  Pedro Alves  <palves@redhat.com>
15303
15304         * MAINTAINERS (Global Maintainers): Add Simon Marchi.
15305         (Write After Approval): Remove Simon Marchi.
15306
15307 2017-04-05  Pedro Alves  <palves@redhat.com>
15308
15309         * common/gdb_optional.h (optional::optional): Make constexpr and
15310         initialize m_dummy.
15311
15312 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15313
15314         * amd64-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15315         (amd64fbsd_jmp_buf_reg_offset): Remove.
15316         (amd64fbsd_supply_uthread): Remove function.
15317         (amd64fbsd_collect_uthread): Remove function.
15318         (amd64fbsd_init_abi): Don't set bsd-uthread callbacks.
15319         * configure.tgt (i[34567]86-*-freebsd*): Remove bsd-uthread.o.
15320         (x86_64-*-freebsd*): Remove bsd-uthread.o.
15321         (fbsd-nat.c): Update comment.
15322         * i386-fbsd-tdep.c: Remove "bsd-uthread.h" include.
15323         (i386fbsd_jmp_buf_reg_offset): Remove.
15324         (i386fbsd_supply_uthread): Remove function.
15325         (i386fbsd_collect_uthread): Remove function.
15326         (i386fbsd_init_abi): Don't set bsd-uthread callbacks.
15327
15328 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15329
15330         * Makefile.in (ALL_64_TARGET_OBS): Remove alpha-fbsd-tdep.o.
15331         (ALLDEPFILES): Remove alpha-fbsd-tdep.c
15332         * NEWS: Mention that support for FreeBSD/alpha was removed.
15333         * alpha-fbsd-tdep.c: Delete file.
15334         * config/alpha/fbsd.mh: Delete file.
15335         * configure.host: Delete alpha*-*-freebsd* and
15336         alpha*-*-kfreebsd*-gnu.
15337         * configure.tgt: Delete alpha*-*-freebsd* and
15338         alpha*-*-kfreebsd*-gnu.
15339
15340 2017-04-04  John Baldwin  <jhb@FreeBSD.org>
15341
15342         * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers,
15343         amd64bsd_store_inferior_registers): Use ptid from regcache.
15344
15345 2017-04-04  Pedro Alves  <palves@redhat.com>
15346
15347         * dwarf2read.c (lnp_state_machine): Now a class.  Initialize all
15348         data fields, make them private and add "m_" prefixes.
15349         (lnp_state_machine::lnp_state_machine): New ctor.
15350         (record_line, check_line_address, handle_set_discriminator)
15351         (handle_set_address, handle_advance_pc, handle_special_opcode)
15352         (handle_advance_line, handle_set_file, handle_negate_stmt)
15353         (handle_const_add_pc, handle_fixed_advance_pc, handle_copy)
15354         (end_sequence, advance_line): New methods.
15355         (m_gdbarch, m_record_lines_p): New fields.
15356         (lnp_reader_state): Delete.
15357         (dwarf_record_line): Rename to ...
15358         (lnp_state_machine::record_line): ... adjust.
15359         (init_lnp_state_machine): Delete.
15360         (lnp_state_machine::lnp_state_machine): New.
15361         (check_line_address): Rename to ...
15362         (lnp_state_machine::check_line_address): This.
15363         (dwarf_decode_lines_1): Remove reference to "reader_state".
15364         Adjust lnp_state_machine having a non-default ctor.  Use bool.
15365         State machine internal state manipulation moved to
15366         lnp_state_machine methods.
15367
15368 2017-04-04  Pedro Alves  <palves@redhat.com>
15369
15370         * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add
15371         unittests/offset-type-selftests.c.
15372         (SUBDIR_UNITTESTS_OBS): Add offset-type-selftests.o.
15373         * common/offset-type.h: New file.
15374         * common/preprocessor.h: New file.
15375         * common/traits.h: New file.
15376         * common/valid-expr.h: New file.
15377         * dwarf2expr.c: Include "common/underlying.h".  Adjust to use
15378         sect_offset and cu_offset strong typedefs throughout.
15379         * dwarf2expr.h: Adjust to use sect_offset and cu_offset strong
15380         typedefs throughout.
15381         * dwarf2loc.c: Include "common/underlying.h".  Adjust to use
15382         sect_offset and cu_offset strong typedefs throughout.
15383         * dwarf2read.c: Adjust to use sect_offset and cu_offset strong
15384         typedefs throughout.
15385         * gdbtypes.h: Include "common/offset-type.h".
15386         (cu_offset): Now an offset type (strong typedef) instead of a
15387         struct.
15388         (sect_offset): Likewise.
15389         (union call_site_parameter_u): Rename "param_offset" field to
15390         "param_cu_off".
15391         * unittests/offset-type-selftests.c: New file.
15392
15393 2017-04-04  Pedro Alves  <palves@redhat.com>
15394
15395         * common/underlying.h: New file.
15396         * dwarf2read.c: Include "common/gdb_optional.h" and
15397         "common/underlying.h".
15398         (dir_index, file_name_index): New types.
15399         (file_entry): Use them.
15400         (file_entry::include): Use to_underlying.
15401         (line_header::add_file_name): Use dir_index.
15402         (read_formatted_entries): Use gdb::optional.  Read form before
15403         writting to file_entry.
15404         (dwarf_decode_line_header): Use dir_index.
15405         (lnp_state_machine::current_file): Use to_underlying.
15406         (lnp_state_machine::file): Change type to file_name_index.
15407         (dwarf_record_line): Use to_underlying.
15408         (init_lnp_state_machine): Use file_name_index.
15409         (dwarf_decode_lines_1): Use dir_index and file_name_index.
15410
15411 2017-04-04  Pedro Alves  <palves@redhat.com>
15412
15413         * common/gdb_optional.h (gdb::optiona): Add operator->, operator*,
15414         operator bool, has_value and get methods.
15415
15416 2017-04-04  Pedro Alves  <palves@redhat.com>
15417
15418         * dwarf2read.c (struct file_entry): Add ctors, and initialize all
15419         fields.
15420         (line_header): Initialize all data fields.  Change type of
15421         standard_opcode_lengths to std::unique_ptr<unsigned char[]>.
15422         Change type of include_dirs to std::vector<const char *>.  Remove
15423         num_include_dirs, include_dirs_size.  Change type of file_names to
15424         std::vector<file_entry>.  Remove num_file_names, file_names_size.
15425         (line_header::line_header): New.
15426         (line_header::add_include_dir, line_header::add_file_name): New
15427         methods.
15428         (line_header::include_dir_at): Remove NULL check.
15429         (line_header::file_name_at): Add const overload.
15430         (line_header_up): New unique_ptr typedef.
15431         (dw2_get_file_names_reader): Use line_header_up.  Adjust to use
15432         std::vector.  Remove free_line_header call.
15433         (dwarf2_build_include_psymtabs): Use line_header_up.  Remove
15434         free_line_header call.
15435         (free_cu_line_header): Delete.
15436         (handle_DW_AT_stmt_list, handle_DW_AT_stmt_list)
15437         (setup_type_unit_groups): Use line_header_up instead of cleanups.
15438         Adjust to use std::vector.
15439         (free_line_header): Delete.
15440         (free_line_header_voidp): Use delete.
15441         (add_include_dir): Replace with ...
15442         (line_header::add_include_dir): ... this method.  Use std::vector.
15443         (add_file_name): Replace with ...
15444         (line_header::add_file_name): ... this method.  Use std::vector.
15445         (add_include_dir_stub): Delete.
15446         (read_formatted_entries): Remove memset.
15447         (dwarf_decode_line_header): Return a line_header_up instead of a
15448         raw pointer.  Remove cleanup handling.  Pass lambdas to
15449         read_formatted_entries.  Adjust to use line_header methods.
15450         (dwarf_decode_lines_1): Adjust to use line_header methods.
15451         (dwarf_decode_lines, file_file_name, file_full_name): Adjust to
15452         use std::vector.
15453
15454 2017-04-04  Simon Marchi  <simon.marchi@polymtl.ca>
15455
15456         * remote.c (set_general_thread, set_continue_thread): Use ptid_t
15457         instead of struct ptid.
15458
15459 2017-05-04  Alan Hayward  <alan.hayward@arm.com>
15460
15461         * frame.c (get_frame_register_bytes): Unwind using value.
15462         (put_frame_register_bytes): Likewise.
15463
15464 2017-03-30  Iain Buclaw  <ibuclaw@gdcproject.org>
15465
15466         * d-exp.y (type_aggregate_p): Treat TYPE_CODE_MODULE as being
15467         aggregate-like.
15468
15469 2017-03-29  Jan Kratochvil  <jan.kratochvil@redhat.com>
15470
15471         * auto-load.c (auto_load_section_scripts): Check SEC_HAS_CONTENTS.
15472
15473 2017-03-29  Yao Qi  <yao.qi@linaro.org>
15474
15475         * gdbthread.h (struct thread_info): Declare constructor and
15476         destructor.  Add some in-class member initializers.
15477         * thread.c (free_thread): Remove.
15478         (init_thread_list): Call delete instead of free_thread.
15479         (new_thread): Call thread_info constructor.
15480         (thread_info::thread_info): New function.
15481         (thread_info::~thread_info): New function.
15482         (delete_thread_1): Call delete instead of free_thread.
15483         (make_cleanup_restore_current_thread): Move tp and frame to
15484         inner block.
15485
15486 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15487
15488         * arc-tdep.c (arc_frame_cache): Add support for prologue analysis.
15489         (arc_skip_prologue): Likewise.
15490         (arc_make_frame_cache): Likewise.
15491         (arc_pv_get_operand): New function.
15492         (arc_is_in_prologue): Likewise.
15493         (arc_analyze_prologue): Likewise.
15494         (arc_print_frame_cache): Likewise.
15495         (MAX_PROLOGUE_LENGTH): New constant.
15496
15497 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15498
15499         * configure.tgt: Add arc-insn.o.
15500         * arc-tdep.c (arc_delayed_print_insn): Make non-static.
15501         (dump_arc_instruction_command): New function.
15502         (arc_fprintf_disasm): Likewise.
15503         (arc_disassemble_info): Likewise.
15504         (arc_insn_get_operand_value): Likewise.
15505         (arc_insn_get_operand_value_signed): Likewise.
15506         (arc_insn_get_memory_base_reg): Likewise.
15507         (arc_insn_get_memory_offset): Likewise.
15508         (arc_insn_get_branch_target): Likewise.
15509         (arc_insn_dump): Likewise.
15510         (arc_insn_get_linear_next_pc): Likewise.
15511         * arc-tdep.h (arc_delayed_print_insn): Add function declaration.
15512         (arc_disassemble_info): Likewise.
15513         (arc_insn_get_branch_target): Likewise.
15514         (arc_insn_get_linear_next_pc): Likewise.
15515         * NEWS: Mention new "maint print arc arc-instruction".
15516
15517 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15518
15519         * arc-tdep (maintenance_print_arc_list): New variable.
15520         (maintenance_print_arc_command): New function.
15521
15522 2017-03-28  Anton Kolesov  <anton.kolesov@synopsys.com>
15523
15524         * arc-tdep.c (core_v2_register_names, core_arcompact_register_names)
15525         Add "limm" and "reserved".
15526         (arc_cannot_fetch_register, arc_cannot_store_register): Add
15527         ARC_RESERVED_REGNUM and ARC_LIMM_REGNUM.
15528         * arc-tdep.h (arc_regnum): Likewise.
15529
15530 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15531
15532         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15533         for THREADPTR register.
15534         (supply_gregset_reg): Call regcache_raw_supply for THREADPTR
15535         register.
15536         * xtensa-tdep.c (XTENSA_DBREGN_UREG): New definition.
15537         (xtensa_derive_tdep): Initialize tdep->threadptr_regnum.
15538         * xtensa-tdep.h (gdbarch_tdep::threadptr_regnum): New field.
15539
15540 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15541
15542         * xtensa-tdep.c (xtensa_pseudo_register_read): Treat all
15543         registers above gdbarch_num_regs (gdbarch) as privileged in
15544         call0 ABI.
15545
15546 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15547
15548         * xtensa-linux-nat.c (fill_gregset): Call regcache_raw_collect
15549         for a single specified register or for all registers in
15550         a0_base..a0_base + C0_NREGS range.
15551         (supply_gregset_reg): Call regcache_raw_supply for a single
15552         specified register or for all registers in a0_base..a0_base +
15553         C0_NREGS range.
15554
15555 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15556
15557         * arch/xtensa.h (C0_NREGS): Add definition.
15558         * xtensa-tdep.c (C0_NREGS): Remove definition.
15559
15560 2017-03-27  Max Filippov  <jcmvbkbc@gmail.com>
15561
15562         * xtensa-tdep.c (xtensa_scan_prologue, call0_analyze_prologue):
15563         Drop xtensa_default_isa initialization.
15564         (xtensa_gdbarch_init): Initialize xtensa_default_isa.
15565
15566 2017-03-27  Pedro Alves  <palves@redhat.com>
15567
15568         * dwarf2read.c (file_entry) <dir_index>: Add comment.
15569         (file_entry::include_dir): New method.
15570         (line_header::include_dir_at, line_header::file_name_at): New
15571         methods.
15572         (setup_type_unit_groups, setup_type_unit_groups)
15573         (psymtab_include_file_name): Simplify using the new methods.
15574         (lnp_state_machine) <the_line_header>: New field.
15575         <file>: Add comment.
15576         (lnp_state_machine::current_file): New method.
15577         (dwarf_record_line): Simplify using the new methods.
15578         (init_lnp_state_machine): Initialize the "the_line_header" field.
15579         (dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
15580         Simplify using the new methods.
15581
15582 2017-03-27  Pedro Alves  <palves@redhat.com>
15583
15584         * cp-name-parser.y (make_empty): Delete.
15585         (demangler_special, nested_name, ptr_operator, array_indicator)
15586         (direct_declarator, declarator_1): Use fill_comp instead of
15587         make_empty.
15588
15589 2017-03-27  Pedro Alves  <palves@redhat.com>
15590
15591         * xml-support.h (gdb_xml_debug): Pass a "first-to-check" argument
15592         to ATTRIBUTE_PRINTF.
15593         * solib-target.c (library_list_start_list): Print "string" not
15594         "version".
15595         * xml-tdesc.c (tdesc_start_field): Pass "field_name" to
15596         gdb_xml_error call.
15597
15598 2017-03-27  Pedro Alves  <palves@redhat.com>
15599
15600         * dwarf2read.c (struct file_and_directory): New.
15601         (dwarf2_get_dwz_file): Adjust to use std::string.
15602         (dw2_get_file_names_reader): Adjust to use file_and_directory.
15603         (find_file_and_directory): Adjust to return a file_and_directory
15604         object.
15605         (read_file_scope): Adjust to use file_and_directory.  Remove
15606         make_cleanup/do_cleanups calls.
15607         (open_and_init_dwp_file): Adjust to use std::string.  Remove
15608         make_cleanup/do_cleanups calls.
15609         * python/python.c (do_start_initialization): Adjust to ldirname
15610         returning a std::string.
15611         * utils.c (ldirname): Now returns a std::string.
15612         * utils.h (ldirname): Change return type to std::string.
15613         * xml-syscall.c (xml_init_syscalls_info): Adjust to ldirname
15614         returning a std::string.
15615         * xml-tdesc.c (file_read_description_xml): Likewise.
15616
15617 2017-03-24  Alan Hayward  <alan.hayward@arm.com>
15618
15619         * regcache.c (regcache_debug_print_register): New function.
15620         * regcache.h (regcache_debug_print_register): New declaration.
15621         * target.c (debug_print_register): Remove.
15622         (target_fetch_registers): Call regcache_debug_print_register.
15623         (target_store_registers): Likewise.
15624
15625 2017-03-24  Pádraig Brady  <pbrady@fb.com>
15626
15627         * dwarf2read.c (setup_type_unit_groups): Ensure dir_index doesn't
15628         reference beyond the 'lh->include_dirs' array before accessing to
15629         it.
15630         (psymtab_include_file_name): Likewise.
15631         (dwarf_decode_lines_1): Likewise.
15632         (dwarf_decode_lines): Likewise.
15633         (file_file_name): Likewise.
15634
15635 2017-03-23  Simon Marchi  <simon.marchi@ericsson.com>
15636
15637         * fbsd-tdep.c (fbsd_corefile_thread): Don't set/restore
15638         inferior_ptid.
15639         * proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15640         ps_lsetfpregs): Likewise.
15641         * regcache.c (regcache_raw_update, regcache_raw_write): Likewise.
15642         * sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
15643         ps_lsetfpregs): Likewise.
15644         * target.c (target_fetch_registers, target_store_registers):
15645         Remove asserts.
15646
15647 2017-03-23  Alan Hayward  <alan.hayward@arm.com>
15648
15649         * sol-thread.c (sol_thread_store_registers): Remove regcache calls.
15650
15651 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15652
15653         * aarch64-tdep.c (aarch64_process_record_test): Declare.
15654         (_initialize_aarch64_tdep): Register it.
15655         (aarch64_record_load_store): Handle PRFM instruction.
15656         (aarch64_process_record_test): New function.
15657
15658 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15659
15660         * aarch64-tdep.c (aarch64_record_load_store): Fix code
15661         indentation.
15662
15663 2017-03-23  Yao Qi  <yao.qi@linaro.org>
15664
15665         * aarch64-tdep.c: Remove AARCH64_RECORD_FAILURE.
15666
15667 2017-03-23  Philipp Rudo  <prudo@linux.vnet.ibm.com>
15668
15669         python/python.c (do_start_initialization): Fix memory leak.
15670
15671 2017-03-22  Simon Marchi  <simon.marchi@polymtl.ca>
15672
15673         * inf-ptrace.c (inf_ptrace_xfer_partial): Get pid from ptid
15674         using get_ptrace_pid.
15675         * linux-nat.c (linux_nat_xfer_partial): Don't set/restore
15676         inferior_ptid.
15677         (linux_proc_xfer_partial, linux_proc_xfer_spu): Use lwp of
15678         inferior_ptid instead of pid.
15679
15680 2017-03-22  Yao Qi  <yao.qi@linaro.org>
15681
15682         * aarch64-tdep.c: Wrap locally used classes in anonymous
15683         namespace.
15684         * arm-tdep.c: Likewise.
15685         * linespec.c: Likewise.
15686         * ui-out.c: Likewise.
15687
15688 2017-03-22  Jonah Graham  <jonah@kichwacoders.com>
15689
15690         PR gdb/19637
15691         * python/lib/gdb/printer/bound_registers.py: Import sys.
15692
15693 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15694
15695         * windows-nat.c (do_windows_fetch_inferior_registers): Add
15696         windows_thread_info parameter and use it instead of
15697         current_thread.
15698         (windows_fetch_inferior_registers): Don't set current_thread,
15699         pass the thread to do_windows_fetch_inferior_registers.  Use
15700         ptid from regcache instead of inferior_ptid.
15701         (do_windows_store_inferior_registers): Add windows_thread_info
15702         parameter and use it instead of current_thread.
15703         (windows_store_inferior_registers): Don't set current_thread,
15704         pass the thread to do_windows_store_inferior_registers.  Use
15705         ptid from regcache instead of inferior_ptid.
15706
15707 2017-03-21  Simon Marchi  <simon.marchi@ericsson.com>
15708
15709         * ser-mingw.c (ser_windows_raw): Remove reference to
15710         struct serial::current_timeout.
15711
15712 2017-03-21  Ivo Raisr  <ivo.raisr@oracle.com>
15713
15714         PR tdep/20928
15715         * gdb/sparc-tdep.h (gdbarch_tdep) <sparc64_ccr_type>: New field.
15716         * gdb/sparc64-tdep.c (sparc64_ccr_type): New function.
15717         (sparc64_fsr_type): Fix %fsr decoding.
15718
15719 2017-03-21  Tim Wiederhake  <tim.wiederhake@intel.com>
15720
15721         * python/py-record-btrace.c (btpy_insn_data): Change return type
15722         for Python 2.
15723
15724 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15725
15726         * spu-linux-nat.c (spu_fetch_inferior_registers,
15727         spu_store_inferior_registers): Use ptid from regcache, set and
15728         restore inferior_ptid.
15729         * spu-multiarch.c (spu_fetch_registers, spu_store_registers):
15730         Likewise.
15731
15732 2017-03-20  Simon Marchi  <simon.marchi@polymtl.ca>
15733
15734         * i386-linux-nat.c (fetch_register, store_register,
15735         i386_linux_fetch_inferior_registers,
15736         i386_linux_store_inferior_registers): Use ptid from regcache.
15737         * ia64-linux-nat.c (ia64_linux_fetch_register,
15738         ia64_linux_store_register): Likewise.
15739         * inf-ptrace.c (inf_ptrace_fetch_register,
15740         inf_ptrace_store_register): Likewise.
15741         * m32r-linux-nat.c (m32r_linux_fetch_inferior_registers,
15742         m32r_linux_store_inferior_registers): Likewise.
15743         * m68k-bsd-nat.c (m68kbsd_fetch_inferior_registers,
15744         m68kbsd_store_inferior_registers): Likewise.
15745         * m68k-linux-nat.c (fetch_register, store_register,
15746         m68k_linux_fetch_inferior_registers,
15747         m68k_linux_store_inferior_registers): Likewise.
15748         * m88k-bsd-nat.c (m88kbsd_fetch_inferior_registers,
15749         m88kbsd_store_inferior_registers): Likewise.
15750         * mips-fbsd-nat.c (mips_fbsd_fetch_inferior_registers,
15751         mips_fbsd_store_inferior_registers): Likewise.
15752         * mips-linux-nat.c (mips64_linux_regsets_fetch_registers,
15753         mips64_linux_regsets_store_registers): Likewise.
15754         * mips-nbsd-nat.c (mipsnbsd_fetch_inferior_registers,
15755         mipsnbsd_store_inferior_registers): Likewise.
15756         * mips-obsd-nat.c (mips64obsd_fetch_inferior_registers,
15757         mips64obsd_store_inferior_registers): Likewise.
15758         * nto-procfs.c (procfs_fetch_registers, procfs_store_registers):
15759         Likewise.
15760         * ppc-fbsd-nat.c (ppcfbsd_fetch_inferior_registers,
15761         ppcfbsd_store_inferior_registers): Likewise.
15762         * ppc-linux-nat.c (ppc_linux_fetch_inferior_registers,
15763         ppc_linux_store_inferior_registers): Likewise.
15764         * ppc-nbsd-nat.c (ppcnbsd_fetch_inferior_registers,
15765         ppcnbsd_store_inferior_registers): Likewise.
15766         * ppc-obsd-nat.c (ppcobsd_fetch_registers,
15767         ppcobsd_store_registers): Likewise.
15768         * procfs.c (procfs_fetch_registers, procfs_store_registers):
15769         Likewise.
15770         * ravenscar-thread.c (ravenscar_fetch_registers,
15771         ravenscar_store_registers, ravenscar_prepare_to_store):
15772         Likewise.
15773         * record-btrace.c (record_btrace_fetch_registers,
15774         record_btrace_store_registers, record_btrace_prepare_to_store):
15775         Likewise.
15776         * remote-sim.c (gdbsim_fetch_register, gdbsim_store_register):
15777         Lookup inferior using ptid from regcache, instead of
15778         current_inferior.
15779         * remote.c (remote_fetch_registers, remote_store_registers): Use
15780         ptid from regcache.
15781         * rs6000-nat.c (fetch_register, store_register): Likewise.
15782         * s390-linux-nat.c (s390_linux_fetch_inferior_registers,
15783         s390_linux_store_inferior_registers): Likewise.
15784         * sh-nbsd-nat.c (shnbsd_fetch_inferior_registers,
15785         shnbsd_store_inferior_registers): Likewise.
15786         * sol-thread.c (sol_thread_fetch_registers,
15787         sol_thread_store_registers): Likewise.
15788         * sparc-nat.c (sparc_fetch_inferior_registers,
15789         sparc_store_inferior_registers): Likewise.
15790         * tilegx-linux-nat.c (fetch_inferior_registers,
15791         store_inferior_registers): Likewise.
15792         * vax-bsd-nat.c (vaxbsd_fetch_inferior_registers,
15793         vaxbsd_store_inferior_registers): Likewise.
15794         * xtensa-linux-nat.c (fetch_gregs, store_gregs, fetch_xtregs,
15795         store_xtregs): Likewise.
15796
15797 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15798
15799         PR gdb/14441
15800         * NEWS: Mention support for rvalue references in GDB and python.
15801         * doc/gdb.texinfo (C Plus Plus Expressions): Mention that GDB
15802         supports both lvalue and rvalue references.
15803
15804 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15805
15806         PR gdb/14441
15807         * gdbtypes.c (rank_one_type): Implement overloading
15808         resolution rules regarding rvalue references.
15809
15810 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15811
15812         PR gdb/14441
15813         * aarch64-tdep.c (aarch64_type_align)
15814         (aarch64_extract_return_value, aarch64_store_return_value): Change
15815         lvalue reference type checks to general reference type checks.
15816         * amd64-tdep.c (amd64_classify): Likewise.
15817         * amd64-windows-tdep.c (amd64_windows_passed_by_integer_register):
15818         Likewise.
15819         * arm-tdep.c (arm_type_align, arm_extract_return_value)
15820         (arm_store_return_value): Likewise.
15821         * ax-gdb.c (gen_fetch, gen_cast): Likewise.
15822         * c-typeprint.c (c_print_type): Likewise.
15823         * c-varobj.c (adjust_value_for_child_access, c_value_of_variable)
15824         (cplus_number_of_children, cplus_describe_child): Likewise.
15825         * compile/compile-c-symbols.c (generate_vla_size): Likewise.
15826         * completer.c (expression_completer): Likewise.
15827         * cp-support.c (make_symbol_overload_list_adl_namespace):
15828         Likewise.
15829         * darwin-nat-info.c (info_mach_region_command): Likewise.
15830         * dwarf2loc.c (entry_data_value_coerce_ref)
15831         (value_of_dwarf_reg_entry): Likewise.
15832         * eval.c (ptrmath_type_p, evaluate_subexp_standard)
15833         (evaluate_subexp_for_address, evaluate_subexp_for_sizeof):
15834         Likewise.
15835         * findvar.c (extract_typed_address, store_typed_address):
15836         Likewise.
15837         * gdbtypes.c (rank_one_type): Likewise.
15838         * hppa-tdep.c (hppa64_integral_or_pointer_p): Likewise.
15839         * infcall.c (value_arg_coerce): Likewise.
15840         * language.c (pointer_type): Likewise.
15841         * m32c-tdep.c (m32c_reg_arg_type, m32c_m16c_address_to_pointer):
15842         Likewise.
15843         * m88k-tdep.c (m88k_integral_or_pointer_p): Likewise.
15844         * mn10300-tdep.c (mn10300_type_align): Likewise.
15845         * msp430-tdep.c (msp430_push_dummy_call): Likewise.
15846         * ppc-sysv-tdep.c (do_ppc_sysv_return_value)
15847         (ppc64_sysv_abi_push_param, ppc64_sysv_abi_return_value):
15848         Likewise.
15849         * printcmd.c (print_formatted, x_command): Likewise.
15850         * python/py-type.c (typy_get_composite, typy_template_argument):
15851         Likewise.
15852         * python/py-value.c (valpy_referenced_value)
15853         (valpy_get_dynamic_type, value_has_field): Likewise.
15854         * s390-linux-tdep.c (s390_function_arg_integer): Likewise.
15855         * sparc-tdep.c (sparc_integral_or_pointer_p): Likewise.
15856         * sparc64-tdep.c (sparc64_integral_or_pointer_p): Likewise.
15857         * spu-tdep.c (spu_scalar_value_p): Likewise.
15858         * symtab.c (lookup_symbol_aux): Likewise.
15859         * typeprint.c (whatis_exp, print_type_scalar): Likewise.
15860         * valarith.c (binop_types_user_defined_p, unop_user_defined_p):
15861         Likewise.
15862         * valops.c (value_cast_pointers, value_cast)
15863         (value_reinterpret_cast, value_dynamic_cast, value_addr, typecmp)
15864         (value_struct_elt, value_struct_elt_bitpos)
15865         (value_find_oload_method_list, find_overload_match)
15866         (value_rtti_indirect_type): Likewise.
15867         * valprint.c (val_print_scalar_type_p, generic_val_print):
15868         Likewise.
15869         * value.c (value_actual_type, value_as_address, unpack_long)
15870         (pack_long, pack_unsigned_long, coerce_ref_if_computed)
15871         (coerce_ref): Likewise.
15872         * varobj.c (varobj_get_value_type): Likewise.
15873
15874 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15875
15876         PR gdb/14441
15877         * doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
15878         table of constants.
15879         * python/lib/gdb/command/explore.py: Support exploring values
15880         of rvalue reference types.
15881         * python/lib/gdb/types.py: Implement get_basic_type() for
15882         rvalue reference types.
15883         * python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
15884         constant.
15885         * python/py-value.c (valpy_getitem): Add an rvalue reference
15886         check.
15887         (valpy_reference_value): Add new parameter "refcode".
15888         (valpy_lvalue_reference_value, valpy_rvalue_reference_value):
15889         New wrappers for valpy_reference_value().
15890         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15891         (gdbpy_invoke_xmethod): Likewise.
15892
15893 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15894
15895         PR gdb/14441
15896         * dwarf2read.c (process_die, read_type_die_1): Handle the
15897         DW_TAG_rvalue_reference_type DIE.
15898         (read_tag_reference_type): Add new parameter "refcode".
15899
15900 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15901
15902         PR gdb/14441
15903         * c-typeprint.c (c_print_type, c_type_print_varspec_prefix)
15904         (c_type_print_modifier, c_type_print_varspec_suffix)
15905         (c_type_print_base): Support printing rvalue reference types.
15906         * c-valprint.c (c_val_print, c_value_print): Support printing
15907         rvalue reference values.
15908
15909 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15910
15911         PR gdb/14441
15912         * cp-name-parser.y (ptr_operator): Handle the '&&' token in
15913         typename.
15914         * cp-support.c (replace_typedefs): Handle
15915         DEMANGLE_COMPONENT_RVALUE_REFERENCE.
15916         * python/py-type.c (typy_lookup_type): Likewise.
15917
15918 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15919
15920         PR gdb/14441
15921         * c-exp.y (ptr_operator): Handle the '&&' token in the typename.
15922         * parse.c (insert_type): Change assert statement.
15923         (follow_types): Handle rvalue reference types.
15924         * parser-defs.h (enum type_pieces) <tp_rvalue_reference>: New
15925         constant.
15926
15927 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15928
15929         PR gdb/14441
15930         * ada-lang.c (ada_evaluate_subexp): Adhere to the new
15931         value_ref() interface.
15932         * c-valprint.c (c_value_print): Likewise.
15933         * infcall.c (value_arg_coerce): Likewise.
15934         * python/py-value.c (valpy_reference_value): Likewise.
15935         * valops.c (value_cast, value_reinterpret_cast)
15936         (value_dynamic_cast, typecmp): Likewise.
15937         (value_ref): Parameterize by kind of return value reference type.
15938         * value.h (value_ref): Add new parameter "refcode".
15939
15940 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15941
15942         PR gdb/14441
15943         * dwarf2read.c (read_tag_reference_type): Use
15944         lookup_lvalue_reference_type() instead of lookup_reference_type().
15945         * eval.c (evaluate_subexp_standard): Likewise.
15946         * f-exp.y: Likewise.
15947         * gdbtypes.c (make_reference_type, lookup_reference_type):
15948         Generalize with rvalue reference types.
15949         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): New
15950         convenience wrappers for lookup_reference_type().
15951         * gdbtypes.h (make_reference_type, lookup_reference_type): Add a
15952         reference kind parameter.
15953         (lookup_lvalue_reference_type, lookup_rvalue_reference_type): Add
15954         wrappers for lookup_reference_type().
15955         * guile/scm-type.c (gdbscm_type_reference): Use
15956         lookup_lvalue_reference_type() instead of lookup_reference_type().
15957         * guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
15958         * parse.c (follow_types): Likewise.
15959         * python/py-type.c (typy_reference, typy_lookup_type): Likewise.
15960         * python/py-value.c (valpy_get_dynamic_type, valpy_getitem):
15961         Likewise.
15962         * python/py-xmethods.c (gdbpy_get_xmethod_result_type)
15963         (gdbpy_invoke_xmethod): Likewise.
15964         * stabsread.c: Provide extra argument to make_reference_type()
15965         call.
15966         * valops.c (value_ref, value_rtti_indirect_type): Use
15967         lookup_lvalue_reference_type() instead of lookup_reference_type().
15968
15969 2017-03-20  Artemiy Volkov  <artemiyv@acm.org>
15970
15971         PR gdb/14441
15972         * gdbtypes.h (enum type_code) <TYPE_CODE_RVALUE_REF>: New constant.
15973         (TYPE_IS_REFERENCE): New macro.
15974         (struct type): Add rvalue_reference_type field.
15975         (TYPE_RVALUE_REFERENCE_TYPE): New macro.
15976
15977 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15978
15979         * NEWS: Add an entry about new '-file-list-shared-libraries' command.
15980         * mi/mi-cmd-file.c (mi_cmd_file_list_shared_libraries):
15981         New function definition.
15982         * mi/mi-cmds.c (mi_cmds): Add -file-list-shared-libraries command.
15983         * mi/mi-cmds.h (mi_cmd_file_list_shared_libraries):
15984         New function declaration.
15985         * mi/mi-interp.c (mi_output_solib_attribs): New Function.
15986         * mi/mi-interp.h: New file.
15987         * solib.c (info_sharedlibrary_command): Replace for loop with
15988         ALL_SO_LIBS macro
15989         * solib.h (update_solib_list): New function declaration.
15990         (so_list_head): Move macro.
15991         * solist.h (ALL_SO_LIBS): New macro.
15992
15993 2017-03-20  Marc-Andre Laperle  <marc-andre.laperle@ericsson.com>
15994
15995         * infcmd.c (post_create_inferior): Remove unused argument in
15996         call to solib_add.
15997         * remote.c (remote_start_remote): Likewise.
15998         * solib-frv.c (frv_fetch_objfile_link_map): Likewise.
15999         * solib-svr4.c: (svr4_fetch_objfile_link_map): Likewise.
16000         (enable_break): Likewise.
16001         * solib.c (update_solib_list): Remove unused target argument
16002         and its documentation.
16003         (solib_add): Remove unused target argument.  Remove unused
16004         argument in call to update_solib_list.
16005         (info_sharedlibrary_command): Remove unused argument in call
16006         to update_solib_list.
16007         (sharedlibrary_command): Remove unused argument in call to
16008         solib_add.
16009         (handle_solib_event): Likewise.
16010         (reload_shared_libraries): Likewise.
16011         * solib.h (solib_add): Remove unused target argument.
16012
16013 2017-03-20  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16014
16015         * s390-linux-tdep.c (is_rsi, is_rie): Remove functions.
16016         (s390_displaced_step_fixup): Cover relative branches with the
16017         default fixup handling.  This fixes lack of support for some
16018         relative branch instructions.
16019
16020 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16021
16022         * i386-gnu-nat.c (gnu_fetch_registers, gnu_store_registers): Use
16023         ptid from regcache.
16024
16025 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16026
16027         * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers,
16028         i386_darwin_store_inferior_registers): Use ptid from regcache.
16029
16030 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16031
16032         * i386-bsd-nat.c (i386bsd_fetch_inferior_registers,
16033         i386bsd_store_inferior_registers): Use ptid from regcache.
16034
16035 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16036
16037         * hppa-obsd-nat.c (hppaobsd_fetch_registers,
16038         hppaobsd_store_registers): Use ptid from regcache.
16039
16040 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16041
16042         * hppa-nbsd-nat.c (hppanbsd_fetch_registers,
16043         hppanbsd_store_registers): Use ptid from regcache.
16044
16045 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16046
16047         * hppa-linux-nat.c (fetch_register, store_register): Use ptid
16048         from regcache.  Use get_ptrace_pid.
16049
16050 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16051
16052         * corelow.c (get_core_register_section): Use ptid from regcache,
16053         update doc.
16054
16055 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16056
16057         * bsd-uthread.c (bsd_uthread_fetch_registers,
16058         bsd_uthread_store_registers): Use ptid from regcache, set and
16059         restore inferior_ptid.
16060
16061 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16062
16063         * arm-nbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
16064         fetch_fp_regs, store_register, store_regs, store_fp_register,
16065         store_fp_regs): Use ptid from regcache.
16066
16067 2017-03-17  Simon Marchi  <simon.marchi@polymtl.ca>
16068
16069         * arm-linux-nat.c (fetch_fpregs, store_fpregs, fetch_regs,
16070         store_regs, fetch_wmmx_regs, store_wmmx_regs, fetch_vfp_regs,
16071         store_vfp_regs): Use ptid from regcache.
16072
16073 2017-03-17  Pedro Alves  <palves@redhat.com>
16074
16075         PR remote/21188
16076         * ser-base.c (ser_base_wait_for): Add comment.
16077         (do_ser_base_readchar): Improve comment based on the ser-unix.c's
16078         version.
16079         * ser-unix.c (hardwire_raw): Remove reference to
16080         scb->current_timeout.
16081         (wait_for, do_hardwire_readchar, hardwire_readchar): Delete.
16082         (hardwire_ops): Install ser_base_readchar instead of
16083         hardwire_readchar.
16084         * serial.h (struct serial) <current_timeout, timeout_remaining>:
16085         Remove fields.
16086
16087 2017-03-17  Jonah Graham  <jonah@kichwacoders.com>
16088
16089         PR gdb/19637
16090         * python/lib/gdb/printer/bound_registers.py: Add support for
16091         Python 3.
16092
16093 2017-03-16  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16094
16095         * dwarf2loc.c (indirect_synthetic_pointer): Get data type of
16096         pointed-to DIE and pass it to dwarf2_evaluate_loc_desc_full.
16097         (dwarf2_evaluate_loc_desc_full): New parameter subobj_type; rename
16098         byte_offset to subobj_byte_offset.  Fix the handling of
16099         DWARF_VALUE_STACK on big-endian targets when coming via an
16100         implicit pointer.
16101         (dwarf2_evaluate_loc_desc): Adjust call to
16102         dwarf2_evaluate_loc_desc_full.
16103         * dwarf2loc.h (dwarf2_fetch_die_type_sect_off): New declaration.
16104         * dwarf2read.c (dwarf2_fetch_die_type_sect_off): New function.
16105
16106 2017-03-16  Yao Qi  <yao.qi@linaro.org>
16107
16108         * arm-tdep.c (thumb_record_misc): Decode CBNZ, CBZ, REV16,
16109         and REVSH instructions.
16110
16111 2017-03-16  Yao Qi  <yao.qi@linaro.org>
16112
16113         * arm-tdep.c [GDB_SELF_TEST]: include "selftests.h".
16114         (arm_record_test): Declare.
16115         (_initialize_arm_tdep) [GDB_SELF_TEST]: call register_self_test.
16116         (thumb_record_ld_st_reg_offset): Rewrite the opcode matching to
16117         align with the manual.
16118         (thumb_record_misc): Adjust the code order to align with the
16119         manual.
16120         (thumb2_record_decode_insn_handler): Fix instruction matching.
16121         (instruction_reader_thumb): New class.
16122         (arm_record_test): New function.
16123
16124 2017-03-16  Yao Qi  <yao.qi@linaro.org>
16125
16126         * arm-tdep.c (abstract_memory_reader): New class.
16127         (instruction_reader): New class.
16128         (extract_arm_insn): Add argument 'reader'.  Callers updated.
16129         (decode_insn): Likewise.
16130
16131 2017-03-16  Doug Evans  <dje@google.com>
16132
16133         * guile/scm-lazy-string.c (lazy_string_smob): Clarify use of LENGTH
16134         member.  Change type of TYPE member to SCM.  All uses updated.
16135         (lsscm_make_lazy_string_smob): Add assert.
16136         (lsscm_make_lazy_string): Flag bad length values.
16137         (lsscm_elt_type): New function.
16138         (gdbscm_lazy_string_to_value): Rewrite to use
16139         lsscm_safe_lazy_string_to_value.
16140         (lsscm_safe_lazy_string_to_value): Fix handling of TYPE_CODE_PTR.
16141         * guile/scm-value.c (gdbscm_value_to_lazy_string): Flag bad length
16142         values.  Fix TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle typedefs
16143         in incoming type.
16144         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
16145         * guile/scm-type.c (tyscm_scm_to_type): New function.
16146
16147 2017-03-15  Doug Evans  <dje@google.com>
16148
16149         PR python/17728, python/18439, python/18779
16150         * python/py-lazy-string.c (lazy_string_object): Clarify use of LENGTH
16151         member.  Change type of TYPE member to PyObject *.  All uses updated.
16152         (stpy_convert_to_value): Fix handling of TYPE_CODE_PTR.
16153         (gdbpy_create_lazy_string_object): Flag bad length values.
16154         Handle TYPE_CODE_ARRAY with possibly different user-provided length.
16155         Handle typedefs in incoming type.
16156         (stpy_lazy_string_elt_type): New function.
16157         (gdbpy_extract_lazy_string): Call it.
16158         * python/py-value.c (valpy_lazy_string): Flag bad length values.
16159         Fix handling of TYPE_CODE_PTR.  Handle TYPE_CODE_ARRAY.  Handle
16160         typedefs in incoming type.
16161
16162 2017-03-16  Doug Evans  <dje@google.com>
16163
16164         * guile/guile-internal.h (tyscm_scm_to_type): Declare.
16165         * guile/scm-type.c (tyscm_scm_to_type): New function.
16166
16167 2017-03-16  Jiong Wang  <jiong.wang@arm.com>
16168
16169         * inf-ptrace.c (inf_ptrace_peek_poke): Change the type to
16170         "ULONGEST" for "skip".
16171
16172 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16173
16174         PR gdb/21220
16175         * inf-ptrace.c (inf_ptrace_xfer_partial): In "case
16176         TARGET_OBJECT_MEMORY", extract the logic for ptrace peek/poke...
16177         (inf_ptrace_peek_poke): ...here.  New function.  Now also loop
16178         over ptrace peek/poke until end of buffer or error.
16179
16180 2017-03-14  Simon Marchi  <simon.marchi@ericsson.com>
16181
16182         * parse.c (length_of_subexp): Make static.
16183         * parser-defs.h (length_of_subexp): Remove.
16184
16185 2017-03-14  Andreas Arnez  <arnez@linux.vnet.ibm.com>
16186
16187         * linux-nat.c (linux_proc_xfer_partial): Handle write operations
16188         as well.
16189
16190 2017-03-14  Pedro Alves  <palves@redhat.com>
16191
16192         * cp-name-parser.y (cp_demangled_name_to_comp): Update comment.
16193         (main): Use std::unique_ptr.  Remove calls to
16194         cp_demangled_name_parse_free.
16195
16196 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16197
16198         * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers,
16199         alphabsd_store_inferior_registers): Use regcache->ptid instead
16200         of inferior_ptid.
16201
16202 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16203
16204         * aix-thread.c (aix_thread_fetch_registers,
16205         aix_thread_store_registers): Use regcache->ptid instead of
16206         inferior_ptid.
16207
16208 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16209
16210         * aarch64-linux-nat.c (fetch_gregs_from_thread,
16211         store_gregs_to_thread, fetch_fpregs_from_thread,
16212         store_fpregs_to_thread): Use regcache->ptid instead of
16213         inferior_ptid.
16214
16215 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16216
16217         * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers,
16218         amd64_linux_fetch_inferior_registers): Use regcache->ptid
16219         instead of inferior_ptid.
16220
16221 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16222
16223         * target.c (target_fetch_registers, target_store_registers): Add
16224         assert.
16225
16226 2017-03-13  Simon Marchi  <simon.marchi@polymtl.ca>
16227
16228         * regcache.h (regcache_get_ptid): New function.
16229         * regcache.c (regcache_get_ptid): New function.
16230
16231 2017-03-13  Mark Wielaard  <mark@klomp.org>
16232
16233         * cp-name-parser.y (make_empty): Initialize d_printing to zero.
16234
16235 2017-03-10  Keith Seitz  <keiths@redhat.com>
16236
16237         PR c++/8218
16238         * c-typeprint.c (cp_type_print_method_args): Skip artificial arguments.
16239
16240 2017-03-08  Pedro Alves  <palves@redhat.com>
16241
16242         PR gdb/18360
16243         * infrun.c (start_step_over, do_target_resume, resume)
16244         (restart_threads): Assert we're not resuming a thread that is
16245         meant to be stopped.
16246         (infrun_thread_stop_requested_callback): Delete.
16247         (infrun_thread_stop_requested): If the thread is internally
16248         stopped, queue a pending stop event and clear the thread's
16249         inline-frame state.
16250         (handle_stop_requested): New function.
16251         (handle_syscall_event, handle_inferior_event_1): Use
16252         handle_stop_requested.
16253         (handle_stop_requested): New function.
16254         (handle_signal_stop): Set the thread's stop_signal here instead of
16255         at caller.
16256         (finish_step_over): Clear step over info unconditionally.
16257         (handle_signal_stop): If the user had interrupted the event
16258         thread, consider the stop a random signal.
16259         (handle_signal_stop) <signal arrived while stepping over
16260         breakpoint>: Don't restart threads here.
16261         (stop_waiting): Don't clear step-over info here.
16262
16263 2017-03-08  Pedro Alves  <palves@redhat.com>
16264
16265         PR 21206
16266         * common/gdb_unlinker.h (unlinker::unlinker): Attribute nonnull
16267         goes to argument 2, not 1.
16268
16269 2017-03-08  Pedro Alves  <palves@redhat.com>
16270
16271         PR cli/21218
16272         * top.c (gdb_readline_wrapper): Avoid passing NULL to
16273         display_gdb_prompt.
16274         (command_line_input): Add comment.
16275
16276 2017-03-08  Pedro Alves  <palves@redhat.com>
16277
16278         PR tui/21216
16279         * tui/tui-file.c (tui_file::write): New.
16280         * tui/tui-file.h (tui_file): Override "write".
16281         * tui/tui-io.c (do_tui_putc, update_start_line): New functions,
16282         factored out from ...
16283         (tui_puts): ... here.
16284         (tui_putc): Use them.
16285         (tui_write): New function.
16286         * tui/tui-io.h (tui_write): Declare.
16287
16288 2017-03-07  Sergio Durigan Junior  <sergiodj@redhat.com>
16289
16290         * Makefile.in (SFILES): Replace "environ.c" with
16291         "common/environ.c".
16292         (HFILES_NO_SRCDIR): Likewise, for "environ.h".
16293         * environ.c: Include "common-defs.h" instead of "defs.h.  Moved
16294         to...
16295         * common/environ.c: ... here.
16296         * environ.h: Moved to...
16297         * common/environ.h: ... here.
16298
16299 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16300
16301         * gdbarch.sh (pstring_ptr): New static function.
16302         (gdbarch_disassembler_options): Use it.
16303         (gdbarch_verify_disassembler_options): Print valid_disassembler_options,
16304         not valid_disassembler_option->name.
16305         * gdbarch.c: Regenerate.
16306
16307 2017-03-07  Peter Bergner  <bergner@vnet.ibm.com>
16308
16309         * config/powerpc/ppc64-linux.mh (MH_CFLAGS): Delete.
16310
16311 2017-03-07  Pedro Alves  <palves@redhat.com>
16312
16313         * tui/tui-regs.c (tui_restore_gdbout): Don't delete gdb_stdout.
16314
16315 2017-03-07  Walfred Tedeschi  <walfred.tedeschi@intel.com>
16316
16317         * i387-tdep.h (i387_reset_bnd_regs): Add function definition.
16318         * i387-tdep.c (i387_reset_bnd_regs): Add function implementation.
16319         * i386-tdep.c (i386_push_dummy_call): Call i387_reset_bnd_regs.
16320         * amd64-tdep.c (amd64_push_dummy_call): Call i387_reset_bnd_regs.
16321
16322 2017-03-06  Simon Marchi  <simon.marchi@ericsson.com>
16323
16324         * xtensa-linux-nat.c (fetch_gregs): Remove const.
16325
16326 2017-03-03  Simon Marchi  <simon.marchi@ericsson.com>
16327
16328         * remote.c (remote_add_target_side_commands): Use range-based
16329         for loop.
16330
16331 2017-03-03  Yao Qi  <yao.qi@linaro.org>
16332
16333         PR gdb/21165
16334         * ada-valprint.c (ada_val_print_ref): Call value_fetch_lazy if
16335         value is lazy.
16336         * valprint.c (common_val_print): Likewise.
16337
16338 2017-02-28  Peter Bergner  <bergner@vnet.ibm.com>
16339
16340         * NEWS: Mention new set/show disassembler-options commands.
16341         * doc/gdb.texinfo: Document new set/show disassembler-options commands.
16342         * disasm.c: Include "arch-utils.h", "gdbcmd.h" and "safe-ctype.h".
16343         (prospective_options): New static variable.
16344         (gdb_disassembler::gdb_disassembler): Initialize
16345         m_di.disassembler_options.
16346         (gdb_buffered_insn_length_init_dis): Initilize di->disassembler_options.
16347         (get_disassembler_options): New function.
16348         (set_disassembler_options): Likewise.
16349         (set_disassembler_options_sfunc): Likewise.
16350         (show_disassembler_options_sfunc): Likewise.
16351         (disassembler_options_completer): Likewise.
16352         (_initialize_disasm): Likewise.
16353         * disasm.h (get_disassembler_options): New prototype.
16354         (set_disassembler_options): Likewise.
16355         * gdbarch.sh (gdbarch_disassembler_options): New variable.
16356         (gdbarch_verify_disassembler_options): Likewise.
16357         * gdbarch.c: Regenerate.
16358         * gdbarch.h: Likewise.
16359         * arm-tdep.c (num_disassembly_options): Delete.
16360         (set_disassembly_style): Likewise.
16361         (arm_disassembler_options): New static variable.
16362         (set_disassembly_style_sfunc): Convert short style name into long
16363         option name.  Call set_disassembler_options.
16364         (show_disassembly_style_sfunc): New function.
16365         (arm_gdbarch_init): Call set_gdbarch_disassembler_options and
16366         set_gdbarch_verify_disassembler_options.
16367         (_initialize_arm_tdep): Delete regnames variable and update callers.
16368         (arm_disassembler_options): Initialize.
16369         (disasm_options): New variable.
16370         (num_disassembly_options): Rename from this...
16371         (num_disassembly_styles): ...to this.  Compute by scanning through
16372         disasm_options.
16373         (valid_disassembly_styles): Initialize using disasm_options.
16374         Remove calls to parse_arm_disassembler_option, get_arm_regnames and
16375         set_arm_regname_option.
16376         Pass show_disassembly_style_sfunc to the "disassembler" setshow command.
16377         * rs6000-tdep.c (powerpc_disassembler_options): New static variable.
16378         (rs6000_gdbarch_init): Call set_gdbarch_disassembler_options and
16379         set_gdbarch_verify_disassembler_options.
16380         * s390-tdep.c (s390_disassembler_options): New static variable.
16381         (s390_gdbarch_init):all set_gdbarch_disassembler_options and
16382         set_gdbarch_verify_disassembler_options.
16383
16384 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16385
16386         * remote.c (remote_add_target_side_condition): Remove "struct"
16387         keyword from range-based for loop.
16388
16389 2017-02-27  Simon Marchi  <simon.marchi@ericsson.com>
16390
16391         * remote.c (remote_add_target_side_condition): Use range-based
16392         for loop.  Update comment.
16393
16394 2017-02-27  Yao Qi  <yao.qi@linaro.org>
16395
16396         * f-typeprint.c (f_print_type): Check "varstring" is empty first.
16397
16398 2017-02-26  Alan Hayward  <alan.hayward@arm.com>
16399
16400         * regcache.c (regcache_raw_update): New function.
16401         (regcache_raw_read): Move code to regcache_raw_update.
16402         * regcache.h (regcache_raw_update): New declaration.
16403         * remote.c (remote_prepare_to_store): Call regcache_raw_update.
16404
16405 2017-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
16406
16407         * dwarf2read.c (create_debug_type_hash_table): Initialize
16408         header.signature and header.type_offset_in_tu.
16409
16410 2017-02-24  Pedro Alves  <palves@redhat.com>
16411
16412         * symtab.c (make_file_symbol_completion_list_1): Use
16413         add_symtab_completions.
16414
16415 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16416
16417         * stack.c (frame_info): Use frame_unwind_register_value to avoid buf.
16418
16419 2017-02-24  Alan Hayward  <alan.hayward@arm.com>
16420
16421         * i386-tdep.c (i386_pseudo_register_read_into_value): Use
16422         I386_MAX_REGISTER_SIZE.
16423         (i386_pseudo_register_write): Likewise.
16424         (i386_process_record): Likewise.
16425         * i387-tdep.c (i387_supply_xsave): Likewise.
16426         * m68k-linux-nat.c (fetch_register): Use M68K_MAX_REGISTER_SIZE.
16427         (store_register): Likewise.
16428
16429 2017-02-23  Pedro Alves  <palves@redhat.com>
16430
16431         * ada-lang.c: Include "common/function-view.h".
16432         (ada_iterate_over_symbols): Adjust to use function_view as
16433         callback type.
16434         (struct add_partial_datum, ada_complete_symbol_matcher): Delete.
16435         (ada_make_symbol_completion_list): Use a lambda.
16436         (ada_exc_search_name_matches): Delete.
16437         (name_matches_regex): New.
16438         (ada_add_global_exceptions): Use a lambda and name_matches_regex.
16439         * compile/compile-c-support.c: Include "common/function-view.h".
16440         (print_one_macro): Change prototype to accept a ui_file pointer.
16441         (write_macro_definitions): Use a lambda.
16442         * dwarf2read.c: Include "common/function-view.h".
16443         (dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
16444         (dw2_expand_symtabs_matching): Adjust to use function_view as
16445         callback type.
16446         * language.h: Include "common/function-view.h".
16447         (struct language_defn) <la_iterate_over_symbols>: Adjust to use
16448         function_view as callback type.
16449         (LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
16450         * linespec.c: Include "common/function-view.h".
16451         (collect_info::add_symbol): New method.
16452         (struct symbol_and_data_callback, iterate_inline_only, struct
16453         symbol_matcher_data, iterate_name_matcher): Delete.
16454         (iterate_over_all_matching_symtabs): Adjust to use function_view
16455         as callback type and lambdas.
16456         (iterate_over_file_blocks): Adjust to use function_view as
16457         callback type.
16458         (decode_compound_collector): Now a class with private fields.
16459         (decode_compound_collector::release_symbols): New method.
16460         (collect_one_symbol): Rename to...
16461         (decode_compound_collector::operator()): ... this and adjust.
16462         (lookup_prefix_sym): decode_compound_collector construction bits
16463         move to decode_compound_collector ctor.  Pass the
16464         decode_compound_collector object directly as callback.  Remove
16465         cleanups and use decode_compound_collector::release_symbols
16466         instead.
16467         (symtab_collector): Now a class with private fields.
16468         (symtab_collector::release_symtabs): New method.
16469         (add_symtabs_to_list): Rename to...
16470         (symtab_collector::operator()): ... this and adjust.
16471         (collect_symtabs_from_filename): symtab_collector construction
16472         bits move to symtab_collector ctor.  Pass the symtab_collector
16473         object directly as callback.  Remove cleanups and use
16474         symtab_collector::release_symtabs instead.
16475         (collect_symbols): Delete.
16476         (add_matching_symbols_to_info): Use lambdas.
16477         * macrocmd.c (print_macro_callback): Delete.
16478         (info_macro_command): Use a lambda.
16479         (info_macros_command): Pass print_macro_definition as callable
16480         directly.
16481         (print_one_macro): Remove 'ignore' parameter.
16482         (macro_list_command): Adjust.
16483         * macrotab.c (macro_for_each_data::fn): Now a function_view.
16484         (macro_for_each_data::user_data): Delete field.
16485         (foreach_macro): Adjust to call the function_view.
16486         (macro_for_each): Adjust to use function_view as callback type.
16487         (foreach_macro_in_scope): Adjust to call the function_view.
16488         (macro_for_each_in_scope): Adjust to use function_view as callback
16489         type.
16490         * macrotab.h: Include "common/function-view.h".
16491         (macro_callback_fn): Declare a prototype instead of a pointer.
16492         Remove "user_data" parameter.
16493         (macro_for_each, macro_for_each_in_scope): Adjust to use
16494         function_view as callback type.
16495         * psymtab.c (partial_map_expand_apply)
16496         (psym_map_symtabs_matching_filename, recursively_search_psymtabs):
16497         Adjust to use function_view as callback type and to return bool.
16498         (psym_expand_symtabs_matching): Adjust to use function_view as
16499         callback types.
16500         * symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
16501         to use function_view as callback type and to return bool.
16502         (debug_qf_expand_symtabs_matching): Adjust to use function_view as
16503         callback types.
16504         * symfile.c (expand_symtabs_matching): Adjust to use function_view
16505         as callback types.
16506         * symfile.h: Include "common/function-view.h".
16507         (expand_symtabs_file_matcher_ftype)
16508         (expand_symtabs_symbol_matcher_ftype)
16509         (expand_symtabs_exp_notify_ftype): Remove "data" parameter and
16510         return bool.
16511         (quick_symbol_functions::map_symtabs_matching_filename)
16512         (quick_symbol_functions::expand_symtabs_matching): Adjust to use
16513         function_view as callback type and return bool.
16514         (expand_symtabs_matching): Adjust to use function_view as callback
16515         type.
16516         (maintenance_expand_name_matcher)
16517         (maintenance_expand_file_matcher): Delete.
16518         (maintenance_expand_symtabs): Use lambdas.
16519         * symtab.c (iterate_over_some_symtabs): Adjust to use
16520         function_view as callback types and return bool.
16521         (iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
16522         of a cleanup.
16523         (lookup_symtab_callback): Delete.
16524         (lookup_symtab): Use a lambda.
16525         (iterate_over_symbols): Adjust to use function_view as callback
16526         type.
16527         (struct search_symbols_data, search_symbols_file_matches)
16528         (search_symbols_name_matches): Delete.
16529         (search_symbols): Use a pair of lambdas.
16530         (struct add_name_data, add_macro_name, symbol_completion_matcher)
16531         (symtab_expansion_callback): Delete.
16532         (default_make_symbol_completion_list_break_on_1): Use lambdas.
16533         * symtab.h: Include "common/function-view.h".
16534         (iterate_over_some_symtabs): Adjust to use function_view as
16535         callback type and return bool.
16536         (iterate_over_symtabs): Adjust to use function_view as callback
16537         type.
16538         (symbol_found_callback_ftype): Remove 'data' parameter and return
16539         bool.
16540         (iterate_over_symbols): Adjust to use function_view as callback
16541         type.
16542
16543 2017-02-23  Pedro Alves  <palves@redhat.com>
16544
16545         * Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
16546         (%.o) <unittests/%.c>: New pattern.
16547         * configure.ac ($development): Add $(SUBDIR_UNITTESTS_OBS) to
16548         CONFIG_OBS, and $(SUBDIR_UNITTESTS_SRCS) to CONFIG_SRCS.
16549         * common/function-view.h: New file.
16550         * unittests/function-view-selftests.c: New file.
16551         * configure: Regenerate.
16552
16553 2017-02-23  Simon Marchi  <simon.marchi@ericsson.com>
16554
16555         * bsd-uthread.c (bsd_uthread_thread_alive): Use ptid instead of
16556         inferior_ptid.
16557         * go32-nat.c (go32_thread_alive): Likewise.
16558
16559 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16560
16561         * varobj-iter.h (varobj_iter_delete): Call xfree instead of
16562         delete.
16563
16564 2017-02-23  Yao Qi  <yao.qi@linaro.org>
16565
16566         * varobj.c (varobj_clear_saved_item): Use delete instead of
16567         xfree.
16568         (update_dynamic_varobj_children): Likewise.
16569
16570 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16571
16572         * dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
16573
16574 2017-02-21  Simon Marchi  <simon.marchi@ericsson.com>
16575
16576         * common/enum-flags.h (enum_flags::enum_flags): Initialize
16577         m_enum_value to 0 in default constructor.
16578
16579 2017-02-21  Edjunior Barbosa Machado  <emachado@linux.vnet.ibm.com>
16580
16581         * rs6000-tdep.c (LOAD_AND_RESERVE_MASK): Rename from LWARX_MASK.
16582         (STORE_CONDITIONAL_MASK): Rename from STWCX_MASK.
16583         (LBARX_INSTRUCTION, LHARX_INSTRUCTION, LQARX_INSTRUCTION,
16584         STBCX_INSTRUCTION, STHCX_INSTRUCTION, STQCX_INSTRUCTION): New defines.
16585         (IS_LOAD_AND_RESERVE_INSN, IS_STORE_CONDITIONAL_INSN): New macros.
16586         (ppc_displaced_step_copy_insn): Use IS_LOAD_AND_RESERVE_INSN.
16587         (ppc_deal_with_atomic_sequence): Use IS_LOAD_AND_RESERVE_INSN and
16588         IS_STORE_CONDITIONAL_INSN.
16589
16590 2017-02-21  Jan Kratochvil  <jan.kratochvil@redhat.com>
16591
16592         * dwarf2_rnglists_process: Initialize range_beginning and range_end.
16593
16594 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16595
16596         * NEWS (Changes since GDB 7.12): Add DWARF-5.
16597
16598 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16599
16600         * dwarf2read.c (skip_one_die, read_attribute_value)
16601         (dwarf2_const_value_attr, dump_die_shallow)
16602         (dwarf2_get_attr_constant_value, dwarf2_fetch_constant_bytes)
16603         (skip_form_bytes, attr_form_is_constant): Handle DW_FORM_data16.
16604
16605 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16606
16607         * dwarf2read.c (read_file_scope): Rename DW_MACRO_GNU_*.
16608         (dwarf_parse_macro_header): Accept DWARF version 5.
16609         (dwarf_decode_macro_bytes, dwarf_decode_macros): Rename DW_MACRO_GNU_*.
16610
16611 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16612
16613         * block.c (call_site_for_pc): Rename DW_OP_GNU_*, DW_TAG_GNU_* and
16614         DW_AT_GNU_*.
16615         * common/common-exceptions.h (enum errors): Likewise.
16616         * dwarf2-frame.c (class dwarf_expr_executor): Likewise.
16617         * dwarf2expr.c (dwarf_block_to_dwarf_reg)
16618         (dwarf_expr_context::execute_stack_op): Likewise.
16619         * dwarf2expr.h (struct dwarf_expr_context, struct dwarf_expr_piece):
16620         Likewise.
16621         * dwarf2loc.c (dwarf_evaluate_loc_desc::get_base_type)
16622         (dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value)
16623         (show_entry_values_debug, call_site_to_target_addr)
16624         (func_addr_to_tail_call_list, func_verify_no_selftailcall)
16625         (dwarf_expr_reg_to_entry_parameter, dwarf_entry_parameter_to_value)
16626         (entry_data_value_free_closure, value_of_dwarf_reg_entry)
16627         (value_of_dwarf_block_entry, indirect_pieced_value)
16628         (symbol_needs_eval_context::push_dwarf_reg_entry_value):
16629         (disassemble_dwarf_expression): Likewise.
16630         * dwarf2read.c (process_die, inherit_abstract_dies)
16631         (read_call_site_scope): Likewise.
16632         * gdbtypes.h (struct func_type, struct call_site_parameter)
16633         (struct call_site): Likewise.
16634         * stack.c (read_frame_arg): Likewise.
16635         * std-operator.def (OP_VAR_ENTRY_VALUE): Likewise.
16636
16637 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16638
16639         * defs.h (read_unsigned_leb128): New declaration.
16640         * dwarf2loc.c (decode_debug_loclists_addresses): New function.
16641         (decode_debug_loc_dwo_addresses): Update DEBUG_LOC_* to DW_LLE_*.
16642         (dwarf2_find_location_expression): Call also
16643         decode_debug_loclists_addresses.  Handle DWARF-5 ULEB128 length.
16644         * dwarf2loc.h (dwarf2_version): New declaration.
16645         * dwarf2read.c (struct dwarf2_per_objfile): Add loclists, line_str,
16646         rnglists.
16647         (dwarf2_elf_names): Add .debug_loclists, .debug_line_str,
16648         .debug_rnglists.
16649         (struct dwop_section_names): Add loclists_dwo.
16650         (dwop_section_names): Add .debug_loclists.dwo.
16651         (struct comp_unit_head): Add unit_type, signature, type_offset_in_tu.
16652         (struct dwarf2_per_cu_data): Add dwarf_version.
16653         (struct dwo_sections): Add loclists.
16654         (struct attr_abbrev): Add implicit_const.
16655         (read_indirect_line_string): New declaration.
16656         (read_unsigned_leb128): Delete declaration.
16657         (rcuh_kind): New definition.
16658         (read_and_check_comp_unit_head): Change parameter
16659         is_debug_types_section to section_kind.
16660         (dwarf2_locate_sections): Handle loclists, line_str and rnglists.
16661         (read_comp_unit_head): Change parameter abfd to section, add parameter
16662         section_kind.  Handle DWARF-5.
16663         (error_check_comp_unit_head): Accept also DWARF version 5.
16664         (read_and_check_comp_unit_head): Change parameter
16665         is_debug_types_section to section_kind.
16666         (read_and_check_type_unit_head): Delete function.
16667         (read_abbrev_offset): Handle DWARF-5.
16668         (create_debug_type_hash_table): Add parameter section_kind.  Process
16669         only DW_UT_type.  Use signature and type_offset_in_tu from struct
16670         comp_unit_head.
16671         (create_debug_types_hash_table): Update create_debug_type_hash_table
16672         caller.
16673         (create_all_type_units): Call create_debug_type_hash_table.
16674         (read_cutu_die_from_dwo, init_cutu_and_read_dies): Change
16675         read_and_check_type_unit_head caller to read_and_check_comp_unit_head
16676         caller.
16677         (skip_one_die): Handle DW_FORM_implicit_const.
16678         (dwarf2_rnglists_process): New function.
16679         (dwarf2_ranges_process): Call dwarf2_rnglists_process for DWARF-5.
16680         (abbrev_table_read_table): Handle DW_FORM_implicit_const.
16681         (read_attribute_value): Handle DW_FORM_implicit_const,
16682         DW_FORM_line_strp.
16683         (read_attribute): Handle DW_FORM_implicit_const.
16684         (read_indirect_string_at_offset_from): New function from
16685         read_indirect_string_at_offset.
16686         (read_indirect_string_at_offset): Call
16687         read_indirect_string_at_offset_from.
16688         (read_indirect_line_string_at_offset): New function.
16689         (read_indirect_string): New function comment.
16690         (read_indirect_line_string): New function.
16691         (read_unsigned_leb128): Make it global.
16692         (dwarf2_string_attr): Handle DWARF-5.
16693         (add_include_dir_stub, read_formatted_entries): New functions.
16694         (dwarf_decode_line_header, dump_die_shallow, cu_debug_loc_section):
16695         Handle DWARF-5.
16696         (per_cu_header_read_in): Update read_comp_unit_head caller.
16697         (dwarf2_version): New function.
16698         * symfile.h (struct dwarf2_debug_sections): Add loclists, line_str and
16699         rnglists.
16700         * xcoffread.c (dwarf2_xcoff_names): Update struct dwarf2_debug_sections
16701         fields.
16702
16703 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16704
16705         * dwarf2read.c (abbrev_table_read_table): Read the data only once.
16706
16707 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16708
16709         * dwarf2read.c (dwarf2_ranges_process): New function from
16710         dwarf2_ranges_read.
16711         (dwarf2_ranges_read, dwarf2_record_block_ranges): Use
16712         dwarf2_ranges_process.
16713
16714 2017-02-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
16715
16716         * dwarf2read.c (create_debug_type_hash_table): New function from
16717         create_debug_types_hash_table.
16718         (create_debug_types_hash_table): Call create_debug_type_hash_table.
16719         (create_all_type_units, open_and_init_dwo_file): Update
16720         create_debug_types_hash_table callers.
16721
16722 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16723
16724         PR gdb/16188
16725         * fork-child.c (trace_start_error): Fix thinko.  va_end should
16726         refer to 'ap', not 'args'.
16727
16728 2017-02-20  Sergio Durigan Junior  <sergiodj@redhat.com>
16729             Pedro Alves  <palves@redhat.com>
16730
16731         PR gdb/16188
16732         * darwin-nat.c (darwin_ptrace_me): Check if calls to system
16733         calls succeeded.
16734         * fork-child.c (trace_start_error): New function.
16735         (trace_start_error_with_name): Likewise.
16736         * gnu-nat.c (gnu_ptrace_me): Check if call to PTRACE succeeded.
16737         * inf-ptrace.c (inf_ptrace_me): Likewise.
16738         * inferior.h (trace_start_error): New prototype.
16739         (trace_start_error_with_name): Likewise.
16740
16741 2017-02-15  Sergio Durigan Junior  <sergiodj@redhat.com>
16742
16743         PR gdb/21164
16744         * psymtab.c (maintenance_print_psymbols): Verify if 'argv' is not
16745         NULL before using it.
16746         * symmisc.c (maintenance_print_symbols): Likewise.
16747         (maintenance_print_msymbols): Likewise.
16748
16749 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16750
16751         * NEWS: Add record Python bindings entry.
16752
16753 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16754
16755         * Makefile.in (SUBDIR_PYTHON_OBS): Add py-record-btrace.o,
16756         py-record-full.o.
16757         (SUBDIR_PYTHON_SRCS): Add py-record-btrace.c, py-record-full.c.
16758         * python/py-record-btrace.c, python/py-record-btrace.h,
16759         python/py-record-full.c, python/py-record-full.h: New file.
16760         * python/py-record.c: Add include for py-record-btrace.h and
16761         py-record-full.h.
16762         (recpy_method, recpy_format, recpy_goto, recpy_replay_position,
16763         recpy_instruction_history, recpy_function_call_history, recpy_begin,
16764         recpy_end): Use functions from py-record-btrace.c and py-record-full.c.
16765         * python/python-internal.h (PyInt_FromSsize_t, PyInt_AsSsize_t):
16766         New definition.
16767         (gdbpy_initialize_btrace): New export.
16768         * python/python.c (_initialize_python): Add gdbpy_initialize_btrace.
16769
16770 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16771
16772         * Makefile.in (SUBDIR_PYTHON_OBS): Add python/py-record.o.
16773         (SUBDIR_PYTHON_SRCS): Add python/py-record.c.
16774         * python/py-record.c: New file.
16775         * python/python-internal.h (gdbpy_start_recording,
16776         gdbpy_current_recording, gdpy_stop_recording,
16777         gdbpy_initialize_record): New export.
16778         * python/python.c (_initialize_python): Add gdbpy_initialize_record.
16779         (python_GdbMethods): Add gdbpy_start_recording,
16780         gdbpy_current_recording and gdbpy_stop_recording.
16781
16782 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16783
16784         * record-btrace.c (record_btrace_record_method): New function.
16785         (init_record_btrace_ops): Initialize to_record_method.
16786         * record-full.c (record_full_record_method): New function.
16787         (init_record_full_ops, init_record_full_core_ops): Add
16788         record_full_record_method.
16789         * record.h (enum record_method): New enum.
16790         * target-debug.h (target_debug_print_enum_record_method: New define.
16791         * target-delegates.c: Regenerate.
16792         * target.c (target_record_method): New function.
16793         * target.h: Include record.h.
16794         (struct target_ops) <to_record_method>: New field.
16795         (target_record_method): New export.
16796
16797 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16798
16799         * record.h (record_start, record_stop): New export.
16800         * record.c (record_start, record_stop): New function.
16801
16802 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16803
16804         * btrace.c (btrace_fetch): Copy function call segments pointer
16805         into a vector.
16806         (btrace_clear): Clear the vector.
16807         (btrace_find_insn_by_number): Use binary search to find the correct
16808         function call segment.
16809         * btrace.h (brace_fun_p): New typedef.
16810         (struct btrace_thread_info) <functions>: New field.
16811
16812 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16813
16814         * record-btrace.c (btrace_ui_out_decode_error): Move most of it ...
16815         * btrace.c (btrace_decode_error): ... here.  New function.
16816         * btrace.h (btrace_decode_error): New export.
16817
16818 2017-02-14  Tim Wiederhake  <tim.wiederhake@intel.com>
16819
16820         * btrace.c (ftrace_call_num_insn, btrace_insn_get_error): New function.
16821         (ftrace_new_function, btrace_insn_number, btrace_insn_cmp,
16822         btrace_find_insn_by_number): Remove special case for gaps.
16823         * btrace.h (btrace_insn_get_error): New export.
16824         (btrace_insn_number, btrace_find_insn_by_number): Adjust comment.
16825         * record-btrace.c (btrace_insn_history): Print number for gaps.
16826         (record_btrace_info, record_btrace_goto): Handle gaps.
16827
16828 2017-02-14  Tom Tromey  <tom@tromey.com>
16829
16830         PR python/13598:
16831         * python/python.c (gdbpy_before_prompt_hook): Emit before_prompt
16832         event.
16833         * python/py-evts.c (gdbpy_initialize_py_events): Add
16834         before_prompt registry.
16835         * python/py-events.h (events_object) <before_prompt>: New field.
16836
16837 2017-02-14  Markus Metzger  <markus.t.metzger@intel.com>
16838
16839         * btrace.c (ftrace_new_switch): Preserve up link and flags.
16840
16841 2017-02-13  Luis Machado  <lgustavo@codesourcery.com>
16842
16843         * symfile (_initialize_symfile): Add usage text to the load command's
16844         help text.
16845
16846 2017-02-10  Simon Marchi  <simon.marchi@ericsson.com>
16847
16848         * utils.c (defaulted_query): Don't query on secondary UIs.
16849
16850 2017-02-10  Tom Tromey  <tom@tromey.com>
16851
16852         * rust-lang.c (rust_get_disr_info): Remove unused variable.
16853
16854 2017-02-10  Tom Tromey  <tom@tromey.com>
16855
16856         * python/py-value.c (valpy_richcompare_throw): Remove unnecessary
16857         "cleanup" local.
16858         * python/py-type.c (typy_legacy_template_argument): Remove
16859         unnecessary "cleanup" local.
16860
16861 2017-02-10  Tom Tromey  <tom@tromey.com>
16862
16863         * python/python.c (do_start_initialization): New function, from
16864         _initialize_python.
16865         (_initialize_python): Call do_start_initialization.
16866         * python/py-linetable.c (ltpy_iternext): Use explicit returns, not
16867         goto.
16868
16869 2017-02-10  Tom Tromey  <tom@tromey.com>
16870
16871         * python/py-prettyprint.c (pretty_print_one_value): Use
16872         gdbpy_ref.
16873
16874 2017-02-10  Tom Tromey  <tom@tromey.com>
16875
16876         * python/py-cmd.c (cmdpy_destroyer): Use gdbpy_ref.
16877         * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Use
16878         gdbpy_ref.
16879         * python/py-type.c (field_new): Use gdbpy_ref.
16880         * python/py-symtab.c (symtab_and_line_to_sal_object): Use
16881         gdbpy_ref.
16882         * python/py-progspace.c (pspy_new): Use gdbpy_ref.
16883         (py_free_pspace): Likewise.
16884         (pspace_to_pspace_object): Likewise.
16885         * python/py-objfile.c (objfpy_new): Use gdbpy_ref.
16886         (py_free_objfile): Likewise.
16887         (objfile_to_objfile_object): Likewise.
16888         * python/py-inferior.c (delete_thread_object): Use
16889         gdbpy_ref.
16890         (infpy_read_memory): Likewise.
16891         (py_free_inferior): Likewise.
16892         * python/py-evtregistry.c (create_eventregistry_object): Use
16893         gdbpy_ref.
16894         * python/py-event.c (create_event_object): Use gdbpy_ref.
16895
16896 2017-02-10  Tom Tromey  <tom@tromey.com>
16897
16898         * python/py-ref.h (gdbpy_ref_policy): Now a template.
16899         (gdbpy_ref): Now a template; allow subclasses of PyObject to be
16900         used.
16901         * python/py-arch.c, python/py-bpevent.c, python/py-breakpoint.c,
16902         python/py-cmd.c, python/py-continueevent.c, python/py-event.c,
16903         python/py-exitedevent.c, python/py-finishbreakpoint.c,
16904         python/py-framefilter.c, python/py-function.c,
16905         python/py-inferior.c, python/py-infevents.c,
16906         python/py-linetable.c, python/py-newobjfileevent.c,
16907         python/py-param.c, python/py-prettyprint.c, python/py-ref.h,
16908         python/py-signalevent.c, python/py-stopevent.c,
16909         python/py-symbol.c, python/py-threadevent.c, python/py-type.c,
16910         python/py-unwind.c, python/py-utils.c, python/py-value.c,
16911         python/py-varobj.c, python/py-xmethods.c, python/python.c,
16912         varobj.c: Change gdbpy_ref to gdbpy_ref<>.
16913
16914 2017-02-10  Tom Tromey  <tom@tromey.com>
16915
16916         * ui-out.h (ui_out_emit_type): New class.
16917         (ui_out_emit_tuple, ui_out_emit_list): New typedefs.
16918         * python/py-framefilter.c (py_print_single_arg): Use gdb::optional
16919         and ui_out_emit_tuple.
16920         (enumerate_locals): Likewise.
16921         (py_mi_print_variables, py_print_locals, py_print_args): Use
16922         ui_out_emit_list.
16923         (py_print_frame): Use gdb::optional, ui_out_emit_tuple,
16924         ui_out_emit_list.
16925         * common/gdb_optional.h: New file.
16926
16927 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16928
16929         * MAINTAINERS (Write After Approval): Update my e-mail address.
16930
16931 2017-02-10  Martin Galvan  <martingalvan@sourceware.org>
16932
16933         PR gdb/21122
16934         * breakpoint.c (_initialize_breakpoint): Update the help description
16935         of the 'commands' command to indicate that it takes a list argument.
16936
16937 2017-02-09  Simon Marchi  <simon.marchi@ericsson.com>
16938
16939         * interps.c (current_interp_set_logging): Remove "return".
16940
16941 2017-02-09  Gary Benson  <gbenson@redhat.com>
16942
16943         * symtab.c (add_symtab_completions): Prevent NULL pointer
16944         dereference.
16945
16946 2017-02-08  Pedro Alves  <palves@redhat.com>
16947
16948         * interps.c (interp::interp): Remove reference to quiet_p.
16949         (interp_set): Make static.  Remove dead "Switching to" output
16950         code.
16951         (interp_quiet_p, interp_set_quiet): Delete.
16952         (interpreter_exec_cmd): Don't set the interpreter quiet.
16953         * interps.h (interp_quiet_p): Make static.
16954         (class interp) <quiet_p>: Remove field
16955
16956 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16957
16958         * cli/cli-decode.c (find_command_name_length): Make it extern.
16959         * cli/cli-decode.h (find_command_name_length): Declare.
16960         * cli/cli-script.c (command_name_equals, line_first_arg):
16961         New functions.
16962         (process_next_line): Use cli-decode to parse command names.
16963         (build_command_line): Make args a constant pointer.
16964
16965 2017-02-08  Jerome Guitton  <guitton@adacore.com>
16966
16967         * cli-decode.c (lookup_cmd_1, lookup_cmd_composition):
16968         Remove case-insensitive search.
16969
16970 2017-02-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
16971
16972         * sparc-tdep.c (sparc32_gdbarch_init): Do not place a + operator
16973         at the end of the line.  Avoids an ARI warning.
16974
16975 2017-02-06  Luis Machado  <lgustavo@codesourcery.com>
16976
16977         * NEWS: Mention support for record/replay of Intel 64 rdrand and
16978         rdseed instructions.
16979         i386-tdep.c (i386_process_record): Handle Intel 64 rdrand and rseed.
16980
16981 2017-02-06  Ivo Raisr  <ivo.raisr@oracle.com>
16982
16983         PR tdep/20936
16984         Provide and use sparc32 and sparc64 target description XML files.
16985         * features/sparc/sparc32-cp0.xml, features/sparc/sparc32-cpu.xml,
16986         features/sparc/sparc32-fpu.xml: New files for sparc 32-bit.
16987         * features/sparc/sparc64-cp0.xml, features/sparc/sparc64-cpu.xml,
16988         features/sparc/sparc64-fpu.xml: New files for sparc 64-bit.
16989         * features/sparc/sparc32-solaris.xml: New file.
16990         * features/sparc/sparc64-solaris.xml: New file.
16991         * features/sparc/sparc32-solaris.c: Generated.
16992         * features/sparc/sparc64-solaris.c: Generated.
16993         * sparc-tdep.h: Account for differences in target descriptions.
16994         * sparc-tdep.c (sparc32_register_name): Use target provided registers.
16995         (sparc32_register_type): Use target provided registers.
16996         (validate_tdesc_registers): New function.
16997         (sparc32_gdbarch_init): Use tdesc_has_registers.
16998         Set pseudoregister functions.
16999         * sparc64-tdep.c (sparc64_register_name): Use target provided registers.
17000         (sparc64_register_type): Use target provided registers.
17001         (sparc64_init_abi): Set pseudoregister functions.
17002
17003 2017-02-03  Tom Tromey  <tom@tromey.com>
17004
17005         PR rust/21097:
17006         * rust-lang.c (rust_print_type) <TYPE_CODE_UNION>: Handle enums
17007         with a single member.
17008
17009 2017-02-03  Pedro Alves  <palves@redhat.com>
17010
17011         * cli/cli-interp.c (cli_interp_base::cli_interp_base)
17012         (cli_interp_base::~cli_interp_base): New.
17013         (cli_interp): New struct.
17014         (as_cli_interp): Cast the interp itself to cli_interp.
17015         (cli_interpreter_pre_command_loop): Rename to ...
17016         (cli_interp_base::pre_command_loop): ... this.  Remove 'self'
17017         parameter.
17018         (cli_interpreter_init): Rename to ...
17019         (cli_interp::init): ... this.  Remove 'self' parameter.  Use
17020         boolean.  Make extern.
17021         (cli_interpreter_resume): Rename to ...
17022         (cli_interp::resume): ... this.  Remove 'data' parameter.  Make
17023         extern.
17024         (cli_interpreter_suspend): Rename to ...
17025         (cli_interp::suspend): ... this.  Remove 'data' parameter.  Make
17026         extern.
17027         (cli_interpreter_exec): Rename to ...
17028         (cli_interp::exec): ... this.  Remove 'data' parameter.  Make
17029         extern.
17030         (cli_interpreter_supports_command_editing): Rename to ...
17031         (cli_interp_base::supports_command_editing): ... this.  Remove
17032         'interp' parameter.  Make extern.
17033         (cli_ui_out): Rename to ...
17034         (cli_interp::interp_ui_out): ... this.  Remove 'interp' parameter.
17035         Make extern.
17036         (cli_set_logging): Rename to ...
17037         (cli_interp_base::set_logging): ... this.  Remove 'interp'
17038         parameter.  Make extern.
17039         (cli_interp_procs): Delete.
17040         (cli_interp_factory): Adjust to use "new".
17041         * cli/cli-interp.h: Include "interps.h".
17042         (struct cli_interp_base): New struct.
17043         * interps.c (struct interp): Delete.  Fields moved to interps.h.
17044         (interp_new): Delete.
17045         (interp::interp, interp::~interp): New.
17046         (interp_set): Use bool, and return void.  Assume the interpreter
17047         has suspend, init and resume methods, and that the all return
17048         void.
17049         (set_top_level_interpreter): interp_set returns void.
17050         (interp_ui_out): Adapt.
17051         (current_interp_set_logging): Adapt.
17052         (interp_data): Delete.
17053         (interp_pre_command_loop, interp_supports_command_editing): Adapt.
17054         (interp_exec): Adapt.
17055         (top_level_interpreter_data): Delete.
17056         * interps.h (interp_init_ftype, interp_resume_ftype)
17057         (interp_suspend_ftype, interp_exec_ftype)
17058         (interp_pre_command_loop_ftype, interp_ui_out_ftype): Delete.
17059         (class interp): New.
17060         (interp_new): Delete.
17061         (interp_set): Now returns void.  Use bool.
17062         (interp_data, top_level_interpreter_data): Delete.
17063         * mi/mi-common.h: Include interps.h.
17064         (class mi_interp): Inherit from interp.  Define a ctor.  Declare
17065         init, resume, suspect, exec, interp_ui_out, set_logging and
17066         pre_command_loop methods.
17067         * mi/mi-interp.c (as_mi_interp): Cast the interp itself.
17068         (mi_interpreter_init): Rename to ...
17069         (mi_interp::init): ... this.  Remove the 'interp' parameter, use
17070         bool, return void and make extern.  Adjust.
17071         (mi_interpreter_resume): ... Rename to ...
17072         (mi_interp::resume): ... this.  Remove the 'data' parameter,
17073         return void and make extern.  Adjust.
17074         (mi_interpreter_suspend): ... Rename to ...
17075         (mi_interp::suspend): ... this.  Remove the 'data' parameter,
17076         return void and make extern.  Adjust.
17077         (mi_interpreter_exec): ... Rename to ...
17078         (mi_interp::exec): ... this.  Remove the 'data' parameter and make
17079         extern.  Adjust.
17080         (mi_interpreter_pre_command_loop): ... Rename to ...
17081         (mi_interp::pre_command_loop): ... this.  Remove the 'self'
17082         parameter and make extern.
17083         (mi_on_normal_stop_1): Adjust.
17084         (mi_ui_out): Rename to ...
17085         (mi_interp::interp_ui_out): ... this.  Remove the 'interp'
17086         parameter and make extern.  Adjust.
17087         (mi_set_logging): Rename to ...
17088         (mi_interp::set_logging): ... this.  Remove the 'interp'
17089         parameter and make extern.  Adjust.
17090         (mi_interp_procs): Delete.
17091         (mi_interp_factory): Adjust to use 'new'.
17092         * mi/mi-main.c (mi_cmd_gdb_exit, captured_mi_execute_command)
17093         (mi_print_exception, mi_execute_command, mi_load_progress):
17094         Adjust.
17095         * tui/tui-interp.c (tui_interp): New class.
17096         (as_tui_interp): Return a tui_interp pointer.
17097         (tui_on_normal_stop, tui_on_signal_received)
17098         (tui_on_end_stepping_range, tui_on_signal_exited, tui_on_exited)
17099         (tui_on_no_history, tui_on_user_selected_context_changed): Adjust
17100         to use interp::interp_ui_out.
17101         (tui_init): Rename to ...
17102         (tui_interp::init): ... this.  Remove the 'self' parameter, use
17103         bool, return void and make extern.  Adjust.
17104         (tui_resume): Rename to ...
17105         (tui_interp::resume): ... this.  Remove the 'data' parameter,
17106         return void and make extern.  Adjust.
17107         (tui_suspend): Rename to ...
17108         (tui_interp::suspend): ... this.  Remove the 'data' parameter,
17109         return void and make extern.  Adjust.
17110         (tui_ui_out): Rename to ...
17111         (tui_interp::interp_ui_out): ... this.  Remove the 'self'
17112         parameter, and make extern.  Adjust.
17113         (tui_exec): Rename to ...
17114         (tui_interp::exec): ... this.  Remove the 'data' parameter and
17115         make extern.
17116         (tui_interp_procs): Delete.
17117         (tui_interp_factory): Use "new".
17118
17119 2017-02-02  Tom Tromey  <tom@tromey.com>
17120
17121         * rust-exp.y (ends_raw_string, space_then_number)
17122         (rust_identifier_start_p): Return bool.
17123         * rust-lang.c (rust_tuple_type_p, rust_underscore_fields)
17124         (rust_tuple_struct_type_p, rust_tuple_variant_type_p)
17125         (rust_slice_type_p, rust_range_type_p, rust_u8_type_p)
17126         (rust_chartype_p): Return bool.
17127         (val_print_struct, rust_print_struct_def, rust_print_type):
17128         Update.
17129         * rust-lang.h (rust_tuple_type_p, rust_tuple_struct_type_p):
17130         Return bool.
17131
17132 2017-02-02  Tom Tromey  <tom@tromey.com>
17133
17134         * rust-lang.c: Reindent.
17135
17136 2017-02-02  Tom Tromey  <tom@tromey.com>
17137
17138         * rust-lang.h (rust_crate_for_block): Update.
17139         * rust-lang.c (rust_crate_for_block): Return std::string.
17140         (rust_get_disr_info): Use std:;string, not
17141         gdb::unique_xmalloc_ptr.
17142         * rust-exp.y (crate_name): Update.
17143
17144 2017-02-02  Pedro Alves  <palves@redhat.com>
17145
17146         * disasm-selftests.c (print_one_insn_test): Move the "verbose"
17147         field out of gdb_disassembler_test and make it static.
17148
17149 2017-02-02  Pedro Alves  <palves@redhat.com>
17150
17151         * mi/mi-common.h (struct mi_interp): Delete the mi2_interp,
17152         mi1_interp and mi_interp fields.
17153
17154 2017-02-02  Pedro Alves  <palves@redhat.com>
17155
17156         * cli/cli-interp.c (struct saved_output_files, saved_output):
17157         Moved from cli/cli-logging.c.
17158         (cli_set_logging): New function.
17159         (cli_interp_procs): Install cli_set_logging.
17160         * cli/cli-interp.h (make_logging_output, cli_set_logging):
17161         Declare.
17162         * cli/cli-logging.c (struct saved_output_files, saved_output):
17163         Moved to cli/cli-interp.c.
17164         (pop_output_files): Don't save outputs here.
17165         (make_logging_output): New function.
17166         (handle_redirections): Don't build tee nor save previous outputs
17167         here.
17168         * interps.c (current_interp_set_logging): Change prototype.
17169         Assume there's always a set_logging_proc method installed.
17170         * interps.h (interp_set_logging_ftype): Change prototype.
17171         (current_interp_set_logging): Change prototype and adjust comment.
17172         * mi/mi-interp.c (mi_set_logging): Change protototype.  Adjust to
17173         use make_logging_output.
17174         * tui/tui-interp.c (tui_interp_procs): Install cli_set_logging.
17175 2017-02-02  Pedro Alves  <palves@redhat.com>
17176
17177         * cli/cli-logging.c (maybe_warn_already_logging): New factored out
17178         from ...
17179         (set_logging_overwrite): ... here.
17180         (logging_no_redirect_file): Delete.
17181         (set_logging_redirect): Don't handle redirection on the fly.
17182         Instead warn that "logging off" / "logging on" is necessary.
17183         (pop_output_files): Delete references to logging_no_redirect_file.
17184         (show_logging_command): Always speak in terms of what will happen
17185         once logging is reenabled.
17186
17187 2017-02-02  Pedro Alves  <palves@redhat.com>
17188
17189         * disasm.h (gdb_pretty_print_disassembler): Tweak intro comment.
17190
17191 2017-02-02  Pedro Alves  <palves@redhat.com>
17192
17193         * disasm.c (gdb_pretty_print_insn): Rename to ...
17194         (gdb_pretty_print_disassembler::pretty_print_insn): ... this.
17195         Remove gdbarch parameter.  Adapt to clear the object's buffers
17196         instead of allocating new buffers, and to print using the object's
17197         gdb_disassembler instead of calling gdb_print_insn.
17198         (dump_insns): Use gdb_pretty_print_disassembler.
17199         * disasm.h (gdb_pretty_print_insn): Delete declaration.
17200         (gdb_pretty_print_disassembler): New class.
17201         * record-btrace.c (btrace_insn_history): Use
17202         gdb_pretty_print_disassembler.
17203
17204 2017-02-02  Pedro Alves  <palves@redhat.com>
17205
17206         * ada-lang.c (type_as_string): Use string_file.
17207         * ada-valprint.c (ada_print_floating): Use string_file.
17208         * ada-varobj.c (ada_varobj_scalar_image)
17209         (ada_varobj_get_value_image): Use string_file.
17210         * aix-thread.c (aix_thread_extra_thread_info): Use string_file.
17211         * arm-tdep.c (_initialize_arm_tdep): Use string_printf.
17212         * breakpoint.c (update_inserted_breakpoint_locations)
17213         (insert_breakpoint_locations, reattach_breakpoints)
17214         (print_breakpoint_location, print_one_detail_ranged_breakpoint)
17215         (print_it_watchpoint): Use string_file.
17216         (save_breakpoints): Use stdio_file.
17217         * c-exp.y (oper): Use string_file.
17218         * cli/cli-logging.c (set_logging_redirect): Use ui_file_up and
17219         tee_file.
17220         (pop_output_files): Use delete.
17221         (handle_redirections): Use stdio_file and tee_file.
17222         * cli/cli-setshow.c (do_show_command): Use string_file.
17223         * compile/compile-c-support.c (c_compute_program): Use
17224         string_file.
17225         * compile/compile-c-symbols.c (generate_vla_size): Take a
17226         'string_file &' instead of a 'ui_file *'.
17227         (generate_c_for_for_one_variable): Take a 'string_file &' instead
17228         of a 'ui_file *'.  Use string_file.
17229         (generate_c_for_variable_locations): Take a 'string_file &'
17230         instead of a 'ui_file *'.
17231         * compile/compile-internal.h (generate_c_for_for_one_variable):
17232         Take a 'string_file &' instead of a 'ui_file *'.
17233         * compile/compile-loc2c.c (push, pushf, unary, binary)
17234         (print_label, pushf_register_address, pushf_register)
17235         (do_compile_dwarf_expr_to_c): Take a 'string_file &' instead of a
17236         'ui_file *'.  Adjust.
17237         * compile/compile.c (compile_to_object): Use string_file.
17238         * compile/compile.h (compile_dwarf_expr_to_c)
17239         (compile_dwarf_bounds_to_c): Take a 'string_file &' instead of a
17240         'ui_file *'.
17241         * cp-support.c (inspect_type): Use string_file and obstack_copy0.
17242         (replace_typedefs_qualified_name): Use string_file and
17243         obstack_copy0.
17244         * disasm.c (gdb_pretty_print_insn): Use string_file.
17245         (gdb_disassembly): Adjust reference the null_stream global.
17246         (do_ui_file_delete): Delete.
17247         (gdb_insn_length): Use null_stream.
17248         * dummy-frame.c (maintenance_print_dummy_frames): Use stdio_file.
17249         * dwarf2loc.c (dwarf2_compile_property_to_c)
17250         (locexpr_generate_c_location, loclist_generate_c_location): Take a
17251         'string_file &' instead of a 'ui_file *'.
17252         * dwarf2loc.h (dwarf2_compile_property_to_c): Likewise.
17253         * dwarf2read.c (do_ui_file_peek_last): Delete.
17254         (dwarf2_compute_name): Use string_file.
17255         * event-top.c (gdb_setup_readline): Use stdio_file.
17256         * gdbarch.sh (verify_gdbarch): Use string_file.
17257         * gdbtypes.c (safe_parse_type): Use null_stream.
17258         * guile/scm-breakpoint.c (gdbscm_breakpoint_commands): Use
17259         string_file.
17260         * guile/scm-disasm.c (gdbscm_print_insn_from_port): Take a
17261         'string_file *' instead of a 'ui_file *'.
17262         (gdbscm_arch_disassemble): Use string_file.
17263         * guile/scm-frame.c (frscm_print_frame_smob): Use string_file.
17264         * guile/scm-ports.c (class ioscm_file_port): Now a class that
17265         inherits from ui_file.
17266         (ioscm_file_port_delete, ioscm_file_port_rewind)
17267         (ioscm_file_port_put): Delete.
17268         (ioscm_file_port_write): Rename to ...
17269         (ioscm_file_port::write): ... this.  Remove file_port_magic
17270         checks.
17271         (ioscm_file_port_new): Delete.
17272         (ioscm_with_output_to_port_worker): Use ioscm_file_port and
17273         ui_file_up.
17274         * guile/scm-type.c (tyscm_type_name): Use string_file.
17275         * guile/scm-value.c (vlscm_print_value_smob, gdbscm_value_print):
17276         Use string_file.
17277         * infcmd.c (print_return_value_1): Use string_file.
17278         * infrun.c (print_target_wait_results): Use string_file.
17279         * language.c (add_language): Use string_file.
17280         * location.c (explicit_to_string_internal): Use string_file.
17281         * main.c (captured_main_1): Use null_file.
17282         * maint.c (maintenance_print_architecture): Use stdio_file.
17283         * mi/mi-cmd-stack.c (list_arg_or_local): Use string_file.
17284         * mi/mi-common.h (struct mi_interp) <out, err, log, targ,
17285         event_channel>: Change type to mi_console_file pointer.
17286         * mi/mi-console.c (mi_console_file_fputs, mi_console_file_flush)
17287         (mi_console_file_delete): Delete.
17288         (struct mi_console_file): Delete.
17289         (mi_console_file_magic): Delete.
17290         (mi_console_file_new): Delete.
17291         (mi_console_file::mi_console_file): New.
17292         (mi_console_file_delete): Delete.
17293         (mi_console_file_fputs): Delete.
17294         (mi_console_file::write): New.
17295         (mi_console_raw_packet): Delete.
17296         (mi_console_file::flush): New.
17297         (mi_console_file_flush): Delete.
17298         (mi_console_set_raw): Rename to ...
17299         (mi_console_file::set_raw): ... this.
17300         * mi/mi-console.h (class mi_console_file): New class.
17301         (mi_console_file_new, mi_console_set_raw): Delete.
17302         * mi/mi-interp.c (mi_interpreter_init): Use mi_console_file.
17303         (mi_set_logging): Use delete and tee_file.  Adjust.
17304         * mi/mi-main.c (output_register): Use string_file.
17305         (mi_cmd_data_evaluate_expression): Use string_file.
17306         (mi_cmd_data_read_memory): Use string_file.
17307         (mi_cmd_execute, print_variable_or_computed): Use string_file.
17308         * mi/mi-out.c (mi_ui_out::main_stream): New.
17309         (mi_ui_out::rewind): Use main_stream and
17310         string_file.
17311         (mi_ui_out::put): Use main_stream and string_file.
17312         (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17313         Allocate a 'string_file' instead.
17314         (mi_out_new): Don't allocate a mem_fileopen stream here.
17315         * mi/mi-out.h (mi_ui_out::mi_ui_out): Remove 'stream' parameter.
17316         (mi_ui_out::main_stream): Declare method.
17317         * printcmd.c (eval_command): Use string_file.
17318         * psymtab.c (maintenance_print_psymbols): Use stdio_file.
17319         * python/py-arch.c (archpy_disassemble): Use string_file.
17320         * python/py-breakpoint.c (bppy_get_commands): Use string_file.
17321         * python/py-frame.c (frapy_str): Use string_file.
17322         * python/py-framefilter.c (py_print_type, py_print_single_arg):
17323         Use string_file.
17324         * python/py-type.c (typy_str): Use string_file.
17325         * python/py-unwind.c (unwind_infopy_str): Use string_file.
17326         * python/py-value.c (valpy_str): Use string_file.
17327         * record-btrace.c (btrace_insn_history): Use string_file.
17328         * regcache.c (regcache_print): Use stdio_file.
17329         * reggroups.c (maintenance_print_reggroups): Use stdio_file.
17330         * remote.c (escape_buffer): Use string_file.
17331         * rust-lang.c (rust_get_disr_info): Use string_file.
17332         * serial.c (serial_open_ops_1): Use stdio_file.
17333         (do_serial_close): Use delete.
17334         * stack.c (print_frame_arg): Use string_file.
17335         (print_frame_args): Remove local mem_fileopen stream, not used.
17336         (print_frame): Use string_file.
17337         * symmisc.c (maintenance_print_symbols): Use stdio_file.
17338         * symtab.h (struct symbol_computed_ops) <generate_c_location>:
17339         Take a 'string_file *' instead of a 'ui_file *'.
17340         * top.c (new_ui): Use stdio_file and stderr_file.
17341         (free_ui): Use delete.
17342         (execute_command_to_string): Use string_file.
17343         (quit_confirm): Use string_file.
17344         * tracepoint.c (collection_list::append_exp): Use string_file.
17345         * tui/tui-disasm.c (tui_disassemble): Use string_file.
17346         * tui/tui-file.c: Don't include "ui-file.h".
17347         (enum streamtype, struct tui_stream): Delete.
17348         (tui_file_new, tui_file_delete, tui_fileopen, tui_sfileopen)
17349         (tui_file_isatty, tui_file_rewind, tui_file_put): Delete.
17350         (tui_file::tui_file): New method.
17351         (tui_file_fputs): Delete.
17352         (tui_file_get_strbuf): Delete.
17353         (tui_file::puts): New method.
17354         (tui_file_adjust_strbuf): Delete.
17355         (tui_file_flush): Delete.
17356         (tui_file::flush): New method.
17357         * tui/tui-file.h: Tweak intro comment.
17358         Include ui-file.h.
17359         (tui_fileopen, tui_sfileopen, tui_file_get_strbuf)
17360         (tui_file_adjust_strbuf): Delete declarations.
17361         (class tui_file): New class.
17362         * tui/tui-io.c (tui_initialize_io): Use tui_file.
17363         * tui/tui-regs.c (tui_restore_gdbout): Use delete.
17364         (tui_register_format): Use string_stream.
17365         * tui/tui-stack.c (tui_make_status_line): Use string_file.
17366         (tui_get_function_from_frame): Use string_file.
17367         * typeprint.c (type_to_string): Use string_file.
17368         * ui-file.c (struct ui_file, ui_file_magic, ui_file_new): Delete.
17369         (null_stream): New global.
17370         (ui_file_delete): Delete.
17371         (ui_file::ui_file): New.
17372         (null_file_isatty): Delete.
17373         (ui_file::~ui_file): New.
17374         (null_file_rewind): Delete.
17375         (ui_file::printf): New.
17376         (null_file_put): Delete.
17377         (null_file_flush): Delete.
17378         (ui_file::putstr): New.
17379         (null_file_write): Delete.
17380         (ui_file::putstrn): New.
17381         (null_file_read): Delete.
17382         (ui_file::putc): New.
17383         (null_file_fputs): Delete.
17384         (null_file_write_async_safe): Delete.
17385         (ui_file::vprintf): New.
17386         (null_file_delete): Delete.
17387         (null_file::write): New.
17388         (null_file_fseek): Delete.
17389         (null_file::puts): New.
17390         (ui_file_data): Delete.
17391         (null_file::write_async_safe): New.
17392         (gdb_flush, ui_file_isatty): Adjust.
17393         (ui_file_put, ui_file_rewind): Delete.
17394         (ui_file_write): Adjust.
17395         (ui_file_write_for_put): Delete.
17396         (ui_file_write_async_safe, ui_file_read): Adjust.
17397         (ui_file_fseek): Delete.
17398         (fputs_unfiltered): Adjust.
17399         (set_ui_file_flush, set_ui_file_isatty, set_ui_file_rewind)
17400         (set_ui_file_put, set_ui_file_write, set_ui_file_write_async_safe)
17401         (set_ui_file_read, set_ui_file_fputs, set_ui_file_fseek)
17402         (set_ui_file_data): Delete.
17403         (string_file::~string_file, string_file::write)
17404         (struct accumulated_ui_file, do_ui_file_xstrdup, ui_file_xstrdup)
17405         (do_ui_file_as_string, ui_file_as_string): Delete.
17406         (do_ui_file_obsavestring, ui_file_obsavestring): Delete.
17407         (struct mem_file): Delete.
17408         (mem_file_new): Delete.
17409         (stdio_file::stdio_file): New.
17410         (mem_file_delete): Delete.
17411         (stdio_file::stdio_file): New.
17412         (mem_fileopen): Delete.
17413         (stdio_file::~stdio_file): New.
17414         (mem_file_rewind): Delete.
17415         (stdio_file::set_stream): New.
17416         (mem_file_put): Delete.
17417         (stdio_file::open): New.
17418         (mem_file_write): Delete.
17419         (stdio_file_magic, struct stdio_file): Delete.
17420         (stdio_file_new, stdio_file_delete, stdio_file_flush): Delete.
17421         (stdio_file::flush): New.
17422         (stdio_file_read): Rename to ...
17423         (stdio_file::read): ... this.  Adjust.
17424         (stdio_file_write): Rename to ...
17425         (stdio_file::write): ... this.  Adjust.
17426         (stdio_file_write_async_safe): Rename to ...
17427         (stdio_file::write_async_safe) ... this.  Adjust.
17428         (stdio_file_fputs): Rename to ...
17429         (stdio_file::puts) ... this.  Adjust.
17430         (stdio_file_isatty): Delete.
17431         (stdio_file_fseek): Delete.
17432         (stdio_file::isatty): New.
17433         (stderr_file_write): Rename to ...
17434         (stderr_file::write) ... this.  Adjust.
17435         (stderr_file_fputs): Rename to ...
17436         (stderr_file::puts) ... this.  Adjust.
17437         (stderr_fileopen, stdio_fileopen, gdb_fopen): Delete.
17438         (stderr_file::stderr_file): New.
17439         (tee_file_magic): Delete.
17440         (struct tee_file): Delete.
17441         (tee_file::tee_file): New.
17442         (tee_file_new): Delete.
17443         (tee_file::~tee_file): New.
17444         (tee_file_delete): Delete.
17445         (tee_file_flush): Rename to ...
17446         (tee_file::flush): ... this.  Adjust.
17447         (tee_file_write): Rename to ...
17448         (tee_file::write): ... this.  Adjust.
17449         (tee_file::write_async_safe): New.
17450         (tee_file_fputs): Rename to ...
17451         (tee_file::puts): ... this.  Adjust.
17452         (tee_file_isatty): Rename to ...
17453         (tee_file::isatty): ... this.  Adjust.
17454         * ui-file.h (struct obstack, struct ui_file): Don't
17455         forward-declare.
17456         (ui_file_new, ui_file_flush_ftype, set_ui_file_flush)
17457         (ui_file_write_ftype)
17458         (set_ui_file_write, ui_file_fputs_ftype, set_ui_file_fputs)
17459         (ui_file_write_async_safe_ftype, set_ui_file_write_async_safe)
17460         (ui_file_read_ftype, set_ui_file_read, ui_file_isatty_ftype)
17461         (set_ui_file_isatty, ui_file_rewind_ftype, set_ui_file_rewind)
17462         (ui_file_put_method_ftype, ui_file_put_ftype, set_ui_file_put)
17463         (ui_file_delete_ftype, set_ui_file_data, ui_file_fseek_ftype)
17464         (set_ui_file_fseek): Delete.
17465         (ui_file_data, ui_file_delete, ui_file_rewind)
17466         (struct ui_file): New.
17467         (ui_file_up): New.
17468         (class null_file): New.
17469         (null_stream): Declare.
17470         (ui_file_write_for_put, ui_file_put): Delete.
17471         (ui_file_xstrdup, ui_file_as_string, ui_file_obsavestring):
17472         Delete.
17473         (ui_file_fseek, mem_fileopen, stdio_fileopen, stderr_fileopen)
17474         (gdb_fopen, tee_file_new): Delete.
17475         (struct string_file): New.
17476         (struct stdio_file): New.
17477         (stdio_file_up): New.
17478         (struct stderr_file): New.
17479         (class tee_file): New.
17480         * ui-out.c (ui_out::field_stream): Take a 'string_file &' instead
17481         of a 'ui_file *'.  Adjust.
17482         * ui-out.h (class ui_out) <field_stream>: Likewise.
17483         * utils.c (do_ui_file_delete, make_cleanup_ui_file_delete)
17484         (null_stream): Delete.
17485         (error_stream): Take a 'string_file &' instead of a 'ui_file *'.
17486         Adjust.
17487         * utils.h (struct ui_file): Delete forward declaration..
17488         (make_cleanup_ui_file_delete, null_stream): Delete declarations.
17489         (error_stream): Take a 'string_file &' instead of a
17490         'ui_file *'.
17491         * varobj.c (varobj_value_get_print_value): Use string_file.
17492         * xtensa-tdep.c (xtensa_verify_config): Use string_file.
17493         * gdbarch.c: Regenerate.
17494
17495 2017-02-02  Pedro Alves  <palves@redhat.com>
17496
17497         * disasm.c (gdb_disassembler::pretty_print_insn): Rename to...
17498         (gdb_pretty_print_insn): ... this.  Now a free function.  Add back
17499         a 'gdbarch' parameter.  Allocate a mem_fileopen stream here.
17500         Adjust to call gdb_print_insn instead of
17501         gdb_disassembler::print_insn.
17502         (dump_insns, do_mixed_source_and_assembly_deprecated)
17503         (do_mixed_source_and_assembly, do_assembly_only): Add back a
17504         'gdbarch' parameter.  Remove gdb_disassembler parameter.
17505         (gdb_disassembly): Don't allocate a gdb_disassembler here.
17506         * disasm.h (gdb_disassembler::pretty_print_insn): Delete
17507         declaration.
17508         (gdb_pretty_print_insn): Re-add declaration.
17509         * record-btrace.c (btrace_insn_history): Don't allocate a
17510         gdb_disassembler here.  Adjust to call gdb_pretty_print_insn.
17511
17512 2017-02-01  Simon Marchi  <simon.marchi@polymtl.ca>
17513
17514         * disasm.h (gdb_disassembly): Remove file_string parameter.
17515         * disasm.c (gdb_disassembly): Likewise.
17516         * cli/cli-cmds.c (print_disassembly): Adapt.
17517         * mi/mi-cmd-disas.c (mi_cmd_disassemble): Likewise.
17518         * stack.c (do_gdb_disassembly): Likewise.
17519
17520 2017-02-01  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17521
17522         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): For
17523         DWARF_VALUE_LITERAL, no longer ignore the offset on big-endian
17524         targets.  And if the implicit value is longer than needed, extract
17525         the first bytes instead of the "least significant" ones.
17526
17527 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17528
17529         * btrace.c (btrace_enable): Do not call btrace_add_pc for
17530         BTRACE_FORMAT_PT or if can_access_registers_ptid returns false.
17531         (btrace_fetch): Assert can_access_registers_ptid.
17532         * record-btrace.c (require_btrace_thread, record_btrace_info): Call
17533         validate_registers_access.
17534
17535 2017-02-01  Markus Metzger  <markus.t.metzger@intel.com>
17536
17537         * gdbthread.h (can_access_registers_ptid): New.
17538         * thread.c (can_access_registers_ptid): New.
17539
17540 2017-02-01  Pedro Alves  <palves@redhat.com>
17541
17542         * i386-tdep.c (i386_fast_tracepoint_valid_at): Use gdb_insn_length.
17543
17544 2017-01-31  Pedro Alves  <palves@redhat.com>
17545
17546         * mi/mi-interp.c (mi_breakpoint_created, mi_breakpoint_modified):
17547         Fix typos.
17548
17549 2017-01-31  Pedro Alves  <palves@redhat.com>
17550
17551         * stack.c (print_frame_args): Remove local mem_fileopen stream,
17552         not used.
17553
17554 2017-01-31  Pedro Alves  <palves@redhat.com>
17555
17556         * varobj.c (varobj_value_get_print_value): Remove xstrdup call.
17557
17558 2017-01-31  Pedro Alves  <palves@redhat.com>
17559
17560         * common/scoped_restore.h
17561         (scoped_restore_tmpl::scoped_restore_tmpl): Template on T2, and
17562         change the value's parameter type to T2.
17563         (make_scoped_restore): Likewise.
17564
17565 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17566             Richard Henderson  <rth@redhat.com>
17567
17568         * amd64-linux-nat.c (PTRACE_ARCH_PRCTL): New define.
17569         (amd64_linux_fetch_inferior_registers): Add case to fetch FS_BASE
17570         GS_BASE for older kernels.
17571         (amd64_linux_store_inferior_registers): Add case to store FS_BASE
17572         GS_BASE for older kernels.
17573         * amd64-linux-tdep.c (amd64_linux_gregset_reg_offset): Add FS_BASE
17574         and GS_BASE to the offset table.
17575         (amd64_linux_register_reggroup_p): Add FS_BASE and GS_BASE to the
17576         system register group.
17577         * amd64-nat.c (amd64_native_gregset_reg_offset): Implements case
17578         for older kernels.
17579         * amd64-tdep.c (amd64_init_abi): Add segment registers for the
17580         amd64 ABI.
17581         * amd64-tdep.h (amd64_regnum): Add AMD64_FSBASE_REGNUM and
17582         AMD64_GSBASE_REGNUM.
17583         (AMD64_NUM_REGS): Set to AMD64_GSBASE_REGNUM + 1.
17584         * features/Makefile (amd64-linux.dat, amd64-avx-linux.dat)
17585         (amd64-mpx-linux.dat, amd64-avx512-linux.dat, x32-linux.dat)
17586         (x32-avx-linux.dat, x32-avx512-linux.dat): Add
17587         i386/64bit-segments.xml in those rules.
17588         * features/i386/64bit-segments.xml: New file.
17589         * features/i386/amd64-avx-mpx-linux.xml: Add 64bit-segments.xml.
17590         * features/i386/amd64-avx-linux.xml: Add 64bit-segments.xml.
17591         * features/i386/amd64-avx512-linux.xml: Add 64bit-segments.xml.
17592         * features/i386/amd64-mpx-linux.xml: Add 64bit-segments.xml.
17593         * features/i386/x32-avx512-linux.xml: Add 64bit-segments.xml.
17594         * features/i386/x32-avx-linux.xml: Add 64bit-segments.xml.
17595         * features/i386/amd64-linux.xml: Add 64bit-segments.xml.
17596         * features/i386/amd64-avx-linux.c: Regenerated.
17597         * features/i386/amd64-avx-mpx-linux.c: Regenerated.
17598         * features/i386/amd64-avx-mpx.c: Regenerated.
17599         * features/i386/amd64-avx512-linux.c: Regenerated.
17600         * features/i386/amd64-linux.c: Regenerated.
17601         * features/i386/amd64-mpx-linux.c: Regenerated.
17602         * features/i386/i386-avx-mpx-linux.c: Regenerated.
17603         * features/i386/i386-avx-mpx.c: Regenerated.
17604         * features/i386/x32-avx-linux.c: Regenerated.
17605         * features/i386/x32-avx512-linux.c: Regenerated.
17606         * regformats/i386/amd64-avx-linux.dat: Regenerated.
17607         * regformats/i386/amd64-avx-mpx-linux.dat: Regenerated.
17608         * regformats/i386/amd64-avx512-linux.dat: Regenerated.
17609         * regformats/i386/amd64-linux.dat: Regenerated.
17610         * regformats/i386/amd64-mpx-linux.dat: Regenerated.
17611         * regformats/i386/x32-avx-linux.dat: Regenerated.
17612         * regformats/i386/x32-avx512-linux.dat: Regenerated.
17613         * regformats/i386/x32-linux.dat: Regenerated.
17614
17615 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17616
17617         * amd64-linux-tdep.h (AMD64_LINUX_ORIG_RAX_REGNUM):
17618         Set to AMD64_NUM_REGS.
17619
17620 2017-01-27  Walfred Tedeschi  <walfred.tedeschi@intel.com>
17621
17622         * amd64-nat.c (amd64_native_gregset_reg_offset): Simplify logic
17623         that checks validity of a register number.
17624
17625 2017-01-27  Kees Cook  <keescook@google.com>
17626
17627         * gdb/arm-linux-nat.c (arm_linux_fetch_inferior_registers): Call
17628         fetch_fpregs if target has fpa registers.
17629         (arm_linux_store_inferior_registers): Call store_fpregs if target
17630         has fpa registers.
17631
17632 2017-01-26  Andreas Arnez  <arnez@linux.vnet.ibm.com>
17633
17634         * cris-tdep.c (cris_gdbarch_init): Remove check for
17635         info.byte_order and force it to BFD_ENDIAN_LITTLE.
17636
17637 2017-01-26  Antoine Tremblay  <antoine.tremblay@ericsson.com>
17638
17639         * corelow.c (get_core_register_section): Check for regset
17640         existence before checking for REGSET_VARIABLE_SIZE.
17641
17642 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17643             Pedro Alves  <palves@redhat.com>
17644
17645         PR gdb/20939
17646         * disasm.c (gdb_disassembler::dis_asm_memory_error): Don't
17647         call memory_error, save memaddr instead.
17648         (gdb_disassembler::print_insn): If gdbarch_print_insn returns
17649         negative, cal memory_error.
17650         * disasm.h (gdb_disassembler) <m_err_memaddr>: New field.
17651
17652 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17653
17654         * disasm-selftests.c (memory_error_test): New function.
17655         (_initialize_disasm_selftests): Register memory_error_test.
17656
17657 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17658
17659         * Makefile.in (SFILES): Add disasm-selftests.c and
17660         selftest-arch.c.
17661         (COMMON_OBS): Add disasm-selftests.o and selftest-arch.o.
17662         * disasm-selftests.c: New file.
17663         * selftest-arch.c: New file.
17664         * selftest-arch.h: New file.
17665
17666 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17667
17668         * mep-tdep.c (mep_gdb_print_insn): Set info->arch
17669         to bfd_arch_mep.  Don't return 0 if section is not
17670         found.  Call print_insn_mep.
17671
17672 2017-01-26  Pedro Alves  <palves@redhat.com>
17673             Yao Qi  <yao.qi@linaro.org>
17674
17675         * arm-tdep.c: Include "disasm.h".
17676         (gdb_print_insn_arm): Update code to get gdbarch.
17677         * disasm.c (dis_asm_read_memory): Change it to
17678         gdb_disassembler::dis_asm_read_memory.
17679         (dis_asm_memory_error): Likewise.
17680         (dis_asm_print_address): Likewise.
17681         (gdb_pretty_print_insn): Change it to
17682         gdb_disassembler::pretty_print_insn.
17683         (dump_insns): Add one argument gdb_disassemlber.  All
17684         callers updated.
17685         (do_mixed_source_and_assembly_deprecated): Likewise.
17686         (do_mixed_source_and_assembly): Likewise.
17687         (do_assembly_only): Likewise.
17688         (gdb_disassembler::gdb_disassembler): New.
17689         (gdb_disassembler::print_insn): New.
17690         * disasm.h (class gdb_disassembler): New.
17691         (gdb_pretty_print_insn): Remove declaration.
17692         (gdb_disassemble_info): Likewise.
17693         * guile/scm-disasm.c (class gdbscm_disassembler): New.
17694         (gdbscm_disasm_read_memory_worker): Update.
17695         (gdbscm_disasm_read_memory): Update.
17696         (gdbscm_disasm_memory_error): Remove.
17697         (gdbscm_disasm_print_address): Remove.
17698         (gdbscm_disassembler::gdbscm_disassembler): New.
17699         (gdbscm_print_insn_from_port): Update.
17700         * mips-tdep.c: Include disasm.h.
17701         (gdb_print_insn_mips): Update code to get gdbarch.
17702         * record-btrace.c (btrace_insn_history): Update.
17703         * spu-tdep.c: Include disasm.h.
17704         (struct spu_dis_asm_data): Remove.
17705         (struct spu_dis_asm_info): New.
17706         (spu_dis_asm_print_address): Use spu_dis_asm_info to get
17707         SPU id.
17708         (gdb_print_insn_spu): Cast disassemble_info to
17709         spu_dis_asm_info.
17710
17711 2017-01-26  Yao Qi  <yao.qi@linaro.org>
17712
17713         * disasm.c (do_ui_file_delete): Delete.
17714         (gdb_insn_length): Move code creating stream to ...
17715         * utils.c (null_stream): ... here.  New function.
17716         * utils.h (null_stream): Declare.
17717
17718 2017-01-23  Simon Marchi  <simon.marchi@polymtl.ca>
17719
17720         * python/py-inferior.c (find_thread_object): Return directly
17721         from the loop.  Remove "found" variable.
17722
17723 2017-01-21  Joel Brobecker  <brobecker@adacore.com>
17724
17725         GDB 7.12.1 released.
17726
17727 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17728
17729         * python/py-function.c (fnpy_call): Reorder declarations to have
17730         the gdbpy_enter object declared first.
17731         * python/py-xmethods.c (gdbpy_get_xmethod_arg_types): Likewise.
17732
17733 2017-01-20  Simon Marchi  <simon.marchi@ericsson.com>
17734
17735         PR python/21068
17736         * python/python-internal.h (PyMem_RawMalloc): Define for
17737         Python < 3.4.
17738         * python/py-gdb-readline.c (gdbpy_readline_wrapper): Use
17739         PyMem_RawMalloc instead of PyMem_Malloc.
17740
17741 2017-01-20  Mike Wrighton  <mike_wrighton@codesourcery.com>
17742             Luis Machado  <lgustavo@codesourcery.com>
17743
17744         * NEWS (New commands): Mention flash-erase.
17745         (New MI commands): Mention target-flash-erase.
17746         * mi/mi-cmds.c (mi_cmd_target_flash_erase): Add target-flash-erase MI
17747         command.
17748         * mi/mi-cmds.h (mi_cmd_target_flash_erase): New declaration.
17749         * mi/mi-main.c (mi_cmd_target_flash_erase): New function.
17750         * target.c (flash_erase_command): New function.
17751         (initialize_targets): Add new flash-erase command.
17752         * target.h (flash_erase_command): New declaration.
17753
17754 2017-01-20  Joel Brobecker  <brobecker@adacore.com>
17755
17756         * nat/linux-ptrace.c: Only include <sys/procfs.h> if
17757         HAVE_SYS_PROCFS_H is defined.
17758
17759 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17760
17761         * remote.c (struct cached_reg): Change data into a pointer.
17762         * (stop_reply_dtr): Free data pointers before deleting vector.
17763         (process_stop_reply): Likewise.
17764         (remote_parse_stop_reply): Allocate space for data
17765
17766 2017-01-18  Alan Hayward  <alan.hayward@arm.com>
17767
17768         * amd64-tdep.c (amd64_pseudo_register_read_value): remove
17769         MAX_REGISTER_SIZE.
17770         (amd64_pseudo_register_read_value): Likewise.
17771         * remote.c (fetch_register_using_p): Remove MAX_REGISTER_SIZE.
17772         (store_register_using_P): Likewise.
17773         * regcache.c (regcache_xfer_part): Likewise.
17774
17775 2017-01-16  Ivo Raisr  <ivo.raisr@oracle.com>
17776
17777         Split real and pseudo registers.
17778         * sparc-tdep.h (SPARC_CORE_REGISTERS): New macro.
17779         (sparc32_pseudo_regnum): New enum.
17780         * sparc64-tdep.h (sparc64_pseudo_regnum): New enum.
17781         * sparc-tdep.c (SPARC32_FPU_REGISTERS): New macro.
17782         (SPARC32_CP0_REGISTERS): New macro.
17783         (sparc32_pseudo_register_name): New function.
17784         (sparc32_register_name): Use sparc32_pseudo_register_name.
17785         (sparc32_pseudo_register_type): New function.
17786         (sparc32_register_type): Use sparc32_pseudo_register_type.
17787         (sparc32_pseudo_register_read, sparc32_pseudo_register_write): Handle
17788         pseudo register numbers.
17789         * sparc64-tdep.c SPARC64_FPU_REGISTERS): New macro.
17790         (SPARC64_CP0_REGISTERS): New macro.
17791         (sparc64_pseudo_register_name): New function.
17792         (sparc64_register_name): Use sparc64_pseudo_register_name.
17793         (sparc64_pseudo_register_type): New function.
17794         (sparc64_register_type): Use sparc64_pseudo_register_type.
17795         (sparc64_pseudo_register_read, sparc64_pseudo_register_write): Handle
17796         pseudo register numbers.
17797         (sparc64_store_floating_fields, sparc64_extract_floating_fields,
17798         sparc64_store_arguments): Handle pseudo register numbers.
17799
17800 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17801
17802         * remote.c (REMOTE_DEBUG_MAX_CHAR): New macro.
17803         (putpkt_binary): Print only REMOTE_DEBUG_MAX_CHAR chars in debug
17804         output.
17805         (getpkt_or_notif_sane_1): Likewise.
17806
17807 2017-01-13  Yao Qi  <yao.qi@linaro.org>
17808
17809         * Makefile.in (checker-headers): Use CXX and CXX_DIALET instead
17810         of CC.  Pass "-x c++-header" instead of "-x c".
17811
17812 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17813
17814         * remote.c (remote_can_async_p): Update comment.
17815
17816 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17817
17818         * linux-nat.c (linux_nat_can_async_p): Update comment.
17819
17820 2017-01-12  Simon Marchi  <simon.marchi@ericsson.com>
17821
17822         * serial.c (serial_open): Forget about "pc" and "lpt" serial interface.
17823
17824 2017-01-11  Simon Marchi  <simon.marchi@ericsson.com>
17825
17826         * cli/cli-decode.c (lookup_cmd_1): Fix typo in comment.
17827
17828 2017-01-10  Tom Tromey  <tom@tromey.com>
17829
17830         * python/py-type.c (typy_legacy_template_argument): Update.
17831         * cp-support.h (struct demangle_parse_info) (demangle_parse_info,
17832         ~demangle_parse_info): Declare new members.
17833         (cp_demangled_name_to_comp): Return unique_ptr.
17834         (cp_demangled_name_parse_free)
17835         (make_cleanup_cp_demangled_name_parse_free)
17836         (cp_new_demangle_parse_info): Remove.
17837         * cp-support.c (do_demangled_name_parse_free_cleanup)
17838         (make_cleanup_cp_demangled_name_parse_free): Remove.
17839         (inspect_type, cp_canonicalize_string_full)
17840         (cp_canonicalize_string): Update.
17841         (mangled_name_to_comp): Change return type.
17842         (cp_class_name_from_physname, method_name_from_physname)
17843         (cp_func_name, cp_remove_params): Update.
17844         * cp-name-parser.y (demangle_parse_info): New constructor, from
17845         cp_new_demangle_parse_info.
17846         (~demangle_parse_info): New destructor, from
17847         cp_demangled_name_parse_free.
17848         (cp_merge_demangle_parse_infos): Update.
17849         (cp_demangled_name_to_comp): Change return type.
17850
17851 2017-01-10  Tom Tromey  <tom@tromey.com>
17852
17853         * top.c (prevent_dont_repeat): Change return type.
17854         * python/python.c (execute_gdb_command): Use std::string.
17855         Update.
17856         * guile/guile.c (gdbscm_execute_gdb_command): Update.
17857         * command.h (prevent_dont_repeat): Change return type.
17858         * breakpoint.c (bpstat_do_actions_1): Update.
17859
17860 2017-01-10  Tom Tromey  <tom@tromey.com>
17861
17862         * value.h (scoped_value_mark::~scoped_value_mark): Call
17863         free_to_mark.
17864         (scoped_value_mark::free_to_mark): New method.
17865         * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use
17866         scoped_value_mark.
17867
17868 2017-01-10  Tom Tromey  <tom@tromey.com>
17869
17870         * python/py-value.c (valpy_dereference, valpy_referenced_value)
17871         (valpy_reference_value, valpy_const_value, valpy_get_address)
17872         (valpy_get_dynamic_type, valpy_lazy_string, valpy_do_cast)
17873         (valpy_getitem, valpy_call, valpy_binop_throw, valpy_negative)
17874         (valpy_absolute, valpy_richcompare_throw): Use scoped_value_mark.
17875         * dwarf2loc.c (dwarf2_loc_desc_get_symbol_read_needs): Use
17876         scoped_value_mark.
17877         * dwarf2-frame.c (execute_stack_op): Use scoped_value_mark.
17878         * value.h (scoped_value_mark): New class.
17879
17880 2017-01-10  Tom Tromey  <tom@tromey.com>
17881
17882         * dwarf2read.c (dwarf2_build_psymtabs): Use psymtab_discarder.
17883         * psympriv.h (make_cleanup_discard_psymtabs): Don't declare.
17884         * psymtab.c (discard_psymtabs_upto): Remove.
17885         (make_cleanup_discard_psymtabs): Remove.
17886         (struct psymtab_state): Remove.
17887
17888 2017-01-10  Tom Tromey  <tom@tromey.com>
17889
17890         * record-full.c (record_full_save_cleanups): Remove.
17891         (record_full_save): Use gdb::unlinker.
17892         * gcore.c (do_bfd_delete_cleanup): Remove.
17893         (gcore_command): Use gdb::unlinker, unique_xmalloc_ptr.  Remove
17894         cleanups.
17895         * dwarf2read.c (unlink_if_set): Remove.
17896         (write_psymtabs_to_index): Use gdb::unlinker.
17897         * common/gdb_unlinker.h: New file.
17898
17899 2017-01-10  Tom Tromey  <tom@tromey.com>
17900
17901         * windows-tdep.c (windows_xfer_shared_library): Update.
17902         * windows-nat.c (windows_make_so): Update.
17903         * utils.h (make_cleanup_bfd_unref): Remove.
17904         * utils.c (do_bfd_close_cleanup, make_cleanup_bfd_unref): Remove.
17905         * symfile.h (symfile_bfd_open)
17906         (find_separate_debug_file_in_section): Return gdb_bfd_ref_ptr.
17907         * symfile.c (read_symbols, symbol_file_add)
17908         (separate_debug_file_exists): Update.
17909         (symfile_bfd_open): Return gdb_bfd_ref_ptr.
17910         (generic_load, reread_symbols): Update.
17911         * symfile-mem.c (symbol_file_add_from_memory): Update.
17912         * spu-linux-nat.c (spu_bfd_open): Return gdb_bfd_ref_ptr.
17913         (spu_symbol_file_add_from_memory): Update.
17914         * solist.h (struct target_so_ops) <bfd_open>: Return
17915         gdb_bfd_ref_ptr.
17916         (solib_bfd_fopen, solib_bfd_open): Return gdb_bfd_ref_ptr.
17917         * solib.c (solib_bfd_fopen, solib_bfd_open): Return
17918         gdb_bfd_ref_ptr.
17919         (solib_map_sections, reload_shared_libraries_1): Update.
17920         * solib-svr4.c (enable_break): Update.
17921         * solib-spu.c (spu_bfd_fopen): Return gdb_bfd_ref_ptr.
17922         * solib-frv.c (enable_break2): Update.
17923         * solib-dsbt.c (enable_break): Update.
17924         * solib-darwin.c (gdb_bfd_mach_o_fat_extract): Return
17925         gdb_bfd_ref_ptr.
17926         (darwin_solib_get_all_image_info_addr_at_init): Update.
17927         (darwin_bfd_open): Return gdb_bfd_ref_ptr.
17928         * solib-aix.c (solib_aix_bfd_open): Return gdb_bfd_ref_ptr.
17929         * record-full.c (record_full_save): Update.
17930         * python/py-objfile.c (objfpy_add_separate_debug_file): Update.
17931         * procfs.c (insert_dbx_link_bpt_in_file): Update.
17932         * minidebug.c (find_separate_debug_file_in_section): Return
17933         gdb_bfd_ref_ptr.
17934         * machoread.c (macho_add_oso_symfile): Change abfd to
17935         gdb_bfd_ref_ptr.
17936         (macho_symfile_read_all_oso): Update.
17937         (macho_check_dsym): Return gdb_bfd_ref_ptr.
17938         (macho_symfile_read): Update.
17939         * jit.c (bfd_open_from_target_memory): Return gdb_bfd_ref_ptr.
17940         (jit_bfd_try_read_symtab): Update.
17941         * gdb_bfd.h (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17942         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17943         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17944         gdb_bfd_ref_ptr.
17945         (gdb_bfd_ref_policy): New struct.
17946         (gdb_bfd_ref_ptr): New typedef.
17947         * gdb_bfd.c (gdb_bfd_open, gdb_bfd_fopen, gdb_bfd_openr)
17948         (gdb_bfd_openw, gdb_bfd_openr_iovec)
17949         (gdb_bfd_openr_next_archived_file, gdb_bfd_fdopenr): Return
17950         gdb_bfd_ref_ptr.
17951         * gcore.h (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17952         * gcore.c (create_gcore_bfd): Return gdb_bfd_ref_ptr.
17953         (gcore_command): Update.
17954         * exec.c (exec_file_attach): Update.
17955         * elfread.c (elf_symfile_read): Update.
17956         * dwarf2read.c (dwarf2_get_dwz_file): Update.
17957         (try_open_dwop_file, open_dwo_file): Return gdb_bfd_ref_ptr.
17958         (open_and_init_dwo_file): Update.
17959         (open_dwp_file): Return gdb_bfd_ref_ptr.
17960         (open_and_init_dwp_file): Update.
17961         * corelow.c (core_open): Update.
17962         * compile/compile-object-load.c (compile_object_load): Update.
17963         * common/gdb_ref_ptr.h (ref_ptr::operator->): New operator.
17964         * coffread.c (coff_symfile_read): Update.
17965         * cli/cli-dump.c (bfd_openr_or_error, bfd_openw_or_error): Return
17966         gdb_bfd_ref_ptr.  Rename.
17967         (dump_bfd_file, restore_command): Update.
17968         * build-id.h (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17969         * build-id.c (build_id_to_debug_bfd): Return gdb_bfd_ref_ptr.
17970         (find_separate_debug_file_by_buildid): Update.
17971
17972 2017-01-10  Tom Tromey  <tom@tromey.com>
17973
17974         * common/gdb_ref_ptr.h: New file.
17975         * python/py-ref.h (struct gdbpy_ref_policy): New.
17976         (gdbpy_ref): Now a typedef.
17977
17978 2017-01-10  Tom Tromey  <tom@tromey.com>
17979
17980         * utils.h (make_cleanup_htab_delete): Don't declare.
17981         * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete):
17982         Remove.
17983         * linespec.c (decode_compound_collector): Add constructor,
17984         destructor.
17985         (lookup_prefix_sym): Remove cleanup.
17986         (symtab_collector): Add constructor, destructor.
17987         (collect_symtabs_from_filename): Remove cleanup.
17988         * disasm.c (do_mixed_source_and_assembly): Use htab_up.
17989         * compile/compile-c-symbols.c (generate_c_for_variable_locations):
17990         Use htab_up.
17991         * gnu-v3-abi.c (gnuv3_print_vtable): Use htab_up.
17992         * dwarf2read.c (dw2_expand_symtabs_matching)
17993         (dw2_map_symbol_filenames, dwarf_decode_macros)
17994         (write_psymtabs_to_index): Use htab_up.
17995         * dwarf2loc.c (func_verify_no_selftailcall)
17996         (call_site_find_chain_1, func_verify_no_selftailcall)
17997         (chain_candidate, call_site_find_chain_1): Use std::unordered_set,
17998         std::vector, gdb::unique_xmalloc_ptr.
17999         (call_sitep): Remove typedef.
18000         (dwarf2_locexpr_baton_eval): Remove unused variable.
18001
18002 2017-01-10  Tom Tromey  <tom@tromey.com>
18003
18004         * python/python-internal.h (make_cleanup_py_decref)
18005         (make_cleanup_py_xdecref): Don't declare.
18006         * python/py-utils.c (py_decref, make_cleanup_py_decref)
18007         (py_xdecref, make_cleanup_py_xdecref): Remove.
18008
18009 2017-01-10  Tom Tromey  <tom@tromey.com>
18010
18011         * python/py-framefilter.c (py_mi_print_variables): Use gdbpy_ref.
18012         (py_print_locals, enumerate_locals, py_print_args): Use gdbpy_ref.
18013
18014 2017-01-10  Tom Tromey  <tom@tromey.com>
18015
18016         * python/py-framefilter.c (enumerate_args): Use gdbpy_ref.
18017
18018 2017-01-10  Tom Tromey  <tom@tromey.com>
18019
18020         * python/py-utils.c (unicode_to_encoded_string)
18021         (python_string_to_target_string)
18022         (python_string_to_target_python_string)
18023         (python_string_to_host_string, gdbpy_obj_to_string)
18024         (get_addr_from_python): Use gdbpy_ref.
18025
18026 2017-01-10  Tom Tromey  <tom@tromey.com>
18027
18028         * python/py-unwind.c (pyuw_object_attribute_to_pointer): Use
18029         gdbpy_ref.
18030
18031 2017-01-10  Tom Tromey  <tom@tromey.com>
18032
18033         * python/python.c (eval_python_command, gdbpy_decode_line)
18034         (gdbpy_run_events, gdbpy_start_type_printers)
18035         (gdbpy_apply_type_printers): Use gdbpy_ref.
18036
18037 2017-01-10  Tom Tromey  <tom@tromey.com>
18038
18039         * python/py-param.c (get_doc_string, compute_enum_values): Use
18040         gdbpy_ref.
18041
18042 2017-01-10  Tom Tromey  <tom@tromey.com>
18043
18044         * python/py-inferior.c (find_thread_object, build_inferior_list):
18045         Use gdbpy_ref.
18046
18047 2017-01-10  Tom Tromey  <tom@tromey.com>
18048
18049         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
18050
18051 2017-01-10  Tom Tromey  <tom@tromey.com>
18052
18053         * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope): Use
18054         gdbpy_ref.
18055
18056 2017-01-10  Tom Tromey  <tom@tromey.com>
18057
18058         * python/py-cmd.c (cmdpy_completer_helper): Use gdbpy_ref.  Remove
18059         extra incref.
18060         (cmdpy_completer_handle_brkchars, cmdpy_completer, cmdpy_init):
18061         Use gdbpy_ref.
18062
18063 2017-01-10  Tom Tromey  <tom@tromey.com>
18064
18065         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
18066         gdbpy_ref.
18067
18068 2017-01-10  Tom Tromey  <tom@tromey.com>
18069
18070         * python/py-arch.c (archpy_disassemble): Use gdbpy_ref.  Don't
18071         decref results of PyArg_ParseTupleAndKeywords.
18072
18073 2017-01-10  Tom Tromey  <tom@tromey.com>
18074
18075         * python/python.c (python_run_simple_file): Use
18076         unique_xmalloc_ptr, gdbpy_ref.
18077
18078 2017-01-10  Tom Tromey  <tom@tromey.com>
18079
18080         * python/py-prettyprint.c (print_stack_unless_memory_error)
18081         (print_string_repr, print_children): Use gdbpy_ref.
18082         (dummy_python_frame): New class.
18083         (dummy_python_frame::dummy_python_frame): Rename from
18084         push_dummy_python_frame.
18085         (py_restore_tstate): Remove.
18086
18087 2017-01-10  Tom Tromey  <tom@tromey.com>
18088
18089         * python/py-framefilter.c (py_print_frame): Use gdbpy_ref.
18090
18091 2017-01-10  Tom Tromey  <tom@tromey.com>
18092
18093         * python/python.c (ensure_python_env, restore_python_env):
18094         Remove.
18095         * python/python-internal.h (ensure_python_env): Don't declare.
18096         * varobj.h (varobj_ensure_python_env): Don't declare.
18097         * varobj.c (varobj_ensure_python_env): Remove.
18098
18099 2017-01-10  Tom Tromey  <tom@tromey.com>
18100
18101         * varobj.c (varobj_value_get_print_value): Use
18102         gdbpy_enter_varobj.
18103
18104 2017-01-10  Tom Tromey  <tom@tromey.com>
18105
18106         * python/py-prettyprint.c (print_string_repr, print_children):
18107         Update.
18108         * python/py-lazy-string.c (gdbpy_extract_lazy_string): Change type
18109         of "encoding".
18110         * varobj.c (varobj_value_get_print_value): Update.
18111         * python/python-internal.h (gdbpy_extract_lazy_string): Update.
18112
18113 2017-01-10  Tom Tromey  <tom@tromey.com>
18114
18115         * varobj.c (varobj_get_display_hint)
18116         (dynamic_varobj_has_child_method, install_new_value_visualizer)
18117         (varobj_set_visualizer, free_variable): Use
18118         gdbpy_enter_varobj.
18119
18120 2017-01-10  Tom Tromey  <tom@tromey.com>
18121
18122         * python/python.c (python_command): Use gdbpy_enter, gdbpy_ref.
18123         (do_finish_initialization): New function.  Use gdbpy_ref.
18124         (gdbpy_finish_initialization): Use gdbpy_enter.  Call
18125         do_finish_initialization.
18126
18127 2017-01-10  Tom Tromey  <tom@tromey.com>
18128
18129         * python/py-param.c (get_set_value, get_show_value): Use
18130         gdbpy_enter, gdbpy_ref.
18131
18132 2017-01-10  Tom Tromey  <tom@tromey.com>
18133
18134         * python/py-function.c (fnpy_call): Use gdbpy_enter, gdbpy_ref.
18135
18136 2017-01-10  Tom Tromey  <tom@tromey.com>
18137
18138         * python/py-cmd.c (cmdpy_function): Use gdbpy_enter, gdbpy_ref.
18139
18140 2017-01-10  Tom Tromey  <tom@tromey.com>
18141
18142         * python/py-varobj.c (py_varobj_iter_dtor, py_varobj_iter_next):
18143         Use gdbpy_enter_varobj.
18144
18145 2017-01-10  Tom Tromey  <tom@tromey.com>
18146
18147         * varobj.c (gdbpy_enter_varobj): New constructor.
18148         * python/python-internal.h (gdbpy_enter_varobj): New class.
18149         * python/py-varobj.c (py_varobj_get_iterator): Use
18150         gdbpy_enter_varobj.
18151
18152 2017-01-10  Tom Tromey  <tom@tromey.com>
18153
18154         * python/py-xmethods.c (gdbpy_get_xmethod_result_type): Use
18155         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
18156         (gdbpy_invoke_xmethod): Use gdbpy_ref, gdbpy_enter.
18157         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref,
18158         unique_xmalloc_ptr.
18159         (gdbpy_get_xmethod_arg_types): Use gdbpy_ref, gdbpy_enter.
18160
18161 2017-01-10  Tom Tromey  <tom@tromey.com>
18162
18163         * python/py-xmethods.c (invoke_match_method): Use
18164         gdbpy_ref.
18165
18166 2017-01-10  Tom Tromey  <tom@tromey.com>
18167
18168         * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): use
18169         gdbpy_enter, gdbpy_ref.
18170
18171 2017-01-10  Tom Tromey  <tom@tromey.com>
18172
18173         * python/python.c (python_interactive_command): Use gdbpy_enter.
18174
18175 2017-01-10  Tom Tromey  <tom@tromey.com>
18176
18177         * python/python.c (gdbpy_before_prompt_hook): Use gdbpy_enter,
18178         gdbpy_ref.
18179
18180 2017-01-10  Tom Tromey  <tom@tromey.com>
18181
18182         * python/py-prettyprint.c (gdbpy_apply_val_pretty_printer): Use
18183         gdbpy_enter, gdbpy_ref, unique_xmalloc_ptr.
18184
18185 2017-01-10  Tom Tromey  <tom@tromey.com>
18186
18187         * utils.h (htab_deleter): New struct.
18188         (htab_up): New typedef.
18189         * python/py-framefilter.c (gdbpy_apply_frame_filter): Use
18190         gdbpy_enter, gdbpy_ref, htab_up.
18191
18192 2017-01-10  Tom Tromey  <tom@tromey.com>
18193
18194         * python/py-unwind.c (pending_frame_invalidate): Remove.
18195         (pyuw_sniffer): Use gdbpy_enter and gdbpy_ref.
18196
18197 2017-01-10  Tom Tromey  <tom@tromey.com>
18198
18199         * python/py-xmethods.c (gdbpy_free_xmethod_worker_data)
18200         (gdbpy_clone_xmethod_worker_data): Use gdbpy_enter.
18201
18202 2017-01-10  Tom Tromey  <tom@tromey.com>
18203
18204         * python/py-type.c (save_objfile_types): Use gdbpy_enter.
18205
18206 2017-01-10  Tom Tromey  <tom@tromey.com>
18207
18208         * python/python.c (gdbpy_eval_from_control_command)
18209         (gdbpy_source_script, gdbpy_run_events)
18210         (gdbpy_source_objfile_script, gdbpy_execute_objfile_script)
18211         (gdbpy_free_type_printers, gdbpy_finish_initialization): Use
18212         gdbpy_enter.
18213
18214 2017-01-10  Tom Tromey  <tom@tromey.com>
18215
18216         * python/py-progspace.c (py_free_pspace): Use gdbpy_enter.
18217
18218 2017-01-10  Tom Tromey  <tom@tromey.com>
18219
18220         * python/py-objfile.c (py_free_objfile): Use gdbpy_enter.
18221
18222 2017-01-10  Tom Tromey  <tom@tromey.com>
18223
18224         * python/py-inferior.c (python_on_normal_stop, python_on_resume)
18225         (python_on_inferior_call_pre, python_on_inferior_call_post)
18226         (python_on_memory_change, python_on_register_change)
18227         (python_inferior_exit, python_new_objfile, add_thread_object)
18228         (delete_thread_object, py_free_inferior): Use gdbpy_enter.
18229
18230 2017-01-10  Tom Tromey  <tom@tromey.com>
18231
18232         * python/py-finishbreakpoint.c (bpfinishpy_handle_stop)
18233         (bpfinishpy_handle_exit): Use gdbpy_enter.
18234
18235 2017-01-10  Tom Tromey  <tom@tromey.com>
18236
18237         * python/py-cmd.c (cmdpy_destroyer)
18238         (cmdpy_completer_handle_brkchars, cmdpy_completer): Use
18239         gdbpy_enter.
18240
18241 2017-01-10  Tom Tromey  <tom@tromey.com>
18242
18243         * python/py-breakpoint.c (gdbpy_breakpoint_cond_says_stop): Use
18244         gdbpy_enter.
18245         (gdbpy_breakpoint_has_cond): Likewise.
18246
18247 2017-01-10  Tom Tromey  <tom@tromey.com>
18248
18249         * python/python.c (gdbpy_enter): New constructor.
18250         (~gdbpy_enter): New destructor.
18251         (restore_python_env, ensure_python_env): Rewrite.
18252         * python/python-internal.h (gdbpy_enter): New class.
18253
18254 2017-01-10  Tom Tromey  <tom@tromey.com>
18255
18256         * python/py-symbol.c (gdbpy_lookup_symbol): Use gdbpy_ref.
18257
18258 2017-01-10  Tom Tromey  <tom@tromey.com>
18259
18260         * python/py-value.c (value_has_field, get_field_flag)
18261         (get_field_type, valpy_getitem, convert_value_from_python): Use
18262         gdbpy_ref.
18263
18264 2017-01-10  Tom Tromey  <tom@tromey.com>
18265
18266         * python/python.c (gdbpy_progspaces, gdbpy_objfiles): Use
18267         gdbpy_ref.
18268
18269 2017-01-10  Tom Tromey  <tom@tromey.com>
18270
18271         * python/py-prettyprint.c (search_pp_list)
18272         (find_pretty_printer_from_objfiles)
18273         (find_pretty_printer_from_progspace)
18274         (find_pretty_printer_from_gdb, find_pretty_printer)
18275         (gdbpy_get_display_hint, gdbpy_get_varobj_pretty_printer): Use
18276         gdbpy_ref.
18277
18278 2017-01-10  Tom Tromey  <tom@tromey.com>
18279
18280         * python/py-param.c (call_doc_function): Use gdbpy_ref.
18281
18282 2017-01-10  Tom Tromey  <tom@tromey.com>
18283
18284         * python/py-linetable.c (build_line_table_tuple_from_pcs)
18285         (ltpy_get_all_source_lines): Use gdbpy_ref.
18286
18287 2017-01-10  Tom Tromey  <tom@tromey.com>
18288
18289         * python/py-framefilter.c (extract_sym, extract_value)
18290         (get_py_iter_from_func, bootstrap_python_frame_filters): Use
18291         gdbpy_ref.
18292
18293 2017-01-10  Tom Tromey  <tom@tromey.com>
18294
18295         * python/py-breakpoint.c (gdbpy_breakpoints): Use gdbpy_ref.
18296
18297 2017-01-10  Tom Tromey  <tom@tromey.com>
18298
18299         * python/py-inferior.c (gdbpy_inferiors): Use gdbpy_ref.
18300
18301 2017-01-10  Tom Tromey  <tom@tromey.com>
18302
18303         * python/py-function.c (convert_values_to_python, fnpy_init): Use
18304         gdbpy_ref.
18305
18306 2017-01-10  Tom Tromey  <tom@tromey.com>
18307
18308         * python/py-cmd.c (gdbpy_string_to_argv): Use gdbpy_ref.
18309
18310 2017-01-10  Tom Tromey  <tom@tromey.com>
18311
18312         * python/py-type.c (convert_field, make_fielditem, typy_fields)
18313         (typy_range): Use gdbpy_ref.
18314
18315 2017-01-10  Tom Tromey  <tom@tromey.com>
18316
18317         * python/py-threadevent.c (create_thread_event_object): Use
18318         gdbpy_ref.
18319         * python/py-stopevent.c (create_stop_event_object): Simplify.
18320         (emit_stop_event): Use gdbpy_ref.
18321         * python/py-signalevent.c (create_signal_event_object): Use
18322         gdbpy_ref.
18323         * python/py-newobjfileevent.c (create_new_objfile_event_object)
18324         (emit_new_objfile_event, create_clear_objfiles_event_object)
18325         (emit_clear_objfiles_event): Use gdbpy_ref.
18326         * python/py-infevents.c (create_inferior_call_event_object)
18327         (create_register_changed_event_object)
18328         (create_memory_changed_event_object, emit_inferior_call_event)
18329         (emit_memory_changed_event, emit_register_changed_event): Use
18330         gdbpy_ref.
18331         * python/py-exitedevent.c (create_exited_event_object)
18332         (emit_exited_event): Use gdbpy_ref.
18333         * python/py-event.h (evpy_emit_event): Remove
18334         CPYCHECKER_STEALS_REFERENCE_TO_ARG annotation.
18335         * python/py-event.c (evpy_emit_event): Use gdbpy_ref.
18336         * python/py-continueevent.c (emit_continue_event): Use
18337         gdbpy_ref.
18338         * python/py-breakpoint.c (gdbpy_breakpoint_created)
18339         (gdbpy_breakpoint_deleted, gdbpy_breakpoint_modified): Use
18340         gdbpy_ref.
18341         * python/py-bpevent.c (create_breakpoint_event_object): Use
18342         gdbpy_ref.
18343
18344 2017-01-10  Tom Tromey  <tom@tromey.com>
18345
18346         * python/py-ref.h: New file.
18347
18348 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18349
18350         * cli-out.c (cli_ui_out::do_redirect): Change return type to
18351         void.
18352         * cli-out.h (cli_ui_out::do_redirect): Likewise.
18353         * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
18354         * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
18355         * ui-out.c (ui_out::redirect): Likewise.
18356         * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
18357         * cli/cli-logging.c (set_logging_redirect): Update call site of
18358         ui_out::redirect.
18359         (handle_redirections): Likewise.
18360         * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
18361         * top.c (execute_command_to_string): Likewise.
18362         * utils.c (do_ui_out_redirect_pop): Likewise.
18363
18364 2017-01-10  Simon Marchi  <simon.marchi@ericsson.com>
18365
18366         * stack.c (_initialize_stack): Update "frame" command help message.
18367
18368 2017-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
18369
18370         * d-exp.y (CastExpression): Emit UNOP_CAST_TYPE.
18371
18372 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18373
18374         * x86-linux-nat.h: Include gdb_proc_service.h.
18375
18376 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18377
18378         * ser-base.h: Include serial.h.
18379
18380 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18381
18382         * ppc-linux-tdep.h: Include ppc-tdep.h.
18383
18384 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18385
18386         * nat/amd64-linux-siginfo.h: Include signal.h.
18387
18388 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18389
18390         * nat/aarch64-linux-hw-point.h: Include break-common.h.
18391
18392 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18393
18394         * mi/mi-parse.h: Include mi-cmds.h.
18395
18396 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18397
18398         * inf-loop.c: Don't include "target.h".
18399         * inf-loop.h: Include it here.
18400
18401 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18402
18403         * dfp.h: Include "dboulest.h" and "expression.h".
18404
18405 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18406
18407         * ax-gdb.h: Include "ax.h".
18408
18409 2017-01-06  Yao Qi  <yao.qi@linaro.org>
18410
18411         * Makefile.in (HFILES_NO_SRCDIR): Replace gdb_ptrace.h
18412         with nat/gdb_ptrace.h.
18413
18414 2017-01-05  Yao Qi  <yao.qi@linaro.org>
18415
18416         * mips-fbsd-tdep.c (mips_fbsd_sigframe_init): Move && to
18417         new line.
18418         (mips64_fbsd_sigframe_init): Likewise.
18419
18420 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18421
18422         * mips-fbsd-tdep.c (_initialize_mips_fbsd_tdep): Use
18423         GDB_OSABI_FREEBSD instead of GDB_OSABI_FREEBSD_ELF.
18424
18425 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18426
18427         * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
18428         * NEWS: Mention new FreeBSD/mips native configuration.
18429         * config/mips/fbsd.mh: New file.
18430         * configure.host: Add mips*-*-freebsd*.
18431         * mips-fbsd-nat.c: New file.
18432
18433 2017-01-04  John Baldwin  <jhb@FreeBSD.org>
18434
18435         * Makefile.in (ALL_TARGET_OBS): Add mips-fbsd-tdep.o.
18436         (ALLDEPFILES): Add mips-fbsd-tdep.c.
18437         * NEWS: Mention new FreeBSD/mips target.
18438         * configure.tgt: Add mips*-*-freebsd*.
18439         * mips-fbsd-tdep.c: New file.
18440         * mips-fbsd-tdep.h: New file.
18441
18442 2017-01-04  Yao Qi  <yao.qi@linaro.org>
18443
18444         * dwarf2loc.c (write_pieced_value): Don't use VALUE_FRAME_ID (to),
18445         use c->frame_id when the piece location is DWARF_VALUE_REGISTER.
18446
18447 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18448
18449         Update copyright year range in all GDB files.
18450
18451 2017-01-01  Joel Brobecker  <brobecker@adacore.com>
18452
18453         * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2016.
18454
18455 For older changes see ChangeLog-2016.
18456 \f
18457 Local Variables:
18458 mode: change-log
18459 left-margin: 8
18460 fill-column: 74
18461 version-control: never
18462 coding: utf-8
18463 End: